<?php
// emoji_image.php
// Get helped out by Google PageSpeed to create an emoji image
// November, 2020


// echo "IMG_CROP_WHITE\n";
// $im = imagecreatefrompng("orig.png");
// $im_crop = imagecropauto($im, IMG_CROP_WHITE);
// imagepng($im_crop, "crop_orig.png");
// var_dump(imagesx($im_crop));
// var_dump(imagesy($im_crop));
// @unlink("crop_orig.png");
/*
$image_src = imagecreatefrompng("orig.png");

$croppedImage = imagecropauto($image_src,IMG_CROP_WHITE);

//header( 'Content-Type: image/png');

imagepng($croppedImage);*/

$dstyle="    document.getElementById('dstyle').innerHTML+='<style> #thone { background:URL(\"d' + document.getElementById('result').innerHTML.substring(1).replace(/data\:/g,'\"),URL(\"data:') + '\"); background-repeat:no-repeat;  }  #thtwo { background:linear-gradient(rgba(255,255,255,0.3),rgba(255,255,255,0.3)),URL(\"d' + document.getElementById('result').innerHTML.substring(1).replace(/data\:/g,'\"),URL(\"data:') + '\"); background-repeat:repeat; }    #hthree { background:linear-gradient(rgba(255,255,255,0.3),rgba(255,255,255,0.3)),URL(\"d' + document.getElementById('result').innerHTML.substring(1).replace(/data\:/g,'\"),URL(\"data:') + '\"); background-size:cover; background-repeat:no-repeat;  }  #result { background:linear-gradient(rgba(255,255,255,0.3),rgba(255,255,255,0.3)),URL(\"d' + document.getElementById('result').innerHTML.substring(1).replace(/data\:/g,'\"),URL(\"data:') + '\"); background-size:contain; background-repeat:no-repeat;  }  #borderimg1 { border-image: url(\"d' + document.getElementById('result').innerHTML.substring(1).replace(/data\:/g,'\"),URL(\"data:') + '\") 30%; border-image-repeat: round; }  #borderimg2 { border-image: url(\"d' + document.getElementById('result').innerHTML.substring(1).replace(/data\:/g,'\"),URL(\"data:') + '\") 20%; border-image-repeat: stretch; } </style>';   ";
$transparent="transparent";
$ei="Emoji Image";
$cr="Creator";
$imgw="image";
$iimage="image";
$iaudio="ywnft";
$ivideo="ywnft";
$gps="window.open(\"https://developers.google.com/speed/pagespeed/insights/?url=http%3A%2F%2Fwww.rjmprogramming.com.au%2FPHP%2Femoji_image.php&tab=mobile\",\"_blank\",\"top=50,left=50,height=900,width=1300\");";

$hblurb="Copy (Image) from Google PageSpeed <br>(thanks, and note to toggle between mobile and desktop tabs perhaps) <br>and Paste via macOS Alt-PrtScr Below (for Data URI as well) <br>or to an Image Editor that can Crop out Extraneous White Parts <br>or Resize Image and Save <br>(ready for Border Image or Background Image or just Image purposes)";

if (isset($_GET['audio'])) {
  $hblurb="Copy Audio <br>via Finder or Windows Explorer <br>and come Back Here to Paste that Data";
  $ei="Audio";
  $cr="Paster";
  $imgw="audio";
  $iaudio="audio";
  $iimage="ywnft";
  $ivideo="ywnft";
  $gps="";
} else if (isset($_GET['video'])) {
  $hblurb="Copy Video <br>via Finder or Windows Explorer <br>and come Back Here to Paste that Data";
  $ei="Video";
  $cr="Paster";
  $imgw="video";
  $ivideo="video";
  $iaudio="ywnft";
  $iimage="ywnft";
  $gps="";
}

function mycrop($src, array $rect) {  // thanks to https://stackoverflow.com/questions/26722811/imagecrop-alternative-for-php-5-5
    $dest = imagecreatetruecolor($rect['width'], $rect['height']);
    imagecopy(
        $dest,
        $src,
        0,
        0,
        $rect['x'],
        $rect['y'],
        $rect['width'],
        $rect['height']
    );

    return $dest;
}


function imageTrimBox($img, $hex=null) {   // thanks to https://stackoverflow.com/questions/1669683/crop-whitespace-from-image-in-php
if (!ctype_xdigit($hex)) $hex = imagecolorat($img, 0,0);
$b_top = $b_lft = 0;
$b_rt = $w1 = $w2 = imagesx($img);
$b_btm = $h1 = $h2 = imagesy($img);

do {
    //top
    for(; $b_top < $h1; ++$b_top) {
        for($x = 0; $x < $w1; ++$x) {
            if(imagecolorat($img, $x, $b_top) != $hex) {
                break 2;
            }
        }
    }

    // stop if all pixels are trimmed
    if ($b_top == $b_btm) {
        $b_top = 0;
        $code = 2;
        break 1;
    }

    // bottom
    for(; $b_btm >= 0; --$b_btm) {
        for($x = 0; $x < $w1; ++$x) {
            if(imagecolorat($img, $x, $b_btm-1) != $hex) {
                break 2;
            }
        }
    }

    // left
    for(; $b_lft < $w1; ++$b_lft) {
        for($y = $b_top; $y <= $b_btm; ++$y) {
            if(imagecolorat($img, $b_lft, $y) != $hex) {
                break 2;
            }
        }
    }

    // right
    for(; $b_rt >= 0; --$b_rt) {
        for($y = $b_top; $y <= $b_btm; ++$y) {
            if(imagecolorat($img, $b_rt-1, $y) != $hex) {
                break 2;
            }
        }

    }

    $w2 = $b_rt - $b_lft;
    $h2 = $b_btm - $b_top;
    $code = ($w2 < $w1 || $h2 < $h1) ? 1 : 0;
} while (0);

// result codes:
// 0 = Trim Zero Pixels
// 1 = Trim Some Pixels
// 2 = Trim All Pixels
return array(
    '#'     => $code,   // result code
    'l'     => $b_lft,  // left
    't'     => $b_top,  // top
    'r'     => $b_rt,   // right
    'b'     => $b_btm,  // bottom
    'w'     => $w2,     // new width
    'h'     => $h2,     // new height
    'w1'    => $w1,     // original width
    'h1'    => $h1,     // original height
);
}

