Esempio n. 1
0
/**
 * Palauttaa Palaute-olion, jonka sisältönä on ne oliot (kokonaisuudet/
 * tehtävät/ratkaisut/tms), johon parametri 'kohde' viittaa. Liittyy erityisesti
 * kuvatoimintoihin (ja kenties tulevaisuudessa muihin yleisluontoisiin
 * toimintoihin).
 * 
 * @param Parametrit $parametriolio
 * @return Palaute $palauteolio
 */
function toteuta_nayta_oliot($parametriolio)
{
    $kohde = $parametriolio->kohde_kuva;
    $id_kokon = $parametriolio->id_kokon;
    $tietokantaolio = $parametriolio->get_tietokantaolio();
    $kokonaisuuskontrolleri = new Kokonaisuuskontrolleri($tietokantaolio, $parametriolio);
    $tehtavakontrolleri = new Tehtavakontrolleri($tietokantaolio, $parametriolio);
    $ratkaisukontrolleri = new Ratkaisukontrolleri($tietokantaolio, $parametriolio);
    $palauteolio = new Palaute();
    $nayta_valikot = false;
    /* Palautetaan kohteen mukainen näkymä: */
    if ($kohde == Kuvat::$kohde_kokonaisuus_tiivistelma || $kohde == Kuvat::$kohde_kokonaisuus_selitys) {
        if ($kohde == Kuvat::$kohde_kokonaisuus_selitys) {
            $parametriolio->selitys_auki_id = $id_kokon;
        }
        $kokonaisuuskontrolleri->toteuta_nayta($palauteolio);
        $nayta_valikot = true;
        $palauteolio->set_naytettava_oliotyyppi(Palaute::$NAYTETTAVA_OLIOTYYPPI_KOKONAISUUS);
    } else {
        if ($kohde == Kuvat::$kohde_kokonaisuus_tiivis_manuaali || $kohde == Kuvat::$kohde_kokonaisuus_selitys_manuaali) {
            $kokonaisuuskontrolleri->toteuta_nayta_kokonaisuuslomake($palauteolio);
            $nayta_valikot = false;
            $palauteolio->set_naytettava_oliotyyppi(Palaute::$NAYTETTAVA_OLIOTYYPPI_KOKONAISUUS);
        } else {
            if ($kohde == Kuvat::$kohde_tehtava) {
                $tehtavakontrolleri->toteuta_nayta_tehtavat($palauteolio);
                $palauteolio->set_naytettava_oliotyyppi(Palaute::$NAYTETTAVA_OLIOTYYPPI_TEHTAVA);
            } else {
                if ($kohde == Kuvat::$kohde_ratkaisu) {
                    $ratkaisukontrolleri->toteuta_nayta($palauteolio);
                    $palauteolio->set_naytettava_oliotyyppi(Palaute::$NAYTETTAVA_OLIOTYYPPI_RATKAISU);
                } else {
                    $palauteolio->set_ilmoitus("Tuntematon kohde_kuva (index.php)!");
                    $palauteolio->set_naytettava_oliotyyppi(Palaute::$NAYTETTAVA_OLIOTYYPPI_MUU);
                }
            }
        }
    }
    $palauteolio->set_valikkonaytto($nayta_valikot);
    return $palauteolio;
}
Esempio n. 2
0
 // Kirjautuminen ulos:
 if ($toiminta == Painikkeet::$KIRJAUDU_ULOS_VALUE) {
     $palauteolio = toteuta_uloskirjautuminen($parametriolio);
 } else {
     if ($toiminta == "Korjaa jarjestysnro") {
         $kokonaisuuskontrolleri->toteuta_korjaa_jarjestysnro($palauteolio);
     } else {
         if ($toiminta == Painikkeet::$NAYTA_SELITYS_value) {
             $kokonaisuuskontrolleri->toteuta_nayta_selitys($palauteolio);
         } else {
             if ($toiminta == Painikkeet::$SULJE_SELITYS_value) {
                 $kokonaisuuskontrolleri->toteuta_sulje_selitys($palauteolio);
             } else {
                 if ($toiminta == Painikkeet::$UUSI_KOKON_VALUE) {
                     $parametriolio->set_uusi(true);
                     $kokonaisuuskontrolleri->toteuta_nayta_kokonaisuuslomake($palauteolio);
                 } else {
                     if ($toiminta == Painikkeet::$TALLENNA_UUSI_KOKON_VALUE) {
                         $kokonaisuuskontrolleri->toteuta_tallenna_uusi($palauteolio);
                     } else {
                         if ($toiminta == Painikkeet::$TALLENNA_KESKEN_KOKON_VALUE) {
                             $kokonaisuuskontrolleri->toteuta_tallennakesken_kokonaisuus($palauteolio);
                         } else {
                             if ($toiminta == Painikkeet::$PERU_UUDEN_KOKON_TALLENNUS_VALUE) {
                                 $kokonaisuuskontrolleri->toteuta_peru_uuden_kokonaisuuden_tallennus($palauteolio);
                             } else {
                                 if ($toiminta == Painikkeet::$POISTA_KOKON_VALUE) {
                                     $kokonaisuuskontrolleri->toteuta_nayta_poistovarmistus($palauteolio);
                                 } else {
                                     if ($toiminta == Painikkeet::$POISTOVAHVISTUS_KOKON_VALUE) {
                                         $kokonaisuuskontrolleri->toteuta_poista($palauteolio);
 function testaa_toteuta_metodeita()
 {
     /*********** Testataan "toteuta"-kokonaisuustoiminnot tarkemmin  ************/
     $this->lisaa_lihava_kommentti("Testataan kaikki 'toteuta'-toiminnot, jotka liittyvät\n                    kokonaisuuksiin:");
     $tallennetun_id = Kokonaisuusolio::$MUUTTUJAA_EI_MAARITELTY;
     if ($this->testihenkilo1 instanceof Henkilo) {
         $this->parametriolio->set_omaid($this->testihenkilo1->get_id());
     } else {
         $this->parametriolio->set_omaid(1);
         // Arvataan vain..
         $this->lisaa_kommentti("Testihenkiloa nro 1 ei loytynyt, omaid on 1," . " mikä voi onnistua tai sitten ei..");
     }
     $kokon2_id = Kokonaisuusolio::$MUUTTUJAA_EI_MAARITELTY;
     $kokon3_id = Kokonaisuusolio::$MUUTTUJAA_EI_MAARITELTY;
     $this->lisaa_lihava_kommentti("toteuta_uuden_kokon_tallennus:");
     // Järjestysluku on pantu -1:ksi, jotta korjauskin testataan. Asetetaan
     // nämä kokonaisuudet yllä luodun kokonaisuuden alle, jotta testausidea
     // toimii paremmin.
     if ($this->kokon1 instanceof Kokonaisuusolio) {
         //==========================
         $this->parametriolio->set_oppiaine_kokon(Oppiaineet::$FY);
         $this->parametriolio->set_otsikko_kokon("Kokon 1.1");
         $this->parametriolio->set_tiivis_kokon("Tämä on ihan uusi testitiivistelmä");
         $this->parametriolio->set_selitys_kokon(KokonTehtRatkTestaus::$testikokon_selitys);
         $this->parametriolio->set_taso_kokon(Koulutasot::$PERUSKOULU);
         $this->parametriolio->set_jarjestysnro_kokon(-1);
         $this->parametriolio->set_laajennetun_id_kokon(-1);
         $this->parametriolio->set_kieli_id(Kielet::$SUOMI);
         $this->parametriolio->set_ylakokonaisuuden_id_kokon($this->kokon1->get_id());
         $this->parametriolio->set_valtuudet(Valtuudet::$HALLINTA);
         //=========================
         $palauteolio = new Palaute();
         $this->kokonaisuuskontrolleri->toteuta_tallenna_uusi($palauteolio);
         if ($palauteolio->get_virhekoodi() != Palaute::$VIRHEKOODI_KAIKKI_OK) {
             $this->lisaa_virheilmoitus("Uuden kokon tallennus 1: VIRHEKOODI=" . $palauteolio->get_virhekoodi() . "! " . $palauteolio->get_ilmoitus());
         } else {
             $this->lisaa_kommentti("Virheita ei havaittu!");
         }
         $kokon2_id = $palauteolio->get_muokatun_id();
         $tallennetun_id = $kokon2_id;
     } else {
         $this->lisaa_virheilmoitus("Virhe: kokon1 ei olio!");
     }
     /*============================= 2 ======================================*/
     if ($this->kokon1 instanceof Kokonaisuusolio) {
         $this->lisaa_kommentti("<b>Luodaan toinen uusi kokonaisuus\n                    (toteuta_uuden_kokon_tallennus):</b><br />");
         $this->parametriolio->set_otsikko_kokon("Ja taas uusi testikokonaisuus");
         $this->parametriolio->set_tiivis_kokon("Tämä on jotakin hassua!");
         $this->parametriolio->set_selitys_kokon(KokonTehtRatkTestaus::$testikokon_selitys);
         $this->kokonaisuuskontrolleri->toteuta_tallenna_uusi($palauteolio);
         if ($palauteolio->get_virhekoodi() != Palaute::$VIRHEKOODI_KAIKKI_OK) {
             $this->lisaa_virheilmoitus("Kohta 2: VIRHEKOODI=" . $palauteolio->get_virhekoodi() . "! " . $palauteolio->get_ilmoitus());
         } else {
             $this->lisaa_kommentti("Virheita ei havaittu! Testikokonaisuudet:");
         }
         $kokon3_id = $palauteolio->get_muokatun_id();
         $this->lisaa_kommentti($this->nayta_testikokonaisuudet($tallennetun_id));
     } else {
         $this->lisaa_virheilmoitus("Virhe: kokon2 ei olio!");
     }
     /*=================================3===================================*/
     $this->lisaa_kommentti("<b>toteuta_korjaa_jarjestysnro:</b>");
     $this->kokonaisuuskontrolleri->toteuta_korjaa_jarjestysnro($palauteolio);
     if ($palauteolio->get_virhekoodi() != Palaute::$VIRHEKOODI_KAIKKI_OK) {
         $this->lisaa_virheilmoitus("Kohta 3: VIRHEKOODI (toteuta_korjaa_jarjestysnro)=" . $palauteolio->get_virhekoodi() . "! " . $palauteolio->get_ilmoitus());
     } else {
         $this->lisaa_kommentti("Virheita ei havaittu!");
     }
     /*=================================3===================================*/
     $this->lisaa_kommentti("<b>toteuta_nayta_selitys:</b><br />");
     $this->parametriolio->set_id_kokon($kokon2_id);
     $this->kokonaisuuskontrolleri->toteuta_nayta_selitys($palauteolio);
     if ($palauteolio->get_virhekoodi() != Palaute::$VIRHEKOODI_KAIKKI_OK) {
         $this->lisaa_virheilmoitus("VIRHEKOODI (toteuta_nayta_selitys)=" . $palauteolio->get_virhekoodi() . "! " . $palauteolio->get_ilmoitus());
     } else {
         $this->lisaa_kommentti("<div>Virheita ei havaittu!</div>");
     }
     /*=================================3===================================*/
     $this->lisaa_kommentti("<b>toteuta_sulje_selity:</b><br />");
     $this->kokonaisuuskontrolleri->toteuta_sulje_selitys($palauteolio);
     if ($palauteolio->get_virhekoodi() != Palaute::$VIRHEKOODI_KAIKKI_OK) {
         $this->lisaa_virheilmoitus("VIRHEKOODI (toteuta_sulje_selitys)=" . $palauteolio->get_virhekoodi() . "! " . $palauteolio->get_ilmoitus());
     } else {
         $this->lisaa_kommentti("Virheita ei havaittu!");
     }
     /*=================================3===================================*/
     $this->lisaa_kommentti("<b>toteuta_nayta_kokonaisuuslomake:</b><br />");
     $this->parametriolio->set_uusi(true);
     $this->kokonaisuuskontrolleri->toteuta_nayta_kokonaisuuslomake($palauteolio);
     if ($palauteolio->get_virhekoodi() != Palaute::$VIRHEKOODI_KAIKKI_OK) {
         $this->lisaa_virheilmoitus("<div class='virhe'>VIRHEKOODI=" . $palauteolio->get_virhekoodi() . "! " . $palauteolio->get_ilmoitus() . "</div>");
     } else {
         $this->lisaa_kommentti("<div>Virheita ei havaittu!</div>");
     }
     /*=================================3===================================*/
     $this->lisaa_kommentti("<b>toteuta_peru_uuden_kokonaisuuden_tallennus:</b><br />");
     $this->kokonaisuuskontrolleri->toteuta_peru_uuden_kokonaisuuden_tallennus($palauteolio);
     if ($palauteolio->get_virhekoodi() != Palaute::$VIRHEKOODI_KAIKKI_OK) {
         $this->lisaa_virheilmoitus("<div class='virhe'>VIRHEKOODI=" . $palauteolio->get_virhekoodi() . "! " . $palauteolio->get_ilmoitus() . "</div>");
     } else {
         $this->lisaa_kommentti("<div>Virheita ei havaittu!</div>");
     }
     //$this->lisaa_kommentti($palauteolio->get_sisalto());
     /*=================================3===================================*/
     $this->lisaa_kommentti("<b>toteuta_nayta_kokonaisuuden_poistovarmistus:</b><br />");
     $this->kokonaisuuskontrolleri->toteuta_nayta_poistovarmistus($palauteolio);
     if ($palauteolio->get_virhekoodi() != Palaute::$VIRHEKOODI_KAIKKI_OK) {
         $this->lisaa_virheilmoitus("<div class='virhe'>VIRHEKOODI=" . $palauteolio->get_virhekoodi() . "! " . $palauteolio->get_ilmoitus() . "</div>");
     } else {
         $this->lisaa_kommentti("<div>Virheita ei havaittu!</div>");
     }
     //$this->lisaa_kommentti($palauteolio->get_sisalto());
     /*=================================3===================================*/
     $this->lisaa_kommentti("<b>toteuta_peru_kokonaisuuden_poisto:</b><br />");
     $this->kokonaisuuskontrolleri->toteuta_peru_kokonaisuuden_poisto($palauteolio);
     if ($palauteolio->get_virhekoodi() != Palaute::$VIRHEKOODI_KAIKKI_OK) {
         $this->lisaa_virheilmoitus("<div class='virhe'>VIRHEKOODI=" . $palauteolio->get_virhekoodi() . "! " . $palauteolio->get_ilmoitus() . "</div>");
     } else {
         $this->lisaa_kommentti("<div>Virheita ei havaittu!</div>");
     }
     /*=================================3===================================*/
     // Luodaan poistettava kokonaisuus:
     $this->lisaa_kommentti("<b>Luodaan uusi kokonaisuus, joka sitten poistetaan:\n               :</b><br />");
     $this->parametriolio->set_otsikko_kokon("Poistettava testikokonaisuus");
     $this->parametriolio->set_tiivis_kokon("Puhdasta roskaa!");
     $this->kokonaisuuskontrolleri->toteuta_tallenna_uusi($palauteolio);
     if ($palauteolio->get_virhekoodi() != Palaute::$VIRHEKOODI_KAIKKI_OK) {
         $this->lisaa_virheilmoitus("<div class='virhe'>VIRHEKOODI=" . $palauteolio->get_virhekoodi() . "! " . $palauteolio->get_ilmoitus() . "</div>");
     } else {
         $this->lisaa_kommentti("<div>Virheita ei havaittu!</div>");
     }
     $kokon4_id = $palauteolio->get_muokatun_id();
     /*=================================3===================================*/
     $this->lisaa_kommentti("<b>\$this->kokonaisuuskontrolleri->toteuta_kokon_poisto:</b><br />");
     $this->parametriolio->set_id_kokon($kokon4_id);
     $this->kokonaisuuskontrolleri->toteuta_poista($palauteolio);
     if ($palauteolio->get_virhekoodi() != Palaute::$VIRHEKOODI_KAIKKI_OK) {
         $this->lisaa_virheilmoitus("<div class='virhe'>VIRHEKOODI=" . $palauteolio->get_virhekoodi() . "! " . $palauteolio->get_ilmoitus() . "</div>");
     } else {
         $this->lisaa_kommentti("<div>Virheita ei havaittu!</div>");
     }
     //==========================================================================
     $this->lisaa_kommentti("<b>toteuta_nayta_kokonaisuuslomake (uusi kokon):</b><br />");
     $this->parametriolio->set_uusi(true);
     $this->kokonaisuuskontrolleri->toteuta_nayta_kokonaisuuslomake($palauteolio);
     if ($palauteolio->get_virhekoodi() != Palaute::$VIRHEKOODI_KAIKKI_OK) {
         $this->lisaa_virheilmoitus("<div class='virhe'>VIRHEKOODI=" . $palauteolio->get_virhekoodi() . "! " . $palauteolio->get_ilmoitus() . "</div>");
         $this->lisaa_kommentti($palauteolio->get_sisalto());
     } else {
         $this->lisaa_kommentti("<div>Virheita ei havaittu!</div>");
     }
     //=========================================================================
     // HUOM tämä suorittaa myös kokonaisuuden lukitsemisen muokkausta varten:
     $this->lisaa_kommentti("<b>toteuta_nayta_kokonaisuuslomake (muokkaus):</b>");
     $this->parametriolio->set_uusi(false);
     $this->kokonaisuuskontrolleri->toteuta_nayta_kokonaisuuslomake($palauteolio);
     if ($palauteolio->get_virhekoodi() != Palaute::$VIRHEKOODI_KAIKKI_OK) {
         $this->lisaa_virheilmoitus("VIRHEKOODI=" . $palauteolio->get_virhekoodi() . "! " . $palauteolio->get_ilmoitus());
     } else {
         $this->lisaa_kommentti("<div>Virheita ei havaittu!</div>");
     }
     //=========================================================================
     $this->lisaa_kommentti("<b>toteuta_tallenna_kokonaisuuden_muokkaus:</b>");
     // Haetaan vanha selitys, jotta nähdään, muuttuuko:
     $kokon_alkup = new Kokonaisuusolio($tallennetun_id, $this->tietokantaolio);
     $tii_alkup = $kokon_alkup->getTiivis();
     $this->lisaa_kommentti("Tiivis alkup: " . $tii_alkup . ". Tarkoitus" . " on muuttaa muotoon 'Muutettu on tätä hieman!'");
     // Muutetaan vähän:
     $this->parametriolio->id_kokon = $tallennetun_id;
     $this->parametriolio->set_tiivis_kokon("Muutettu on tätä hieman!");
     $this->kokonaisuuskontrolleri->toteuta_tallenna_muokkaus($palauteolio);
     if ($palauteolio->get_virhekoodi() != Palaute::$VIRHEKOODI_KAIKKI_OK) {
         $this->lisaa_virheilmoitus("VIRHEKOODI (toteuta_tallenna_kokonaisuuden_muokkaus) =" . $palauteolio->get_virhekoodi() . "! " . $palauteolio->get_ilmoitus());
         $this->lisaa_kommentti($this->nayta_testikokonaisuudet($tallennetun_id));
     } else {
         $this->lisaa_kommentti("Virheita ei havaittu!");
     }
     $kokon_muok = new Kokonaisuusolio($tallennetun_id, $this->tietokantaolio);
     $tii_muok = $kokon_muok->getTiivis();
     $this->lisaa_kommentti("Muokkauksen jälkeen tiivistelmä on seuraava: " . $tii_muok);
     //
     //=========================================================================§
     // Lukitaan kokonaisuus käsin muokkausta varten. Tämä tehdään oikeasti
     //lomakkeen näytön yhteydessä, mikä testattiin edellisessä kohdassa.
     $id_kokon = $this->parametriolio->get_id_kokon();
     $muokattava = new Kokonaisuusolio($id_kokon, $this->tietokantaolio);
     $lukon_tila = Kokonaisuusolio::$LUKITUS_ON;
     $lukitus = $muokattava->aseta_kokonaisuuden_lukitus($this->parametriolio->get_omaid(), $lukon_tila);
     //=========================================================================§
     $this->lisaa_kommentti("<b>toteuta_peru_kokon_muokkausten_tallennus:</b><br />");
     $this->kokonaisuuskontrolleri->toteuta_peru_kokon_muokkausten_tallennus($palauteolio);
     if ($palauteolio->get_virhekoodi() != Palaute::$VIRHEKOODI_KAIKKI_OK) {
         $this->lisaa_virheilmoitus("VIRHEKOODI (toteuta_peru_kokon_muokkausten_tallennus) =" . $palauteolio->get_virhekoodi() . "! " . $palauteolio->get_ilmoitus());
         $this->lisaa_kommentti($this->nayta_testikokonaisuudet($tallennetun_id));
     } else {
         $this->lisaa_kommentti("<div>Virheita ei havaittu!</div>");
     }
     //$this->lisaa_kommentti( $palauteolio->get_sisalto());
     //=========================================================================§
     $this->lisaa_kommentti("<b>toteuta_vaihda_kokonaisuuksien_jarjestys:</b><br />");
     $this->parametriolio->set_ed_id_kokon($kokon2_id);
     $this->parametriolio->set_id_kokon($kokon3_id);
     $this->kokonaisuuskontrolleri->toteuta_vaihda_kokonaisuuksien_jarjestys($palauteolio);
     if ($palauteolio->get_virhekoodi() != Palaute::$VIRHEKOODI_KAIKKI_OK) {
         $this->lisaa_virheilmoitus("<div class='virhe'>VIRHEKOODI=" . $palauteolio->get_virhekoodi() . "! " . $palauteolio->get_ilmoitus() . "</div>");
     } else {
         $this->lisaa_kommentti("<div>Virheita ei havaittu!</div>");
     }
     //=========================================================================§
     $this->lisaa_kommentti("<b>toteuta_nayta_kuvalomake_kokon_tiivistelma</b><br />");
     $this->kokonaisuuskontrolleri->toteuta_nayta_kuvalomake_kokon($palauteolio);
     if ($palauteolio->get_virhekoodi() != Palaute::$VIRHEKOODI_KAIKKI_OK) {
         $this->lisaa_virheilmoitus("<div class='virhe'>VIRHEKOODI=" . $palauteolio->get_virhekoodi() . "! " . $palauteolio->get_ilmoitus() . "</div>");
     } else {
         $this->lisaa_kommentti("<div>Virheita ei havaittu!</div>");
     }
     //$this->lisaa_kommentti( $palauteolio->get_sisalto());
     //=========================================================================§
     $this->lisaa_kommentti("<b>toteuta_nayta_kuvalomake_kokon_selitys:</b><br />");
     $this->kokonaisuuskontrolleri->toteuta_nayta_kuvalomake_kokon($palauteolio);
     if ($palauteolio->get_virhekoodi() != Palaute::$VIRHEKOODI_KAIKKI_OK) {
         $this->lisaa_virheilmoitus("<div class='virhe'>VIRHEKOODI=" . $palauteolio->get_virhekoodi() . "! " . $palauteolio->get_ilmoitus() . "</div>");
     } else {
         $this->lisaa_kommentti("<div>Virheita ei havaittu!</div>");
     }
     //$this->lisaa_kommentti( $palauteolio->get_sisalto());
     //=========================================================================§
     $this->lisaa_kommentti("<b>toteuta_nayta_kokonaisuudet:</b><br />");
     $this->kokonaisuuskontrolleri->toteuta_nayta($palauteolio);
     if ($palauteolio->get_virhekoodi() != Palaute::$VIRHEKOODI_KAIKKI_OK) {
         $this->lisaa_virheilmoitus("<div class='virhe'>VIRHEKOODI=" . $palauteolio->get_virhekoodi() . "! " . $palauteolio->get_ilmoitus() . "</div>");
     } else {
         $this->lisaa_kommentti("<div>Virheita ei havaittu!</div>");
     }
     //$this->lisaa_kommentti( $palauteolio->get_sisalto());
     //=========================================================================§
     $this->testaa_uloskirjaus();
     $this->lisaa_kommentti("<b>****************************TOTEUTA-METODIT LOPPU*********</b>");
 }