Newer
Older
ubFramework / Provisioning / docroot / asw_put.php
@Christopher W. Olsen Christopher W. Olsen on 10 Dec 2017 2 KB iSinc
<?php

//$data['ubix_db']   = new mysqli("10.0.10.59", "ubixcube", "5558585", "ubixcube");
$data['ubix_db'] = new mysqli("10.50.25.45", "spherepbx", "5558585", "spherepbx");

if ($_SERVER['REQUEST_METHOD'] == "PUT") { 
  $fileName = basename($_SERVER['REQUEST_URI']);
  $filePart = explode("-", $fileName);
  $s = fopen("php://input", "r");

  system("echo \"UBU[" . $fileName . ":" . $filePart[1] . "]\" >> ../put.log");

  $fP = explode(".", $filePart[1]);

  switch($fP[1]) {
    case 'xml':
    case 'XML':
      if ($fP[0] == "directory") {
        $directory = $data['ubix_db']->real_escape_string(stream_get_contents($s));
        $query = "REPLACE INTO voip_device_directories (mac, directory, last_update) VALUES('" . $filePart[0] . "','" . $directory . "','" . date("Y-m-d H:i:s") . "')";
        $query = "REPLACE INTO voip_device_configs (mac, cfg, cfg_type, last_update) VALUES('" . $filePart[0] . "','" . $directory . "','" . $fP[0] . "','" . date("Y-m-d H:i:s") . "')";
        system("echo \"[$query]\" >> put.log");
        $data['ubix_db']->query($query);
      }
      else if ($fP[0] == "calls") {
        $log = $data['ubix_db']->real_escape_string(stream_get_contents($s));
        $query = "REPLACE INTO voip_device_configs (mac, cfg, cfg_type, last_update) VALUES('" . $filePart[0] . "','" . $log . "','" . $fP[0] . "','" . date("Y-m-d H:i:s") . "')";
        system("echo \"[$query]\" >> put.log");
        $data['ubix_db']->query($query);
      }
      break;
    case 'log':
    case 'LOG':
      $log = $data['ubix_db']->real_escape_string(stream_get_contents($s));
      $query = "REPLACE INTO voip_device_logs (mac, log, log_type, last_update) VALUES('" . $filePart[0] . "','" . $log . "','" . $fP[0] . "','" . date("Y-m-d H:i:s") . "')";
      system("echo \"[$query]\" >> put.log");
      $data['ubix_db']->query($query);
      break;
    case 'cfg':
    case 'CFG':
      $log = $data['ubix_db']->real_escape_string(stream_get_contents($s));
      $query = "REPLACE INTO voip_device_configs (mac, cfg, cfg_type, last_update) VALUES('" . $filePart[0] . "','" . $log . "','" . $fP[0] . "','" . date("Y-m-d H:i:s") . "')";
      system("echo \"[$query]\" >> put.log");
      $data['ubix_db']->query($query);
      break;
    default:
      $fileName = "./asw_upload" . $_SERVER['REQUEST_URI']; //. basename($_SERVER['REQUEST_URI']);
      system("echo \"$fileName\" >> put.log");
      $f = fopen($fileName, "a");
      while($kb = fread($s, 1024)) {
        fwrite($f, $kb, 1024);
      }
      fclose($f);
      break;
  }

  Header("HTTP/1.1 201 Created");
  fclose($s);
}
else
  Header("HTTP/1.1 500");
?>