function testaa_tehtavan_luominen() { $teht_ots = "Testiteht 1"; $this->lisaa_kommentti("Luodaan uusi tehtävä " . $teht_ots); $jatkolupa = true; if ($this->testihenkilo1 instanceof Henkilo && $this->testihenkilo1->olio_loytyi_tietokannasta) { $this->parametriolio->set_omaid($this->testihenkilo1->get_id()); // Liitetään tehtävä kokonaisuuteen kokon2, joka on olemassa: if ($this->kokon2 instanceof Kokonaisuusolio) { $palauteolio = $this->luo_testitehtava($this->kokon2->get_id(), $teht_ots); $uuden_teht_id = $palauteolio->get_muokatun_id(); } else { $jatkolupa = false; $this->lisaa_virheilmoitus("Testikokon kokon2 ei ole kokonaisuusolio."); } // Tarkistetaan onnistuiko: if (!$jatkolupa || $palauteolio->get_virhekoodi() != Palaute::$VIRHEKOODI_KAIKKI_OK) { $this->lisaa_virheilmoitus("Virhe uuden tehtävän" . " tallennuksessa (php_tehtava_metodit->" . "toteuta_uuden_tehtavan_tallennus)" . $palauteolio->get_ilmoitus()); } else { $this->lisaa_kommentti("Tehtavan luonti ja tallennus ok"); /************** JUURI TALLENNETUN TEHTÄVÄN HAKU TIETOKANNASTA *************/ $this->lisaa_kommentti("Haetaan tietokannasta tehtava 'Testitehtava1'"); $taulu = "tehtavat"; $taulun_sarake = "otsikko"; $hakuarvo = $teht_ots; $osumat_lkm = $this->tietokantaolio->hae_osumien_lkm($taulu, $taulun_sarake, $hakuarvo); // Osumia pitäisi olla tasan yksi, koska alussa poistettiin ylimääräiset. // Muuten on tullut jokin virhe. if ($osumat_lkm == 1) { $osuma = $this->tietokantaolio->hae_eka_osuma_oliona($taulu, $taulun_sarake, $hakuarvo); $teht = $osuma; $this->lisaa_kommentti("Haku onnistui! Tehtävän <br/>otsikko on '" . $teht->otsikko . "' , <br/>tehtavananto '" . $teht->tehtavananto . "' ja\n <br/>vaikeustaso '" . Vaikeustasot::hae_vaikeustason_kuvaus($teht->vaikeustaso) . "'"); // Haetaan vielä tehtävä tietokannasta ja luodaan olio, jota // voidaan hyödyntää täällä: $tehtolio = new Tehtava($uuden_teht_id, $this->tietokantaolio); if ($tehtolio instanceof Tehtava) { $this->teht1 = $tehtolio; $this->lisaa_kommentti("Tehtava asetettu muuttujan" . " teht1 arvoksi ja on siten valmiina käyttöön."); } else { $this->lisaa_virheilmoitus("Virhe tehtavan haussa ja olion" . " luomisessa!"); } } else { $this->lisaa_virheilmoitus("<div class='virhe'>Virhe tallennetun tehtavan haussa!\n Tehtäviä löytyi " . $osumat_lkm . " kpl\n (piti olla 1 kpl).</div>"); } } } else { $this->lisaa_virheilmoitus("Virhe metodissa Testaa_tehtavan_luominen(): " . "testihenkilo1 ei ole kunnollinen olio!"); } $this->lisaa_kommentti("**************************************************************"); }
/** * Palauttaa tehtävien html-koodin ilman mitään toimintapainikkeita. * * @param int $omaid * @param Tehtava $tehtava * @return <type> */ function tulosta_tehtava_ilman_painikkeita($omaid, $tehtava) { $palaute = ""; /* Muotoillaan tehtävän merkit ja kaavat: */ $tehtavateksti = muotoile_merkit($tehtava->getTehtavananto()); $tehtavateksti = Kaavaeditori::muotoile_pikkukaavat($tehtavateksti); $tehtavateksti = Kaavaeditori::muotoile_kaavat($tehtavateksti); // Lisätään otsikkoon tehtävän nro: $tehtava->setOtsikko("Tehtävä: " . $tehtava->getOtsikko()); /* Muotoillaan otsikon merkit ja kaavat: */ $otsikko = muotoile_merkit($tehtava->getOtsikko()); $otsikko = Kaavaeditori::muotoile_pikkukaavat($otsikko); $otsikko = Kaavaeditori::muotoile_kaavat($otsikko); $kuvat = $tehtava->hae_kuvat($omaid, false); $sisalto = $kuvat . $tehtavateksti; $otsikko = "<div class = 'tehtava' " . "id='tehtava" . $tehtava->getId() . "'>" . "<h2>" . $otsikko . "</h2>"; $palaute .= $otsikko; $palaute .= " " . $sisalto; // Tehtävä ja kuvat $palaute .= "<br />" . Tekstit::$tehtavalomake_vaikeustaso . ": " . Vaikeustasot::hae_vaikeustason_kuvaus($tehtava->getVaikeustaso()) . "<br />"; $palaute .= "</div>"; return $palaute; }