1) { for ($ii=(sizeof($huhs) - 1); $ii>=1; $ii--) { if ($charoneprefix != "" && substr($huhs[$ii], 0, 1) == "/" && substr($huhs[$ii], 1, 1) != "/" && substr($huhs[$ii], 0, 1) != "'" && substr($huhs[$ii], 0, 1) != '"') { if (substr($ideas[$m],-1) == "'") { $outth = str_replace("/./","/",$ideas[$m] . str_replace(explode("'",$huhs[$ii])[0] . "'", $ideas[$m] . $charoneprefix . explode("'",$huhs[$ii])[0] . "'", $outth)); } else if (substr($ideas[$m],-1) == '"') { $outth = str_replace("/./","/",$ideas[$m] . str_replace(explode('"',$huhs[$ii])[0] . '"', $ideas[$m] . $charoneprefix . explode('"',$huhs[$ii])[0] . '"', $outth)); } else { $outth = str_replace("/./","/",str_replace($huhs[$ii], $charoneprefix . $huhs[$ii], $outth)); } } else if (strtolower(str_replace("file", "http", strtolower(substr($huhs[$ii], 0, 4)))) == "http") { $outth = $outth; } else if (substr($huhs[$ii], 0, 1) != "/" && substr($huhs[$ii], 0, 1) != "'" && substr($huhs[$ii], 0, 1) != '"') { if (strpos($huhs[$ii], "data:") === false) { if (substr($ideas[$m],-1) == "'") { $outth = str_replace("/./","/",$ideas[$m] . str_replace(explode("'",$huhs[$ii])[0] . "'", $ideas[$m] . $udirname . explode("'",$huhs[$ii])[0] . "'", $outth)); } else if (substr($ideas[$m],-1) == '"') { $outth = str_replace("/./","/",$ideas[$m] . str_replace(explode('"',$huhs[$ii])[0] . '"', $ideas[$m] . $udirname . explode('"',$huhs[$ii])[0] . '"', $outth)); } else { $outth = str_replace("/./","/",str_replace($huhs[$ii], $udirname . $huhs[$ii], $outth)); } } else { $outth = str_replace("/./","/",str_replace($huhs[$ii], str_replace("data:","DATA:",$huhs[$ii]), $outth)); } } else if (substr($huhs[$ii], 1, 1) != "/" && substr($huhs[$ii], 0, 1) != "'" && substr($huhs[$ii], 0, 1) != '"') { if (strpos($huhs[$ii], "data:") === false) { if (substr($ideas[$m],-1) == "'") { $outth = str_replace("/./","/",$ideas[$m] . str_replace(explode("'",$huhs[$ii])[0] . "'", $ideas[$m] . substr($udirname, 0, (strlen($udirname) - 1)) . explode("'",$huhs[$ii])[0] . "'", $outth)); } else if (substr($ideas[$m],-1) == '"') { $outth = str_replace("/./","/",$ideas[$m] . str_replace(explode('"',$huhs[$ii])[0] . '"', $ideas[$m] . substr($udirname, 0, (strlen($udirname) - 1)) . explode('"',$huhs[$ii])[0] . '"', $outth)); } else { $outth = str_replace("/./","/",str_replace($huhs[$ii], substr($udirname, 0, (strlen($udirname) - 1)) . $huhs[$ii], $outth)); } } else { $outth = str_replace("/./","/",str_replace($huhs[$ii], str_replace("data:","DATA:",$huhs[$ii]), $outth)); } } } } } } $outth=str_replace("DATA:","data:",$outth); if (strpos($outth, "") !== false && strpos($outth, "", $outth)[0])[-1 + sizeof(explode("", str_replace("/./","/",$outth))[0]))] . ""; } return str_replace("/./","/",$outth); } if (isset($_GET['collate'])) { $bits=explode('/' . '/ ?', $wasphpcode); $csvis=""; for ($ij=1; $ijadd(new DateInterval('P' . $dis . 'D')); $xdatetime->add(new DateInterval('PT' . $hrs . 'H')); $xdatetime->add(new DateInterval('PT' . $mins . 'M')); $xdatetime->add(new DateInterval('PT' . $secs . 'S')); $arec=str_replace("×tamp=" . $ts, "", $arec); $brec='"' . $plid . '","' . $xdatetime->format('Y-m-d H:i:s') . " GMT" . '","' . str_replace("+"," ",urldecode(explode("&", explode("fa=", $arec)[1])[0])) . '","' . str_replace("+"," ",urldecode(explode("&", explode("fn=", $arec)[1])[0])) . '","' . str_replace("+"," ",urldecode(explode("&", explode("fc=", $arec)[1])[0])) . '","' . str_replace("+"," ",urldecode(explode("&", explode("ff=", $arec)[1])[0])) . '","' . str_replace("+"," ",urldecode(explode("&", explode("fe=", $arec)[1])[0])) . '","' . str_replace("+"," ",urldecode(explode("&", explode("fu=", $arec)[1])[0])) . '","' . str_replace("+"," ",urldecode(explode("&", explode("fd=", $arec)[1])[0])) . '","' . str_replace("+"," ",urldecode(explode("&", explode("ft=", $arec)[1])[0])) . '","' . str_replace("+"," ",urldecode(explode("&", explode("fm=", $arec)[1])[0])) . '"' . "\n"; } else { $brec='"' . $plid . '","","' . str_replace("+"," ",urldecode(explode("&", explode("fa=", $arec)[1])[0])) . '","' . str_replace("+"," ",urldecode(explode("&", explode("fn=", $arec)[1])[0])) . '","' . str_replace("+"," ",urldecode(explode("&", explode("fc=", $arec)[1])[0])) . '","' . str_replace("+"," ",urldecode(explode("&", explode("ff=", $arec)[1])[0])) . '","' . str_replace("+"," ",urldecode(explode("&", explode("fe=", $arec)[1])[0])) . '","' . str_replace("+"," ",urldecode(explode("&", explode("fu=", $arec)[1])[0])) . '","' . str_replace("+"," ",urldecode(explode("&", explode("fd=", $arec)[1])[0])) . '","' . str_replace("+"," ",urldecode(explode("&", explode("ft=", $arec)[1])[0])) . '","' . str_replace("+"," ",urldecode(explode("&", explode("fm=", $arec)[1])[0])) . '"' . "\n"; } $csvis.=$brec; } } if ($csvis != "") { header('Content-type: text/csv'); header('Content-disposition: attachment;filename=form_creator.csv'); echo $csvis; exit; } } else if (isset($_GET['url'])) { $inu=$_GET['url']; $udirname=explode("#", explode("?", str_replace('+',' ',urldecode($_GET['url'])))[0])[0]; if (substr((" " . $udirname),-1) != "/" && strpos(strtolower($udirname), ".php") === false && strpos(strtolower($udirname), ".htm") === false) { $udirname.="/"; } else if (strpos(strtolower($udirname), ".php") !== false || strpos(strtolower($udirname), ".htm") !== false) { $udirname=str_replace(explode("/", $udirname)[-1 + sizeof(explode("/", $udirname))], "", $udirname); } $pif=""; if (strpos(("~" . urldecode($_GET['url'])), "~//") !== false) { $pif="http:"; $inu="https:" . str_replace('+',' ',urldecode($_GET['url'])); } $contis=relative_to_absolute_php(file_get_contents(str_replace("https","http",$pif . urldecode($_GET['url'])))); } else if (isset($_GET['ipollid'])) { if (strpos($wasphpcode, "&" . "ipo" . "llid=" . urldecode($_GET['ipollid']) . "&") !== false) { $bits=explode("&" . "ipo" . "llid=" . urldecode($_GET['ipollid']) . "&", $wasphpcode); $prebits='/' . '/ ?' . explode('?', $bits[0])[-1 + sizeof(explode('?', $bits[0]))] . "&" . "ipo" . "llid=" . urldecode($_GET['ipollid']) . "&" . explode("\n", $bits[1])[0] . "\n"; $isphpcode=str_replace($prebits, '/'. '/ ?' . $_SERVER['QUERY_STRING'] . '×tamp=' . urlencode($_SERVER['REQUEST_TIME']) . "\n",$wasphpcode); file_put_contents(dirname(__FILE__) . '/form_creator.php', $isphpcode); header("Location: //www.rjmprogramming.com.au/HTMLCSS/oninvalid.html?was" . str_replace("&", "&was", explode("\n", explode("?", $prebits)[1])[0]) . "&" . $_SERVER['QUERY_STRING']); exit; } else { $isphpcode=str_replace('/'. '/ Dat' . 'a abo' . 've ..' . '.', '/'. '/ ?' . $_SERVER['QUERY_STRING'] . '×tamp=' . urlencode($_SERVER['REQUEST_TIME']) . "\n" . '/'. '/ Dat' . 'a abo' . 've ..' . '.',$wasphpcode); file_put_contents(dirname(__FILE__) . '/form_creator.php', $isphpcode); header("Location: //www.rjmprogramming.com.au/HTMLCSS/oninvalid.html?" . $_SERVER['QUERY_STRING']); exit; } } else if (isset($_GET['pollerquery'])) { $ibit=""; $eis=strtolower(str_replace('+',' ',urldecode($_GET['pollerquery']))); if (strpos($eis, "@") !== false) { if (strpos($wasphpcode . ',', ',' . $eis . ',') !== false) { $plst=explode(",", substr($pollers[0],1)); for ($ii=0; $ii"; exit; } } } } } echo ""; exit; } else if (isset($_GET['polleremail'])) { $ibit=""; $eis=strtolower(str_replace('+',' ',urldecode($_GET['polleremail']))); if (strpos($eis, "@") !== false) { if (strpos($wasphpcode . ',', ',' . $eis . ',') === false) { $isphpcode=str_replace('"' . ']' . ';', $eis . ',"' . ']' . ';',$wasphpcode); file_put_contents(dirname(__FILE__) . '/form_creator.php', $isphpcode); } $plst=explode(",", substr($pollers[0],1)); for ($ii=0; $ii"; exit; } $okpollhtml='

Favourites Polling

RJM Programming - November, 2019

Please note that on clicking Poll Me button & proceeding onto a RJM Programming webpage we shall store your email address & answers there.


Favourite anything:

Favourite integer:

Favourite colour:

Favourite file:

Favourite email:

Favourite url:

Favourite date:

Favourite time:

Favourite month:

'; $sleepcode='function doubleAfter2Seconds(x) { return new Promise(resolve => { setTimeout(() => { resolve(x * 2); }, 2000); }); } async function addAsync(x) { const a = await doubleAfter2Seconds(10); const b = await doubleAfter2Seconds(20); const c = await doubleAfter2Seconds(30); return x + a + b + c; } '; // thanks to https://stackoverflow.com/questions/17883692/how-to-set-time-delay-in-javascript //function hex2dec //returns an associative array (keys: R,G,B) from a hex html code (e.g. #3FE5AA) function hex2dec($couleur = "#000000") { $R = substr($couleur, 1, 2); $rouge = hexdec($R); $V = substr($couleur, 3, 2); $vert = hexdec($V); $B = substr($couleur, 5, 2); $bleu = hexdec($B); $tbl_couleur = array(); $tbl_couleur['R']=$rouge; $tbl_couleur['G']=$vert; $tbl_couleur['B']=$bleu; return $tbl_couleur; } //conversion pixel -> millimeter in 72 dpi function px2mm($px) { return $px*25.4/72; } function txtentities($html) { $trans = get_html_translation_table(HTML_ENTITIES); $trans = array_flip($trans); return strtr($html, $trans); } //////////////////////////////////// class PDF extends FPDF { //variables of html parser protected $B; protected $I; protected $U; protected $HREF; protected $fontList; protected $issetfont; protected $issetcolor; public $canvascmds; public $numi; function __construct($orientation='P', $unit='mm', $format='A4') { //Call parent constructor parent::__construct($orientation,$unit,$format); //Initialization $this->B=0; $this->I=0; $this->U=0; $this->HREF=''; $this->canvascmds=['elem.style.display="block";']; $this->numi=0; $this->tableborder=0; $this->tdbegin=false; $this->tdwidth=0; $this->tdheight=0; $this->tdalign="L"; $this->tdbgcolor=false; $this->oldx=0; $this->oldy=0; $this->fontlist=array("arial","times","courier","helvetica","symbol"); $this->issetfont=false; $this->issetcolor=false; } ////////////////////////////////////// //html parser function WriteHTML($html) { $vts=['checkbox', 'radio', 'submit', 'button', 'color', 'text', 'number', 'date', 'time', 'month', 'file', 'email', 'url']; $cb='#ffff00'; $bis='';// ' border="1"'; $prefix=''; for ($io=0; $io 1) { for ($ik=(-1 + sizeof($hbits)); $ik>=1; $ik--) { $prefix=' 4) { $bis=''; $cb='#eeeeee'; } $vb=explode('"', $hbits[$ik])[0]; if ($io <= 1) { $cb="#eeeeee" . "\" width=\"30"; } else if ($io == 4) { $cb=$vb . "\" width=\"50"; $vb=" "; } $nb=explode(">", $hbits[$ik])[0] . ">"; if (strpos($nb, "/>") !== null) { if ($io <= 1) { if (strpos($nb," checked") !== false) { $cb="#000000" . "\" width=\"30"; $html=str_replace($prefix . ' type="' . $vts[$io] . '" value="' . $nb, "
x" . $vb . "
", $html); } else { $html=str_replace($prefix . ' type="' . $vts[$io] . '" value="' . $nb, "
 " . $vb . "
", $html); } } else { $html=str_replace($prefix . ' type="' . $vts[$io] . '" value="' . $nb, " " . $vb . "", $html); } } else { $plusnb=explode(">", explode($nb . ">", $hbits[$ik])[1])[0] . ">"; if ($io <= 1) { if (strpos($nb . $plusnb," checked") !== false) { $cb="#000000" . "\" width=\"30"; $html=str_replace($prefix . ' type="' . $vts[$io] . '" value="' . $nb . $plusnb, "
x" . $vb . "
", $html); } else { $html=str_replace($prefix . ' type="' . $vts[$io] . '" value="' . $nb . $plusnb, "
 " . $vb . "
", $html); } } else { $html=str_replace($prefix . ' type="' . $vts[$io] . '" value="' . $nb . $plusnb, " " . $vb . "", $html); } } } $bis=' border="1"'; } } $html=strip_tags($html,"



"); //remove all unsupported tags $html=str_replace("\n",'',$html); //replace carriage returns with spaces $html=str_replace("\t",'',$html); //replace carriage returns with spaces $hds=explode("data:", $html); for ($ih=1; $ih/U',$html,-1,PREG_SPLIT_DELIM_CAPTURE); //explode the string foreach($a as $i=>$e) { if($i%2==0) { //Text if($this->HREF) $this->PutLink($this->HREF,$e); elseif($this->tdbegin) { if(trim($e)!='' && $e!=" ") { if (strpos($this->canvascmds[-1 + sizeof($this->canvascmds)], ".fillStyle") !== false) { $lone=$this->canvascmds[-1 + sizeof($this->canvascmds)]; $this->canvascmds[sizeof($this->canvascmds)]='context.beginPath();'; $this->canvascmds[sizeof($this->canvascmds)]='context.lineWidth=1;'; $this->canvascmds[sizeof($this->canvascmds)]=$lone; $this->canvascmds[sizeof($this->canvascmds)]='context.strokeStyle="#ffffff";'; $this->canvascmds[sizeof($this->canvascmds)]='context.fillRect(' . round($this->GetX()) . ',' . round($this->GetY()) . ',' . round($this->tdwidth) . ',' . round($this->tdheight) . ');'; $this->canvascmds[sizeof($this->canvascmds)]='context.fill();'; if ($this->tableborder != 0) { $this->canvascmds[sizeof($this->canvascmds)]='context.strokeStyle="#000000";'; $this->canvascmds[sizeof($this->canvascmds)]='context.rect(' . round($this->GetX()) . ',' . round($this->GetY()) . ',' . round($this->tdwidth) . ',' . round($this->tdheight) . ');'; $this->canvascmds[sizeof($this->canvascmds)]='context.stroke();'; } } else { $this->canvascmds[sizeof($this->canvascmds)]='context.beginPath();'; $this->canvascmds[sizeof($this->canvascmds)]='context.lineWidth=1;'; $this->canvascmds[sizeof($this->canvascmds)]='context.strokeStyle="#000000";'; $this->canvascmds[sizeof($this->canvascmds)]='context.rect(' . round($this->GetX()) . ',' . round($this->GetY()) . ',' . round($this->tdwidth) . ',' . round($this->tdheight) . ');'; $this->canvascmds[sizeof($this->canvascmds)]='context.stroke();'; } $this->canvascmds[sizeof($this->canvascmds)]='context.strokeStyle="#000000";'; $this->canvascmds[sizeof($this->canvascmds)]='context.strokeText("'. preg_replace('/[\x00-\x1F\x7F]/', '', str_replace("\r",'" + String.fromCharCode(10) + "',str_replace("\n",'" + String.fromCharCode(10) + "',str_replace("\r\n",'" + String.fromCharCode(10) + "',$e)))) . '",' . round($this->GetX()) . ',' . (round($this->GetY()) + round($this->tdheight) / 1.5) . ');'; $this->Cell($this->tdwidth,$this->tdheight,$e,$this->tableborder,'',$this->tdalign,$this->tdbgcolor); } elseif($e==" ") { if (strpos($this->canvascmds[-1 + sizeof($this->canvascmds)], ".fillStyle") !== false) { $lone=$this->canvascmds[-1 + sizeof($this->canvascmds)]; $this->canvascmds[sizeof($this->canvascmds)]='context.beginPath();'; $this->canvascmds[sizeof($this->canvascmds)]='context.lineWidth=1;'; $this->canvascmds[sizeof($this->canvascmds)]=$lone; $this->canvascmds[sizeof($this->canvascmds)]='context.fillRect(' . round($this->GetX()) . ',' . round($this->GetY()) . ',' . round($this->tdwidth) . ',' . round($this->tdheight) . ');'; $this->canvascmds[sizeof($this->canvascmds)]='context.fill();'; if ($this->tableborder != 0) { $this->canvascmds[sizeof($this->canvascmds)]='context.strokeStyle="#000000";'; $this->canvascmds[sizeof($this->canvascmds)]='context.rect(' . round($this->GetX()) . ',' . round($this->GetY()) . ',' . round($this->tdwidth) . ',' . round($this->tdheight) . ');'; $this->canvascmds[sizeof($this->canvascmds)]='context.stroke();'; } } else { $this->canvascmds[sizeof($this->canvascmds)]='context.beginPath();'; $this->canvascmds[sizeof($this->canvascmds)]='context.lineWidth=1;'; $this->canvascmds[sizeof($this->canvascmds)]='context.strokeStyle="#000000";'; $this->canvascmds[sizeof($this->canvascmds)]='context.rect(' . round($this->GetX()) . ',' . round($this->GetY()) . ',' . round($this->tdwidth) . ',' . round($this->tdheight) . ');'; $this->canvascmds[sizeof($this->canvascmds)]='context.stroke();'; $this->canvascmds[sizeof($this->canvascmds)]='context.strokeStyle="#000000";'; } $this->Cell($this->tdwidth,$this->tdheight,'',$this->tableborder,'',$this->tdalign,$this->tdbgcolor); } } else { $this->canvascmds[sizeof($this->canvascmds)]='context.strokeStyle="#000000";'; $this->canvascmds[sizeof($this->canvascmds)]='context.strokeText("'. preg_replace('/[\x00-\x1F\x7F]/', '', str_replace("\r",'" + String.fromCharCode(10) + "',str_replace("\n",'" + String.fromCharCode(10) + "',str_replace("\r\n",'" + String.fromCharCode(10) + "',stripslashes(txtentities($e)))))) . '",' . round($this->GetX()) . ',' . (round($this->GetY()) + round($this->tdheight) / 2) . ');'; $this->Write(5,stripslashes(txtentities($e))); } } else { //Tag if($e[0]=='/') $this->CloseTag(strtoupper(substr($e,1))); else { //Extract attributes $a2=explode(' ',$e); $tag=strtoupper(array_shift($a2)); $attr=array(); foreach($a2 as $v) { if(preg_match('/([^=]*)=["\']?([^"\']*)/',$v,$a3)) $attr[strtoupper($a3[1])]=$a3[2]; } $this->OpenTag($tag,$attr); } } } } function OpenTag($tag, $attr) { //Opening tag switch($tag){ case 'SUP': if( !empty($attr['SUP']) ) { //Set current font to 6pt $this->SetFont('','',6); //Start 125cm plus width of cell to the right of left margin //Superscript "1" $this->canvascmds[sizeof($this->canvascmds)]='context.beginPath();'; $this->canvascmds[sizeof($this->canvascmds)]='context.strokeStyle="#000000";'; $this->canvascmds[sizeof($this->canvascmds)]='context.lineWidth=1;'; $this->canvascmds[sizeof($this->canvascmds)]='context.rect(' . round($this->GetX()) . ',' . round($this->GetY()) . ',2,2);'; $this->canvascmds[sizeof($this->canvascmds)]='context.stroke();'; $this->canvascmds[sizeof($this->canvascmds)]='context.strokeText("'. $attr['SUP'] . '",' . round($this->GetX()) . ',' . round($this->GetY()) . ');'; $this->Cell(2,2,$attr['SUP'],0,0,'L'); } break; case 'TABLE': // TABLE-BEGIN if( !empty($attr['BORDER']) ) $this->tableborder=$attr['BORDER']; else $this->tableborder=0; break; case 'TR': //TR-BEGIN break; case 'TD': // TD-BEGIN if( !empty($attr['WIDTH']) ) $this->tdwidth=($attr['WIDTH']/4); else $this->tdwidth=40; // Set to your own width if you need bigger fixed cells if( !empty($attr['HEIGHT']) ) $this->tdheight=($attr['HEIGHT']/6); else $this->tdheight=6; // Set to your own height if you need bigger fixed cells if( !empty($attr['ALIGN']) ) { $align=$attr['ALIGN']; if($align=='LEFT') $this->tdalign='L'; if($align=='CENTER') $this->tdalign='C'; if($align=='RIGHT') $this->tdalign='R'; } else $this->tdalign='L'; // Set to your own if( !empty($attr['BGCOLOR']) ) { $this->canvascmds[sizeof($this->canvascmds)]='context.fillStyle="' . $attr['BGCOLOR'] . '";'; $coul=hex2dec($attr['BGCOLOR']); $this->SetFillColor($coul['R'],$coul['G'],$coul['B']); $this->tdbgcolor=true; } $this->tdbegin=true; break; case 'HR': if( !empty($attr['WIDTH']) ) $Width = $attr['WIDTH']; else $Width = $this->w - $this->lMargin-$this->rMargin; $x = $this->GetX(); $y = $this->GetY(); $this->SetLineWidth(0.2); $this->canvascmds[sizeof($this->canvascmds)]='context.beginPath();'; $this->canvascmds[sizeof($this->canvascmds)]='context.strokeStyle="#000000";'; $this->canvascmds[sizeof($this->canvascmds)]='context.lineWidth=1;'; $this->canvascmds[sizeof($this->canvascmds)]='context.moveTo(' . round($x) . ',' . round($y) . ');'; $this->canvascmds[sizeof($this->canvascmds)]='context.lineTo(' . round(($x+$Width)) . ',' . round($y) . ');'; $this->canvascmds[sizeof($this->canvascmds)]='context.stroke();'; $this->Line($x,$y,$x+$Width,$y); $this->SetLineWidth(0.2); $this->Ln(1); break; case 'STRONG': $this->SetStyle('B',true); break; case 'EM': $this->SetStyle('I',true); break; case 'B': case 'I': case 'U': $this->SetStyle($tag,true); break; case 'A': $this->HREF=$attr['HREF']; break; case 'IMG': if (isset($attr['SRC']) && (!isset($attr['WIDTH']) && !isset($attr['HEIGHT']))) { if (strpos($attr['SRC'],"data:") === false) { list($ww, $hh, $tt, $aa) = getimagesize($attr['SRC']); $attr['WIDTH']=$ww; $attr['HEIGHT']=$hh; } else { $ynft=$attr['SRC']; $ynftf="form_creator_img." . strtolower(explode("image/",explode(";base64,", $attr['SRC'])[0])[1]); file_put_contents("form_creator_img." . strtolower(explode("image/",explode(";base64,", $attr['SRC'])[0])[1]), base64_decode(str_replace(' ','+',explode('"',explode(";base64,", ($attr['SRC']))[1])[0])) ); list($ww, $hh, $tt, $aa) = getimagesize("form_creator_img." . strtolower(explode("image/",explode(";base64,", $attr['SRC'])[0])[1])); $attr['WIDTH']=$ww; $attr['HEIGHT']=$hh; } } else if (strpos($attr['SRC'],"data:") !== false) { $ynft=$attr['SRC']; $ynftf="form_creator_img." . strtolower(explode("image/",explode(";base64,", $attr['SRC'])[0])[1]); file_put_contents("form_creator_img." . strtolower(explode("image/",explode(";base64,", $attr['SRC'])[0])[1]), base64_decode(str_replace(' ','+',explode('"',explode(";base64,", ($attr['SRC']))[1])[0])) ); list($ww, $hh, $tt, $aa) = getimagesize("form_creator_img." . strtolower(explode("image/",explode(";base64,", $attr['SRC'])[0])[1])); } if (isset($attr['SRC']) && (isset($attr['WIDTH']) || isset($attr['HEIGHT']))) { if(!isset($attr['WIDTH'])) $attr['WIDTH'] = 0; if(!isset($attr['HEIGHT'])) $attr['HEIGHT'] = 0; $this->canvascmds[sizeof($this->canvascmds)]='x[' . $this->numi . ']=' . round($this->GetX()) . ';'; $this->canvascmds[sizeof($this->canvascmds)]='y[' . $this->numi . ']=' . round($this->GetY()) . ';'; if (strpos($attr['SRC'],"data:") === false) { list($ww, $hh, $tt, $aa) = getimagesize($attr['SRC']); if (px2mm($attr['WIDTH']) >= px2mm($attr['HEIGHT'])) { $this->canvascmds[sizeof($this->canvascmds)]='ww[' . $this->numi . ']=' . $ww . ';'; $this->canvascmds[sizeof($this->canvascmds)]='hh[' . $this->numi . ']=' . $hh . ';'; if ($eweh == "") { $this->canvascmds[sizeof($this->canvascmds)]='w[' . $this->numi . ']=' . (px2mm($attr['WIDTH'])) . ';'; $this->canvascmds[sizeof($this->canvascmds)]='h[' . $this->numi . ']=' . (px2mm($attr['HEIGHT'])) . ';'; } else { $this->canvascmds[sizeof($this->canvascmds)]='w[' . $this->numi . ']=' . (px2mm($attr['WIDTH'])) . ';'; //$this->canvascmds[sizeof($this->canvascmds)]='h[' . $this->numi . ']=' . round(px2mm($attr['HEIGHT'])) . ';'; $this->canvascmds[sizeof($this->canvascmds)]='h[' . $this->numi . ']=' . (px2mm($attr['WIDTH'] * $hh / $ww)) . ';'; } //echo (px2mm($attr['WIDTH'])) . ';' . (px2mm($attr['WIDTH'] * $hh / $ww)); //exit; //file_put_contents("fc.htm", file_get_contents("fc.htm") . ".drawImage('" . $attr['SRC'] . "',0,0," . $ww . "," . $hh . "," . round($this->GetX()) . "," . round($this->GetY()) . "," . (px2mm($attr['WIDTH'])) . "," . (px2mm($attr['WIDTH'] * $hh / $ww)) . ");\n"); } else { //$this->canvascmds[sizeof($this->canvascmds)]='w[' . $this->numi . ']=' . round(px2mm($attr['WIDTH'])) . ';'; $this->canvascmds[sizeof($this->canvascmds)]='ww[' . $this->numi . ']=' . $ww . ';'; $this->canvascmds[sizeof($this->canvascmds)]='hh[' . $this->numi . ']=' . $hh . ';'; if ($eweh == "") { $this->canvascmds[sizeof($this->canvascmds)]='w[' . $this->numi . ']=' . (px2mm($attr['WIDTH'])) . ';'; $this->canvascmds[sizeof($this->canvascmds)]='h[' . $this->numi . ']=' . (px2mm($attr['HEIGHT'])) . ';'; } else { $this->canvascmds[sizeof($this->canvascmds)]='w[' . $this->numi . ']=' . (px2mm($attr['HEIGHT'] * $ww / $hh)) . ';'; $this->canvascmds[sizeof($this->canvascmds)]='h[' . $this->numi . ']=' . (px2mm($attr['HEIGHT'])) . ';'; } //file_put_contents("fc.htm", file_get_contents("fc.htm") . " .drawImage('" . $attr['SRC'] . "',0,0," . $ww . "," . $hh . "," . round($this->GetX()) . "," . round($this->GetY()) . "," . (px2mm($attr['HEIGHT'] * $ww / $hh)) . "," . (px2mm($attr['HEIGHT'])) . ");\n"); } } else { $this->canvascmds[sizeof($this->canvascmds)]='ww[' . $this->numi . ']=' . $ww . ';'; $this->canvascmds[sizeof($this->canvascmds)]='hh[' . $this->numi . ']=' . $hh . ';'; if (px2mm($attr['WIDTH']) >= px2mm($attr['HEIGHT'])) { if ($eweh == "") { $this->canvascmds[sizeof($this->canvascmds)]='w[' . $this->numi . ']=' . (px2mm($attr['WIDTH'])) . ';'; $this->canvascmds[sizeof($this->canvascmds)]='h[' . $this->numi . ']=' . (px2mm($attr['HEIGHT'])) . ';'; } else { $this->canvascmds[sizeof($this->canvascmds)]='w[' . $this->numi . ']=' . (px2mm($attr['WIDTH'])) . ';'; //$this->canvascmds[sizeof($this->canvascmds)]='h[' . $this->numi . ']=' . round(px2mm($attr['HEIGHT'])) . ';'; $this->canvascmds[sizeof($this->canvascmds)]='h[' . $this->numi . ']=' . (px2mm($attr['WIDTH'] * $hh / $ww)) . ';'; } //file_put_contents("fc.htm", file_get_contents("fc.htm") . ".drawImage('" . $ynftf . "',0,0," . $ww . "," . $hh . "," . round($this->GetX()) . "," . round($this->GetY()) . "," . (px2mm($attr['WIDTH'])) . "," . (px2mm($attr['WIDTH'] * $hh / $ww)) . ");\n"); } else if (1 == 1) { if ($eweh == "") { $this->canvascmds[sizeof($this->canvascmds)]='w[' . $this->numi . ']=' . (px2mm($attr['WIDTH'])) . ';'; $this->canvascmds[sizeof($this->canvascmds)]='h[' . $this->numi . ']=' . (px2mm($attr['HEIGHT'])) . ';'; } else { $this->canvascmds[sizeof($this->canvascmds)]='w[' . $this->numi . ']=' . (px2mm($attr['HEIGHT'] * $ww / $hh)) . ';'; $this->canvascmds[sizeof($this->canvascmds)]='h[' . $this->numi . ']=' . (px2mm($attr['HEIGHT'])) . ';'; } //file_put_contents("fc.htm", file_get_contents("fc.htm") . " .drawImage('" . $ynftf . "',0,0," . $ww . "," . $hh . "," . round($this->GetX()) . "," . round($this->GetY()) . "," . (px2mm($attr['HEIGHT'] * $ww / $hh)) . "," . (px2mm($attr['HEIGHT'])) . ");\n"); } else { $this->canvascmds[sizeof($this->canvascmds)]='w[' . $this->numi . ']=' . (px2mm($attr['WIDTH'])) . ';'; $this->canvascmds[sizeof($this->canvascmds)]='h[' . $this->numi . ']=' . (px2mm($attr['HEIGHT'])) . ';'; } } $this->canvascmds[sizeof($this->canvascmds)]='aimg[' . $this->numi . ']="' . $attr['SRC'] . '";'; if ($this->numi == 0) { $this->canvascmds[sizeof($this->canvascmds)]='ielem.src="' . $attr['SRC'] . '";'; } $this->numi++; //$this->canvascmds[sizeof($this->canvascmds)]='while (h >= 0) { addAsync(10).then((sum) => { console.log(sum); }); } '; $this->canvascmds[sizeof($this->canvascmds)]='if (1 == 3) { context.drawImage(ielem,' . round($this->GetX()) . ',' . round($this->GetY()) . round(px2mm($attr['WIDTH'])) . ',' . round(px2mm($attr['HEIGHT'])) . '); } '; if (strpos($attr['SRC'],"data:") !== false) { //file_put_contents("form_creator_img." . strtolower(explode("image/",explode(";base64,", $attr['SRC'])[0])[1]), base64_decode(str_replace(' ','+',explode('"',explode(";base64,", ($attr['SRC']))[1])[0])) ); //$this->Image("form_creator_img." . strtolower(explode("image/",explode(";base64,", $attr['SRC'])[0])[1]), $this->GetX(), $this->GetY(), px2mm($attr['WIDTH']), px2mm($attr['HEIGHT']), strtoupper(explode("image/",explode(";base64", $attr['SRC'])[0])[1])); $this->Image($attr['SRC'], $this->GetX(), $this->GetY(), px2mm($attr['WIDTH']), px2mm($attr['HEIGHT']), strtoupper(explode("image/",explode(";base64", $attr['SRC'])[0])[1])); } else { $this->Image($attr['SRC'], $this->GetX(), $this->GetY(), px2mm($attr['WIDTH']), px2mm($attr['HEIGHT'])); } } break; case 'BLOCKQUOTE': case 'BR': $this->Ln(5); break; case 'P': $this->Ln(10); break; case 'FONT': if (isset($attr['COLOR']) && $attr['COLOR']!='') { $coul=hex2dec($attr['COLOR']); $this->SetTextColor($coul['R'],$coul['G'],$coul['B']); $this->issetcolor=true; } if (isset($attr['FACE']) && in_array(strtolower($attr['FACE']), $this->fontlist)) { $this->SetFont(strtolower($attr['FACE'])); $this->issetfont=true; } if (isset($attr['FACE']) && in_array(strtolower($attr['FACE']), $this->fontlist) && isset($attr['SIZE']) && $attr['SIZE']!='') { $this->SetFont(strtolower($attr['FACE']),'',$attr['SIZE']); $this->issetfont=true; } break; } } function CloseTag($tag) { //Closing tag if($tag=='SUP') { } if($tag=='TD') { // TD-END $this->tdbegin=false; $this->tdwidth=0; $this->tdheight=0; $this->tdalign="L"; $this->tdbgcolor=false; } if($tag=='TR') { // TR-END $this->Ln(); } if($tag=='TABLE') { // TABLE-END $this->tableborder=0; } if($tag=='STRONG') $tag='B'; if($tag=='EM') $tag='I'; if($tag=='B' || $tag=='I' || $tag=='U') $this->SetStyle($tag,false); if($tag=='A') $this->HREF=''; if($tag=='FONT'){ if ($this->issetcolor==true) { $this->SetTextColor(0); } if ($this->issetfont) { $this->SetFont('arial'); $this->issetfont=false; } } } function SetStyle($tag, $enable) { //Modify style and select corresponding font $this->$tag+=($enable ? 1 : -1); $style=''; foreach(array('B','I','U') as $s) { if($this->$s>0) $style.=$s; } $this->SetFont('',$style); } function PutLink($URL, $txt) { //Put a hyperlink $this->SetTextColor(0,0,255); $this->SetStyle('U',true); $this->canvascmds[sizeof($this->canvascmds)]='context.strokeText("'. preg_replace('/[\x00-\x1F\x7F]/', '', str_replace("\r",'" + String.fromCharCode(10) + "',str_replace("\n",'" + String.fromCharCode(10) + "',str_replace("\r\n",'" + String.fromCharCode(10) + "',$txt)))) . '",' . round($this->GetX()) . ',' . (round($this->GetY()) + round($this->tdheight) / 2) . ');'; $this->Write(5,$txt,$URL); $this->SetStyle('U',false); $this->SetTextColor(0); } } //end of class function addtotable($imgurl) { global $thtml, $pdf, $mw, $mh; $prefix=""; if (strpos(("~" . strtolower($imgurl)), "~http") === false) { if (!file_exists($prefix . $imgurl)) { if (isset($_GET['rp'])) { if (file_exists(str_replace('+',' ',urldecode($_GET['rp'])) . $imgurl)) { $prefix=str_replace('+',' ',urldecode($_GET['rp'])); } else if (file_exists("../" . str_replace('+',' ',urldecode($_GET['rp'])) . $imgurl)) { $prefix="../" . str_replace('+',' ',urldecode($_GET['rp'])); } } else if (isset($_POST['rp'])) { if (file_exists(str_replace('+',' ',urldecode($_POST['rp'])) . $imgurl)) { $prefix=str_replace('+',' ',urldecode($_POST['rp'])); } else if (file_exists("../" . str_replace('+',' ',urldecode($_POST['rp'])) . $imgurl)) { $prefix="../" . str_replace('+',' ',urldecode($_POST['rp'])); } } else if (file_exists("../" . $imgurl)) { $prefix="../"; } } } list($width, $height, $type, $attr) = getimagesize($prefix . $imgurl); if (!$pdf) { if ($width >= $height) { $pdf=new PDF('L'); $mw=MAX_L_WIDTH; $mh=MAX_L_HEIGHT; } else { $pdf=new PDF('P'); $mw=MAX_P_WIDTH; $mh=MAX_P_HEIGHT; } } if ($mw < $width && $mh >= $height) { $width=0; } else if ($mw >= $width && $mh < $height) { $height=0; } else if ($mw < $width && $mh < $height) { $width=-$mw; $height=-$mh; } if ($thtml == "") { $pdf->AddPage(); $pdf->SetFont('Arial','',12); if ($width == 0) { //echo "h"; //exit; $thtml.=''; } else if ($height == 0) { //echo "w"; //exit; $thtml.=''; } else if ($height < 0 && $width < 0) { //echo "hw"; //exit; $thtml.=''; } else { //echo "table " . $width . " vs " . $mw . " and " . $height . " vs " . $mh; //exit; $thtml.='
'; } $pdf->WriteHTML($thtml); // $thtml is some HTML table code collected earlier on $thtml=' '; } else { $pdf->AddPage(); $pdf->SetFont('Arial','',12); if ($width == 0) { $thtml.=''; } else if ($height == 0) { $thtml.=''; } else if ($height < 0 && $width < 0) { $thtml.=''; } else { $thtml='

'; } $pdf->WriteHTML($thtml); // $thtml is some HTML table code collected earlier on $thtml=' '; } } $none='none'; if (isset($_GET['viaemail'])) { $none='inline-block'; } $pdf=null; $trow='cell 1cell 2'; $thtml='
'; $mw=MAX_P_WIDTH; $mh=MAX_P_HEIGHT; if (isset($_POST['formtable'])) { $thtml=relative_to_absolute_php(str_replace('+', ' ', urldecode($_POST['formtable']))); } else if (isset($_GET['formtable'])) { $thtml=relative_to_absolute_php(str_replace('+', ' ', urldecode($_GET['formtable']))); } else if (isset($_POST['slideshowlist'])) { $thtml=''; $slideshowlist=explode(",", str_replace('+', ' ', urldecode($_POST['slideshowlist']))); for ($ii=0; $ii '; $ebutton='
 '; $thtml.='

cell 1
'; $jscr=" window.onload = initAll; var elem=null, context=null; var pollerid=" . $pollid . "; var tois=''; var pollexec=false; var wo=null; var url=document.URL.split('#')[0].split('?')[0]; var aurl=''; var dur=false; var myxhr = false; var datauri='" . $ynft . "'; var vsfn='" . $ynftf . "'; function initAll() { ajaxit('" . $inu . "'); } function backin() { if (myxhr.readyState == 4) { if (myxhr.status == 200) { if (myxhr.responseText) { var dbits = myxhr.responseText.split('\"data\":'); if (dbits.length > 1) { // replace all '_' with '/' and all '-' with '+' thanks to https://stackoverflow.com/questions/757675/website-screenshots if (1 == 2) { document.getElementById('duc').style.backgroundImage=\"URL('data:image/jpeg;base64,\" + dbits[1].split('\"')[1].split('\"')[0].replace(/\_/g,'/').replace(/\-/g,'+') + \"')\"; document.getElementById('duc').style.backgroundRepeat=\"no-repeat\"; document.getElementById('duc').style.width='320px'; document.getElementById('duc').style.height='240px'; document.getElementById('duc').style.verticalAlign='top'; document.getElementById('formtable').rows='5'; } else { document.getElementById('duc').innerHTML=''; document.getElementById('duc').style.verticalAlign='top'; document.getElementById('formtable').rows='10'; } document.getElementById('duc').style.display='inline-block'; //window.open('data:image/jpeg;base64,' + dbits[1].split('\"')[1].split('\"')[0].replace(/\_/g,'/').replace(/\-/g,'+'),'_blank','top=200,left=200,width=320,height=180'); } } } } } function beforeftit(ithis) { ithis.style.width=('' + ithis.width).replace('px','') + 'px'; ithis.style.height=('' + ithis.height).replace('px','') + 'px'; } function ftit(ithis) { var dv=''; document.getElementById('formtable').value=dv; document.getElementById('formtable').style.border='1px dotted red'; document.getElementById('imgduc').style.border='1px dotted red'; } function ajaxit(urlin) { if (urlin.length > 0) { aurl=urlin; if (window.XMLHttpRequest) { myxhr = new window.XMLHttpRequest; } else { try { myxhr = new ActiveXObject('Msxml2.XMLHTTP'); } catch (othermicrosoft) { try { myxhr = new ActiveXObject('Microsoft.XMLHTTP'); } catch (failed) { myxhr = false; } } } var xurl = 'https://www.googleapis.com/pagespeedonline/v1/runPagespeed?url=' + encodeURIComponent(urlin) + '&screenshot=true'; if (myxhr) { myxhr.onreadystatechange = backin; myxhr.open('GET', xurl, true); myxhr.send(null); } } } function relative_to_absolute(inth) { var huhs, posthuhs, ii, m, delimis=\" \"; var uubits=url.split(\"?\"); var ideas = new Array(\" action='\", ' action=\"', \" Action='\", ' Action=\"', \" ACTION='\", ' ACTION=\"', \" action=\", \" Action=\", \" ACTION=\", \" href='\", ' href=\"', \" Href='\", ' Href=\"', \" HREF='\", ' HREF=\"', \" href=\", \" Href=\", \" HREF=\", \" src='\", ' src=\"', \" Src='\", ' Src=\"', \" SRC='\", ' SRC=\"', \" src=\", \" Src=\", \" SRC=\"); for (m=0; m 1) { for (ii=eval(huhs.length - 1); ii>=1; ii--) { delimis=ideas[m].substring(eval(ideas[m].length - 1), eval(ideas[m].length)); if (delimis == \"=\") delimis=\" \"; posthuhs=huhs[ii].trim().replace(\">\",\" \").replace(/mailto:/g, \"http:\").replace(/javascript:none;/g, \"http:\").split(delimis); if (posthuhs[0].length > 0) { if (posthuhs[0].substring(0,1) == \"#\" || posthuhs[0].indexOf('data:') == 0 || posthuhs[0].substring(0,4).toLowerCase().replace(/file/g, \"http\").toLowerCase() == \"http\") { outth = outth; } else if (posthuhs[0].substring(0,1) != \"/\" && posthuhs[0].substring(0,1) != \"'\" && posthuhs[0].substring(0,1) != '\"') { while (outth.indexOf(posthuhs[0]) != -1) { outth=outth.replace(posthuhs[0], \"youwill-never-ever-findthis\"); } if (posthuhs[0].indexOf('data:') == -1) { outth=outth.replace(/youwill-never-ever-findthis/g, uudirname + posthuhs[0]).replace(/\/\.\//g, '/'); } else { outth=outth.replace(posthuhs[0], posthuhs[0].replace(/data\:/g,'DATA:')); } } else if (posthuhs[0].substring(1,2) != \"/\" && posthuhs[0].substring(0,1) != \"'\" && posthuhs[0].substring(0,1) != '\"') { while (outth.indexOf(posthuhs[0]) != -1) { outth=outth.replace(posthuhs[0], \"youwill-never-ever-findthis\"); } if (posthuhs[0].indexOf('data:') == -1) { outth=outth.replace(/youwill-never-ever-findthis/g, uudirname.substring(0, eval(uudirname.length - 1)) + posthuhs[0]).replace(/\/\.\//g, '/'); } else { outth=outth.replace(posthuhs[0], posthuhs[0].replace(/data\:/g,'DATA:')); } } } } } } } return outth.replace(/\/\.\//g, '/').replace(/DATA\:/g,'data:'); } function woit() { if (wo) { wo.close(); wo=null; } wo=window.open('','_blank','top=50,left=50,width=500,height=500'); document.getElementById('formtable').innerHTML=relative_to_absolute(document.getElementById('formtable').value.replace(/\/g,'>')); document.getElementById('formtable').value=document.getElementById('formtable').innerHTML.replace(/\<\;/g,'<').replace(/\>\;/g,'>'); dur=true; wo.document.write('
' + relative_to_absolute(document.getElementById('formtable').value) + ' ... is the look of ...
' + document.getElementById('formtable').outerHTML + '

  
'); dur=false; } function domore(iois) { if (pollexec) { pollexec=false; document.getElementById('ebody').value='
' + relative_to_absolute(document.getElementById('formtable').value.replace('', document.getElementById('ipollid').outerHTML.replace(' id=',' name=') + '').replace('//www.rjmprogramming.com.au/HTMLCSS/oninvalid.html',document.URL.split('?')[0].split('#')[0])) + ' ... Courtesy of RJM Programming


\"RJM

Software Need Not Be Hard!
'; document.getElementById('esubmit').click(); alert('Email sent to ' + tois.replace('?','')); //document.getElementById('bsubmit').click(); } } function emailit() { if (tois.indexOf('?') != -1 && tois.indexOf('@') != -1) { tois=tois.replace('?',''); } else { tois=''; } if (pollexec) { if (tois.indexOf('@') == -1) { tois='?'; } while (tois.indexOf('?') != -1) { tois=prompt('Email to? Please note that as a new poller we shall store your email address as an official Poller at this webpage. Add ? to see what you have already entered regarding this email in the past.', ''); if (tois == null) { tois=''; } if (tois.indexOf('?') != -1) { document.getElementById('jfpoll').src=document.URL.split('#')[0].split('?')[0] + '?pollerquery=' + encodeURIComponent(tois.replace('?','').toLowerCase()); setTimeout(emailit,5000); return; } } } else { tois=prompt('Email to?', ''); } if (tois == null) { tois=''; } if (tois.indexOf('@') != -1) { document.getElementById('formtable').innerHTML=relative_to_absolute(document.getElementById('formtable').value.replace(/\/g,'>')); document.getElementById('formtable').value=document.getElementById('formtable').innerHTML.replace(/\<\;/g,'<').replace(/\>\;/g,'>'); document.getElementById('eto').value=tois.replace('?',''); if (pollexec) { document.getElementById('ifpoll').src=document.URL.split('#')[0].split('?')[0] + '?polleremail=' + encodeURIComponent(tois.replace('?','').toLowerCase()); } else { var ebod='
'; ebod+=relative_to_absolute(document.getElementById('formtable').value); ebod+=' ... is the look of ...
'; ebod+=document.getElementById('formtable').outerHTML; ebod+='

  
'; document.getElementById('ebody').value=ebod; //'
' + relative_to_absolute(document.getElementById('formtable').value) + ' ... is the look of ...
' + document.getElementById('formtable').outerHTML + '

  
'; document.getElementById('esubmit').click(); alert('Email sent to ' + tois.replace('?','')); //document.getElementById('bsubmit').click(); } } } function urlit() { var urlis=prompt('Enter URL to show in textarea above', ''); if (urlis == null) { urlis=''; } if (urlis != '') { urlis=urlis.replace(/\.\.\/\//g, document.URL.split('form_creator.php')[0] + '../').replace(/\.\/\//g, document.URL.split('form_creator.php')[0]); if (urlis.toLowerCase().indexOf('http') != 0) { if (urlis.toLowerCase().indexOf('//') != 0) { if (urlis.toLowerCase().indexOf('www.') == 0) { urlis=document.URL.split(':')[0] + '://' + urlis; } else { urlis=document.URL.split('form_creator.php')[0] + urlis; } } else { urlis=document.URL.split(':')[0] + ':' + urlis; } } location.href=document.URL.split('#')[0].split('?')[0] + '?url=' + encodeURIComponent(urlis); } } function collateit() { window.open(document.URL.split('?')[0].split('#')[0] + '?collate=' + Math.floor(Math.random() * 18765432), '_blank', 'top=80,left=80,width=500,height=500'); } function pollit() { document.getElementById('formtable').innerHTML=document.getElementById('tapoll').innerHTML; document.getElementById('formtable').value=document.getElementById('tapoll').value; pollexec=true; setTimeout(emailit,500); } "; if ($contis != "") { $thtml=$contis; } echo '' . $jscr . '

PDF Slideshow and Form Creation Helper

RJM Programming Logo RJM Programming - October, 2019



' . $otherbuttons . '

  
' . $ebutton . '
elem=document.getElementById("canvas"); ' . $eweh . ' context=elem.getContext("2d"); context.imageSmoothingEnabled=true; '; exit; } foreach( $_GET as $name=>$val ) { } foreach( $_POST as $name=>$val ) { } if (!$pdf) { $pdf=new PDF(); } if ($pdf && trim($thtml) != "") { $pdf->AddPage(); $pdf->SetFont('Arial','',12); $pdf->WriteHTML($thtml); // $thtml is some HTML table code collected earlier on } if ($pdf) { if (isset($_POST['both']) || isset($_GET['both'])) { $canvh=" var elem=null,context=null,x=[],y=[],w=[],h=[],ww=[],hh=[],aimg=[],iimg=0; " . $sleepcode . " function di(iois) { if (iois.src != '') { context.drawImage(ielem,0,0,ww[iimg],hh[iimg],x[iimg],y[iimg],Math.round(w[iimg]" . $ew . "),Math.round(h[iimg]" . $ew . ")); iimg++; if (aimg.length > iimg) { iois.src=aimg[iimg] + '?xx=' + iimg; } } } function docanvas() { elem=document.getElementById('canvas'); ielem=document.getElementById('him'); context=elem.getContext('2d'); " . $eweh . " context.imageSmoothingEnabled=true; context.font='lighter 6px Courier New'; }
"; for ($jj=0; $jjcanvascmds); $jj++) { $parts=explode(",", $pdf->canvascmds[$jj]); if (sizeof($parts) == 4 && 1 == 2) { // * window.devicePixelRatio $canvh=str_replace("} <"," " . str_replace($parts[2] . ',' . $parts[3], $parts[2] . ' * window.devicePixelRatio, window.devicePixelRatio * ' . $parts[3], $pdf->canvascmds[$jj]) . " \n} <", $canvh); } else { $canvh=str_replace("} <"," " . $pdf->canvascmds[$jj] . " \n} <", $canvh); } } $pdfcont=$pdf->Output('form_creator.pdf','F'); echo $canvh; } else if (isset($_POST['justc']) || isset($_GET['justc'])) { $canvh=" var elem=null,context=null,x=[],y=[],w=[],h=[],ww=[],hh=[],aimg=[],iimg=0; " . $sleepcode . " function di(iois) { if (iois.src != '') { context.drawImage(ielem,0,0,ww[iimg],hh[iimg],x[iimg],y[iimg],Math.round(w[iimg]" . $ew . "),Math.round(h[iimg]" . $ew . ")); iimg++; if (aimg.length > iimg) { iois.src=aimg[iimg] + '?xx=' + iimg; } } } function docanvas() { elem=document.getElementById('canvas'); " . $eweh . " ielem=document.getElementById('him'); context=elem.getContext('2d'); context.imageSmoothingEnabled=true; context.font='lighter 6px Courier New'; }
"; for ($jj=0; $jjcanvascmds); $jj++) { $canvh=str_replace("} <"," " . $pdf->canvascmds[$jj] . " \n} <", $canvh); } //$pdfcont=$pdf->Output('form_creator.pdf','F'); echo $canvh; } else { header('Content-type: application/pdf'); $pdf->Output(); } } exit; ?>

Thanks to Fpdf