Пример #1
0
 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));
 }
Пример #2
0
 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();
         }
     }
 }
Пример #3
0
<?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.";
Пример #4
0
<?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'
				});
			});