/** * @param Partopreno partopreno pp-objekto. * @param array $mangxmendo $_POST['mangxmendo'] * @todo: atentu, kiam iu malplilongigas sian partoprentempon. */ function traktu_mangxomendojn($partopreno, $mangxmendo) { $mangxolisto = listu_eblajn_mangxojn($partopreno); foreach ($mangxolisto as $mangxoID) { $antauxe_mendis = cxuMangxas($partopreno->datoj['ID'], $mangxoID); $nun_mendas = jesne_al_boolean($mangxmendo[$mangxoID]); if ($antauxe_mendis and !$nun_mendas) { forigu_el_datumbazo('mangxmendoj', array('partoprenoID' => $partopreno->datoj['ID'], 'mangxtempoID' => $mangxoID)); } else { if ($nun_mendas and !$antauxe_mendis) { aldonu_al_datumbazo('mangxmendoj', array('partoprenoID' => $partopreno->datoj['ID'], 'mangxtempoID' => $mangxoID)); } } } }
/** * kreas tabelon en formo de array-oj. * @param Partopreno $partopreno * @return array (tagolisto, tabelo) */ function kreu_mangxtabelon($partopreno = null) { $mangxolisto = listu_eblajn_mangxojn($partopreno); $tabelo = array(); $tagolisto = array(); foreach ($mangxolisto as $mangxoID) { $mtempo = new Mangxtempo($mangxoID); if ($partopreno) { $mendita = cxuMangxas($partopreno->datoj['ID'], $mangxoID); } else { if (isset($_REQUEST['mangxmendo'])) { $mendita = jesne_al_boolean($_REQUEST['mangxmendo'][$mangxoID]); } else { $mendita = true; } } $tabelo[$mtempo->datoj['mangxotipo']][$mtempo->datoj['dato']] = array('mtempo' => $mtempo, 'mendita' => $mendita); $tagolisto[] = $mtempo->datoj['dato']; } $tagolisto = array_values(array_unique($tagolisto)); ksort($tabelo, SORT_STRING); return array($tagolisto, $tabelo); }