$gei="";
$xgei="";
if (isset($_GET['emoji_textarea_image'])) {
    $gei=str_replace("+"," ",urldecode($_GET['emoji_textarea_image']));
    $xgei=$gei;
}

if (isset($_POST['emoji_uncropped_image']) && isset($_POST['ewidth']) && isset($_POST['eheight'])) {
  // data:image/png;base64,
  $datauri=str_replace(" ","+",urldecode($_POST['emoji_uncropped_image']));
  if (strpos($datauri, "data:image/") !== false && strpos($datauri, ";base64,") !== false) {
    $newdu = $datauri;
    $ext = explode("data:image/", explode(";base64,",$datauri)[0])[1];
    $rnum = "" . rand(0,198675433);
    $im = imagecreatefromstring(base64_decode(explode(";base64,",$datauri)[1]));

    if (1 == 1) {
    // find the trimmed image border
    $box = imageTrimBox($im);

    // copy cropped portion
    $im_crop = imagecreate($box['w'], $box['h']);
    imagecopy($im_crop, $im, 0, 0, $box['l'], $box['t'], $box['w'], $box['h']);

    } else {

    $im_crop = mycrop($im, ['x' => 0, 'y' => 0, 'width' => str_replace("+"," ",urldecode($_POST['ewidth'])), 'height' => str_replace("+"," ",urldecode($_POST['eheight']))]);
    }
    $delit="";
    //$im_crop = imagecropauto($im, IMG_CROP_WHITE);
    if (strtolower($ext) == "png") { // || substr(strtolower($ext),0,2) == "jp" || strtolower($ext) == "gif") {
      imagepng($im_crop, "crop_orig" . $rnum . ".png");
      $newdu = "data:image/png;base64," . base64_encode(file_get_contents("crop_orig" . $rnum . ".png"));
      // $delit="rm -f " . dirname(__FILE__) . "/crop_orig" . $rnum . ".png"; // 
      unlink("crop_orig" . $rnum . ".png");
    } else if (substr(strtolower($ext),0,2) == "jp") {
      imagejpeg($im_crop, "crop_orig" . $rnum . ".jpeg");
      $newdu = "data:image/jpeg;base64," . base64_encode(file_get_contents("crop_orig" . $rnum . ".jpeg"));
      // $delit="rm -f " . dirname(__FILE__) . "/crop_orig" . $rnum . ".jpeg"; // 
      unlink("crop_orig" . $rnum . ".jpeg");
    } else if (strtolower($ext) == "gif") {
      imagegif($im_crop, "crop_orig" . $rnum . ".gif");
      $newdu = "data:image/" . $ext . ";base64," . base64_encode(file_get_contents("crop_orig" . $rnum . ".gif"));
      // $delit="rm -f " . dirname(__FILE__) . "/crop_orig" . $rnum . ".gif"; // 
      unlink("crop_orig" . $rnum . ".gif");
    //} else if (strtolower($ext) == "bmp") {
    //  imagebmp($im_crop, "crop_orig" . $rnum . ".bmp");
    //  $newdu = "data:image/" . $ext . ";base64," . base64_encode(file_get_contents("crop_orig" . $rnum . ".bmp"));
    //  unlink("crop_orig" . $rnum . ".bmp");
    }
    imagedestroy($im);
    imagedestroy($im_crop);
    
    echo "<html><body onload=\" parent.document.getElementById('result').innerHTML='" . $newdu . "'; var imgs=parent.document.getElementsByTagName('img'); if (imgs.length > 0) { imgs[0].src='" . $newdu . "'; } parent.dorn(); \"></body></html>";
    if ($delit != "") { exec("sleep 30; " . $delit); }
  }
} else if (isset($_GET['emoji_rm_image'])) {
  if (file_exists('emoji_image.txt')) {
  $etext=file_get_contents('emoji_image.txt');
  if ($etext != trim($etext) && trim($etext) == str_replace("+"," ",urldecode($_GET['emoji_rm_image']))) {
  unlink('emoji_image.txt');
  }
  }
  //exec("sleep 50; rm -f " . dirname(__FILE__) . "/emoji_image.txt");
  exit;
} else if (isset($_GET['emoji_mr_image'])) {
  exit;
} else if (file_exists('emoji_image.txt')) {
  $etext=file_get_contents('emoji_image.txt');
  if ($etext != trim($etext)) {
  unlink('emoji_image.txt');
  } else {
  file_put_contents('emoji_image.txt', $etext . ' ');
  }
  $etext=trim($etext);
  if (substr(($etext . "z"),0,1) <= "9") {
  echo "<html><head><meta charset='utf-8'></head><body><p style='font-size:256px;'>&#" . str_replace("\n","<br>",str_replace(".", ";&#", str_replace("+"," ",$etext))) . ";</p></body></html>";
  } else {
  echo "<html><head><meta charset='utf-8'></head><body><p style='font-size:256px;'>" . str_replace("\n","<br>",$etext) . "</p></body></html>";
  }
} else if (trim($gei) != "" || isset($_GET['emoji_image'])) {
  if (trim($gei) == "") {
    $gei=str_replace("+"," ",urldecode($_GET['emoji_image']));
  } else if (isset($_GET['emoji_image'])) {
    $pregei=str_replace("+"," ",urldecode($_GET['emoji_image']));
    if (trim($pregei) != "") {
      $pregei.="\n\n" . $gei;
      $gei=$pregei;
    }
  }
  if (!isset($_GET['audio']) && !isset($_GET['video'])) {
  file_put_contents('emoji_image.txt',  str_replace(";","",str_replace("&#","",str_replace(";&#",".",$gei)))  );
  }
  if (strpos($gei, ".") !== false || strpos($gei, "&#") !== false || strpos($gei, ";") !== false) {
    $xgei="&#" . str_replace(";","",str_replace("&#","",str_replace(";&#",".",$gei))) . ";";
  } else {
    $xgei=$gei;
  }
  $one="1";
  $isiPad = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'iPad');
  if ($isiPad === false) {
    $isiPad = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'iPhone');
  }
  if ($isiPad === false) {
    $isiPad = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'Android');
  }
  if ($isiPad) { 
    $one="3"; 
    $transparent="white";
    // $dstyle="    document.getElementById('dstyle').innerHTML+='<style> #thone { background:URL(\"' + document.getElementById('result').innerHTML + '\"); background-repeat:no-repeat;  }  #thtwo { background:linear-gradient(rgba(255,255,255,0.3),rgba(255,255,255,0.3)),URL(\"' + document.getElementById('result').innerHTML + '\"); background-repeat:repeat; } #borderimg1 { border-image: url(\"' + '" . explode("/",$delit)[-1 + sizeof(explode("/",$delit))] . "' + '\") 30%; border-image-repeat: round; }  #borderimg2 { border-image: url(\"' + '" . explode("/",$delit)[-1 + sizeof(explode("/",$delit))] . "' + '\") 20%; border-image-repeat: stretch; } </style>';   ";
  }
  sleep(5);
  // Thanks to https://stackoverflow.com/questions/28644340/how-do-i-get-base64-encoded-image-from-clipboard-in-internet-explorer/28799619 below ...
  echo "<html><head>
