public function actionPurchases() { //Check to see if we can get new data $groupMembers = $this->getTrackingGroupMembers(1); $transactionInterface = new APITransactions(); if (!$transactionInterface->getCacheExpiration($groupMembers[0]->characterID)) { foreach ($groupMembers as $member) { $orders = $transactionInterface->getEveData($member->characterID); $character = Characters::Model()->findByPk($member->characterID); if ($character->walletEnabled) { $transactionInterface->storeData($member->characterID); } } } //Get our tracking group members $members = $this->getMembersAsArray(1); $sqlarray = '(' . implode(',', $members) . ')'; //Create our db criteria $criteria = new CDbCriteria(); $criteria->condition = 'transactionType = "buy" AND characterID IN ' . $sqlarray; $criteria->order = 'transactionDateTime DESC'; $criteria->limit = 30; //Grab our last 30 transactions $results = Wallet::model()->findAll($criteria); //Create a new XML object $xmlObject = new DOMDocument(); $root = $xmlObject->appendChild($xmlObject->createElement('TransactionList')); //Iterate over the db results and construct the XML foreach ($results as $result) { //Create the parent tag for this transaction $trans = $root->appendChild($xmlObject->createElement('Transaction')); //Populate with the data $trans->appendChild($xmlObject->createElement('transactionDateTime', $result->transactionDateTime)); $trans->appendChild($xmlObject->createElement('transactionTimestamp', strtotime($result->transactionDateTime))); $trans->appendChild($xmlObject->createElement('typeID', $result->typeID)); $trans->appendChild($xmlObject->createElement('typeName', $result->typeName)); $trans->appendChild($xmlObject->createElement('quantity', $result->quantity)); $trans->appendChild($xmlObject->createElement('profit', $result->profit)); $trans->appendChild($xmlObject->createElement('price', $result->price)); $trans->appendChild($xmlObject->createElement('stationName', $result->stationName)); $trans->appendChild($xmlObject->createElement('icon', $this->getIcon($result->typeID))); } //Render the XML $xmlObject->formatOutput = false; echo $xmlObject->saveXML(); //$this->renderPartial('transactions',array('results'=>$results)); }
public function run($args) { $characters = Characters::model()->findAll(); foreach ($characters as $character) { echo "Found character {$character->characterName}\n"; $walletInterface = new APITransactions(); $journalInterface = new APIJournal(); $ordersInterface = new APIOrders(); $assetsInterface = new APIAssetList(); $sheetInterface = new APICharacterSheet(); //Wallet if (!$walletInterface->getCacheExpiration($character->walletID) && $character->walletEnabled) { echo "Updating transactions...\n"; $walletInterface->storeData($character->walletID); } //Journal if (!$journalInterface->getCacheExpiration($character->walletID) && $character->journalEnabled) { echo "Updating journal...\n"; $journalInterface->storeData($character->walletID); } //Orders if (!$ordersInterface->getCacheExpiration($character->walletID) && $character->ordersEnabled) { echo "Updating orders...\n"; $ordersInterface->storeData($character->walletID); } /* //Assets if(!($assetsInterface->getCacheExpiration($character->walletID))) { echo "Updating assets...\n"; $assetsInterface->storeData($character->walletID); } */ //Balance if (!$sheetInterface->getCacheExpiration($character->walletID) && $character->displayBalance) { echo "Updating balances...\n"; $sheet = $sheetInterface->getEveData($character->walletID); $sheetBalance = $sheet->result->balance[0][0]; $balance = (double) $sheetBalance; $balanceRow = new Balances(); $balanceRow->characterID = $character->characterID; $balanceRow->balanceDateTime = $this->getEveTimeSql(); $balanceRow->balance = $balance; $balanceRow->save(); } } }
<?php $transInterface = new APITransactions(); $group = $this->getDefaultTrackingGroup(Yii::app()->user->trackingGroupID); $groupMembers = $this->getTrackingGroupMembers($group->trackingGroupID); foreach ($groupMembers as $member) { $orders = $transInterface->getEveData($member->characterID); $character = Characters::Model()->findByPk($member->characterID); if ($character->walletEnabled) { $transInterface->storeData($member->characterID); } } echo "API Updated. Please refresh your page.";
<?php $this->breadcrumbs = array('Transactions'); $this->menu = array(array('label' => 'Create Transactions', 'url' => array('create')), array('label' => 'Manage Transactions', 'url' => array('admin'))); ?> <div style="float: right; margin-bottom:10px;">Search: <?php $this->widget('zii.widgets.jui.CJuiAutoComplete', array('name' => 'item', 'sourceUrl' => 'index.php?r=wallet/search', 'options' => array('minLength' => '3', 'select' => 'js: function (event, ui) { window.location = "index.php?r=wallet/item&id=" + ui.item.id; }'), 'htmlOptions' => array('style' => 'height:20px; width: 250px;'))); echo "</div><div class='clear'></div>"; //Check on our cache value $transactionInterface = new APITransactions(); $group = $this->getDefaultTrackingGroup(Yii::app()->user->trackingGroupID); $groupMembers = $this->getTrackingGroupMembers($group->trackingGroupID); if (!$transactionInterface->getCacheExpiration($groupMembers[0]->characterID)) { ?> <script type="text/javascript"> $(function() { $.gritter.add({ title: 'Updating API', text: 'Your transactions are being updated...', time: 4000, image: '<?php echo Yii::app()->request->baseUrl; ?> /images/repeat-icon.png' }); });