<?php
// select_palette.php
// RJM Programming
// May, 2025

   $prevcont="";
   $curcont="";
   $curgmt=gmdate("Ymd");
   $newlines=[];

   if (isset($_POST['indata'])) {
      $ind=str_replace('+',' ',urldecode($_POST['indata']));
      $lines=explode('<svg name="', $ind);
      if (!file_exists('/tmp/select_palette.htm')) {
        file_put_contents('/tmp/select_palette.htm', '');
      } else {
        $prevcont=file_get_contents('/tmp/select_palette.htm');
        if (strpos($prevcont, '<svg name="' . $curgmt) === false) {
          file_put_contents('/tmp/select_palette.htm', '');
        } else {
          $curcont=$prevcont;
        }
      }
      
      for ($i=1; $i<sizeof($lines); $i++) {
        $thisline='<svg name="' . explode('</svg>', $lines[$i])[0] . '</svg><br><br><br>';
        if (strpos($thisline, $curgmt) !== false && strpos($thisline, ' data-public="n"') === false && (strpos($thisline, ' data-owner="') !== false && strpos($thisline, ' data-owner=""') === false) || (strpos($thisline, ' data-contact="') !== false && strpos($thisline, ' data-contact=""') === false)) {
          if (strpos($curcont, $thisline) === false) {
            $curcont.=$thisline;
          }
        }
      }
      file_put_contents('/tmp/select_palette.htm', $curcont);
      echo '<html><body></body></html>';
      exit;
      
   } else if (isset($_GET['extract'])) {
      if (file_exists('/tmp/select_palette.htm')) {
        $prevcont=file_get_contents('/tmp/select_palette.htm');
        if (strpos($prevcont, '<svg name="' . $curgmt) === false) {
          file_put_contents('/tmp/select_palette.htm', '');
        }
        $lines=explode('<svg name="', $prevcont);
        rsort($lines);
        
        if (!isset($_GET['owner']) && !isset($_GET['me']) && !isset($_GET['contact'])) {
            $prevcont="";
            for ($i=0; $i<sizeof($lines); $i++) {
              $thisline='<svg name="' . explode('</svg>', $lines[$i])[0] . '</svg><br><br><br>';
              if (strpos($thisline, $curgmt) !== false) {
                $prevcont.=$thisline;
              }
            }
            $vslen=strlen(str_replace('+','%20',urlencode($prevcont)));
            echo '<html><body onload=" if (encodeURIComponent(parent.document.getElementById(' . "'publicreport'" . ').innerHTML).length != ' . $vslen . ') { parent.document.getElementById(' . "'publicreport'" . ').innerHTML=decodeURIComponent(' . "'" . str_replace('+','%20',urlencode($prevcont)) . "'" . '); } "></body></html>';
            exit;
        } else {
            $prevcont="";
            for ($i=0; $i<sizeof($lines); $i++) {
              $thisline='<svg name="' . explode('</svg>', $lines[$i])[0] . '</svg><br><br><br>';
              if (strpos($thisline, $curgmt) !== false) {
              $isok=true;
              if (isset($_GET['owner']) && strpos(strtolower($thisline), ' data-owner="' . strtolower(str_replace('+',' ',urldecode($_GET['owner'])) . '"')) === false) { 
                $isok=false;  
              }
              if (isset($_GET['contact']) && strpos(strtolower($thisline), ' data-contact="' . strtolower(str_replace('+',' ',urldecode($_GET['contact'])) . '"')) === false) { 
                $isok=false;  
              }
              if (isset($_GET['me']) && strpos(strtolower($thisline), strtolower('="' . str_replace('+',' ',urldecode($_GET['me'])) . '"')) === false) { 
                $isok=false;  
              } else if (isset($_GET['me'])) {
                $isok=true;
              }
              if ($isok) { $prevcont.=$thisline; }
              }
            }
            $vslen=strlen(str_replace('+','%20',urlencode($prevcont)));
            echo '<html><body onload=" if (encodeURIComponent(parent.document.getElementById(' . "'publicreport'" . ').innerHTML).length != ' . $vslen . ') {  parent.document.getElementById(' . "'publicreport'" . ').innerHTML=decodeURIComponent(' . "'" . str_replace('+','%20',urlencode($prevcont)) . "'" . '); } "></body></html>';
            exit;
        }
        
      }
      
   }

?>