/** * Lisää kuhunkin ratkaisuun otsikkomerkinnän, josta ilmenee myös * tehtävän numero (sen otsikkomerkinnässä). Ratkaisut palautetaan * kutsuvalle ohjelman osalle. * @param Array $ratkaisut * @param Tehtava $tehtava */ public function merkitse_ratkaisujen_otsikkonumerot(&$ratkaisut, $tehtava) { for ($i = 0; $i < sizeof($ratkaisut); $i++) { $ratk = $ratkaisut[$i]; if ($ratk instanceof Ratkaisu) { // Yleensä vain yksi ratkaisu: if (sizeof($ratkaisut) === 1) { $ratk->setOtsikkomerkinta($tehtava->getOtsikkomerkinta() . " " . Tekstit::$ratkaisu); } else { $ratk->setOtsikkomerkinta($tehtava->getOtsikkomerkinta() . " " . Tekstit::$ratkaisu . " " . ($i + 1)); } } } }
/** * Palauttaa parametrina annetun tehtävän tulostukseen optimoidun * html-koodin. * * @param Elementti $elementti * @param Tehtava $tehtava * @param int $omaid Käyttäjän id * @param array $painikkeet * @return string */ function luo_koostenakyma_tulostus($elementti, $tehtava, $painikkeet) { $palaute = ""; if (!$tehtava instanceof Tehtava && $elementti instanceof Elementti) { $palaute = "Jokin parametri metodissa 'luo_koostenakyma' ei ole ok!"; } else { /* Muotoillaan tehtävän merkit ja kaavat: */ $tehtavateksti = muotoile_merkit($tehtava->getTehtavananto()); $tehtavateksti = Kaavaeditori::muotoile_pikkukaavat($tehtavateksti); $tehtavateksti = Kaavaeditori::muotoile_kaavat($tehtavateksti); /* Muotoillaan otsikon merkit ja kaavat: */ $otsikko = muotoile_merkit($tehtava->getOtsikko()); $otsikko = Kaavaeditori::muotoile_pikkukaavat($otsikko); $otsikko = Kaavaeditori::muotoile_kaavat($otsikko); $kuvat = $tehtava->hae_kuvat_koostenakymaan(); $sisalto = $kuvat . $tehtavateksti; $otsikko = "<div class = 'elementti_teht' " . "id='elem" . $elementti->get_id() . "'>" . "<h3>" . $tehtava->getOtsikkomerkinta() . ": " . $otsikko . "</h3>"; $palaute .= $otsikko; $palaute .= $sisalto; // Tehtävä ja kuvat if (is_array($painikkeet)) { foreach ($painikkeet as $painike) { $palaute .= $painike . " "; } } $palaute .= "</div>"; } return $palaute; }