<?php
// agtoslides.php
// RJM Programming
// May, 2024
// Animated GIF to a slide via ... ksh agtoslide.ksh [animatedGIFfilename] [slideNumber]

$outp='';
$infl='';

if (file_exists('/tmp/agtoslides')) {
if (file_exists(rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . 'agtoslides.ksh')) {
   if (isset($argc) && !isset($_GET['agname']) && !isset($_POST['agname'])) {
     $infl=str_replace('+',' ',$argv[1]);
     if (strpos($infl, 'data:image/') !== false) {
      $infl=str_replace(' ','+',urldecode($argv[1]));
      file_put_contents('/tmp/agtoslides/xx_xx.' . str_replace('jpeg','jpg',explode(';',explode('/',  $infl )[1])[0]), base64_decode(explode(';base64,',  $infl )[1] ));       
      $infl='/tmp/agtoslides/xx_xx.' . str_replace('jpeg','jpg',explode(';',explode('/',  $infl )[1])[0]);
     } else if (!file_exists($infl) || strpos($infl, DIRECTORY_SEPARATOR) === false) {
      $infl=rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . $infl;
     }
     if ($argc > 2) {
      $outp=shell_exec('ksh ' . rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . 'agtoslides.ksh ' . $infl . ' ' . str_replace('+',' ',urldecode($argv[2])));
     } else {
      $outp=shell_exec('ksh ' . rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . 'agtoslides.ksh ' . $infl . ' 1');
     }
   } else {
   if (isset($_GET['agname'])) {
     $infl=str_replace('+',' ',urldecode($_GET['agname']));
     if (strpos($infl, 'data:image/') !== false) {
      $infl=str_replace(' ','+',urldecode($_GET['agname']));
      file_put_contents('/tmp/agtoslides/xx_xx.' . str_replace('jpeg','jpg',explode(';',explode('/',  $infl )[1])[0]), base64_decode(explode(';base64,',  $infl )[1] ));       
      $infl='/tmp/agtoslides/xx_xx.' . str_replace('jpeg','jpg',explode(';',explode('/',  $infl )[1])[0]);
     }
     if (!file_exists($infl) || strpos($infl, DIRECTORY_SEPARATOR) === false) {
      $infl=rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . $infl;
     }
     if (isset($_GET['slidenumber'])) {
  //echo 'ksh ' . rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . 'agtoslides.ksh ' . $infl . ' ' . str_replace('+',' ',urldecode($_GET['slidenumber']));
  //exit;
      $outp=shell_exec('ksh ' . rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . 'agtoslides.ksh ' . $infl . ' ' . str_replace('+',' ',urldecode($_GET['slidenumber'])) . ' 2> ' . rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . 'agtoslides.err');
      //echo ' --- ' . $outp;
      //exit;
     } else {
      $outp=shell_exec('ksh ' . rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . 'agtoslides.ksh ' . $infl . ' 1');
     }
   } else if (isset($_POST['agname'])) { 
     $infl=str_replace('+',' ',urldecode($_POST['agname']));
     if (strpos($infl, 'data:image/') !== false) {
      $infl=str_replace(' ','+',urldecode($_POST['agname']));
      file_put_contents('/tmp/agtoslides/xx_xx.' . str_replace('jpeg','jpg',explode(';',explode('/',  $infl )[1])[0]), base64_decode(explode(';base64,',  $infl )[1] ));       
      $infl='/tmp/agtoslides/xx_xx.' . str_replace('jpeg','jpg',explode(';',explode('/',  $infl )[1])[0]);
     }
     if (!file_exists($infl) || strpos($infl, DIRECTORY_SEPARATOR) === false) {
      $infl=rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . $infl;
     }
     if (isset($_POST['slidenumber'])) {
      $outp=shell_exec('ksh ' . rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . 'agtoslide.ksh ' . $infl . ' ' . str_replace('+',' ',urldecode($_POST['slidenumber'])));
     } else {
      $outp=shell_exec('ksh ' . rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . 'agtoslide.ksh ' . $infl . ' 1');
     }
   }
   }
}
}
echo $outp;
exit;
?>
