Newer
Older
ubFramework / Portal / cron / voip_innovations_audit.php
@Christopher W. Olsen Christopher W. Olsen on 10 Dec 2017 2 KB Cleaning Up Making It A Sub Module
#!/usr/local/bin/php

<?php

/*
 * (C) 2016 Christopher Olsen <cwolsen@uBixOS.com>
 *
 * $Id: dialer_cron.php 2230 2015-06-17 19:03:56Z reddawg $
 *
 */
if ( file_exists ( "/tmp/voip_innovations_audit.lock" ) ) {
  print "Script is already running.\n";
  exit ( 0 );
}

/* Set Root Directory Of Portal */
$root_dir = "/usr/web/sites/portal.spherepbx.com";

/* Main include info */
ini_set ( 'include_path', $root_dir . "/include/" );
include ("config.php");

$log_file = fopen ( $root_dir . "/log/cron/voip_innovations_audit.log", "a" );

$csv_file = fopen ( "/tmp/VI." . time() . ".csv", "w");
fwrite ($csv_file, "TN,Network,E911,E411,T38,CNAM Storage,CNAM DIP\n");

fwrite ( $log_file, "Start: " . date ( "Y-m-d H:i:s" ) . "\n" );

system ( "/usr/bin/touch /tmp/voip_innovations_audit.lock" );

/* Stuff Here - This Is A Sloppy Template */
$result = $ubF->libs ['vi']->auditDIDs ();

system ( "echo '" . json_encode ( $result ) . "' >> /tmp/auditDIDs.log" );

/* Set All The DID For Provider To 0 Before Audit To Purge Lost DID */
$query = "UPDATE voip_did SET audit = 0 WHERE provider = 1";
$ubF->DB ['main']->query ( $query );

foreach ( $result->auditDIDsResult->DIDs->DID as $key => $val ) {
  $val_data = $ubF->DB ['main']->escape_string ( json_encode ( $val ) );
  
  $e911 = ($val->has911 == true) ? 1 : 0;
  $e411 = ($val->has411 == true) ? 1 : 0;
  $t38 = ($val->t38 == true) ? 1 : 0;
  $cnam = ($val->cnamStorageAvailability == true) ? 1 : 0;
  $cnam_dip = ($val->cnam == true) ? 1 : 0;
  
  $query = "INSERT INTO voip_did (audit, provider, did, caller_id, network, provider_data, e911, e411, t38, cnam, cnam_dip, group_id) VALUES(1, 1, '" . $val->tn . "','" . $val->cnamName . "','" . $val->Network . "','" . $val_data . "', $e911, $e411, $t38, $cnam, $cnam_dip, '" . $val->didGroupId . "')";
  
  $query .= " ON DUPLICATE KEY UPDATE audit = 1, provider = 1, caller_id = '" . $val->cnamName . "', network = '" . $val->Network . "', provider_data = '" . $val_data . "', e911 = " . $e911 . ", e411 = " . $e411 . ", t38 = " . $t38 . ", cnam = " . $cnam . ", cnam_dip = " . $cnam_dip . ", group_id = '" . $val->didGroupId . "'";
  
  echo "[" . $query . "]\n";

  $csv_str = $val->tn . "," . $val->Network . "," . $e911 . "," . $e411 . "," . $t38 . "," . $cnam . "," . $cnam_dip . "\n";
  fwrite($csv_file, $csv_str);
  
  $ubF->DB ['main']->query ( $query );
}

fclose ($csv_file);

print_r ( $result );

/* Groups Audit */
$result = $ubF->libs['vi']->GetDIDGroups();

//foreach ($result->GetDIDGroupsResult->

fwrite ( $log_file, "Finish: " . date ( "Y-m-d H:i:s" ) . "\n" );

fclose ( $log_file );

system ( "/bin/rm /tmp/voip_innovations_audit.lock" );

?>