<title>Emoji Image Creator - RJM Programming - November, 2020 ... thanks to Google PageSpeed</title>
<meta charset='utf-8'>
<style> 

#borderimg1 { 
  border: 20px solid " . $transparent . ";
  padding: 15px;
  border-image: url(border.png) 30%;
  border-image-repeat: round;
}

#borderimg2 { 
  border: 20px solid " . $transparent . ";
  padding: 15px;
  border-image: url(border.png) 30%;
  border-image-repeat: stretch;
}

@media only screen and (max-width: 768px) {
  #borderimg1 {  border: 20px solid white;  }
  #borderimg2 {  border: 20px solid white;  }
}

#borderimg1:before { content: ''; }  

#borderimg2:before { content: ''; }  

</style>
<script src=\"https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js\"></script>
<script type='text/javascript'>

var readynow=false;
var done=false;
var btype='';
var origdu='';
var origwo=null;
var origdus=[];
var btypes=[];
var curnum=0;
var curtot=0;
var fileReaders=[];
var imageFiles=[];
var curi=0;

$(document).ready(function() {
  $('#editor').on('paste', function(e) {
    var i = 0, ii = -1;
    var fileReader = null;
    var imageFile = null;
    var orgEvent = e.originalEvent;
    curtot = eval('' + orgEvent.clipboardData.items.length);
    console.log('curtot=' + curtot);
    for (i = 0; i < orgEvent.clipboardData.items.length; i++) {
      console.log('i=' + i + ' of ' + curtot + ' and kind=' + orgEvent.clipboardData.items[i].kind);
      if (orgEvent.clipboardData.items[i].kind == \"file\" && (i > 0 || (('' + orgEvent.clipboardData.items[i].type).substring(0,6) == \"" . $iimage . "/\" || ('' + orgEvent.clipboardData.items[i].type).substring(0,6) == \"" . $iaudio . "/\" || ('' + orgEvent.clipboardData.items[i].type).substring(0,6) == \"" . $ivideo . "/\"))) {
        ii++;
        imageFile = orgEvent.clipboardData.items[i].getAsFile();
        imageFiles.push(imageFile);
        fileReader = new FileReader();
        fileReaders.push(fileReader);
        btype=('' + orgEvent.clipboardData.items[i].type);
        btypes.push(btype);
        curi=eval(-1 + fileReaders.length);

        if (eval('' + curtot) > 1) {

    fileReaders[ii].onloadend = (function(mfile) {
      return function(evt) {
      if (evt.target.readyState == FileReader.DONE) { // DONE == 2
          origdu=evt.target.result;
          origdus.push(origdu);
          $('#result').html(document.getElementById('result').innerHTML + evt.target.result);
          andthen(mfile.type);
      } };
    })(imageFiles[ii]);
        fileReaders[ii].readAsDataURL(imageFiles[ii]);
        if (eval(1 + i) == eval('' + curtot)) { break; }

        } else {

        fileReader.onloadend = function() {
          origdu=fileReader.result;
          origdus.push(origdu);
          $('#result').html(document.getElementById('result').innerHTML + fileReader.result);
          andthen(btypes[curi]);
        }
        
        fileReader.readAsDataURL(imageFile);
        if (eval(1 + i) == eval('' + curtot)) { break; }
        }
      } else if (orgEvent.clipboardData.items[i].kind == \"string\") { // && (('' + orgEvent.clipboardData.items[i].type).substring(0,6) == \"" . $iimage . "/\" || ('' + orgEvent.clipboardData.items[i].type).substring(0,6) == \"" . $iaudio . "/\" || ('' + orgEvent.clipboardData.items[i].type).substring(0,6) == \"" . $ivideo . "/\")) {
        btype=('' + orgEvent.clipboardData.items[i].type);
        btypes.push(btype);
        setTimeout(prethen, 2000);
      }
    }
  });
});

function prethen() {
  if (document.getElementById('editor').innerHTML.indexOf('data:') == 0) {
    var duis=document.getElementById('editor').innerHTML;
    origdu=duis;
    origdus.push(origdu);
    document.getElementById('result').innerHTML+=duis;
    if (duis.indexOf('data:image/') == 0) {
    document.getElementById('editor').innerHTML+='<img src=' + duis + '></img>';
    } else if (duis.indexOf('data:audio/') == 0) {
    document.getElementById('editor').innerHTML+='<audio controls><source type=\"' + ('' + btypes[curnum]) + '\" src=\"' + duis + '\"></source></audio>';
    } else if (duis.indexOf('data:video/') == 0) {
    document.getElementById('editor').innerHTML+='<video controls><source type=\"' + ('' + btypes[curnum]) + '\" src=\"' + duis + '\"></source></video>';
    }
    andthen(btypes[curnum]);
  }
}
function bandthen() {
  andthen(btypes[curnum]);
}

