Commit 49717aca authored by Oleg Dzhimiev's avatar Oleg Dzhimiev
Browse files

+download as zip

parent 89621f29
Loading
Loading
Loading
Loading
+15 −15
Original line number Original line Diff line number Diff line
@@ -111,7 +111,7 @@
  <br />
  <br />
  <a title="autocampars.php" href="autocampars.php">Parameter Editor</a><br />
  <a title="autocampars.php" href="autocampars.php">Parameter Editor</a><br />
  <a title="camogmgui.php" href="camogmgui.php">Recorder</a><br />
  <a title="camogmgui.php" href="camogmgui.php">Recorder</a><br />
  <a title="save snapshots" href="snapshot/">Take snapshot</a><br />
  <a title="save snapshots" href="snapshot/">Snapshot</a><br />
  <a title="preview jp4 images (drag and drop from PC)" href="jp4-viewer/?width=1200&quality=1">JP4 Viewer</a><br />
  <a title="preview jp4 images (drag and drop from PC)" href="jp4-viewer/?width=1200&quality=1">JP4 Viewer</a><br />
  <a title="hwmon.html" href="hwmon.html">Temperature monitor</a><br />
  <a title="hwmon.html" href="hwmon.html">Temperature monitor</a><br />
  <a title="update NAND flash" href="update_software.html">Update firmware</a><br />
  <a title="update NAND flash" href="update_software.html">Update firmware</a><br />
+59 −3
Original line number Original line Diff line number Diff line
@@ -43,9 +43,11 @@


  }
  }


  $lowest_port = $available_ports[0]-$port0;

  // get TRIG_MASTER from lowest port
  // get TRIG_MASTER from lowest port
  if(!empty($available_ports)){
  if(!empty($available_ports)){
    $trig_master = intval(elphel_get_P_value($available_ports[0]-$port0,ELPHEL_TRIG_MASTER));
    $trig_master = intval(elphel_get_P_value($lowest_port,ELPHEL_TRIG_MASTER));
    $trig_master_port = $trig_master + $port0;
    $trig_master_port = $trig_master + $port0;
  }
  }


@@ -74,7 +76,7 @@
      if (isset($_GET['sensor_port'])){
      if (isset($_GET['sensor_port'])){
        $port = $_GET['sensor_port'];
        $port = $_GET['sensor_port'];
      }else{
      }else{
        $port = $available_ports[0]-$port0;
        $port = $lowest_port;
      }
      }


      $circbuf_pointers = elphel_get_circbuf_pointers($port,1);
      $circbuf_pointers = elphel_get_circbuf_pointers($port,1);
@@ -95,6 +97,55 @@


    }
    }


    if (isset($_GET['zip'])){

      $tmpdir = "/tmp/snapshot";

      // create tmp dir
      if (!is_dir($tmpdir)){
        mkdir($tmpdir);
      }

      foreach($available_ports as $port){
        exec("wget --content-disposition -P $tmpdir http://{$_SERVER['SERVER_ADDR']}:$port/timestamp_name/bimg");
      }

      $fstring = "";
      $zipfile = "bimg.zip";

      $files = scandir($tmpdir);
      //remove . & ..
      array_splice($files,0,2);

      $prefixed_files = preg_filter('/^/', "$tmpdir/", $files);
      $fstring = implode(" ",$prefixed_files);

      // pick name for the zip archive
      foreach($files as $file){
        $tmp = explode(".",$file);
        if ($tmp[1]=="jp4"||$tmp[1]=="jpeg"){
          $tmp = explode("_",$tmp[0]);
          if ($tmp[2]=="0"){
            $zipfile = $tmp[0]."_".$tmp[1].".zip";
            break;
          }
        }
      }

      $zipped_data = `zip -qj - $fstring `;
      header('Content-type: application/zip');
      header('Content-Disposition: attachment; filename="'.$zipfile.'"');
      echo $zipped_data;

      // clean up
      foreach($prefixed_files as $file){
        unlink($file);
      }

      die();

    }

  }
  }


?>
?>
@@ -142,7 +193,7 @@
            background-color: #A0A0A0; /* not Green */
            background-color: #A0A0A0; /* not Green */
        }
        }


        #synced{
        #synced, #aszip{
            width:25px;
            width:25px;
            height:25px;
            height:25px;
        }
        }
@@ -183,6 +234,11 @@
    <br/>
    <br/>
    <div>
    <div>
      <table>
      <table>
      <tr>
        <td valign='middle'><span style='font-size:20px;line-height:25px;' title='checked = single zip
unchecked = multiple files'>zip</span></td>
        <td valign='middle'><input type='checkbox' id='aszip' checked/></td>
      </tr>
      <tr>
      <tr>
        <td valign='middle'><span style='font-size:20px;line-height:25px;'>sync</span></td>
        <td valign='middle'><span style='font-size:20px;line-height:25px;'>sync</span></td>
        <td valign='middle'><input type='checkbox' id='synced' checked/></td>
        <td valign='middle'><input type='checkbox' id='synced' checked/></td>
+28 −5
Original line number Original line Diff line number Diff line
@@ -46,6 +46,27 @@ function trigger(){


function download_all(rtp){
function download_all(rtp){


    if ($("#aszip").prop("checked")){

      // get ze blob
      var http = new XMLHttpRequest();
      http.open("GET", "?zip", true);
      http.responseType = "blob";

      http.onload = function(e){
        if (this.status === 200) {
          var filename = this.getResponseHeader("Content-Disposition");
          pass_to_file_reader(filename,http.response);
          if ($("#synced").prop("checked")) {
            read_tp();
          }
        }
      };

      http.send();

    }else{

      DLC = 0;
      DLC = 0;
      ports.forEach(function(c,i){
      ports.forEach(function(c,i){
        //download_single(ip+":"+c+"/timestamp_name/img");
        //download_single(ip+":"+c+"/timestamp_name/img");
@@ -54,6 +75,8 @@ function download_all(rtp){


    }
    }


}

function download_single(addr){
function download_single(addr){


  // get ze blob
  // get ze blob