public function getData() { /** * Get all information and return */ $finalArr = array(); $asteriskData = AsteriskCarriers::getData(); $voipInfoRetriever = new BestVOIPInformationRetriever(); foreach ($asteriskData as $key => $currentAsteriskData) { $remoteVoipResult = $voipInfoRetriever->getInfo($currentAsteriskData['main_user'], $currentAsteriskData['main_pass'], $currentAsteriskData['sub_user'], $currentAsteriskData['sub_pass']); $currentAsteriskData['id'] = $key; $currentAsteriskData['balance'] = doubleval($remoteVoipResult->getBalance()); $currentAsteriskData['exact_balance'] = doubleval($remoteVoipResult->getSpecificBalance()); $finalArr[] = $currentAsteriskData; } return $finalArr; }
public function actionIndex() { /*get all ids*/ $remoteDataCacheIds = array(); // retrieve all records from database $remoteDataCacheModels = RemoteDataCache::model()->findAll(); //retrieve all records from remote $allAsteriskModels = AsteriskCarriers::getData(); //collect the id foreach ($remoteDataCacheModels as $key => $value) { $remoteDataCacheIds[] = $value->id; } $remoteDataCacheModels = null; foreach ($remoteDataCacheIds as $currentRemoteDataCacheId) { $curRemoteDataCacheModel = RemoteDataCache::model()->findByPk($currentRemoteDataCacheId); $currentRemoteDataCacheExists = false; Yii::log("Checking : {$curRemoteDataCacheModel->sub_user} | {$curRemoteDataCacheModel->sub_pass}", CLogger::LEVEL_INFO, 'sync_remove'); /** * @var RemoteDataCache $currentRemoteDataCache */ foreach ($allAsteriskModels as $currentAsteriskModel) { //check if matched if ($currentAsteriskModel['main_user'] === $curRemoteDataCacheModel->main_user && $currentAsteriskModel['main_pass'] === $curRemoteDataCacheModel->main_pass && $currentAsteriskModel['sub_user'] === $curRemoteDataCacheModel->sub_user && $currentAsteriskModel['sub_pass'] === $curRemoteDataCacheModel->sub_pass) { Yii::log("RemoteDataCache exists! {$curRemoteDataCacheModel->sub_user} | {$curRemoteDataCacheModel->sub_pass}", CLogger::LEVEL_INFO, 'sync_remove'); $currentRemoteDataCacheExists = true; continue; } } //end of loop allasteriskmodels if (!$currentRemoteDataCacheExists) { $logMessage = sprintf("Deleting record : %s | %s | %s | %s", $curRemoteDataCacheModel->main_user, $curRemoteDataCacheModel->main_pass, $curRemoteDataCacheModel->sub_user, $curRemoteDataCacheModel->sub_pass); Yii::log($logMessage, CLogger::LEVEL_INFO, "sync_remove"); $curRemoteDataCacheModel->delete(); } } //end of remotedatacache loop }
public function actionRemoteAsteriskInfo() { header("Content-Type: application/json"); echo json_encode(AsteriskCarriers::getData()); }