function andthen(intype) {
  var edih='';
  
  if (document.getElementById('result')) {
    console.log('curnum=' + curnum + ' of ' + curtot);
    if (document.getElementById('result').innerHTML == '' && document.getElementById('editor')) {
      if (document.getElementById('editor').innerHTML.indexOf(' src=\"data:') != -1) {
        //document.getElementById('result').innerHTML='data:' + document.getElementById('editor').innerHTML.split(' src=\"data:')[1].split('\"')[0];
        document.getElementById('result').innerHTML+='data:' + origdus[curnum].split(' src=\"data:')[1].split('\"')[0];
      } 
    }
    if (('' + intype).indexOf('audio') == 0) {
      if (eval(1 + curnum) == eval('' + curtot)) { done=true; }
      //document.getElementById('editor').innerHTML+='<audio controls><source type=\"' + ('' + intype) + '\" src=\"' + document.getElementById('result').innerHTML + '\"></source></audio>';
      document.getElementById('editor').innerHTML+='<audio controls><source type=\"' + ('' + intype) + '\" src=\"' + origdus[curnum] + '\"></source></audio><br>';
    } else if (('' + intype).indexOf('video') == 0) {
      if (eval(1 + curnum) == eval('' + curtot)) { done=true; }
      //document.getElementById('editor').innerHTML+='<video controls><source type=\"' + ('' + intype) + '\" src=\"' + document.getElementById('result').innerHTML + '\"></source></video>';
      document.getElementById('editor').innerHTML+='<video controls><source type=\"' + ('' + intype) + '\" src=\"' + origdus[curnum] + '\"></source></video><br>';
    } else if (document.getElementById('editor').innerHTML.indexOf('<a ') != 0 && eval(1 + curnum) == eval('' + curtot)) {
      if (curtot > 1) {
      if (eval(1 + curnum) == eval('' + curtot)) { done=true; }
    console.log('last curnum=' + curnum + ' of ' + curtot);
      document.getElementById('editor').innerHTML+='<img src=\"' + origdus[curnum] + '\"></img><br>';
      }
      edih=document.getElementById('editor').innerHTML;
      document.getElementById('editor').innerHTML='<a target=_blank href=\"' + document.getElementById('result').innerHTML + '\" title=\"Download here\" download>' + edih + '</a>';
    } else if (('' + intype).indexOf('image') == 0) {
      if (eval(1 + curnum) == eval('' + curtot)) { done=true; }
      document.getElementById('editor').innerHTML+='<img src=\"' + origdus[curnum] + '\"></img><br>';
    }
    if (eval(1 + curnum) == eval('' + curtot)) {
    if (!done) {
    done=true;
    document.getElementById('emoji_uncropped_image').value=document.getElementById('result').innerHTML;
    if (curtot == 1) { 
    document.getElementById('isub').click(); 
    setTimeout(bandthen, 5000);
    }
    } else if (1 == 1) {
" . $dstyle . "
    if (('' + intype).indexOf('audio') != 0 && ('' + intype).indexOf('video') != 0) {
    document.getElementById('borderimg1').style.display='block';
    document.getElementById('borderimg1').innerHTML=(document.getElementById('borderimg1').outerHTML.split('>')[0] + '>The rain in Spain falls mainly on the plain.</div>').replace(/\</g,'&lt;').replace(/\</g,'&gt;').replace('display:','border: 20px solid " . $transparent . ";padding: 15px;border-image:URL([asBelow]);border-image-slice: 30%; border-image-repeat: round;display:');
    document.getElementById('borderimg2').style.display='block';
    document.getElementById('borderimg2').innerHTML=(document.getElementById('borderimg2').outerHTML.split('>')[0] + '>The rain in Spain falls mainly on the plain.</div>').replace(/\</g,'&lt;').replace(/\</g,'&gt;').replace('display:','border: 20px solid " . $transparent . ";padding: 15px;border-image:URL([asBelow]);border-image-slice: 20%; border-image-repeat: stretch;display:');
    document.getElementById('thone').title=' #thone { background:URL([asBelow]); background-repeat:no-repeat;  } ';
    document.getElementById('thtwo').title=' #thtwo { background:linear-gradient(rgba(255,255,255,0.3),rgba(255,255,255,0.3)),URL([asBelow]); background-repeat:repeat; }  ';
    document.getElementById('hthree').title=' #hthree { background:linear-gradient(rgba(255,255,255,0.3),rgba(255,255,255,0.3)),URL([asBelow]); background-size:cover; background-repeat:no-repeat;  } ';
    document.getElementById('result').title='  #result { background:linear-gradient(rgba(255,255,255,0.3),rgba(255,255,255,0.3)),URL([asBelow]); background-size:contain; background-repeat:no-repeat;  } ';
    document.getElementById('borderimg1').title=' #borderimg1 { border-image: url([asBelow]) 30%; border-image-repeat: round; } ';
    document.getElementById('borderimg2').title=' #borderimg2 { border-image: url([asBelow]) 20%; border-image-repeat: stretch; } ';
    readynow=true;
    setTimeout(zthen, 8000);
    }
    }
    }
  }
  curnum++;
}

function dorn() {
  readynow=true;
}

function zthen() {
  if (readynow) {
    downloaditize(document.getElementById('thone')); 
    downloaditize(document.getElementById('thtwo')); 
    downloaditize(document.getElementById('hthree')); 
    downloaditize(document.getElementById('borderimg1')); 
    downloaditize(document.getElementById('borderimg2')); 
    downloaditize(document.getElementById('result')); 
  } else {
    setTimeout(zthen, 1000);
  } 
}

