/** * esploras, ĉu la kondiĉo validas por la donitaj * objektoj. * @param Kondicxoarbo|Kondicxo $kondicxo * @param Partoprenanto $partoprenanto * @param Partopreno $partopreno * @param Renkontigxo $renkontigxo * @param Kotizokalkulilo $kotizokalkulilo */ function kontrolu_kondicxon(&$kondicxo, $partoprenanto, $partopreno, $renkontigxo, $kotizokalkulilo = null) { $objektoj = kreu_objektoliston($kondicxo, $partoprenanto, $partopreno, $renkontigxo, $kotizokalkulilo); if (is_a($kondicxo, 'Kondicxo')) { return $kondicxo->validas_por($objektoj); } else { return $kondicxo->estas_plenumita_de($objektoj); } }
/** * kalkulas bazan kotizon kun regulaj krompagoj kaj rabatoj. * @return float la suma kotizo. */ function kalkulu_kotizon() { $this->detalolisto = array(); $this->sumo = 0; $this->objektolisto = kreu_objektoliston($this->kotizokalkulilo->partoprenanto, $this->kotizokalkulilo->partopreno, $this->kotizokalkulilo->renkontigxo, $this->kotizokalkulilo, $this); $this->kalkulu_bazan_kotizon(); $this->kalkulu_regulajn_pseuxdopagojn('krompago', '+'); $this->kalkulu_regulajn_pseuxdopagojn('rabato', '-'); return $this->sumo; }
/** * eltrovas la logxkategorio-IDon en tiu cxi kategorisistemo, * en kiu estus la $partoprenanto per sia $partopreno en $renkontigxo. * */ function trovu_kategorion($partoprenanto, $partopreno, $renkontigxo) { $katListo =& $this->donu_katListon(); $objektoj = kreu_objektoliston($partoprenanto, $partopreno, $renkontigxo); foreach ($katListo as $id => $kategorio) { if ($kategorio->aplikigxas($objektoj)) { return array('ID' => $kategorio->datoj['ID'], 'kialo' => ""); } } return null; }