/** * Add a payment for a PIREP. * * @param int $pirepid PIREP ID * @return */ public static function calculatePIREPPayment($pirepid) { $pirep = DB::get_row('SELECT `pirepid`, `pilotid`, `flighttime_stamp`, `pilotpay`, `paytype`, `flighttype`, `accepted` FROM `' . TABLE_PREFIX . 'pireps` WHERE `pirepid`=' . $pirepid); if ($pirep->accepted == PIREP_REJECTED) { return false; } if ($pirep->paytype == PILOT_PAY_HOURLY) { # Price out per-hour? $peices = explode(':', $pirep->flighttime_stamp); $minutes = $peices[0] * 60 + $peices[1]; $amount = $minutes * ($pirep->pilotpay / 60); } elseif ($pirep->paytype == PILOT_PAY_SCHEDULE) { $amount = $pirep->pilotpay; } $params = array('pirepid' => $pirepid, 'pilotid' => $pirep->pilotid, 'paysource' => PAYSOURCE_PIREP, 'paytype' => $pirep->paytype, 'amount' => $amount); $entry = LedgerData::getPaymentByPIREP($pirepid); if (!$entry) { LedgerData::addPayment($params); } else { LedgerData::editPayment($entry->id, $params); } PilotData::resetPilotPay($pirep->pilotid); return $amount; }