48d47 < $getit=""; 53,72d51 < $newdts=""; < if (isset($_POST['mytzn'])) { < if (('' . urldecode($_POST['mytzn'])) != '') { < date_default_timezone_set(urldecode($_POST['mytzn'])); < } < $newd=new DateTime(); //date_create(''); < $newdts=$newd->format('Y-m-d H:i:s'); < //echo "Newdts=" . $newdts; < //exit; < } else if (isset($_GET['mytzn'])) { < if (('' . urldecode($_GET['mytzn'])) != '') { < date_default_timezone_set(urldecode($_GET['mytzn'])); < } < $newd=new DateTime(); //date_create(''); < $newdts=$newd->format('Y-m-d H:i:s'); < //echo "newdts=" . $newdts; < //exit; < } else if (!isset($_POST['pdffile'])) { < $getit=" if (document.URL.indexOf('?') == -1) { location.href=document.URL + '?mytzn=' + encodeURIComponent(document.getElementById('mytzn').value); } "; < } 79c58 < $ffnos="Text from now on Colour Size Direction Rotation Style Family ideas ...
 px  °    

For next click establish default text ...
"; --- > $ffnos="Text from now on Colour Size Direction Rotation Style Family ideas ...
 px  °    "; 123,130c102,103 < function nuance($zrepeats,$inoth,$inrs,$negplus,$inpal,$outpal,$oone,$otwo) { < global $newd, $repeats, $lastrepeat, $factor, $newdts; < $altnegplus=''; < $rests=''; < if ($oone != $otwo && strpos($otwo, $oone) !== false) { // && $zrepeats < 0) { < $rests=explode($oone, $otwo)[1]; < if ($zrepeats < 0) { $altnegplus=explode(';', str_replace('+','',str_replace('=','', $rests)))[0]; } < } --- > function nuance($zrepeats,$inoth,$inrs,$negplus,$inpal,$outpal) { > global $newd, $repeats, $lastrepeat, $factor; 133,136d105 < if ($rests != '') { < $xi=explode($rests, $inpal)[0]; < $inpal=$xi . substr($inpal, strlen($xi) + strlen($rests)); < } 138,139d106 < //echo "inpal=" . $inpal; < //exit; 150d116 < $negplus=explode(';', $negplus)[0]; 155c121 < if ($inoth == 'date' . strtoupper(substr($inoth,0,4)) && trim($inrs) == '') { return substr($outpal,($justdatelen + 1)); } --- > if ($inoth == 'date' . strtoupper(substr($inoth,0,4)) && trim($inrs) == '') { return substr($outpal,$justdatelen); } 157,158d122 < //echo "inrs=" . $inrs . " inoth=" . $inoth; < //exit; 179,183d142 < if (strpos(('' . $altnegplus), '-') !== false) { < $newd->sub(new DateInterval('P' . str_replace('-','','' . $altnegplus) . $intd)); < } else if ($altnegplus != '') { < $newd->add(new DateInterval('P' . $altnegplus . $intd)); < } 204,208d162 < if (strpos(('' . $altnegplus), '-') !== false) { < $newd->sub(new DateInterval('PT' . str_replace('-','','' . $altnegplus) . $intd)); < } else if ($altnegplus != '') { < $newd->add(new DateInterval('PT' . $altnegplus . $intd)); < } 211c165 < return substr($outpal,($justdatelen + 1)); --- > return substr($outpal,$justdatelen); 229,233d182 < if (strpos(('' . $altnegplus), '-') !== false) { < $newd->sub(new DateInterval('P' . str_replace('-','','' . $altnegplus) . $intd)); < } else if ($altnegplus != '') { < $newd->add(new DateInterval('P' . $altnegplus . $intd)); < } 249,253d197 < if (strpos(('' . $altnegplus), '-') !== false) { < $newd->sub(new DateInterval('P' . str_replace('-','','' . $altnegplus) . $intd)); < } else if ($altnegplus != '') { < $newd->add(new DateInterval('P' . $altnegplus . $intd)); < } 269,273d212 < if (strpos(('' . $altnegplus), '-') !== false) { < $newd->sub(new DateInterval('P' . str_replace('-','','' . $altnegplus) . $intd)); < } else if ($altnegplus != '') { < $newd->add(new DateInterval('P' . $altnegplus . $intd)); < } 289,293d227 < if (strpos(('' . $altnegplus), '-') !== false) { < $newd->sub(new DateInterval('PT' . str_replace('-','','' . $altnegplus) . $intd)); < } else if ($altnegplus != '') { < $newd->add(new DateInterval('PT' . $altnegplus . $intd)); < } 307,311d240 < if (strpos(('' . $altnegplus), '-') !== false) { < $newd->sub(new DateInterval('PT' . str_replace('-','','' . $altnegplus) . $intd)); < } else if ($altnegplus != '') { < $newd->add(new DateInterval('PT' . $altnegplus . $intd)); < } 325,329d253 < if (strpos(('' . $altnegplus), '-') !== false) { < $newd->sub(new DateInterval('PT' . str_replace('-','','' . $altnegplus) . $intd)); < } else if ($altnegplus != '') { < $newd->add(new DateInterval('PT' . $altnegplus . $intd)); < } 343,344c267 < global $newd, $repeats, $lastrepeat, $factor, $newdts; < $inmd=str_replace(urlencode("~~"), urlencode("\n"), str_replace("~~", "\n", $inmd)); --- > global $newd, $repeats, $lastrepeat, $factor; 409c332 < //$lastrepeat=$inmd; --- > $lastrepeat=$inmd; 413d335 < $otheroth=explode(' ',explode('DATE' . $halfchar, strtoupper(urldecode($inmd)))[1])[0]; 416,418c338 < $rsoth=trim(substr(str_replace('+',' ',urldecode($inmd)), strlen($ucoth) + strlen($otheroth) - strlen($oth))); < < //echo $oth . ' ' . $ucoth . ' ' . $rsoth; --- > $rsoth=trim(substr(str_replace('+',' ',urldecode($inmd)), strlen($ucoth))); 426c346 < $retstr=nuance($xrepeats,$ucoth,$rsoth,$factor,str_replace('+',' ',urldecode($inmd)),$newd->format(DateTime::ATOM),$oth,$otheroth); //,$newd); --- > $retstr=nuance($xrepeats,$ucoth,$rsoth,$factor,str_replace('+',' ',urldecode($inmd)),$newd->format(DateTime::ATOM)); //,$newd); 431c351 < $inmd=substr(str_replace('+',' ',urldecode($inmd)),0,5) . explode('-',explode('+',explode(' ',substr(str_replace('+',' ',urldecode($inmd)),5))[0])[0])[0]; --- > $inmd=substr(str_replace('+',' ',urldecode($inmd)),0,5) . explode('+',explode(' ',substr(str_replace('+',' ',urldecode($inmd)),5))[0])[0]; 438c358 < $retstr=nuance($xrepeats,$ucoth,$rsoth,$factor,str_replace('+',' ',urldecode($inmd)),$newd->format(DateTime::COOKIE),$oth,$otheroth); //,$newd); --- > $retstr=nuance($xrepeats,$ucoth,$rsoth,$factor,str_replace('+',' ',urldecode($inmd)),$newd->format(DateTime::COOKIE)); //,$newd); 443c363 < $inmd=substr(str_replace('+',' ',urldecode($inmd)),0,5) . explode('-',explode('+',explode(' ',substr(str_replace('+',' ',urldecode($inmd)),5))[0])[0])[0]; --- > $inmd=substr(str_replace('+',' ',urldecode($inmd)),0,5) . explode('+',explode(' ',substr(str_replace('+',' ',urldecode($inmd)),5))[0])[0]; 447c367 < $retstr=nuance($xrepeats,$ucoth,$rsoth,$factor,str_replace('+',' ',urldecode($inmd)),$newd->format(DateTime::ISO8601),$oth,$otheroth); //,$newd); --- > $retstr=nuance($xrepeats,$ucoth,$rsoth,$factor,str_replace('+',' ',urldecode($inmd)),$newd->format(DateTime::ISO8601)); //,$newd); 452c372 < $inmd=substr(str_replace('+',' ',urldecode($inmd)),0,5) . explode('-',explode('+',explode(' ',substr(str_replace('+',' ',urldecode($inmd)),5))[0])[0])[0]; --- > $inmd=substr(str_replace('+',' ',urldecode($inmd)),0,5) . explode('+',explode(' ',substr(str_replace('+',' ',urldecode($inmd)),5))[0])[0]; 456c376 < $retstr=nuance($xrepeats,$ucoth,$rsoth,$factor,str_replace('+',' ',urldecode($inmd)),$newd->format(DateTime::RFC822),$oth,$otheroth); //,$newd); --- > $retstr=nuance($xrepeats,$ucoth,$rsoth,$factor,str_replace('+',' ',urldecode($inmd)),$newd->format(DateTime::RFC822)); //,$newd); 461c381 < $inmd=substr(str_replace('+',' ',urldecode($inmd)),0,5) . explode('-',explode('+',explode(' ',substr(str_replace('+',' ',urldecode($inmd)),5))[0])[0])[0]; --- > $inmd=substr(str_replace('+',' ',urldecode($inmd)),0,5) . explode('+',explode(' ',substr(str_replace('+',' ',urldecode($inmd)),5))[0])[0]; 465c385 < $retstr=nuance($xrepeats,$ucoth,$rsoth,$factor,str_replace('+',' ',urldecode($inmd)),$newd->format(DateTime::RFC850),$oth,$otheroth); //,$newd); --- > $retstr=nuance($xrepeats,$ucoth,$rsoth,$factor,str_replace('+',' ',urldecode($inmd)),$newd->format(DateTime::RFC850)); //,$newd); 470c390 < $inmd=substr(str_replace('+',' ',urldecode($inmd)),0,5) . explode('-',explode('+',explode(' ',substr(str_replace('+',' ',urldecode($inmd)),5))[0])[0])[0]; --- > $inmd=substr(str_replace('+',' ',urldecode($inmd)),0,5) . explode('+',explode(' ',substr(str_replace('+',' ',urldecode($inmd)),5))[0])[0]; 474c394 < $retstr=nuance($xrepeats,$ucoth,$rsoth,$factor,str_replace('+',' ',urldecode($inmd)),$newd->format(DateTime::RFC1036),$oth,$otheroth); //,$newd); --- > $retstr=nuance($xrepeats,$ucoth,$rsoth,$factor,str_replace('+',' ',urldecode($inmd)),$newd->format(DateTime::RFC1036)); //,$newd); 479c399 < $inmd=substr(str_replace('+',' ',urldecode($inmd)),0,5) . explode('-',explode('+',explode(' ',substr(str_replace('+',' ',urldecode($inmd)),5))[0])[0])[0]; --- > $inmd=substr(str_replace('+',' ',urldecode($inmd)),0,5) . explode('+',explode(' ',substr(str_replace('+',' ',urldecode($inmd)),5))[0])[0]; 483c403 < $retstr=nuance($xrepeats,$ucoth,$rsoth,$factor,str_replace('+',' ',urldecode($inmd)),$newd->format(DateTime::RFC1123),$oth,$otheroth); //,$newd); --- > $retstr=nuance($xrepeats,$ucoth,$rsoth,$factor,str_replace('+',' ',urldecode($inmd)),$newd->format(DateTime::RFC1123)); //,$newd); 488c408 < $inmd=substr(str_replace('+',' ',urldecode($inmd)),0,5) . explode('-',explode('+',explode(' ',substr(str_replace('+',' ',urldecode($inmd)),5))[0])[0])[0]; --- > $inmd=substr(str_replace('+',' ',urldecode($inmd)),0,5) . explode('+',explode(' ',substr(str_replace('+',' ',urldecode($inmd)),5))[0])[0]; 492c412 < $retstr=nuance($xrepeats,$ucoth,$rsoth,$factor,str_replace('+',' ',urldecode($inmd)),$newd->format(DateTime::RFC2822),$oth,$otheroth); //,$newd); --- > $retstr=nuance($xrepeats,$ucoth,$rsoth,$factor,str_replace('+',' ',urldecode($inmd)),$newd->format(DateTime::RFC2822)); //,$newd); 497c417 < $inmd=substr(str_replace('+',' ',urldecode($inmd)),0,5) . explode('-',explode('+',explode(' ',substr(str_replace('+',' ',urldecode($inmd)),5))[0])[0])[0]; --- > $inmd=substr(str_replace('+',' ',urldecode($inmd)),0,5) . explode('+',explode(' ',substr(str_replace('+',' ',urldecode($inmd)),5))[0])[0]; 501c421 < $retstr=nuance($xrepeats,$ucoth,$rsoth,$factor,str_replace('+',' ',urldecode($inmd)),$newd->format(DateTime::RFC3339),$oth,$otheroth); //,$newd); --- > $retstr=nuance($xrepeats,$ucoth,$rsoth,$factor,str_replace('+',' ',urldecode($inmd)),$newd->format(DateTime::RFC3339)); //,$newd); 506c426 < $inmd=substr(str_replace('+',' ',urldecode($inmd)),0,5) . explode('-',explode('+',explode(' ',substr(str_replace('+',' ',urldecode($inmd)),5))[0])[0])[0]; --- > $inmd=substr(str_replace('+',' ',urldecode($inmd)),0,5) . explode('+',explode(' ',substr(str_replace('+',' ',urldecode($inmd)),5))[0])[0]; 510c430 < $retstr=nuance($xrepeats,$ucoth,$rsoth,$factor,str_replace('+',' ',urldecode($inmd)),$newd->format(DateTime::RSS),$oth,$otheroth); //,$newd); --- > $retstr=nuance($xrepeats,$ucoth,$rsoth,$factor,str_replace('+',' ',urldecode($inmd)),$newd->format(DateTime::RSS)); //,$newd); 515c435 < $inmd=substr(str_replace('+',' ',urldecode($inmd)),0,5) . explode('-',explode('+',explode(' ',substr(str_replace('+',' ',urldecode($inmd)),5))[0])[0])[0]; --- > $inmd=substr(str_replace('+',' ',urldecode($inmd)),0,5) . explode('+',explode(' ',substr(str_replace('+',' ',urldecode($inmd)),5))[0])[0]; 519c439 < $retstr=nuance($xrepeats,$ucoth,$rsoth,$factor,str_replace('+',' ',urldecode($inmd)),$newd->format(DateTime::W3C),$oth,$otheroth); //,$newd); --- > $retstr=nuance($xrepeats,$ucoth,$rsoth,$factor,str_replace('+',' ',urldecode($inmd)),$newd->format(DateTime::W3C)); //,$newd); 524c444 < $inmd=substr(str_replace('+',' ',urldecode($inmd)),0,5) . explode('-',explode('+',explode(' ',substr(str_replace('+',' ',urldecode($inmd)),5))[0])[0])[0]; --- > $inmd=substr(str_replace('+',' ',urldecode($inmd)),0,5) . explode('+',explode(' ',substr(str_replace('+',' ',urldecode($inmd)),5))[0])[0]; 589c509 < } else if (strlen('' . $_SERVER['QUERY_STRING']) <= 1 || strpos('' . $_SERVER['QUERY_STRING'], '&') === false) { //strpos($_SERVER['REQUEST_URI'], '?')) --- > } else if (strlen('' . $_SERVER['QUERY_STRING']) <= 1) { //strpos($_SERVER['REQUEST_URI'], '?')) 891c811 < var outans=inans.replace(/\\~\\~/g, String.fromCharCode(10)); --- > var outans=inans; 1076,1086c996 < var indef=''; < if (document.getElementById('mytextarea')) { < if (document.getElementById('mytextarea').value != '') { < indef=document.getElementById('mytextarea').value; < while (indef.indexOf(String.fromCharCode(10)) != -1) { < indef=indef.replace(String.fromCharCode(10), '~~') < } < document.getElementById('mytextarea').value=''; < } < } < ans=prompt('Enter with nothing to proceed. Else enter text number ' + coordn + ' to place where last click was made. Can use a suffix such as x 5 to repeat value on the 4 clicks to follow. Optionally prefix by text Font Family (for all text if Arial no good versus Courier or Helvetica or Arial or Times or Symbol or ZapfDingbats);Font Style (double semicolon delimit for all text default if Bold no good else single semicolon delimit for this text only versus Normal or Italic or Bold or Underline);Font Size in px (for this text if 16px no good) delimited by semicolon. Line feed via ~~ anywhere.',indef); --- > ans=prompt('Enter with nothing to proceed. Else enter text number ' + coordn + ' to place where last click was made. Can use a suffix such as x 5 to repeat value on the 4 clicks to follow. Optionally prefix by text Font Family (for all text if Arial no good versus Courier or Helvetica or Arial or Times or Symbol or ZapfDingbats);Font Style (double semicolon delimit for all text default if Bold no good else single semicolon delimit for this text only versus Normal or Italic or Bold or Underline);Font Size in px (for this text if 16px no good) delimited by semicolon.',''); 1163c1073 < document.getElementById('mybody').title='Click where text is to be placed in your resultant PDF. Can use a suffix such as x 5 to repeat value on the 4 clicks to follow. As far as dates go consult https://www.w3schools.com/php/func_date_date_format.asp DATE_ATOM type entries where DATE_ followed by ymd lowercase character correspondence in second part means change just date via that ymd means whereas date_ followed by hms lowercase character correspondence in second part means change time via that hms means whereas uppercase second part preceeded by ymd lowercase character in first part means change datetime via that ymd means whereas datE_ followed by hms lowercase character correspondence in second part means change datetime via that hms means. Incrementing scale can be defined via ++ or -- or +=2 or -=4 types of strings before the x 5 repeat definitions. An offset to the DATE_ATOM type entry meaning of today and now can be achieved via no spaces between it and offset ++ or -- or +=2 or -=4 type of string. Basis date is " . $newdts . "'; //setTimeout(askaway, 5000); //alert('am here'); --- > document.getElementById('mybody').title='Click where text is to be placed in your resultant PDF. Can use a suffix such as x 5 to repeat value on the 4 clicks to follow. As far as dates go consult https://www.w3schools.com/php/func_date_date_format.asp DATE_ATOM type entries where DATE_ followed by ymd lowercase character correspondence in second part means change just date via that ymd means whereas date_ followed by hms lowercase character correspondence in second part means change time via that hms means whereas uppercase second part preceeded by ymd lowercase character in first part means change datetime via that ymd means whereas datE_ followed by hms lowercase character correspondence in second part means change datetime via that hms means. Incrementing scale can be defined via ++ or -- or +=2 or -=4 types of strings before the x 5 repeat definitions.'; //setTimeout(askaway, 5000); //alert('am here'); 1291c1201 < --- > 1359c1269 < if (!$newd) { $newd=new DateTime(); $newdts=$newd->format('Y-m-d H:i:s'); } //date_create(''); --- > $newd=new DateTime(); //date_create(''); 1541,1545d1450 < < $str_is=explode("\n", $stris); < $xfsz=0; < $yfsz=floatval($fsz); < for ($ii=0; $iiSetXY($ourx,$oury); //,''); < $outputpdf->Write(5, html_entity_decode($str_is[$ii])); --- > if (1 == 11) { > $outputpdf->Text($ourx,$oury,''); > $outputpdf->Write(5, html_entity_decode($stris)); 1554c1459 < $outputpdf->Text($ourx,$oury,$str_is[$ii]); --- > $outputpdf->Text($ourx,$oury,$stris); 1557c1462 < $_POST['pdfdirectiontext']="R"; // because means "from here on" --- > $_POST['pdfdirectiontext']="L"; // because means "from here on" 1561c1466 < $outputpdf->TextWithDirection($ourx,$oury,$str_is[$ii],$_POST['pdfdirectiontext' . $texti]); --- > $outputpdf->TextWithDirection($ourx,$oury,$stris,$_POST['pdfdirectiontext' . $texti]); 1564,1570d1468 < if ($_POST['pdfdirectiontext' . $texti] == "U") { < $xfsz=floatval($fsz); < $yfsz=0; < } else if ($_POST['pdfdirectiontext' . $texti] == "D") { < $xfsz=-floatval($fsz); < $yfsz=0; < } 1573,1579d1470 < if ($odir == "U") { < $xfsz=floatval($fsz); < $yfsz=0; < } else if ($odir == "D") { < $xfsz=-floatval($fsz); < $yfsz=0; < } 1584c1475 < $outputpdf->Text($ourx,$oury,$str_is[$ii]); --- > $outputpdf->Text($ourx,$oury,$stris); 1589c1480 < $outputpdf->TextWithRotation($ourx,$oury,$str_is[$ii],$_POST['pdfrotatetextdeg' . $texti],0); --- > $outputpdf->TextWithRotation($ourx,$oury,$stris,$_POST['pdfrotatetextdeg' . $texti],0); 1592,1593d1482 < $xfsz=sin(floatval($_POST['pdfrotatetextdeg' . $texti]) * pi() / 180.0) * floatval($fsz); < $yfsz=cos(floatval($_POST['pdfrotatetextdeg' . $texti]) * pi() / 180.0) * floatval($fsz); 1596,1597d1484 < $xfsz=sin(floatval($orot) * pi() / 180.0) * floatval($fsz); < $yfsz=cos(floatval($orot) * pi() / 180.0) * floatval($fsz); 1602,1609c1489 < $outputpdf->TextWithDirection($ourx,$oury,$str_is[$ii],$odir); < if ($odir == "U") { < $xfsz=floatval($fsz); < $yfsz=0; < } else if ($odir == "D") { < $xfsz=-floatval($fsz); < $yfsz=0; < } --- > $outputpdf->TextWithDirection($ourx,$oury,$stris,$odir); 1612,1619c1492 < $outputpdf->TextWithDirection($ourx,$oury,$str_is[$ii],$_POST['pdfdirectiontext']); < if ($_POST['pdfdirectiontext'] == "U") { < $xfsz=floatval($fsz); < $yfsz=0; < } else if ($_POST['pdfdirectiontext'] == "D") { < $xfsz=-floatval($fsz); < $yfsz=0; < } --- > $outputpdf->TextWithDirection($ourx,$oury,$stris,$_POST['pdfdirectiontext']); 1621c1494 < $outputpdf->TextWithRotation($ourx,$oury,$str_is[$ii],$orot,0); --- > $outputpdf->TextWithRotation($ourx,$oury,$stris,$orot,0); 1623,1625c1496 < $outputpdf->TextWithRotation($ourx,$oury,$str_is[$ii],$_POST['pdfrotatetextdeg'],0); < $xfsz=sin(floatval($_POST['pdfrotatetextdeg']) * pi() / 180.0) * floatval($fsz); < $yfsz=cos(floatval($_POST['pdfrotatetextdeg']) * pi() / 180.0) * floatval($fsz); --- > $outputpdf->TextWithRotation($ourx,$oury,$stris,$_POST['pdfrotatetextdeg'],0); 1627,1632c1498 < if (1 == 8 && strpos($str_is[$ii], "\n") !== false) { < $outputpdf->SetXY($ourx,$oury); //,''); < $outputpdf->Write($fsz, html_entity_decode($str_is[$ii])); < } else { < $outputpdf->Text($ourx,$oury,$str_is[$ii]); < } --- > $outputpdf->Text($ourx,$oury,$stris); 1634,1636d1499 < $ourx+=$xfsz; < $oury+=$yfsz; < }