Beispiel #1
0
 function _populate_transactions()
 {
     $conn = $this->get_connection();
     if (count($this->transactions) > 0) {
         foreach ($this->transactions as $transaction) {
             $transaction->stock = new Stock();
             $transaction->stock->find_by_id($transaction->isin);
             $transaction->importo = 0;
             $parts = $transaction->find_all(array('where_clause' => "`negot_id` = '{$conn->escape($transaction->negot_id)}'"));
             if (count($parts) > 0) {
                 foreach ($parts as $part) {
                     $importo = $part->quantita * $part->prezzo;
                     $importo /= $transaction->stock->divisa == 'USD' ? Change::usd2eur($part->data) : 1;
                     $importo *= $part->azione == 'acquisto' ? -1 : 1;
                     $importo /= $transaction->stock->tipo == 'obbligazione' ? 100 : 1;
                     $comm = abs($importo) * $this->preference->comm_percent;
                     if (strtotime($part->data) >= strtotime("2007-08-01")) {
                         $comm = $comm > $this->preference->comm_percent_min ? $comm : $this->preference->comm_percent_min;
                     }
                     $importo -= $comm;
                     $importo -= $this->preference->comm_fissa;
                     $transaction->importo += $importo;
                 }
             }
             $this->bilancio += $transaction->importo;
         }
     }
 }
Beispiel #2
0
	<tr class="row0">
		<td class="cell10"><div class="vstrut17"></div></td>
		<td class="cell10">Dividendo</td>
		<td class="cell10"><b><?php 
    print $dividend->pretty_date();
    ?>
</b></td>
		<td class="cell10"><?php 
    $portfolio = new PortfolioStock();
    $ports = $portfolio->find_all(array('where_clause' => "`isin` = '{$this->stock->isin}'"));
    if (count($ports) > 0) {
        $port = $ports[0];
        $revenue = $port->quantita * $dividend->importo;
        printf('%.2f %s', $revenue, $this->stock->divisa);
        if ($this->stock->divisa != 'EUR') {
            $revenue /= $this->stock->divisa == 'USD' ? Change::usd2eur() : 1;
            printf(' (%.2f EUR)', $revenue);
        }
    }
    ?>
		
		<?php 
    printf('(%.2f%%)', $dividend->importo / $this->stock->last->quotazione * 100);
    ?>
		</td>
		<td class="cell10"><b><?php 
    printf('%s %s', $dividend->amount(), $this->stock->divisa);
    ?>
</b></td>
	</tr>
<?php