public function testaa_kuvauksen_poisto()
 {
     $this->lisaa_testikommentti("<h4>Kuvauksen poistotesti alkaa</h4>", false);
     // Otetaan id talteen:
     $id_poistettava = $this->kuvaukset[0]->get_id();
     $this->poistettava = $this->kuvaukset[0];
     // Muutetaan kieleksi suomi (suomenkielista kuvausta ei voi poistaa):
     $this->poistettava->set_kieli(Kielet::$SUOMI);
     $this->lisaa_testikommentti("Yritetaan poistaa suomenkielinen\n            kuvaus, minka ei pitaisi onnistua!", false);
     $palaute = $this->poistettava->poista();
     if ($palaute == Kuvaus::$OPERAATIO_ONNISTUI) {
         $this->lisaa_testikommentti("Virhe! Poisto onnistui suomenkieliselle\n                kuvaukselle!", true);
     } else {
         $this->lisaa_testikommentti("Suomenkielista kuvausta ei \n                voida poistaa. (OIKEIN)", false);
     }
     $this->lisaa_testikommentti("Muutetaan saman kuvauksen kieli\n            ruotsiksi, jolloin poiston pitaisi onnistua.", false);
     // Muutetaan kieleksi ruotsi, jotta poisto onnistuisi:
     $this->poistettava->set_kieli(Kielet::$RUOTSI);
     $palaute = $this->poistettava->poista();
     if ($palaute == Kuvaus::$OPERAATIO_ONNISTUI) {
         $this->lisaa_testikommentti("Poisto onnistui!", false);
         $this->lisaa_testikommentti("Tehdaan viela tarkistus tietokannasta:", false);
         // TArkistetaan vielä tietokanta:
         $hakutulos = $this->tietokantaolio->tee_WHEREhaku_1(Tietokannan_taulunimet::$bkuvaukset, Kuvaus::$SARAKENIMI_ID, $id_poistettava);
         $lkm = $this->tietokantaolio->hae_osumarivien_lkm($hakutulos);
         if ($lkm == 0) {
             $this->lisaa_testikommentti("OK! Tietokannasta ei\n                    loytynyt poistettua kuvausa", false);
         } else {
             $this->lisaa_testikommentti("Virhe! Tietokannasta\n                    loytyi poistetun id:lla " . $lkm . " kuvausa", true);
         }
     } else {
         $this->lisaa_testikommentti("Poisto epaonnistui! " . $palaute, true);
     }
     $this->lisaa_testikommentti("<h4>Kuvauksen poistotesti loppui</h4>", false);
 }
 /**
  * Uuden lajiluokan tallennus!
  * @return Palaute
  */
 public function toteuta_tallenna_uusi()
 {
     $pal = $this->palauteolio;
     $uusi = new Lajiluokka($this->tietokantaolio, Lajiluokka::$PARAMETRI_EI_KAYTOSSA);
     // Lajiluokka:
     $ylaluokka_id = $this->parametriolio->ylaluokka_id_lj;
     $nimi_latina = $this->parametriolio->nimi_latina_lj;
     // Kuvaus:
     // Nykyään kieli on tuossa aina suomi. Voi muuttaa tarvittaessa.
     $kieli_kuv = Kielet::$SUOMI;
     $kuv_kuv = $this->parametriolio->kuv_kuv;
     $nimi_kuv = $this->parametriolio->nimi_kuv;
     // Asetetaan arvot kohdalleen:
     $uusi->set_ylaluokka_id($ylaluokka_id);
     $uusi->set_nimi_latina($nimi_latina);
     // Kokeillaan tallentaa:
     $tallennus = $uusi->tallenna_uusi();
     // Jos kaikki hyvin, tallennetaan myös kuvaus lajiluokalle:
     if ($tallennus === Lajiluokka::$OPERAATIO_ONNISTUI) {
         // tallennetaan aktiivisuus:
         paivita_aktiivisuus($this->parametriolio->omaid, $this->tietokantaolio, time(), Aktiivisuus::$LAJILUOKKA_UUDEN_TALLENNUS);
         $uusi_kuv = new Kuvaus($this->tietokantaolio, Kuvaus::$PARAMETRI_EI_KAYTOSSA);
         // Asetetaan arvot:
         $uusi_kuv->set_kieli($kieli_kuv);
         $uusi_kuv->set_kuvaus($kuv_kuv);
         $uusi_kuv->set_lajiluokka($uusi->get_id());
         $uusi_kuv->set_nimi($nimi_kuv);
         // Kokeillaan tallentaa:
         $tallennus_kuv = $uusi_kuv->tallenna_uusi();
         // Jos kaikki hyvin:
         if ($tallennus_kuv === Kuvaus::$OPERAATIO_ONNISTUI) {
             // tallennetaan aktiivisuus:
             paivita_aktiivisuus($this->parametriolio->omaid, $this->tietokantaolio, time(), Aktiivisuus::$LAJILUOKKAKUVAUS_UUDEN_TALLENNUS);
             $pal->set_operaatio_onnistui(true);
             $pal->set_ilmoitus(Bongaustekstit::$lajiluokka_ja_kuvaus_tallennus_ok);
             // Asetetaan kuitenkin palautusolioon luodun lajiluokan id:
             $pal->set_muokatun_id($uusi->get_id());
             $pal->set_sisalto($this->nayta_havainnot());
         } else {
             $pal->set_operaatio_onnistui(false);
             $pal->set_ilmoitus(Bongaustekstit::$kuvaus_virheilm_tallennus_eiok . Html::luo_br() . $uusi_kuv->tulosta_virheilmoitukset());
             $pal->set_sisalto($this->toteuta_nayta_lajiluokkalomake()->get_sisalto());
         }
     } else {
         $pal->set_operaatio_onnistui(false);
         $pal->set_ilmoitus(Bongaustekstit::$lajiluokka_virheilm_tallennus_eiok . Html::luo_br() . $uusi->tulosta_virheilmoitukset());
         $pal->set_sisalto($this->toteuta_nayta_lajiluokkalomake()->get_sisalto());
     }
     return $pal;
 }
 /**
  * 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;
 }