예제 #1
0
 /**
  * Luo uuden kuvan annetuilla arvoilla, tallentaa sen tietokantaan ja
  * kuvatiedoston omaan kansioonsa
  * ja palauttaa tallennetun id:n tai arvon
  * Kuva::$MUUTTUJAA_EI_MAARITELTY, jos jokin menee vikaan.
  *
  * @param type $ylaluokka_id
  * @param type $nimi_latina
  * @return type 
  */
 public function luo_ja_tallenna_testikuva()
 {
     $tallennetun_id = Kuva::$MUUTTUJAA_EI_MAARITELTY;
     $id = Kuva::$MUUTTUJAA_EI_MAARITELTY;
     $lajiluokka = new Kuva($this->tietokantaolio, $id);
     $this->lisaa_testikommentti("Uusi tyhja lajiluokka luotu!", false);
     // Ei pitäisi olla tallennuskelpoinen:
     if ($lajiluokka->on_tallennuskelpoinen(true)) {
         $this->lisaa_virheilmoitus("Ei pitaisi olla tallennuskelpoinen!");
     } else {
         /*$this->lisaa_testikommentti("Muuttujia ei ole asetettu, joten".
           " saatiin aivan oikein seuraava palaute: ".
           $lajiluokka->tulosta_virheilmoitukset(),false);*/
     }
     /*$this->lisaa_testikommentti("Asetetaan lajiluokan ylaluokka_id,
       ja nimi_latina. Testataan
       uudelleen, onko nyt tallennuskelpoinen:",false);*/
     $lajiluokka->set_ylaluokka_id($ylaluokka_id);
     $lajiluokka->set_nimi_latina($nimi_latina);
     // Tässä vaiheessa ongelmaksi voi tulla myös se, että nimi_latina on
     // jo olemassa. Siitä annetaan erillinen ilmoitus.
     if ($lajiluokka->on_tallennuskelpoinen(true)) {
         $this->lisaa_testikommentti("Lajiluokka on tallennuskelpoinen", false);
         $onnistuminen = $lajiluokka->tallenna_uusi();
         if ($onnistuminen === Lajiluokka::$OPERAATIO_ONNISTUI) {
             $tallennetun_id = mysql_insert_id();
             $this->lisaa_testikommentti("Lajiluokan tallennus onnistui!", false);
         } else {
             $this->lisaa_testikommentti($onnistuminen . " Virhe tallennuksessa (luo_\n                    ja_tallenna_lajiluokka())!" . " Arvot: ylaluokka_id=" . $lajiluokka->get_ylaluokka_id() . ", nimi_latina=" . $lajiluokka->get_nimi_latina(), true);
         }
     } else {
         // Tämä ei aina ole vastoin toivomuksia!
         $this->lisaa_testikommentti($lajiluokka->tulosta_virheilmoitukset(), false);
     }
     return $tallennetun_id;
 }