Ejemplo n.º 1
0
 public function testaa_kuvauksen_muokkaus()
 {
     $this->lisaa_testikommentti("<h4>Kuvauksen muokkaustesti alkaa</h4>", false);
     $this->lisaa_testikommentti("Muokataan ekaa valmista kuvausta (Linnut)", false);
     $this->muokattava = $this->kuvaukset[0];
     //======================================================================
     // Testataan ennen muutoksia onTallennuskelpoinen-metodi, jonka
     // pitäisi valittaa:
     $this->lisaa_testikommentti("Testataan ennen muutoksia\n            onTallennuskelpoinen-metodi, jonka pitaisi valittaa:", false);
     $uusi = false;
     if ($this->muokattava->on_tallennuskelpoinen($uusi)) {
         $this->lisaa_testikommentti("Virhe: muuttumattomia tietoja ei\n                ole tarkoitus antaa tallentaa!", true);
     } else {
         $this->lisaa_testikommentti("Oikein: muuttumattomia tietoja ei\n                tallenneta!", false);
     }
     //======================================================================
     // ASetetaan kuvaukselle tahallaan vääriä arvoja:
     $this->muokattava->set_kieli(Kuvaus::$MUUTTUJAA_EI_MAARITELTY);
     $this->muokattava->set_kuvaus(Kuvaus::$MUUTTUJAA_EI_MAARITELTY);
     //$this->muokattava->set_lajiluokka("jkljö"); Tätä ei voi muuttaa!
     $this->muokattava->set_nimi(Kuvaus::$MUUTTUJAA_EI_MAARITELTY);
     $this->lisaa_testikommentti("Testataan tahallaan vaarien muutosten jalkeen\n            onTallennuskelpoinen-metodi, jonka pitaisi valittaa:", false);
     // tyhjennetään vielä aiemmat virheilmoitukset:
     $this->muokattava->tyhjenna_virheilmoitukset();
     // Virheilmoituksia pitäisi tulla, yksi kustakin arvosta yllä:
     if ($this->muokattava->on_tallennuskelpoinen(false)) {
         $this->lisaa_testikommentti("Virhe: virheita livahti ohi\n                        tarkastuksen!", true);
     } else {
         if ($this->muokattava->virheilmoitusten_lkm() == 6) {
             $this->lisaa_testikommentti("Oikein:  Tiedoissa virheita:<br/>" . $this->muokattava->tulosta_virheilmoitukset(), false);
         } else {
             $this->lisaa_testikommentti("Virhe: virheita (" . (3 - $this->muokattava->virheilmoitusten_lkm()) . " kpl) livahti ohi\n                        tarkastuksen! Seuraavat huomattu:<br/>" . $this->muokattava->tulosta_virheilmoitukset(), true);
         }
     }
     //======================================================================
     // ASetetaan kuvaukselle hyviä arvoja:
     $muokattu_kuvaus = "Hurraa Sverige!";
     $muokattu_nimi = "Fåglar";
     $this->muokattava->set_kieli(Kielet::$RUOTSI);
     $this->muokattava->set_kuvaus($muokattu_kuvaus);
     $this->muokattava->set_nimi($muokattu_nimi);
     $this->lisaa_testikommentti("Testataan hyvien muutosten jalkeen\n            onTallennuskelpoinen-metodi, jonka ei pitaisi valittaa:", false);
     // tyhjennetään vielä aiemmat virheilmoitukset:
     $this->muokattava->tyhjenna_virheilmoitukset();
     // Virheilmoituksia ei pitäisi tulla:
     if ($this->muokattava->on_tallennuskelpoinen(false)) {
         $this->lisaa_testikommentti("Oikein! ARvot puhtaita!", false);
     } else {
         $this->lisaa_testikommentti("Virhe:  Tiedoissa olevinaan virheita:<br/>" . $this->muokattava->tulosta_virheilmoitukset(), false);
     }
     //======================================================================
     // tyhjennetään vielä aiemmat virheilmoitukset:
     //$this->muokattava->tyhjenna_virheilmoitukset();
     // Kokeillaan sitten tallentaa muuttuneet tiedot:
     $this->lisaa_testikommentti("Kokeillaan tallentaa muutokset:", false);
     $tallennuspalaute = $this->muokattava->tallenna_muutokset();
     if ($tallennuspalaute == Kuvaus::$OPERAATIO_ONNISTUI) {
         $this->lisaa_testikommentti("Muutosten tallennus onnistui!", false);
         // Kokeillaan hakea sama tietokannasta ja varmistetaan, että
         // muutettu kommentti on todella muuttunut:
         $testi = new Kuvaus($this->tietokantaolio, $this->muokattava->get_id());
         if ($testi->get_kuvaus() == $muokattu_kuvaus && $testi->get_kieli() == Kielet::$RUOTSI && $testi->get_nimi() == $muokattu_nimi) {
             $this->lisaa_testikommentti("Muutokset oikein tietokannassa!\n                     Kuvaus on nykyaan: '" . $testi->get_kuvaus() . "', " . "nimi '" . $testi->get_nimi() . "', " . "ja kieli '" . Kielet::hae_kielen_nimi($testi->get_kieli()) . "'", false);
         } else {
             $this->lisaa_testikommentti("Muutokset vaarin tietokannassa!\n                     Kuvaus on nykyaan: '" . $testi->get_kuvaus() . "', " . "nimi '" . $testi->get_nimi() . "', " . "ja kieli '" . Kielet::hae_kielen_nimi($testi->get_kieli()) . "'", true);
         }
         // Muutetaan kuvaus alkuperäiseksi, jottei siivous häiriinny:
         $this->lisaa_testikommentti("Muutetaan kuvaus alkuperaiseksi,\n                 jotta siivous pysyy kasassa", false);
         // Huom! Alla käytetään testi-oliota, koska $this->muokattava ei
         // ole aivan ajan tasalla.
         $testi->set_kuvaus(Kuvaustestaus::$kuvaus_kuvaus);
         $tallennus2 = $testi->tallenna_muutokset();
         if ($tallennus2 != Kuvaus::$OPERAATIO_ONNISTUI) {
             $this->lisaa_testikommentti("Virhe alkup. kuvaus-kuvauksen palauttamisessa: " . $tallennus2, true);
         }
     } else {
         $this->lisaa_testikommentti($tallennuspalaute, true);
     }
     //====================== Yritetään muuttaa varpus-kuvausta
     // ruotsinkieliseksi, minkä ei pitäisi onnistua, koska sellainen on jo:
     $this->lisaa_testikommentti("Yritetaan muuttaa varpus-kuvausta\n            ruotsinkieliseksi, minka ei pitaisi onnistua, koska sellainen on jo", false);
     $varpunen = $this->kuvaus2;
     $varpunen->set_kieli(Kielet::$RUOTSI);
     $palaute = $varpunen->tallenna_muutokset();
     if ($palaute == Kuvaus::$OPERAATIO_ONNISTUI) {
         $this->lisaa_testikommentti("Virhe!! Tupla sparv tallennettu!", true);
     } else {
         $this->lisaa_testikommentti("Tuplaa ei sallittu (OIKEIN): " . $palaute, false);
     }
     //======================================================================
     $this->lisaa_testikommentti("<h4>Kuvauksen muokkaustesti loppui</h4>", false);
 }
