public function extractRefuelData(Operation $operation) { $consumptionData = array(); $rawData = array_merge(array(array('category' => $operation->getCategory(), 'amount' => $operation->getAmount(), 'wording' => $operation->getWording())), $operation->getSplitAmount()); $keys = array('dist', 'volume', 'op'); foreach ($rawData as $rawDatum) { if (preg_match_all(self::CONSUMPTION_WORDING_PATTERN, $rawDatum['wording'], $matches, PREG_SET_ORDER)) { $refuelData = array(); foreach ($matches as $m) { foreach ($keys as $k) { if (isset($m[$k]) && $m[$k]) { $refuelData[$k] = $m[$k]; } } } // Check if we have the three necessary info: dist, volume and operator if (count($refuelData) == 3) { $refuelData['category'] = $rawDatum['category']; $refuelData['amount'] = $rawDatum['amount']; $consumptionData[] = $refuelData; } } } return $consumptionData; }
public static function getPayeeLabelForDisplay(Operation $operation) { if ($operation->getPaymode() == Constants::PAYMODE_INTXFER) { return $operation->getXhb()->getAccount($operation->getDstAccount())->getName(); } return $operation->getPayeeModel() ? $operation->getPayeeModel()->getName() : ''; }