/** * Palauttaa uuden yksittäisen havainnon tietojen syöttöön tarkoitetun * lomakkeen. * * <p>Riippuvuudet: yhteiset/php_yhteiset.php</p> * * @return string */ function nayta_uusi_havaintolomake() { $ylaluokka_id_lj = $this->parametriolio->ylaluokka_id_lj; $kieli_kuv = $this->parametriolio->kieli_kuv; $tietokantaolio = $this->parametriolio->get_tietokantaolio(); // $tallennuskommentti kertoo mikä laji tallennettiin viimeksi. $tallennuskommentti = $this->parametriolio->get_tallennuspalaute(); // Mahdolliset arvot voivat olla epätyhjiä puutteellisen yrityksen // jälkeen (ei tartte uudestaan naputella): $id_hav = $this->parametriolio->id_hav; $lajiluokka_id_hav = $this->parametriolio->lajiluokka_id_hav; $paiva_hav = $this->parametriolio->paiva_hav; $kk_hav = $this->parametriolio->kk_hav; $vuosi_hav = $this->parametriolio->vuosi_hav; $paikka_hav = $this->parametriolio->paikka_hav; $kommentti_hav = $this->parametriolio->kommentti_hav; $maa_hav = $this->parametriolio->maa_hav; $varmuus_hav = $this->parametriolio->varmuus_hav; //============================================================= $poistunappi = Html::luo_input(array(Maarite::type("submit"), Maarite::classs("rinnakkain"), Maarite::name(Bongaustoimintonimet::$havaintotoiminto), Maarite::value(Bongauspainikkeet::$PERUMINEN_HAVAINTO_VALUE))); $uusi_laji_nappi = Html::luo_input(array(Maarite::type("submit"), Maarite::classs("rinnakkain"), Maarite::name(Bongaustoimintonimet::$lajiluokkatoiminto), Maarite::value(Bongauspainikkeet::$UUSI_LAJILUOKKA_VALUE))); $havaintolomakeohje = Bongaustekstit::$havaintolomake_uusi_ohje; $submitnappi = Html::luo_input(array(Maarite::type("submit"), Maarite::classs("rinnakkain"), Maarite::name(Bongaustoimintonimet::$havaintotoiminto), Maarite::value(Bongauspainikkeet::$TALLENNA_UUSI_HAVAINTO_VALUE))); // Lajivalikko (kun vain yksi valittu) $otsikko = ""; $lajivalikko = Lajiluokka::nayta_lajivalikko($lajiluokka_id_hav, $tietokantaolio, $ylaluokka_id_lj, $kieli_kuv, $otsikko); /*************************************************************************/ $maavalikkohtml = ""; try { $arvot = Maat::hae_maa_arvot(); $nimet = Maat::hae_maakuvaukset(); $name_arvo = Maat::$tietokannan_sarakenimi; $oletusvalinta_arvo = $maa_hav; $otsikko = Maat::$valikko_otsikko; $onchange_metodinimi = "kirjoita_maa"; $onchange_metodiparametrit_array = array(); $maavalikkohtml .= Html::luo_pudotusvalikko_onChange($arvot, $nimet, $name_arvo, $oletusvalinta_arvo, $otsikko, $onchange_metodinimi, $onchange_metodiparametrit_array); } catch (Exception $poikkeus) { $maavalikkohtml = "Virhe maavalikossa! (" . $poikkeus->getMessage() . ")"; } /*************************************************************************/ $naytettava_valinta = $varmuus_hav; $varmuusvalikko = Varmuus::muodosta_valikkohtml(false, $naytettava_valinta); // kommentin muotoilu: if (!empty($tallennuskommentti)) { $tallennuskommentti = $tallennuskommentti . Html::luo_br(); } // Tallennetun näyttö tallennuksen jälkeen. Nyt pitää arvata eli // katsoa tietokannasta suurin id ja sillä perusteella asettaa // arvoksi sitä yksi isompi. $id_hav_uusi = hae_suurin_id($this->tietokantaolio, Tietokannan_taulunimet::$bhavainnot) + 1; $url_jatke_nyk = "#havainto" . $id_hav_uusi; $url_id = "?id_hav=" . $id_hav_uusi . $url_jatke_nyk; // Näin löytyy päivitettävä havainto! $maar_array = array(); // Rivi1: ohjeita $rivi1 = Html::luo_tablerivi(Html::luo_tablesolu(Html::luo_b(Html::luo_span($tallennuskommentti, array(Maarite::id(Bongausasetuksia::$havaintolomake_tallennustiedote_id))) . $havaintolomakeohje, $maar_array), array(Maarite::colspan(2))), $maar_array); // taulukkorivi // Toinen rivi: pvm-painikkeet $rivi2 = Html::luo_tablerivi(Html::luo_tablesolu(Html::luo_button(Bongauspainikkeet::$ed_vko, array(Maarite::id("b1"), Maarite::onclick("nayta_ed_vko", ""))) . Html::luo_button(Bongauspainikkeet::$ed_paiva, array(Maarite::id("b2"), Maarite::onclick("nayta_ed", ""))) . Html::luo_button(Bongauspainikkeet::$seur_paiva, array(Maarite::id("b3"), Maarite::onclick("nayta_seur()", ""))) . Html::luo_button(Bongauspainikkeet::$seur_vko, array(Maarite::id("b4"), Maarite::onclick("nayta_seur_vko()", ""))), array(Maarite::colspan(2), Maarite::align("left"))), $maar_array); // taulukkorivi // Rivi3: pvm-kentät $rivi3 = Html::luo_tablerivi(Html::luo_tablesolu(Html::luo_label_for("paiva", "*" . Bongaustekstit::$paiva . ":", ""), array(Maarite::align("left"))) . Html::luo_tablesolu(Html::luo_input(array(Maarite::type("text"), Maarite::id("paiva"), Maarite::name("paiva_hav"), Maarite::value($paiva_hav), Maarite::size("4"), Maarite::max_length("2"), Maarite::onchange("nayta_pvm", ""), Maarite::onkeyup("nayta_pvm", ""))) . Html::luo_label_for("kk", "*" . Bongaustekstit::$kk . ":", "") . Html::luo_input(array(Maarite::type("text"), Maarite::id("kk"), Maarite::name("kk_hav"), Maarite::value($kk_hav), Maarite::size("4"), Maarite::max_length("2"), Maarite::onchange("nayta_pvm", ""), Maarite::onkeyup("nayta_pvm", ""))) . Html::luo_label_for("vuosi", "*" . Bongaustekstit::$vuosi . ":", "") . Html::luo_input(array(Maarite::type("text"), Maarite::id("vuosi"), Maarite::name("vuosi_hav"), Maarite::value($vuosi_hav), Maarite::size("4"), Maarite::max_length("4"), Maarite::onchange("nayta_pvm", ""), Maarite::onkeyup("nayta_pvm", ""))) . Html::luo_span("", array(Maarite::id("pvm_naytto"))), array(Maarite::align("left"))), $maar_array); // taulukkorivi // painike, josta saadaan näkyviin monta lajia kerralla: $rivi4 = Html::luo_tablerivi(Html::luo_tablesolu("", array(Maarite::align("left"))) . Html::luo_tablesolu(Html::luo_input(array(Maarite::type("submit"), Maarite::value(Bongauspainikkeet::$NAYTA_MONEN_HAVAINNON_VALINTA_VALUE), Maarite::title(Bongauspainikkeet::$NAYTA_MONEN_HAVAINNON_VALINTA_TITLE), Maarite::name(Bongaustoimintonimet::$havaintotoiminto))), array(Maarite::align("left"))), $maar_array); // rivi5: Lajivalinta $rivi5 = Html::luo_tablerivi(Html::luo_tablesolu(Html::luo_label_for("lisaa_myohemmin", "*" . Bongaustekstit::$laji . ": ", ""), array(Maarite::align("left"))) . Html::luo_tablesolu(Html::luo_span($lajivalikko, array(Maarite::id(Bongausasetuksia::$havaintolomake_lajivalikko_id))) . Html::luo_span($uusi_laji_nappi, array(Maarite::id(Bongausasetuksia::$havaintolomake_lajivalikkopainike_id))) . Html::luo_span("(" . Bongaustekstit::$havaintolomake_laji_puuttuu_ohje . ")", array(Maarite::id(Bongausasetuksia::$havaintolomake_lajivalintaohje_id))), array(Maarite::align("left"), Maarite::id(Bongausasetuksia::$havaintolomake_lajivalintarivi_id))), $maar_array); // taulukkorivi // rivi6: Paikka ja maa: $rivi6 = Html::luo_tablerivi(Html::luo_tablesolu(Html::luo_label_for("lisaa myohemmin", "*" . Bongaustekstit::$paikka . ": ", ""), array(Maarite::align("left"))) . Html::luo_tablesolu(Html::luo_input(array(Maarite::type("text"), Maarite::name("paikka_hav"), Maarite::value($paikka_hav))) . $maavalikkohtml, array(Maarite::align("left"))), $maar_array); // taulukkorivi // rivi7: Havainnon varmuus: $rivi7 = Html::luo_tablerivi(Html::luo_tablesolu(Html::luo_label_for("lisaa myohemmin", Varmuus::$valikko_otsikko, ""), array(Maarite::align("left"))) . Html::luo_tablesolu($varmuusvalikko, array(Maarite::align("left"))), $maar_array); // taulukkorivi // rivi8: Havaintokommentti: $rivi8 = Html::luo_tablerivi(Html::luo_tablesolu(Bongaustekstit::$kommentti, array(Maarite::align("left"))) . Html::luo_tablesolu(Html::luo_textarea($kommentti_hav, array(Maarite::cols(50), Maarite::rows(6), Maarite::name("kommentti_hav"))), array(Maarite::align("left"))), $maar_array); // taulukkorivi // rivi9: Painikkeet: $rivi9 = Html::luo_tablerivi(Html::luo_tablesolu("", array(Maarite::align("left"))) . Html::luo_tablesolu($submitnappi . $poistunappi, array(Maarite::align("left"))), $maar_array); // taulukkorivi // Rivit taulukon sisään: $taulukko = Html::luo_table($rivi1 . $rivi2 . $rivi3 . $rivi4 . $rivi5 . $rivi6 . $rivi7 . $rivi8 . $rivi9, array(Maarite::summary("uudet_tiedot"), Maarite::id(Bongausasetuksia::$havaintolomakkeen_id))); // Taulukko lomakkeen sisään: $html = Html::luo_form($taulukko, array(Maarite::align("center"), Maarite::method("post"), Maarite::action("index.php" . $url_id))); // näytetään js-päivämäärä $html .= Html::luo_script_js("nayta_pvm();"); return $html; }