Ejemplo n.º 1
0
 public static function getPeriodsRecords($period, $promos, &$promoscost)
 {
     $promocost = '';
     $cost = 0;
     $total = 0;
     $promoscounter = 0;
     $cost_row = array();
     $promos_rows = array();
     $first = true;
     $cantdias = 0;
     $current_user = '';
     foreach ($promos as $promo) {
         if ($promocost != $promo['promo_cost']) {
             $promocost = $promo['promo_cost'];
             if ($first) {
                 $first = false;
             } else {
                 $cost_row['cost'] = $cost;
                 $cost_row['promo_count'] = $promoscounter;
                 $cost_row['cant_dias'] = $cantdias;
                 $cost_row['subtotal'] = $cost * $cantdias;
                 $promos_rows[] = $cost_row;
                 $total = +$cost * $cantdias;
                 $promoscounter = 0;
                 $cantdias = 0;
             }
         }
         $a_cost = explode('-', $promo['promo_cost']);
         $cost = (double) $a_cost[1];
         $promoscounter += 1;
         //Dejamos que el limite derecho lo calcule el controlador modificando 'ends' $today = date("Y-m-d H:i:s");
         $datefrom = $period->getFrom() > $promo['starts'] ? $period->getFrom() : $promo['starts'];
         $dateto = $period->getTo() > $promo['ends'] ? $promo['ends'] : $period->getTo();
         $cantdias += round(PAP_Model_Payment::getWorkingDays($datefrom, $dateto));
     }
     $cost_row['cost'] = $cost;
     $cost_row['promo_count'] = $promoscounter;
     $cost_row['cant_dias'] = $cantdias;
     $cost_row['subtotal'] = $cost * $cantdias;
     $promos_rows[] = $cost_row;
     $total += $cost * $cantdias;
     $promoscost = $promos_rows;
     return $total;
 }