function nova_parttempsistemo() { $ptksis = new Parttempkotizosistemo(); $ptksis->kopiu(); // TODO: kontrolu $ptksis->skribu_kreante(); }
/** * anstatauxenda en subklasoj. * * La funkcio metu la informojn pri la baza kotizo en $this->detalolisto, * kaj plialtigu $this->sumo per gxi. */ function kalkulu_bazan_kotizon() { $trovita = null; $minimumo = "xxx"; $sql = datumbazdemando("ID", 'parttempkotizosistemoj', array('baza_kotizosistemo' => $this->kotizosistemo->datoj['ID'])); $rez = sql_faru($sql); while ($linio = mysql_fetch_assoc($rez)) { $ptksis = new Parttempkotizosistemo($linio['ID']); if ($ptksis->aplikigxas($this->objektolisto)) { $kategorioj = $ptksis->eltrovu_kategoriojn($this->kotizokalkulilo->partoprenanto, $this->kotizokalkulilo->partopreno, $this->kotizokalkulilo->renkontigxo); $kotizo = $ptksis->eltrovu_bazan_kotizon($kategorioj); if ($kotizo < $minimumo or "xxx" == $minimumo) { $minimumo = $kotizo; $trovita = array($ptksis, $kategorioj, $kotizo); } } } $this->detalolisto['baza'] = array(array('titolo' => kotizo_parttempa_titolo(), 'detaloj' => array('kategorioj' => $trovita[1], 'dauxro' => $this->partoprentempo), 'valoro' => array('kvanto' => $minimumo, 'valuto' => CXEFA_VALUTO))); $this->sumo += $minimumo; }
foreach ($kondicxolisto as $index => $kodo) { echo "kondicxoj[" . $index . "] =\n function() {\n " . str_replace("\n", "\n ", $kodo) . "\n };\n"; } // parttempkotizo-sistemoj $sql = datumbazdemando('ID', 'parttempkotizosistemoj', array('baza_kotizosistemo' => $kotizosistemo->datoj['ID'])); $rez = sql_faru($sql); echo "var partkotizoj =\n ["; $unua = true; while ($linio = mysql_fetch_assoc($rez)) { if (!$unua) { echo ",\n"; } else { echo "\n"; $unua = false; } $ptksis = new Parttempkotizosistemo($linio['ID']); echo " {\n"; echo ' "noktoj" : ' . $ptksis->datoj['por_noktoj'] . ",\n"; echo ' "kondicxo" : ' . $ptksis->datoj['kondicxo'] . ",\n"; $tabelo = $ptksis->kreu_kotizotabelon(); echo $formatilo->kreu_ordonon(' "tabelo" : ', $tabelo, ","); $limdatoj = $ptksis->donu_kategorisistemon("aligx")->listu_limdatojn(CH("Aligxilo1.php#surloke")); echo $formatilo->kreu_ordonon(' "limdatoj" : ', $limdatoj, ""); echo " }"; } if ($unua) { echo "]"; } else { echo "\n ];\n"; } // limdatoj por aligxkategorioj