From 0fc4f6c26fa690fe7abab8007a7ce33a8c0dca83 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 25 Nov 2015 17:56:09 -0500 Subject: [PATCH] Fix Airtime bandwidth limit suspension code --- airtime_mvc/application/configs/constants.php | 2 +- .../application/controllers/ApiController.php | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/airtime_mvc/application/configs/constants.php b/airtime_mvc/application/configs/constants.php index ea748ef84..ca9b013a0 100644 --- a/airtime_mvc/application/configs/constants.php +++ b/airtime_mvc/application/configs/constants.php @@ -12,7 +12,7 @@ define('COMPANY_SITE' , 'Sourcefabric.org'); define('COMPANY_SITE_URL' , 'http://sourcefabric.org/'); define('SUPPORT_EMAIL_ADDRESS', "help@sourcefabric.org"); -define("AIRTIMEPRO_API_URL", "https://account.sourcefabric.com/api/"); +define("AIRTIMEPRO_API_URL", "https://account.sourcefabric.com:5001/api/"); define('HELP_URL' , 'http://help.sourcefabric.org/'); define('FAQ_URL' , 'https://sourcefabricberlin.zendesk.com/hc/en-us/sections/200994309-Airtime-FAQ'); diff --git a/airtime_mvc/application/controllers/ApiController.php b/airtime_mvc/application/controllers/ApiController.php index ad820d880..854ccae6a 100644 --- a/airtime_mvc/application/controllers/ApiController.php +++ b/airtime_mvc/application/controllers/ApiController.php @@ -147,11 +147,13 @@ class ApiController extends Zend_Controller_Action public function bandwidthUsageAction() { $bandwidthUsage = json_decode($this->getRequest()->getParam("bandwidth_data")); $usageBytes = 0; - foreach ($bandwidthUsage as $entry) { - // TODO: store the IP address for future use - $ts = strtotime($entry->timestamp); - if ($ts > Application_Model_Preference::getBandwidthLimitUpdateTimer()) { - $usageBytes += $entry->bytes; + if (!empty($bandwidthUsage)) { + foreach ($bandwidthUsage as $entry) { + // TODO: store the IP address for future use + $ts = strtotime($entry->timestamp); + if ($ts > Application_Model_Preference::getBandwidthLimitUpdateTimer()) { + $usageBytes += $entry->bytes; + } } } Application_Model_Preference::incrementBandwidthLimitCounter($usageBytes); @@ -160,10 +162,11 @@ class ApiController extends Zend_Controller_Action $usage = Application_Model_Preference::getBandwidthLimitCounter(); if ($usage > Application_Model_Preference::getBandwidthLimit()) { $CC_CONFIG = Config::getConfig(); + $url = AIRTIMEPRO_API_URL . "/station/" . $CC_CONFIG['stationId'] . "/suspend"; $user = array('', $CC_CONFIG['apiKey'][0]); $data = array('reason' => "Bandwidth limit exceeded"); try { - $result = Application_Common_HTTPHelper::doPost(AIRTIMEPRO_API_URL, $user, $data); + $result = Application_Common_HTTPHelper::doPost($url, $user, $data); Logging::info($result); } catch (Exception $e) { throw $e;