Newer
Older
ubFramework / Portal / cron / account_status.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) 2013, 2014 Christopher Olsen <cwolsen@uBixOS.com>
 *
 * $Id: dialer_cron.php 2230 2015-06-17 19:03:56Z reddawg $
 *
 */
if (file_exists ( "/tmp/account_stat_cron.lock" )) {
 print "Script is already running.\n";
 exit ( 0 );
}

$working_dir = dirname ( __FILE__ );

$log_file = fopen ( $working_dir . "/../log/account_status_cron.log", "a" );

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

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

/* Connect To The Required Databases */
$data ['main_db'] = new mysqli ( "10.0.10.59", "ubixcube", "5558585", "ubixcube" );
$data ['voip_db'] = new mysqli ( "10.0.10.60", "ubixcube", "5558585", "ub_as_db001" );

/* Get The Last Time This Script Ran */
$query = "SELECT value FROM system_var WHERE name = 'account_status_cron_last_run'";

if (($result = $data ['main_db']->query ( $query )) === false) {
 fwrite ( $log_file, "MySQL Error: Line " . __LINE__ . "\n" );
 exit ( 1 );
}

$qData = $result->fetch_row ();

$last_run = intval ( $qData [0] );

$result->free ();

$bTime = time ();

$sdate = date ( "Y-m-d", $last_run );
$edate = date ( "Y-m-d", $bTime );

fwrite ( $log_file, "Info - sdate: " . $sdate . ", edate: " . $edate . ", last_run: " . $last_run . ", bTime: " . $bTime . "\n" );

$query = "SELECT account_number, voip_code, account_code, system_version, account_status FROM accounts";

$res = $data ['main_db']->query ( $query );

while ( $qData = $res->fetch_assoc () ) {
 $account_code = ($qData ['system_version'] == 1) ? $qData ['voip_code'] : $qData ['account_code'];
 $query = "INSERT INTO account_settings (account_code,account_number,account_status) VALUES('" . $account_code . "','" . $qData ['account_number'] . "','" . $qData ['account_status'] . "') ON DUPLICATE KEY UPDATE account_status  = VALUES(account_status), account_code = VALUES(account_code)";
 $data ['voip_db']->query ( $query );
}

$query = "UPDATE system_var SET value = '" . $bTime . "' WHERE name = 'account_status_cron_last_run'";
$data ['main_db']->query ( $query );
fwrite ( $log_file, "Adjust System Var: [$query]\n" );

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

fclose ( $log_file );

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

?>