/** * Palauttaa havaintolomakkeen html-koodina. * * @param <type> $tallennuskommentti kertoo mikä laji tallennettiin viimeksi. * @param bool $onKopio auttaa siihen, että luotuun havaintoon osataan palata * sekä kopioinnin että tavallisen uuden luonnin yhteydessä. * @param Parametrit $parametriolio * @return <type> */ function nayta_havaintolomake(&$parametriolio) { $ylaluokka_id_lj = $parametriolio->ylaluokka_id_lj; $id_hav = $parametriolio->id_hav; // Tarvitaan muokkauksessa! $lajiluokka_id_hav = $parametriolio->lajiluokka_id_hav; $paiva_hav = $parametriolio->paiva_hav; $kk_hav = $parametriolio->kk_hav; $vuosi_hav = $parametriolio->vuosi_hav; $paikka_hav = $parametriolio->paikka_hav; $kommentti_hav = $parametriolio->kommentti_hav; $kieli_kuv = $parametriolio->kieli_kuv; $uusi = $parametriolio->get_uusi_hav(); $tietokantaolio = $parametriolio->get_tietokantaolio(); // $tallennuskommentti kertoo mikä laji tallennettiin viimeksi. $tallennuskommentti = $parametriolio->get_tallennuspalaute(); $onKopio = $parametriolio->get_on_kopio(); $submitnappi = ""; $poistunappi = ""; $uusi_laji_nappi = ""; // painike, josta saadaan näkyviin monta lajia kerralla: $maar_array = array(Maarite::type("submit"), Maarite::value(Bongauspainikkeet::$NAYTA_MONEN_HAVAINNON_VALINTA_VALUE), Maarite::title(Bongauspainikkeet::$NAYTA_MONEN_HAVAINNON_VALINTA_TITLE), Maarite::name(Bongaustoimintonimet::$havaintotoiminto)); $monta_lajia_kerralla = Html::luo_input($maar_array); $type = "submit"; $class = "rinnakkain"; $id = ""; $onclick = ""; $name = Bongaustoimintonimet::$havaintotoiminto; $value = Bongauspainikkeet::$PERUMINEN_HAVAINTO_VALUE; $poistunappi = Html::luo_painike_ilman_formia($type, $class, $id, $name, $value, $onclick); $type = "submit"; $class = "rinnakkain"; $id = ""; $onclick = ""; $name = Bongaustoimintonimet::$lajiluokkatoiminto; $value = Bongauspainikkeet::$UUSI_LAJILUOKKA_VALUE; $uusi_laji_nappi = Html::luo_painike_ilman_formia($type, $class, $id, $name, $value, $onclick); if ($uusi) { $suurin_havaintoid = hae_suurin_id($tietokantaolio, "bhavainnot"); // Luotavan id on todennäköisesti yhtä suurempi kuin äsken laskettu: $uuden_id = $suurin_havaintoid + 1; // Otetaan arvo ylös: $parametriolio->set_naytettavan_id_hav($uuden_id); $url_jatke_seur = "?id_hav=" . $uuden_id . "#havainto" . $uuden_id; if ($suurin_havaintoid == -1) { $url_jatke_seur = ""; } $url_id = $url_jatke_seur; // $havaintolomakeohje = Bongaustekstit::$havaintolomake_uusi_ohje; // Painike $type = "submit"; $class = "rinnakkain"; $id = ""; $onclick = ""; $name = Bongaustoimintonimet::$havaintotoiminto; $value = Bongauspainikkeet::$TALLENNA_UUSI_HAVAINTO_VALUE; $submitnappi = Html::luo_painike_ilman_formia($type, $class, $id, $name, $value, $onclick); } else { $parametriolio->set_naytettavan_id_hav($id_hav); $url_jatke_nyk = "#havainto" . $id_hav; $url_id = "?id_hav=" . $id_hav . $url_jatke_nyk; // Näin löytyy päivitettävä havainto! $havaintolomakeohje = Bongaustekstit::$havaintolomakemuokkaus_ohje; // Painike $type = "submit"; $class = "rinnakkain"; $id = ""; $onclick = ""; $name = Bongaustoimintonimet::$havaintotoiminto; $value = Bongauspainikkeet::$TALLENNA_MUOKKAUS_HAVAINTO_VALUE; $submitnappi = Html::luo_painike_ilman_formia($type, $class, $id, $name, $value, $onclick); } // Lajivalikko: // Jos yläluokkaa ei ola määritelty (=-1), etsitään sen luokan id, jonka // suomenkielisen kuvauksen nimi on "Linnut": if ($ylaluokka_id_lj == -1) { $taulunimi = "bkuvaukset"; $sarakenimi = "nimi"; $hakuarvo = "Linnut"; $kuvausolio = $tietokantaolio->hae_eka_osuma_oliona($taulunimi, $sarakenimi, $hakuarvo); if ($kuvausolio != Bongausasetuksia::$tietokantahaku_ei_loytynyt) { $ylaluokka_id_lj = $kuvausolio->lajiluokka_id; } } $otsikko = ""; $lajivalikko = 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 = $parametriolio->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 = $parametriolio->varmuus_hav; $varmuusvalikko = Varmuus::muodosta_valikkohtml(false, $naytettava_valinta); // kommentin muotoilu: if (!empty($tallennuskommentti)) { $tallennuskommentti = $tallennuskommentti . "<br/>"; } $mj = "<form align='center' method='post'\n action='index.php" . $url_id . "'>" . "<table summary='uudet_tiedot' id=" . Bongausasetuksia::$havaintolomakkeen_id . ">" . "<tr><td colspan=2><b><span id=" . Bongausasetuksia::$havaintolomake_tallennustiedote_id . ">\n " . $tallennuskommentti . "</span>" . $havaintolomakeohje . "</b></td></tr>" . "<tr>\n <td align='left' colspan=2><button id='b1' type='button'\n onclick='nayta_ed_vko()'>\n " . Bongauspainikkeet::$ed_vko . "</button>\n <button id='b2'type='button' onclick='nayta_ed()'>\n " . Bongauspainikkeet::$ed_paiva . "</button>\n <button id='b3'type='button'\n onclick='nayta_seur()'>\n " . Bongauspainikkeet::$seur_paiva . "\n </button>\n <button id='b4' type='button' onclick='nayta_seur_vko()'>\n " . Bongauspainikkeet::$seur_vko . "</button></td>" . "<tr>" . "<td align='left'>*" . Bongaustekstit::$paiva . ": </td><td align='left'>\n <input id='paiva' type='text'\n name='paiva_hav' value='{$paiva_hav}' size='4' maxlength='2'\n onchange='nayta_pvm()' onkeyup='nayta_pvm()' />\n *" . Bongaustekstit::$kk . ": <input id='kk' type='text' " . "name='kk_hav' value='{$kk_hav}' size='4' maxlength='2'\n onchange='nayta_pvm()' onkeyup='nayta_pvm()'/>\n *" . Bongaustekstit::$vuosi . ": <input id='vuosi' type='text' " . "name='vuosi_hav' value='{$vuosi_hav}' size='4' maxlength='4'\n onchange='nayta_pvm()' onkeyup='nayta_pvm()'/>\n <span id='pvm_naytto'></span></td>" . "</tr>" . "<tr>" . Html::luo_tablerivi(Html::luo_tablesolu("", "") . Html::luo_tablesolu($monta_lajia_kerralla, array(Maarite::align("left"))), "") . "<td align='left'>*" . Bongaustekstit::$laji . ": </td><td align='left'\n id= " . Bongausasetuksia::$havaintolomake_lajivalintarivi_id . ">\n <span id = " . Bongausasetuksia::$havaintolomake_lajivalikko_id . ">" . $lajivalikko . "</span><span id = " . Bongausasetuksia::$havaintolomake_lajivalikkopainike_id . ">" . $uusi_laji_nappi . "</span>" . "<span id = " . Bongausasetuksia::$havaintolomake_lajivalintaohje_id . ">(" . Bongaustekstit::$havaintolomake_laji_puuttuu_ohje . ")</span></td>\n </tr>" . "<tr><td align='left'>*" . Bongaustekstit::$paikka . ": </td><td align='left'>\n <input type='text' size='43' name='paikka_hav' value='{$paikka_hav}'/>\n " . $maavalikkohtml . "</td></tr>" . "<tr><td>" . Varmuus::$valikko_otsikko . ":</td><td align='left'>" . $varmuusvalikko . "</td></tr>" . "<tr><td align='left'>" . Bongaustekstit::$kommentti . ":</td>\n <td align='left'><textarea cols='50'\n rows='6'name='kommentti_hav'>{$kommentti_hav}" . "</textarea></td></tr>" . "<tr><td></td><td align='left'>" . $submitnappi . $poistunappi . "</td></tr>" . "</table>" . "</form>"; // Palautetaan lomake ja näytetään js-päivämäärä;. return $mj . "<script type='text/javascript'>\n nayta_pvm();\n </script>"; }