/** * Hakee testikokonaisuudet tietokannasta ja palauttaa niiden muotoillun * html:n. Ylimmän tason testin id on $testiylakokon_id ja se otetaan mukaan * näytettäviin kokonaisuuksiin. * @param <type> $testiylakokon_id * @param Parametrit $parametriolio * @param $parametriolio * @param Parametrit $parametriolio * @return string palauttaa kokonaisuus-html:n. */ function nayta_testikokonaisuudet($testiylakokon_id) { $parametriolio = $this->parametriolio; $tietokantaolio = $this->tietokantaolio; // Haetaan ylin kokonaisuus (joka ei tule automaattisesti: $hakulause = "SELECT * FROM kokonaisuudet\n WHERE (id=" . $testiylakokon_id . ")"; $osumat = $tietokantaolio->tee_OMAhaku_oliotaulukkopalautteella($hakulause); $omaid = $parametriolio->get_omaid(); $kokonaisuustaulukko = array(); $ekakokonaisuus = ""; if (!empty($osumat)) { // Haetaan tiedot tietokannasta ja luodaan Kokonaisuusluokan olio $kokon = new Kokonaisuusolio($osumat[0]->id, $tietokantaolio); $otsikkomerkinta = "Testi"; $otsikkotaso = 1; $ed_id = -1; $seur_id = -1; if (!$kokon->olio_loytyi_tietokannasta) { $this->lisaa_virheilmoitus("Metodi nayta_testikokonaisuudet: " . " Kokonaisuuden haku tietokannasta " . " ja Kokonaisuusolion luominen ei onnistunut"); } else { // Asetetaan tarvittavat tiedot: $kokon->setOtsikkomerkinta($otsikkomerkinta); $kokon->setOtsikkotaso($otsikkotaso); $kokon->setEdellisenId_taso($ed_id); $kokon->setSeuraavanId_taso($seur_id); $this->lisaa_kommentti("Kokonaisuuden haku tietokannasta " . " ja Kokonaisuusolion luominen OK."); // Lisätään juurikokonaisuus eli ylin taulukon alkuun: array_push($kokonaisuustaulukko, $ekakokonaisuus); } } $sisalto = ""; $otsikkomerkinta_alussa = "1"; $otsikkotaso_alussa = 1; // Seuraava on aina taulukko (array), joka voi olla tyhjä: $this->kokonaisuuskontrolleri->hae_kokonaisuusoliopuu($kokonaisuustaulukko, $otsikkomerkinta_alussa, $otsikkotaso_alussa, $parametriolio->kieli_id, $parametriolio->oppiaine_kokon, $parametriolio->taso_kokon, $parametriolio->ylakokonaisuuden_id_kokon, $parametriolio->get_tietokantaolio(), $omaid); if (empty($kokonaisuustaulukko)) { $sisalto .= "Testikokonaisuuksia ei loytynyt!<br/>"; } foreach ($kokonaisuustaulukko as $kok) { $selitys_auki_id = $parametriolio->get_selitys_auki_id(); if ($kok instanceof Kokonaisuusolio) { /* Tarkistetaan mahdollinen näytettävä selitys: */ if (is_numeric($selitys_auki_id) && $selitys_auki_id != Kokonaisuusolio::$SELITYS_KIINNI_ID) { if ($selitys_auki_id == $kok->get_id()) { $selitys_auki = true; } else { $selitys_auki = false; } } else { $selitys_auki = false; } $sisalto .= $this->kokonaisuusnakymat->tulosta_kokonaisuus($kok, $parametriolio, $parametriolio->selitys_auki_id); } else { $sisalto .= "Virhe oliotyypissa (metodi: nayta_testikokonaisuudet)! <br/>"; } } return $sisalto; }
/** * @param string $id_raaka Id value of the element (like teht_43) * @param Parametrit $parametriolio * @param Tehtavanakymat $tehtavanakymat * @param Kokonaisuusnakymat $kokonnakymat */ function show_element_preview($id_raaka, $parametriolio, $tehtavanakymat, $kokonnakymat) { $tietokantaolio = $parametriolio->get_tietokantaolio(); $omaid = $parametriolio->get_omaid(); // Let's find out the type of element: $type = Elementti::irrota_elem_olion_tyyppi($id_raaka); // Let's find out the id of the original object: $id = Elementti::irrota_elem_olion_id($id_raaka); if ($type === Oliotyyppi::$TEHTAVA) { // Luodaan uusi Tehtäväolio tietojen perusteella: $teht = new Tehtava($id, $tietokantaolio); $html = $tehtavanakymat->tulosta_esikatselu($omaid, $teht); } else { if ($type === Oliotyyppi::$KOKONAISUUS) { $kokon = new Kokonaisuusolio($id, $tietokantaolio); $html = $kokonnakymat->tulosta_esikatselu($kokon, $parametriolio); } else { $html = "Unknown type=" . $type . " and id=" . $id; } } //echo $output = str_replace(array("\r\n", "\r", "\n"), "", $html); return $html; }
<?php session_start(); // Aloitetaan istunto. require_once 'asetukset/tietokantayhteys.php'; require_once 'yhteiset/php_yhteismetodit.php'; load_files("articles"); // Yhdistetään tietokantaan: $tietokantaolio = new Tietokantaolio($dbtyyppi, $dbhost, $dbuser, $dbsalis); $tietokantaolio->yhdista_tietokantaan($dbnimi); // Tee parametriolio ja palauteolio! $parametriolio = new Parametrit($tietokantaolio); $palauteolio = new Palaute(); // Kontrollerit ja näkymät: $kokonaisuuskontrolleri = new Kokonaisuuskontrolleri($tietokantaolio, $parametriolio); $kokonaisuusnakymat = new Kokonaisuusnakymat(); $tehtavakontrolleri = new Tehtavakontrolleri($tietokantaolio, $parametriolio); $ratkaisukontrolleri = new Ratkaisukontrolleri($tietokantaolio, $parametriolio); $koostekontrolleri = new Koostekontrolleri($tietokantaolio, $parametriolio); // Tekstien käännös. Kielet::kaanna($parametriolio->get_kieli_id()); $ilmoitus = ""; // Tämä on yleinen ilmoitus käyttäjälle. $sisalto = ""; // Sivun pääsisalto; /**************************************************************************/ /*********************** TOIMINTA-TOIMINNOT *******************************/ $toiminta = $parametriolio->get_toiminta(); $erikoistoiminta = $parametriolio->get_erikoistoiminta(); $henkilotietotoiminto = $parametriolio->get_henkilotietotoiminto(); $kuvatoiminta = $parametriolio->get_kuvatoiminta();