<?php
// flat_file_poll.php
// RJM Programming
// April, 2017
// Poll that uses flat_file_engine.php Flat File SQL Engine

$datais="";
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");
}

$listofothers="";
$inhouse=explode("^", $datais);
for ($inh=1; $inh<sizeof($inhouse); $inh++) {
  if (strpos(explode("|", $inhouse[$inh])[0], "!") !== false && strpos(explode("|", $inhouse[$inh])[0], ";") !== false) {     
      $titlebit=str_replace("_"," ",explode("_poll",str_replace("\n","",explode("|",explode("`", $inhouse[-1 + $inh])[-1 + sizeof(explode("`", $inhouse[-1 + $inh]))])[0]))[0]);
      $themes=explode(" ",$titlebit);
      $htitle="";    
      $hdelim="";    
      for ($ih=0; $ih<sizeof($themes); $ih++) {    
       if (strlen($themes[$ih]) > 1) {      
       $htitle.=$hdelim . strtoupper(substr($themes[$ih],0,1)) . strtolower(substr($themes[$ih],1));     
       } else {    
       $htitle.=$hdelim . $themes[$ih];    
       }    
       $hdelim=" ";
      }   
      $listofothers.=" ppieceit('" . $htitle . "','" . explode("!", explode(";", $inhouse[$inh])[1])[0] . "');   \n";
  }
}