Ejemplo n.º 2
0
 public function toteuta_nayta_nimikuvauslomake()
 {
     /** @var Parametrit */
     $param = $this->parametriolio;
     $olio_id = -1;
     // Haetaan ensin muokattavan tiedot, jos kyseessä vanha:
     if (!$param->uusi_olio) {
         if ($param->kieli_id == Kielet::$LATINA) {
             $kuvaus = "";
             // Tällä ei merkitystä
             $olio = new Lajiluokka($this->tietokantaolio, $this->parametriolio->id_lj);
             if ($olio instanceof Lajiluokka) {
                 $nimi = $olio->get_nimi_latina();
                 $olio_id = $this->parametriolio->id_lj;
             } else {
                 $nimi = "??";
             }
         } else {
             $olio = new Kuvaus($this->tietokantaolio, $this->parametriolio->id_kuv);
             if ($olio instanceof Kuvaus) {
                 $nimi = $olio->get_nimi();
                 $kuvaus = $olio->get_kuvaus();
                 $olio_id = $this->parametriolio->id_kuv;
             } else {
                 $nimi = "??";
                 $kuvaus = "????";
             }
         }
     } else {
         $nimi = "";
         $kuvaus = "";
     }
     $html = Nakymat_lj::nayta_nimi_kuvaus_lomake($nimi, $kuvaus, $param->kieli_id, $olio_id, $param->taulukkosolun_id, $param->id_lj);
     $this->palauteolio->set_sisalto($html);
     return $this->palauteolio;
 }
