예제 #1
0
 /**
  * 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;
 }
예제 #2
0
 /**
  * @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;
 }
예제 #3
0
<?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();