function downloaditize(ois) {
  var xrect=ois.getBoundingClientRect(); 
  var fromc=\" style='\";
  var toc=\" style='width:\" + xrect.width + \"px;height:\" + xrect.height + \"px;\";
  var ihis='', stys=[];
  var wasihis=ois.innerHTML;
  if (wasihis.indexOf(' download') == -1) {
  if (('' + ois.id).indexOf('borderimg') == 0) {
  ihis='<html><body' + toc + \"'\" + '>' + ois.innerHTML.replace('[asBelow]', ('d' + document.getElementById('result').innerHTML.substring(1).replace(/data\:/g,'),URL(data:').split('<JUNK/')[0].split('JU)NK')[0])).replace(' transparent',' white') + '</body></html>';
  while (ihis.indexOf(String.fromCharCode(34)) != -1) {
    ihis=ihis.replace(String.fromCharCode(34),String.fromCharCode(39));
  }
  while (wasihis.indexOf(String.fromCharCode(34)) != -1) {
    wasihis=wasihis.replace(String.fromCharCode(34),String.fromCharCode(39));
  }
  //console.log(wasihis);
  //console.log('<a download style=\"cursor:pointer;text-decoration: underline overline dotted red;\" target=_blank href=\"data:text/html,' + wasihis.replace(/\&lt\;/g,'<').replace(/\&gt\;/g,'>').replace('[asBelow]', document.getElementById('result').innerHTML).replace(' transparent',' white') + '\" title=\"Download here\">' + wasihis + '</a>');
  ois.innerHTML='<a download style=\"cursor:pointer;text-decoration: underline overline dotted red;\" target=_blank href=\"data:text/html,' + wasihis.replace(/\&lt\;/g,'<').replace(/\&gt\;/g,'>').replace('[asBelow]', document.getElementById('result').innerHTML).replace(' transparent',' white') + '\" title=\"Download here\">' + wasihis + '</a>';
  } else {
  if (('' + ois.id) == 'result') {
  ihis='<html><body>' + ois.outerHTML.replace('[asBelow]', ('d' + document.getElementById('result').innerHTML.substring(1).replace(/data\:/g,'),URL(data:').split('<JUNK/')[0].split('JU)NK')[0])).replace(' transparent',' white').replace(' title=', ' style=').replace('{',' ').replace('}',' ').replace('#' + ('' + ois.id),' ') + '</body></html>';
  } else {
  ihis='<html><body><table><tr>' + ois.outerHTML.replace('[asBelow]', ('d' + document.getElementById('result').innerHTML.substring(1).replace(/data\:/g,'),URL(data:').split('<JUNK/')[0].split('JU)NK')[0])).replace(' transparent',' white').replace(' title=', ' style=').replace('{',' ').replace('}',' ').replace('#' + ('' + ois.id),' ') + '</tr></table></body></html>';
  }
  while (ihis.indexOf(String.fromCharCode(34)) != -1) {
    ihis=ihis.replace(String.fromCharCode(34),String.fromCharCode(39));
  }
  stys=ihis.split(\"' style='\");
  if (stys.length == 3) {
    ihis=ihis.replace(\"' style='\" + stys[2], \" \" + stys[2]);
  }
  if (('' + ois.id) != 'result') {
  console.log('<a download style=\"cursor:pointer;text-decoration: underline overline dotted red;\" target=_blank href=\"data:text/html,' + ihis.replace(fromc,toc) + '\" title=\"Download here\">' + wasihis + '</a>');
  }
  ois.innerHTML='<a download style=\"cursor:pointer;text-decoration: underline overline dotted red;\" target=_blank href=\"data:text/html,' + ihis.replace(fromc,toc) + '\" title=\"Download here\">' + wasihis + '</a>';
  }
  }
}

function checkfordel() {
  document.getElementById('mydeler').src=document.getElementById('mydeler').src.replace('emoji_mr_image=', 'emoji_rm_image=') + 'x';
  setTimeout(checkfordel,10000);
}

function doemail() {
  var emis=prompt('Please enter email address to send Email To?  (all lowercase uses client emailer where you should Paste into body of email and all numbers we shall assume you are sending an SMS, else will send an Inline HTML Email (that will not work for all email clients))', '');
  if (emis == null) { emis=''; }
  if (emis.indexOf('@') != -1 || (emis.trim() != '' && emis.replace(/0/g,'').replace(/1/g,'').replace(/2/g,'').replace(/3/g,'').replace(/4/g,'').replace(/5/g,'').replace(/6/g,'').replace(/7/g,'').replace(/8/g,'').replace(/9/g,'') == '')) {
  if (emis.toLowerCase() == emis) {
  if (emis.indexOf('@') != -1) {
  document.getElementById('aemail').href='mailto:' + emis + '?subject=' + encodeURIComponent('My Emoji Image(s)') + '&body=' + encodeURIComponent(' ... via http://www.rjmprogramming.com.au/PHP/emoji_image.php ...' + String.fromCharCode(10));
  document.getElementById('aemail').click();
  } else {
  document.getElementById('aemail').href='sms:' + emis + '&body=' + encodeURIComponent('My Emoji Image(s)' + ' ... via http://www.rjmprogramming.com.au/PHP/emoji_image.php ... ' + String.fromCharCode(10));
  document.getElementById('aemail').click();
  }
  } else {
  var xzhr = new XMLHttpRequest();
  var xform=new FormData();
  xform.append('inline', '');
  xform.append('to', emis);
  xform.append('subject', 'My Emoji Image(s)');
  xform.append('body', '<body><a target=_blank title=\"Emoji Image Creator\" href=\"http://www.rjmprogramming.com.au/PHP/emoji_image.php\"><img src=\"' + document.getElementById('result').innerHTML + '\" title=\"Emoji Image(s)\"></img></a></body>');
  xzhr.open('post', '//www.rjmprogramming.com.au/HTMLCSS/emailhtml.php', true);
  xzhr.send(xform);
  }
  }
}

function onlis() {
  var erect=document.getElementById(\"pem\").getBoundingClientRect(); 
  document.getElementById(\"ewidth\").value=\"\" + erect.width;  
  document.getElementById(\"eheight\").value=\"\" + erect.height; 
}
</script>
<style>
td { 
  vertical-align: top; 
}

#editor {
  width: 500px;
  min-height: 40px;
  border: solid 1px gray;
  padding: 4px;
}

#resultcnt {
  width: 100%;
  margin-top: 16px;
}

#result {
  display: block;
  max-width: 90%;
  margin: 16px 0 32px 0;
  font-size: 12px;
  color: blue;
  overflow: visible;
  word-break: break-all;
}

textarea {
  font-family: Courier New;
}

input {
  font-family: Courier New;
}

video {
  width: 100%;
}
</style>
</head>
<body onload='" . $gps . " onlis(); setTimeout(checkfordel,10000);  '><p style='font-size:256px;'>". str_replace("&#;","","&#" . str_replace(".", ";&#", str_replace("+"," ",$etext)) . ";") . "</p>
<h" . $one . " id=hthree style='color:red;position:absolute;top:0px;left:400px;'>" . $hblurb . "</h" . $one . ">
<table style='position:absolute;top:280px;left:0px;' border=1><tr><th id=thone>" . $ei . " <font size=1><a target=_blank href='./emoji_image.php' title='Back to defining emojis'>" . $cr . "</a></font><br><font size=1>(Paste Below)</font></th><th id=thtwo>Data URI</th></tr>
<tr><td colspan=2><div id=borderimg1 style=display:none;></div>
<div id=borderimg2 style=display:none;></div>
</td></tr>
<tr><td><div id='editor' contenteditable=true></div></td><td>
<div id='resultcnt'><a style='cursor:pointer;text-decoration:underline;' onclick=\"if (origdu.length > 0) { origwo=window.open('', '_blank', 'top=50,left=50,width=500,height=500'); origwo.document.write('<img src=' + origdu + '></img>'); } \" title=\"Original image here on click\">Copied</a> " . $imgw . " src (that you can <a style='cursor:pointer;text-decoration:underline;' onclick='doemail();' title='Email'>Email &#128231;</a>):<br>
  <div id='result'></div>
</div></td></table><iframe id=mydeler style='display:none;' src='./emoji_image.php?emoji_mr_image=" . urlencode(str_replace(";","",str_replace("&#","",str_replace(";&#",".",$gei)))) . "&suff=x'></iframe>  
<a id=aemail href='mailto:?subject=" . str_replace("+","%20",urlencode('My Emoji Image(s)')) . "&body=' style=display:none;>Email</a>
<div id=dstyle></div>
<form style=display:none; target=ifeui method=POST action=./emoji_image.php><input type=hidden name=emoji_uncropped_image id=emoji_uncropped_image value=''></input><input type=hidden id=ewidth name=ewidth value='0'></input><input type=hidden id=eheight name=eheight value='0'></input><input type=submit id=isub value=Go style=display:none;></input></form>
<iframe name=ifeui id=ifeui style=display:none; src='//www.rjmprogramming.com.au/About_Us.html'></iframe>
<p id=pem style='font-size:256px;visibility:hidden;opacity:0.1;'>" . $xgei . "</p>
</body></html>";
  //$eresult=file_get_contents("https://developers.google.com/speed/pagespeed/insights/?url=http%3A%2F%2Fwww.rjmprogramming.com.au%2FPHP%2Femoji_image.php");
  //file_put_contents('emojiimage.txt', $eresult);
  //exec("sleep 15; rm -f " . dirname(__FILE__) . "/emoji_image.txt");
} else {
  echo "<html><head>
<style>


.cglow {
  box-shadow-bottom-right-radius: 50%; // thanks to https://stackoverflow.com/questions/2714765/using-border-radius-and-box-shadow-together-css
  box-shadow-bottom-left-radius: 50%;
  box-shadow-top-right-radius: 50%;
  box-shadow-top-left-radius: 50%;
  -webkit-animation: cglow 1s ease-in-out infinite alternate;
  -moz-animation: cglow 1s ease-in-out infinite alternate;
  animation: cglow 1s ease-in-out infinite alternate;
  -webkit-border-radius: 50%;
  border-radius: 50%;
}

.glow {
  -webkit-animation: glow 1s ease-in-out infinite alternate;
  -moz-animation: glow 1s ease-in-out infinite alternate;
  animation: glow 1s ease-in-out infinite alternate;
  border: 30px solid white;
  padding: 25px; 
  border-image:URL(data:image/png;base64,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);
  border-image-slice: 45% 5%;
  border-image-repeat: round;
  text-align: center;
}

/* Thanks to https://www.w3schools.com/howto/tryit.asp?filename=tryhow_css_glowing_text */

@-webkit-keyframes cglow {
  from {
    box-shadow: 0 0 3px #fff, 0 0 5px #fff, 0 0 37px #e60073, 0 0 9px #e60073, 0 0 11px #e60073, 0 0 13px #e60073, 0 0 15px #e60073;
  box-shadow-bottom-right-radius: 50%; // thanks to https://stackoverflow.com/questions/2714765/using-border-radius-and-box-shadow-together-css
  box-shadow-bottom-left-radius: 50%;
  box-shadow-top-right-radius: 50%;
  box-shadow-top-left-radius: 50%;
  }

  to {
    box-shadow: 0 0 24px #fff, 0 0 6px #ff4da6, 0 0 8px #ff4da6, 0 0 10px #ff4da6, 0 0 12px #ff4da6, 0 0 14px #ff4da6, 0 0 16px #ff4da6;
  box-shadow-bottom-right-radius: 50%; // thanks to https://stackoverflow.com/questions/2714765/using-border-radius-and-box-shadow-together-css
  box-shadow-bottom-left-radius: 50%;
  box-shadow-top-right-radius: 50%;
  box-shadow-top-left-radius: 50%;
  }
}

@-webkit-keyframes glow {
  from {
    box-shadow: 0 0 3px #fff, 0 0 5px #fff, 0 0 37px #e60073, 0 0 9px #e60073, 0 0 11px #e60073, 0 0 13px #e60073, 0 0 15px #e60073;
  }

  to {
    box-shadow: 0 0 24px #fff, 0 0 6px #ff4da6, 0 0 8px #ff4da6, 0 0 10px #ff4da6, 0 0 12px #ff4da6, 0 0 14px #ff4da6, 0 0 16px #ff4da6;
  }
}

input[type=text] {
  padding: 25px 0;
}

input[type=submit] {
  padding: 10px 10px 10px 10px;
  width: 25%;
  height: 100px;
  background:linear-gradient(rgba(255,255,255,0.8),rgba(255,255,255,0.8)),URL(data:image/png;base64,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);
  background-size: cover;
  background-repeat: no-repeat;
  border: 2px solid yellow;
}

input[type=button] {
  padding: 10px 10px 10px 10px;
  width: 25%;
  height: 100px;
}

#video {
  background:linear-gradient(rgba(255,255,255,0.8),rgba(255,255,255,0.8)),URL(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARgAAAHyCAMAAAAHjyFaAAADAFBMVEX+//T///j/+v///f/4///0///1///8/v/8+v/2+//3///x///y///3/f/9/f/+/v7+//n+//r9//rz/fz1//r5///8///+//////r//P///v/////+//b/+//8/Pz6//z1//3+/v////v///38//35//v6//f7//v7///8//j/+vr//Pj//vT///H7//D//fj/+/z9+/79+//9/Pj///P//vv//f3//vj9//T8//r/+fD/++z//eb//+P//+T/++j/+Or//PH//fT//fb//u3//eD//t///Or/++3//ej//ub//+j//e/+//37//3//Ob/+Nr/78n/6bv557f96Lv/5L7/477/5sH+6MP+58X/6L7/6LP/57X/4sD/58L/8s7//d3//uj//Pv+//j//+3/+dj/4LPuxY3dtXjTsXLSrnDcq3HerHHTqmrSq2jSq2rSqmzSq2bbsWXZr2fYq3LZq3ndtIDrx5X/5Lr//N//+/b/3rHsvH7TnVXNmEzMm07MmEzRk0bWlUPZmT/XmznXmzvXmj3SmzfPljzQlUnSllDOlVLQnl/ov4n/4rz/+u//+/3///b//eHrwInaoFbOjjfenUPusVjzs1n4r1H+sE78r0P9r0D9r0L6sUD7tUP2skf4r1Pzq1femkfMjkPWpWPsxpn/+er/+/v7/v///fz/+/L/8tPSomLfn0jroT71qkT4sE73rUr8q0D/rD//qjz/qj7/qT3/qDz/qTv/qDr/qz3/rDj/sTj6rTf/rkX7qEj5qkvspk7SmE7Oo2763sj/+/j6//b//vr//fr/+vL/8tDTnljjnT3zojb+qjr8rUT/qjf/qzb/qTf/qTn/qDn/pzr/qDv/qTz/qj3/qzv/qjv/qTr/qjr/qjb/rjH/rDD/rD7/pz//qULxpUPWmEPRoWP93sL/+vP7//r6//j/+v7+/f///vf/8dDSmk/nnDb6pTH/qzf/q0D9qDv/qDD/rDL+qTz/rD3/rDz/qzz/rC//qy7/qzr/pjr3pj3OU0WkAAAVEElEQVR4nO3dD3wT533HcWNJts5n4rDTH1vGYrEwNgKUZIcgnNP6DHR4LcFSsixAk7ISgpPOa7P8gVhyumBom8UQk8A1+9N1XTACF3XZlpEmWcay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MCCCAREMiGBABAMiGBDBgAgGRDAgggERDIhgQAQDIhgQwYAIBkQwIIIBEQyIYEAEAyIYEMGACAZEMCCCAREMiGBABAMiGBDBgAgGRDAgggERDIhgQAQDIhgQwYAIBkQwIIIBEQyIYEAEAyIYEMGACAZEMCCCAREMiGBABAMiGBDBgAgGRDAgggERDIhgQAQDIhgQwYAIBkQwIIIBEQyIYEAEAyIYEMGACAZEMCCCAREMiGBABAMiGBDBgAgGRDAgggERDIhgQAQDIhgQwYAIBkQwIIIBEQyIYEAEAyIYEMGACAZEMCCCAREMiGBABAMiGBDBgAgGRDAgggERDIhgQAQDIhgQwYAIBkQwIIIBEQyIYEAEAyIYEMGACAZEMCCCAREMiGBABAMiGBDBgAgGRDAgggERDIhgQAQDIhgQwYAIBkQwIIIBEQyIYEAEAyIYEMGACAZEMCCCAREMiGBABAMiGBDBgAgGRDAgggERDIhgQAQDIhgQwYAIBkQwIIIBEQyIYEAEAyIYEMGACAZEMCCCAREMiGBABAMiGBDBgAgGRDAgggERDIhgQAQDIhgQwYAIBkQwIIIBEQyIYEAEAyIYEMGACAZEMCCCAREMiGBABAMiGBDBgAgGRDAgggERDIhgQAQDIhgQwYAIBkQwIIIBEQyIYEAEAyIYEMGACAZEMCCCAREMiGBABAMiGBDBgAgGRDAgggERDIhgQAQDIhgQwYAIBkQwIIIBEQyIYEAEAyIYEMGACAZEMCCCAREMiGBABAMiGBDBgAgGRDAgggERDIhgQAQDIhgQwYAIBkQwIIIBEQyIYEAEAyIYEMGACAZEMCCCAREMiGBABAMiGBDBgAgGRDAgggERDIhgQAQDIhgQwYAIBkQwIIIBEQyIYEAEAyIYEMGACAZEMCCCAREMiGBABAMiGBDBgAgGRDAgggERDIhgQAQDIhgQwYAIBkQwIIIBEQyIYEAEAyIYEMGACAZEMCCCAREMiGBABAMiGBDBgAgGRDAgggERDIhgQAQDIhgQwYAIBkQwIIIBEQyIYEAEAyIYEMGACAZEMCCCAREMiGBAvwJIYPsppkLYIwAAAABJRU5ErkJggg==);
  background-size: cover;
  background-repeat: no-repeat;
  border: 2px solid yellow;
}

#audio {
  background:linear-gradient(rgba(255,255,255,0.8),rgba(255,255,255,0.8)),URL(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAABhCAMAAABVsodCAAADAFBMVEX///////3//vv///r//v38///7///5/v/+///9+vX//Pn//vr/+/j7/P7//Pj9+fb7+/v+/vz9/f38/Pz+/v79/Pr6+/33/v/4///5///5/f/8/f////vy+//s9v/h7fni8Pvo9f7x+//3///6/////vjv+f/U4u3A0t62ydi1yNe2yNbD0+Df7PX4/P///fjv/P/Q4O2zxtWlvM6hutChvNGftsikt8bA0N3+/fvZ6fawxdadtsqhvdOuzOS31e2wzOKiucutwM/V4+70/v///v///vz//fn5+Pbe7PezyNmbtsujwdm01vG32va42vW51++tyN2juMn//fr9/v/0/P/a5/C0x9ahus6oxt6x1PCz2PW22/i22/a41/OsyN7Y6vjy///b6PGyw9OYscWfvdW33v2y2/uz3Py02/i22PSqyOD4/f/k8v25zNuas8ehv9ew0++y2fiu2fux3P6z2vm12PSpx9+ht8zX6ffz/f/x/v/c7Pm4zd6kvdGevNSv0u654P+w2/2q1vmv2/611/KpyN2huMrX6fWyx9iYs8irzuqt1POz3/+x3/+t2fyrx93Y6PX0/f//+/fz/P/b6fS4y9qctcmbudGpzOix2Per1viz4f+qxtyhtsfY6fOt0Oyw2Pux3f+x2vq01/Ogt8nX5/T2/v/0///1///v/f/S5PKrwtSVscebvdit0u+u1/et2Pqt2Pus2Pur1/qmxt+et8v4/P32///z///t///R5veqw9eXs8umy+in0PCv2Piq2Pys2vyw1/ijxeD7+vj+//r3/f3s+v/P5PWtxNaTr8SVtc6lyOSs0/Kn0vSp1/us1/mr2fuv1vf///j//ff79vD++/Tv8/TI2ualvtKTr8WcvNWnyuamzeyl0PKo1vqu1vmr2f2t1vahw96btMr//vf++/bs7OrJ09WetcePr8iWuNOw1/akz/Gjz/Kp2f+l1fum1vyp1fip1ves1fWfw92ZtMnV6Pf8+/fk7/O/zNKarrmKqMCXvNmlzOt/3RGaAAAIiElEQVRYhZ3YC3wURxkA8Jm93e30lmBJQrylGyW9HL4F6xOs0moWqaKgR9RCqzkftaj4KFZtLj5CqNW2NkpRKvhoa7V30SKRKMlGStH2AG1N0Fyu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);
  background-size: contain;
  background-repeat: no-repeat;
  border: 2px solid yellow;
}

</style>
<title>Emoji Image Creator - RJM Programming - November, 2020 ... thanks to Google PageSpeed</title><meta charset='utf-8'></head><body style='background-color:#e0e0e0;' onload=' if (window.top == window.self) { document.getElementById(\"emoji_image\").focus(); } '><h1 class=glow title='Copy (Image) from Google PageSpeed (thanks, and note to toggle between mobile and desktop tabs perhaps) and Paste via macOS Alt-PrtScr Below (for Data URI as well) or to an Image Editor that can Crop out Extraneous White Parts or Resize Image and Save (ready for Border Image or Background Image or just Image purposes)'>Emoji Image Creator</h1><h3>Thanks to <a target=_blank title='Google PageSpeed' href='https://developers.google.com/speed/pagespeed/insights/'>Google PageSpeed</a> and <a target=_blank title='Useful link, thanks' href='https://stackoverflow.com/questions/28644340/how-do-i-get-base64-encoded-image-from-clipboard-in-internet-explorer/28799619'>Stack Overflow</a> and <a target=_blank title='jQuery' href='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'>jQuery</a></h3><form method=GET action=./emoji_image.php><input type=text name=emoji_image id=emoji_image value='' placeholder=' Emoji CodePoint(s) here (or macOS Control-Command-Space) eg. 127462.127482 is compound Emoji' style='width:99%;' required></input><br><br><textarea onchange=\"if (this.value.trim().length > 0 && document.getElementById('emoji_image').value.trim().length == 0) { document.getElementById('emoji_image').value=' '; } \" name=emoji_textarea_image id=emoji_textarea_image value='' placeholder=' ... and/or rows of Emoji CodePoint(s) here (or macOS Control-Command-Space) eg. 127462.127482 is compound Emoji' cols=120 rows=10></textarea><br><br>
<input style=background-color:yellow; type=submit value='Create Image'></input>&nbsp;&nbsp;&nbsp;<input onclick=\" window.open(document.URL.split('#')[0].split('?')[0] + '?emoji_image=&emoji_uncropped_image=&video=y','_blank');  \" style=background-color:yellow; type=button id=video value='Copy Video'></input>&nbsp;&nbsp;&nbsp;<input onclick=\" window.open(document.URL.split('#')[0].split('?')[0] + '?emoji_image=&emoji_uncropped_image=&audio=y','_blank'); \" style=background-color:yellow; type=button name=audio id=audio value='Copy Audio'></input></form></body></html>"; 
}
?>