Ejemplo n.º 3
0
 /**
  * Luo uuden kuvauksen annetuilla arvoilla, tallentaa sen tietokantaan
  * ja palauttaa tallennetun id:n tai arvon
  * Kuvaus::$MUUTTUJAA_EI_MAARITELTY, jos jokin menee vikaan.
  * @param int $lajiluokka_id Viittaus yläluokkaan
  * @param string $nimi Lajin nimi $kieli-muuttujan määrittämällä kielellä.
  * @param string $kuvaus Lajin kuvaus $kieli-muuttujan määrittämällä kielellä.
  * @param int $kieli kielen indeksi
  * @return int Palauttaa kokonaisluvun
  */
 public function luo_ja_tallenna_kuvaus($lajiluokka_id, $nimi, $kuvaus, $kieli)
 {
     $tallennetun_id = Kuvaus::$MUUTTUJAA_EI_MAARITELTY;
     $id = Kuvaus::$PARAMETRI_EI_KAYTOSSA;
     $kuvausolio = new Kuvaus($this->tietokantaolio, $id);
     $this->lisaa_testikommentti("Uusi tyhja kuvausolio luotu!", false);
     // Ei pitäisi olla tallennuskelpoinen:
     if ($kuvausolio->on_tallennuskelpoinen(true)) {
         $this->lisaa_virheilmoitus("Ei pitaisi olla tallennuskelpoinen!");
     }
     /*else{
           $this->lisaa_testikommentti("Muuttujia ei ole asetettu, joten".
                   " saatiin aivan oikein seuraava palaute: ".
                   $kuvausolio->tulosta_virheilmoitukset(),false);
       }
       
       $this->lisaa_testikommentti("Asetetaan lajiluokka_id, nimi, kuvaus ja
               kieli. Testataan uudelleen, onko nyt tallennuskelpoinen:",false);*/
     $kuvausolio->set_lajiluokka($lajiluokka_id);
     $kuvausolio->set_nimi($nimi);
     $kuvausolio->set_kuvaus($kuvaus);
     $kuvausolio->set_kieli($kieli);
     $this->lisaa_testikommentti("Muuttujien arvot asetettu!", false);
     if ($kuvausolio->on_tallennuskelpoinen(true)) {
         $this->lisaa_testikommentti("Kuvausolio on tallennuskelpoinen!", false);
         $onnistuminen = $kuvausolio->tallenna_uusi();
         if ($onnistuminen === Kuvaus::$OPERAATIO_ONNISTUI) {
             $tallennetun_id = mysql_insert_id();
         } else {
             $this->lisaa_testikommentti($onnistuminen . " Virhe tallennuksessa (luo_\n                    ja_tallenna_kuvaus())!" . " Arvot: lajiluokka_id=" . $kuvausolio->get_lajiluokka_id() . ", nimi=" . $kuvausolio->get_nimi() . ", kuvaus=" . $kuvausolio->get_kuvaus() . ", kieli=" . $kuvausolio->get_kieli(), true);
         }
     } else {
         // Joskus testissä tämä on toivottava toiminto, joten ei aina virhe!
         $this->lisaa_testikommentti($kuvausolio->tulosta_virheilmoitukset(), false);
     }
     return $tallennetun_id;
 }