public function init() { $value = $this->getValue(); if ($this->_riseValue === null) { if ($this->depositDays <= 365) { $wiborModel = new Wibor(); $rangeStart = $wiborModel->getRangeStart($this->depositDays); $rangeEnd = $wiborModel->getRangeEnd($this->depositDays); } else { $irsModel = new Irs(); $rangeStart = $irsModel->getRangeStart($this->depositDays); $rangeEnd = $irsModel->getRangeEnd($this->depositDays); if ($rangeStart === null) { // dla okresów z przedziału [366D, 729D] $wiborModel = new Wibor(); $rangeStart = $wiborModel->getRangeStart($this->depositDays); } } if ($rangeEnd === null) { $this->_riseValue += $rangeStart->value; } else { $x0 = $rangeStart->period; $x1 = $rangeEnd->period; $y0 = $rangeStart->value; $y1 = $rangeEnd->value; $x = $this->depositDays; $this->_riseValue += $this->linearInterpolation($x0, $x1, $y0, $y1, $x); } } $value += $this->_riseValue; $this->setValue($value); }