echo "<!doctype html>
<html> 
<head><meta charset='utf-8'><title>Dynamic Polling - RJM Programming - April, 2017</title>
<script type='text/javascript'>
var prefix=\"<form target='myiframe' method='POST' action='./flat_file_engine.php'><input name=listddl id=THREElistddl type=hidden value=''></input><input name=ddl id=THREEddl type=hidden value=''></input><h1>TWO</h1>\";
var midbit=\"<input onclick=\\\" document.getElementById('THREEddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('FOUR').click(); \\\" style=background-color:SIX; type=button value=\\\"FIVE\\\"  title=\\\"CREATE TABLE ONE_poll (ONE,count); INSERT INTO ONE_poll (ONE,count) VALUES ('FIVE',' ++'); \\\"></input>\";
var suffix=\" ... or Other: <input onblur=\\\"if (this.value.length > 0) { document.getElementById('THREEddl').value=this.title.replace('??',this.value); document.getElementById('myiframe').style.display='block'; document.getElementById('FOUR').click(); } \\\" style=background-color:white; type=text value='' title=\\\"CREATE TABLE ONE_poll (ONE,count); INSERT INTO ONE_poll (ONE,count) VALUES ('??',' ++'); \\\"></input><br><br><input style=display:none; id=FOUR type=submit value='ONE Poll'></input></form>\";
var numo=0, dform='', listddl='', listddldelim='', one='', two='', icyo=1, lastfive='';
var bcols=['red','yellow','green','blue','cyan','magenta','pink','lightblue','lightgreen','pink'];
function doothers() {
  " . $listofothers . "
}
function prepieceit() { 
  ppieceit('','');
}
function ppieceit(aone,afive) {
  var ourfive='z', ourfives;  
  if (dform.length == 0) {  
   if (aone != '') {  
    one=aone;
    if (aone == 'Music Genre' || aone.indexOf(' ') == -1) {
    two='Favourite ' + aone + '?';
    } else {
    two=aone + '?';
    }
    pieceit(one.replace(/\ /g,'_').toLowerCase(),'','','');
   } else {  
   while (one == null || one == '') { 
    one=prompt('Enter the Poll word(s) to describe the topic ... eg. Music Genre','');
   }
   while (two == null || two == '') { 
    two=prompt('Enter the Poll title','What is your Favourite ' + one + '?');
   }
   var ztwos=two.split(' is your ');
   if (ztwos.length == 2) {
     one=ztwos[1].replace('?','');
   }
   pieceit(one.replace(/\ /g,'_').toLowerCase(),'','','');
   while (ourfive != null && ourfive != '') {
    ourfive=prompt('Enter the ' + one + ' Poll option number ' + eval(1 + numo) + ' that you want to count numbers for, and for no more click Cancel','');
    if (ourfive != null) {
     if (ourfive != '') {
      listddl+=listddldelim + ourfive;
      listddldelim=',';
      pieceit(one.replace(/\ /g,'_').toLowerCase(), 'my' + one.replace(/\ /g,'_').toLowerCase() + 's', ourfive, '');
     }
    }
   }
   pieceit(one.replace(/\ /g,'_').toLowerCase(), 'my' + one.replace(/\ /g,'_').toLowerCase() + 's', '', '');
   }
   if (afive != '') {   
   ourfives=afive.split(',');
   for (var iour=0; iour<ourfives.length; iour++) {
      pieceit(one.replace(/\ /g,'_').toLowerCase(), 'my' + one.replace(/\ /g,'_').toLowerCase() + 's', ourfives[iour], '');
   }
   } else {
   pieceit(one.replace(/\ /g,'_').toLowerCase(), 'my' + one.replace(/\ /g,'_').toLowerCase() + 's', ourfive, '');
   while (ourfive != null && ourfive != '') {
    ourfive=prompt('Enter the Poll option number ' + eval(1 + numo) + ' that you want to count numbers for, and for no more click Cancel','');
    if (ourfive != null) {
     if (ourfive != '') {
      pieceit(one.replace(/\ /g,'_').toLowerCase(), 'my' + one.replace(/\ /g,'_').toLowerCase() + 's', ourfive, '');
     }
    }
   }
   }
   pieceit(one.replace(/\ /g,'_').toLowerCase(), 'my' + one.replace(/\ /g,'_').toLowerCase() + 's', '', '');
  } 
}
function pieceit(three,four,five,six) {
  if (dform.length == 0 && two != '' && one != '') {
   dform=prefix.replace(/THREE/g,three.toLowerCase()).replace(/TWO/g,two);  
  } 
  if (five != '') {
   lastfive=five;
   six=bcols[eval(numo % bcols.length)];
   numo++;
   dform+=midbit.replace(/SIX/g,six).replace(/FIVE/g,five).replace(/FOUR/g,four).replace(/THREE/g,three.toLowerCase()).replace(/ONE/g,one.replace(/\ /g,'_').toLowerCase());
  } else if (four != '' && four != 'mys') {
   dform+=suffix.replace(/FIVE/g,lastfive).replace(/FOUR/g,four).replace(/THREE/g,three).replace(/ONE Poll/g,one.substring(0,1).toUpperCase() + one.substring(1) + ' Poll').replace(/ONE/g,one.replace(/\ /g,'_').toLowerCase());
   document.getElementById('cyo' + icyo).innerHTML=dform;   
   document.getElementById('cyo0').innerHTML=document.getElementById('cyo0').innerHTML.replace(\"</td></tr>\",\"</td><td><div id=cyo\" + eval(icyo + 1) + \" style=vertical-align:top;display:inline;><a onclick=\\\" document.getElementById('cyo' + icyo).style.display='inline';  prepieceit(); \\\" title='Create Your Own Poll' style='vertical-align:top;display:inline;text-decoration:underline;cursor:pointer;'>Create Your Own Poll</a></div></td></tr>\");
   document.getElementById(three.toLowerCase() + 'listddl').value=listddl + '!';  
   numo=0;
   dform='';
   one='';
   two='';
   listddl=''; 
   listddldelim='';
   icyo++;
  } else if (four != '') {
   numo=0;
   dform='';
   one='';
   two='';
   listddl=''; 
   listddldelim='';
  }
}
function filter(oi) {
 var iois=oi.value;
 var wasi=iois;
 iois=iois.replace(/\+/g, \"~ + char(43) + ~\");
 iois=iois.replace(/\~/g, \"' + char(126) + '\");
 iois=iois.replace(/\' \+ char\(126\) \+ \' \+ char\(43\) \+ \' \+ char\(126\) \+ \'/g,\"' + char(43) + '\");
 if (iois != oi.value) {
   oi.value=iois;
   oi.title+=' ... ' + was;
 } 
 return false;
}
setTimeout(doothers,1000);
</script>
</head>
<body><h1>Dynamic Polling</h1><h3>RJM Programming - April, 2017</h3><br>
<form method='POST' action='./flat_file_engine.php'>
Set Up SQL for an Incrementing Poll: <input style=width:70%; type=text name=ddl id=ddl value=\"CREATE TABLE item_inc_poll (id,item,count); INSERT INTO item_inc_poll (id,item,count) VALUES ('1','Item One',' ++'); \"></input>
<input type=submit value='Set Up Poll'></input>
</form>

<h4> ... or ... </h4>

<table id=cyo0 style=width:100%;><tbody><tr><td><div id=cyo1 style='vertical-align:top;display:inline;'><a onclick=\"  document.getElementById('cyo' + icyo).style.display='inline';    prepieceit();  \" title='Create Your Own Poll' style='vertical-align:top;display:inline;text-decoration:underline;cursor:pointer;'>Create Your Own Poll</a></div></td></tr></tbody></table><br>
<table border=10><tbody><tr><td style=background-color:#f0f0f0;>
<form target='myiframe' method='POST' action='./flat_file_engine.php'><input name=ddl id=nameddl type=hidden value=''></input><h1>What is Your Favourite Colour?</h1>
<input onclick=\"document.getElementById('nameddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mycolours').click(); \" style=background-color:red; type=button value=Red  title=\"CREATE TABLE colour_poll (colour,count); INSERT INTO colour_poll (colour,count) VALUES ('Red',' ++'); \"></input>
<input onclick=\"document.getElementById('nameddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mycolours').click(); \" style=background-color:pink; type=button value=Pink  title=\"CREATE TABLE colour_poll (colour,count); INSERT INTO colour_poll (colour,count) VALUES ('Pink',' ++'); \"></input>
<input onclick=\"document.getElementById('nameddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mycolours').click(); \" style=background-color:olive; type=button value=Olive  title=\"CREATE TABLE colour_poll (colour,count); INSERT INTO colour_poll (colour,count) VALUES ('Olive',' ++'); \"></input>
<input onclick=\"document.getElementById('nameddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mycolours').click(); \" style=background-color:cyan; type=button value=Cyan  title=\"CREATE TABLE colour_poll (colour,count); INSERT INTO colour_poll (colour,count) VALUES ('Cyan',' ++'); \"></input>
<input onclick=\"document.getElementById('nameddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mycolours').click(); \" style=background-color:magenta; type=button value=Magenta  title=\"CREATE TABLE colour_poll (colour,count); INSERT INTO colour_poll (colour,count) VALUES ('Magenta',' ++'); \"></input>
<input onclick=\"document.getElementById('nameddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mycolours').click(); \" style=background-color:white; type=button value=White  title=\"CREATE TABLE colour_poll (colour,count); INSERT INTO colour_poll (colour,count) VALUES ('White',' ++'); \"></input>
<input onclick=\"document.getElementById('nameddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mycolours').click(); \" style=background-color:black;color:white; type=button value=Black  title=\"CREATE TABLE colour_poll (colour,count); INSERT INTO colour_poll (colour,count) VALUES ('Black',' ++'); \"></input>
<input onclick=\"document.getElementById('nameddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mycolours').click(); \" style=background-color:yellow; type=button value=Yellow  title=\"CREATE TABLE colour_poll (colour,count); INSERT INTO colour_poll (colour,count) VALUES ('Yellow',' ++'); \"></input>
<input onclick=\"document.getElementById('nameddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mycolours').click(); \" style=background-color:orange; type=button value=Orange  title=\"CREATE TABLE colour_poll (colour,count); INSERT INTO colour_poll (colour,count) VALUES ('Orange',' ++'); \"></input>
<input onclick=\"document.getElementById('nameddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mycolours').click(); \" style=background-color:gray; type=button value=Gray  title=\"CREATE TABLE colour_poll (colour,count); INSERT INTO colour_poll (colour,count) VALUES ('Gray',' ++'); \"></input>
<input onclick=\"document.getElementById('nameddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mycolours').click(); \" style=background-color:green; type=button value=Green  title=\"CREATE TABLE colour_poll (colour,count); INSERT INTO colour_poll (colour,count) VALUES ('Green',' ++'); \"></input>
<input onclick=\"document.getElementById('nameddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mycolours').click(); \" style=background-color:blue; type=button value=Blue  title=\"CREATE TABLE colour_poll (colour,count); INSERT INTO colour_poll (colour,count) VALUES ('Blue',' ++'); \"></input>
<input onclick=\"document.getElementById('nameddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mycolours').click(); \" style=background-color:aqua; type=button value=Aqua  title=\"CREATE TABLE colour_poll (colour,count); INSERT INTO colour_poll (colour,count) VALUES ('Aqua',' ++'); \"></input>
<input onclick=\"document.getElementById('nameddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mycolours').click(); \" style=background-color:purple; type=button value=Purple  title=\"CREATE TABLE colour_poll (colour,count); INSERT INTO colour_poll (colour,count) VALUES ('Purple',' ++'); \"></input>
<input onclick=\"document.getElementById('nameddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mycolours').click(); \" style=background-color:brown; type=button value=Brown  title=\"CREATE TABLE colour_poll (colour,count); INSERT INTO colour_poll (colour,count) VALUES ('Brown',' ++'); \"></input>
 ... or Other: <input onblur=\"if (this.value.length > 0) { document.getElementById('nameddl').value=this.title.replace('??',this.value); document.getElementById('myiframe').style.display='block'; document.getElementById('mycolours').click(); } \" style=background-color:white; type=text value='' title=\"CREATE TABLE colour_poll (colour,count); INSERT INTO colour_poll (colour,count) VALUES ('??',' ++'); \"></input>
<br><br><input style=display:none; id=mycolours type=submit value='Colour Poll'></input>
</form>
</td><td style=background-color:#e0e0e0;>
<form target='myiframe' method='POST' action='./flat_file_engine.php'><input name=ddl id=movieddl type=hidden value=''></input><h1>What is Your Favourite Movie Genre?</h1>
<input onclick=\"document.getElementById('movieddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mymoviegenres').click(); \" style=background-color:red; type=button value=Horror  title=\"CREATE TABLE moviegenre_poll (moviegenre,count); INSERT INTO moviegenre_poll (moviegenre,count) VALUES ('Horror',' ++'); \"></input>
<input onclick=\"document.getElementById('movieddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mymoviegenres').click(); \" style=background-color:pink; type=button value=Thriller  title=\"CREATE TABLE moviegenre_poll (moviegenre,count); INSERT INTO moviegenre_poll (moviegenre,count) VALUES ('Thriller',' ++'); \"></input>
<input onclick=\"document.getElementById('movieddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mymoviegenres').click(); \" style=background-color:olive; type=button value=Western  title=\"CREATE TABLE moviegenre_poll (moviegenre,count); INSERT INTO moviegenre_poll (moviegenre,count) VALUES ('Western',' ++'); \"></input>
<input onclick=\"document.getElementById('movieddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mymoviegenres').click(); \" style=background-color:cyan; type=button value=Adventure  title=\"CREATE TABLE moviegenre_poll (moviegenre,count); INSERT INTO moviegenre_poll (moviegenre,count) VALUES ('Adventure',' ++'); \"></input>
<input onclick=\"document.getElementById('movieddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mymoviegenres').click(); \" style=background-color:magenta; type=button value=War  title=\"CREATE TABLE moviegenre_poll (moviegenre,count); INSERT INTO moviegenre_poll (moviegenre,count) VALUES ('War',' ++'); \"></input>
<input onclick=\"document.getElementById('movieddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mymoviegenres').click(); \" style=background-color:white; type=button value=Animation  title=\"CREATE TABLE moviegenre_poll (moviegenre,count); INSERT INTO moviegenre_poll (moviegenre,count) VALUES ('Animation',' ++'); \"></input>
<input onclick=\"document.getElementById('movieddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mymoviegenres').click(); \" style=background-color:yellow; type=button value='Film noir'  title=\"CREATE TABLE moviegenre_poll (moviegenre,count); INSERT INTO moviegenre_poll (moviegenre,count) VALUES ('Film noir',' ++'); \"></input>
<input onclick=\"document.getElementById('movieddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mymoviegenres').click(); \" style=background-color:orange; type=button value=Action  title=\"CREATE TABLE moviegenre_poll (moviegenre,count); INSERT INTO moviegenre_poll (moviegenre,count) VALUES ('Action',' ++'); \"></input>
<input onclick=\"document.getElementById('movieddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mymoviegenres').click(); \" style=background-color:gray; type=button value=Drama title=\"CREATE TABLE moviegenre_poll (moviegenre,count); INSERT INTO moviegenre_poll (moviegenre,count) VALUES ('Drama',' ++'); \"></input>
<input onclick=\"document.getElementById('movieddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mymoviegenres').click(); \" style=background-color:green; type=button value='Romantic comedy'  title=\"CREATE TABLE moviegenre_poll (moviegenre,count); INSERT INTO moviegenre_poll (moviegenre,count) VALUES ('Romantic comedy',' ++'); \"></input>
<input onclick=\"document.getElementById('movieddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mymoviegenres').click(); \" style=background-color:purple; type=button value=Comedy  title=\"CREATE TABLE moviegenre_poll (moviegenre,count); INSERT INTO moviegenre_poll (moviegenre,count) VALUES ('Comedy',' ++'); \"></input>
<input onclick=\"document.getElementById('movieddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mymoviegenres').click(); \" style=background-color:brown; type=button value=Documentary  title=\"CREATE TABLE moviegenre_poll (moviegenre,count); INSERT INTO moviegenre_poll (moviegenre,count) VALUES ('Documentary',' ++'); \"></input>
 ... or Other: <input onblur=\"if (this.value.length > 0) { document.getElementById('movieddl').value=this.title.replace('??',this.value); document.getElementById('myiframe').style.display='block'; document.getElementById('mymoviegenres').click(); } \" style=background-color:white; type=text value='' title=\"CREATE TABLE moviegenre_poll (moviegenre,count); INSERT INTO moviegenre_poll (moviegenre,count) VALUES ('??',' ++'); \"></input>
<br><br><input style=display:none; id=mymoviegenres type=submit value='Movie Genre Poll'></input>
</form>
</td><td style=background-color:#d0d0d0;>
<form target='myiframe' method='POST' action='./flat_file_engine.php'><input name=ddl id=numddl type=hidden value=''></input><h1>What is Your Favourite Number?</h1>
<input onclick=\"document.getElementById('numddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mynumbers').click(); \" style=background-color:red; type=button value=0  title=\"CREATE TABLE number_poll (number,count); INSERT INTO number_poll (number,count) VALUES ('0',' ++'); \"></input>
<input onclick=\"document.getElementById('numddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mynumbers').click(); \" style=background-color:pink; type=button value=1  title=\"CREATE TABLE number_poll (number,count); INSERT INTO number_poll (number,count) VALUES ('1',' ++'); \"></input>
<input onclick=\"document.getElementById('numddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mynumbers').click(); \" style=background-color:olive; type=button value=2  title=\"CREATE TABLE number_poll (number,count); INSERT INTO number_poll (number,count) VALUES ('2',' ++'); \"></input>
<input onclick=\"document.getElementById('numddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mynumbers').click(); \" style=background-color:cyan; type=button value=3  title=\"CREATE TABLE number_poll (number,count); INSERT INTO number_poll (number,count) VALUES ('3',' ++'); \"></input>
<input onclick=\"document.getElementById('numddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mynumbers').click(); \" style=background-color:magenta; type=button value=4  title=\"CREATE TABLE number_poll (number,count); INSERT INTO number_poll (number,count) VALUES ('4',' ++'); \"></input>
<input onclick=\"document.getElementById('numddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mynumbers').click(); \" style=background-color:white; type=button value=5  title=\"CREATE TABLE number_poll (number,count); INSERT INTO number_poll (number,count) VALUES ('5',' ++'); \"></input>
<input onclick=\"document.getElementById('numddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mynumbers').click(); \" style=background-color:yellow; type=button value=6  title=\"CREATE TABLE number_poll (number,count); INSERT INTO number_poll (number,count) VALUES ('6',' ++'); \"></input>
<input onclick=\"document.getElementById('numddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mynumbers').click(); \" style=background-color:orange; type=button value=7  title=\"CREATE TABLE number_poll (number,count); INSERT INTO number_poll (number,count) VALUES ('7',' ++'); \"></input>
<input onclick=\"document.getElementById('numddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mynumbers').click(); \" style=background-color:gray; type=button value=8  title=\"CREATE TABLE number_poll (number,count); INSERT INTO number_poll (number,count) VALUES ('8',' ++'); \"></input>
<input onclick=\"document.getElementById('numddl').value=this.title; document.getElementById('myiframe').style.display='block'; document.getElementById('mynumbers').click(); \" style=background-color:green; type=button value=9  title=\"CREATE TABLE number_poll (number,count); INSERT INTO number_poll (number,count) VALUES ('9',' ++'); \"></input>
 ... or Other: <input onblur=\"if (this.value.length > 0) { document.getElementById('numddl').value=this.title.replace('??',this.value); document.getElementById('myiframe').style.display='block'; document.getElementById('mynumbers').click(); } \" style=background-color:white; type=text value='' title=\"CREATE TABLE number_poll (number,count); INSERT INTO number_poll (number,count) VALUES ('??',' ++'); \"></input>
<input type=hidden name='wouldlikeitbeaskedfor' value=''></input>
<br><br><input style=display:none; id=mynumbers type=submit value='Number Poll'></input>
</td></tr></tbody></table>


<iframe name=myiframe id=myiframe style=display:block;width:100%;height:1800px; src='./flat_file_engine.php'></iframe>

</body>
</html>
";

?>
