<?php
// ещедневный крон
// в функицю show присываем все необходимые операции
class c_services_updates_get
{

  function show()
  {
      if ($_GET["name"]) {
        $data = $this->getBase64($_GET["name"]);
        if (empty($data)) {
          http_response_code(404);
          return;
        }
        echo $data;
      } else {
          http_response_code(400);
          return;
      }

      echo json_encode($result);
  }

  function getBase64($filename) {
    $files = $this->getFiles();
    foreach ($files as $key => $file) {
        if ($filename === $file) {
            $content = file_get_contents(_DIR_TO_ROOT.'/updates/'.$filename);
            return base64_encode($content);
        }
    }
    return null;
  }
  /*
    @return []
   */
  function getFiles()
  {
      $files=[];
      $dir = _DIR_TO_ROOT.'/updates/';
      $content = scandir($dir);

      if (is_array($content)) while ($file = array_shift($content)) {
          if ($this->isValid($file) && !is_dir($dir . $file)) $files[]=$file;
      }

      return $files;
  }

  function isValid($filename)
  {
      $regexp = '/^esmo\-full-\d+\.work\.zip/';
      return preg_match($regexp, $filename);
  }
}
?>