/** * Toteuttaa uuden havainnon tallentamisen. * * @param Parametrit $parametriolio * @return Palaute $palauteolio */ function toteuta_havainnon_kopiointi($parametriolio) { $tietokantaolio = $parametriolio->tietokantaolio; // Haetaan vanhan havainnon tiedot: $id_hav = $parametriolio->id_hav; $taulunimi = "bhavainnot"; $sarakenimi = "id"; $hakuarvo = $id_hav; $havainto_tkanta = $tietokantaolio->hae_eka_osuma_oliona($taulunimi, $sarakenimi, $hakuarvo); // Jos entinen havainto löytyy: if ($havainto_tkanta != Tietokantaolio::$HAKU_PALAUTTI_TYHJAN) { $parametriolio->lajiluokka_id_hav = $havainto_tkanta->lajiluokka_id; $parametriolio->paiva_hav = $havainto_tkanta->paiva; $parametriolio->kk_hav = $havainto_tkanta->kk; $parametriolio->vuosi_hav = $havainto_tkanta->vuosi; $parametriolio->paikka_hav = $havainto_tkanta->paikka; $parametriolio->kommentti_hav = $havainto_tkanta->kommentti; $parametriolio->maa_hav = $havainto_tkanta->maa; $parametriolio->set_on_kopio(true); $palauteolio = toteuta_uuden_havainnon_tallennus($parametriolio); } else { $palauteolio = new Palaute(); $palauteolio->set_ilmoitus(Bongaustekstit::$havaintoa_ei_loytynyt_virheilm); $palauteolio->set_sisalto(toteuta_nayta_havainnot($parametriolio)); } $palauteolio->set_oikean_palkin_naytto(true); return $palauteolio; }