$nayta_valtuudet = Painikkeet::$nayta_valtuudet; $poistu_valtuuksista = Painikkeet::$poistu_valtuuksista; $muuta_valtuuksia = Painikkeet::$muuta_valtuuksia; $toteuta_valtuusmuutos = Painikkeet::$toteuta_valtuusmuutos; $peru_valtuusmuutos = Painikkeet::$peru_valtuusmuutos; // Poistumisnappi: $id = Yleisarvoja::$ulosnappiID; $id2 = $id . "2"; $name = Yleisarvoja::$keskustelusivun_toimintonimi; $value = Painikkeet::$KIRJAUDU_ULOS_VALUE; $ulosnappi = luo_uloskirjauspainike($id, $name, $value); $ulosnappi2 = luo_uloskirjauspainike($id2, $name, $value); // Tietojen muokkausnappi: $tietomuokkausnappi = nayta_nappi("tietojen_muokkaus", $nayta_tietomuutoslomake); // Suodatinnappi (lisätty 17.4.2013): $maar_array_input = array(Maarite::value(Kayttajatekstit::$suodattimet_painike_nayta_suodatinlomake_value), Maarite::title(Kayttajatekstit::$suodattimet_painike_nayta_suodatinlomake_title), Maarite::name(Kayttajakontrolleri::$kayttajatoimintonimi)); $maar_array_form = array(Maarite::onsubmit("hae_suodatuslomake", array())); $suodatinnappi = Html::luo_forminput_painike($maar_array_form, $maar_array_input); nayta_nappi("tietojen_muokkaus", $nayta_tietomuutoslomake); // Painike, josta saadaan haettua kaikki viestit: $hae_kaikki_komento = "Hae kaikki viestit"; $aikaraja_kaikki = 0; $hae_kaikki_viestit_nappi = "<form id='hae_kaikki'>" . "<input type='button'" . "onclick=\"hae_viestit('" . $omaid . "','" . $parametriolio->vika_viesti_id . "','" . $aikaraja_kaikki . "','0')\"" . "value='" . $hae_kaikki_komento . "'" . "/>" . "</form>"; $sisaltoteksti = ""; // Käyttäjälle tuleva huomautusviesti: $ilmoitus = ""; $linkkipalkkiteksti = ""; $viestitieto = ""; $muokkauslaatikko = ""; // Tarkastetaan käyttäjän ikä: $alaikainen = true;
/** * 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>"; }
/** * Palauttaa painikkeen koodin. * @param type $action_os esim. index.php tai "oletus" / "default" * @param type $action_kyselymuuttujat kyselymuuttujien nimet * @param type $action_kyselyarvot */ public static function luo_jaa_lisaoikeuksia_painike($action_os, $action_kyselymuuttujat, $action_kyselyarvot) { $jaa_oikeuksia_nappi = Html::luo_form(Html::luo_input(array(Maarite::type("submit"), Maarite::name(Toimintonimet::$lv_toiminto), Maarite::value(Kayttajatekstit::$lisavaltuudet_painike_nayta_lv_lomake_value), Maarite::title(Kayttajatekstit::$lisavaltuudet_painike_nayta_lv_lomake_title))), array(Maarite::classs("rinnakkain"), Maarite::method("post"), Maarite::action(Maarite::muotoile_action_arvo($action_os, $action_kyselymuuttujat, $action_kyselyarvot)))); return $jaa_oikeuksia_nappi; }
/** * Hakee tietokannasta liikkujien suoritukset liikkujanid:n avulla * ja palauttaa ne tekstinä. * @param Tietokantaolio $tietokantaolio olio, * joka sisältää yhteystiedot tietokantaan. * @param boolean $on_omat kertoo, onko kysymys omista vai jonkun muun * suorituksista. Vain omiin tulee valintamahdollisuus. * @return <type> Palauttaa suoritukset merkkijonona, * jota muokattu html:n avulla. * * Muutos 16.1.2012: Lisätty parametri $omaid. Tarvitaan pikakommenttien näytössä. */ function hae_suoritukset($tietokantaolio, $liikkujanid, $on_omat, $omaid) { $valintaruudunotsikko = ""; //Riippuu parametrin $on_omat arvosta. $suoritushtml = ''; $mj = ''; // Apumuuttuja html-merkkaukselle. // Yksityiset näytetään vain itselle: if ($on_omat) { $hakulause = "SELECT * FROM suoritukset\n WHERE henkilo_id={$liikkujanid}\n ORDER BY jarjestysindeksi DESC"; } else { $hakulause = "SELECT * FROM suoritukset\n WHERE henkilo_id=" . $liikkujanid . " AND (nakyvyys=" . Nakyvyys::$JULKINEN . " OR nakyvyys=" . Nakyvyys::$PUOLIJULKINEN . ")" . " ORDER BY jarjestysindeksi DESC"; } $suoritustaulu = $tietokantaolio->tee_OMAhaku_oliotaulukkopalautteella($hakulause); $uusinappikomento = "Uusi oma suoritus"; if (empty($suoritustaulu) && $on_omat) { $suoritushtml = "Yhtään suoritusta ei löytynyt!\n Painikkeesta alla pääset\n lisäämään suorituksia.\n <form method='post' action='muistio.php'>\n <input id='uusi' type='submit' name='toiminta'\n value='{$uusinappikomento}'/></form>"; } else { if (empty($suoritustaulu)) { $suoritushtml = "Yhtään suoritusta ei löytynyt!"; } else { //Kirjoitetaan lajeista aputaulukot, jotta ne osataan kirjoittaa oikein. // lukujen käyttö arvoina voipi olla parempi, mutta menee tuo noinkin). $lajit = Laji::get_lajikuvaukset(); $lajiarvot = Laji::get_lajiarvot(); if ($on_omat) { $valintaruudunotsikko = "<th>Valinta</th>"; // Huom. action-arvo pitää olla noin, koska ajaxin kanssa // php-self ohjasi väärälle sivulle . $mj .= "<form method='post' action='muistio.php'>\n <input id='uusi' type='submit' name='" . Muistiotoimintonimet::$perustoiminto . "' value='{$uusinappikomento}'/>\n <input id='poistonappi' type='submit' name='" . Muistiotoimintonimet::$perustoiminto . "' value='" . Muistiopainikkeet::$poistonappikomento . "'/>\n <input id='muokkausnappi' type='submit' name='" . Muistiotoimintonimet::$perustoiminto . "' value='" . Muistiopainikkeet::$muokkausnappikomento . "'/>\n <input id='tilastonappi' type='submit' name='" . Muistiotoimintonimet::$perustoiminto . "' value='" . Muistiopainikkeet::$tilastokomento . "'/>"; } // Ilmoitetaan nykyisen ja edellisen kuun yhteenlasketut // juoksukilometrit, jos niitä on tullut. $pvm = getdate(); $kuu = $pvm['mon']; $vuosi = $pvm['year']; $juoksuilmoitus = ""; $km_tama_vuosi = nayta_vuoden_juoksukm($omaid, $liikkujanid, $vuosi, $tietokantaolio); if ($km_tama_vuosi == 0) { $juoksuilmoitus = "Hyvältä näyttää!"; } else { /*$km_tamakuu = nayta_juoksukm($liikkujanid, $kuu, $vuosi, $tietokantaolio);*/ $km_tamakuu = hae_kuukauden_km($omaid, $liikkujanid, Laji::$id_juoksu, $kuu, $vuosi, $tietokantaolio); // Piti vähän muuttaa, että vuoden vaihde menee oikein.. if ($kuu == 1) { $viimekuu = 12; $vuosi--; } else { $viimekuu = $kuu - 1; } /*$km_viimekuu = nayta_juoksukm($liikkujanid, $viimekuu, $vuosi, $tietokantaolio);*/ $km_viimekuu = hae_kuukauden_km($omaid, $liikkujanid, Laji::$id_juoksu, $viimekuu, $vuosi, $tietokantaolio); // Sitten muotoillaan ilmoitus eri tapauksissa: if ($km_tamakuu != 0) { if ($km_viimekuu != 0) { $juoksuilmoitus = "Juoksua tässä kuussa " . $km_tamakuu . " km ja viime kuussa\n " . $km_viimekuu . " km. Koko vuoden juoksusaldo on " . $km_tama_vuosi . " km."; } else { $juoksuilmoitus = "Juoksua tässä kuussa " . $km_tamakuu . " km. Koko vuoden saldo on " . $km_tama_vuosi . " km."; } } else { if ($km_viimekuu != 0) { $juoksuilmoitus = "Juoksua tuli viime kuussa\n " . $km_viimekuu . " km. Tänä vuonna on\n tullut " . $km_tama_vuosi . " km."; } else { $juoksuilmoitus = "Tänä vuonna on tullut juoksua\n yhteensä " . $km_tama_vuosi . " km."; } } } //Muotoillaan tiedot kauniisti; $mj .= "<table id = 'tulostaulu'>\n <tr><td id='kuukm' colspan='7'>{$juoksuilmoitus}\n </td></tr>\n <tr>\n <th>Pvm</th>\n <th>Laji</th>\n <th>Kesto</th>\n <th>Matka (km)</th>\n <th>Kuvaus</th>\n {$valintaruudunotsikko}\n <th>Kommentit</th>\n </tr>"; $valintaruutu = ""; //oletuksena tyhjä. $laskuri = 1; // Auttaa joka toisen rivin eri väriseksi. $laji_muokattu = ''; // Tämä saa arvokseen ääkkösellisen lajin. $matka_km = 0; foreach ($suoritustaulu as $nyk_olio) { if ($laskuri % 2 == 0) { $mj .= "<tr class ='parillinen_rivi'>"; } else { $mj .= "<tr>"; } // Asetetaan lajin merkintä kohdalleen (ääkköset mukaan): for ($i = 0; $i < sizeof($lajit); $i++) { if ($nyk_olio->laji == $lajiarvot[$i]) { $laji_muokattu = $lajit[$i]; } } //========================== PIkakommentit ========================= $kommenttien_lkm = 0; $on_uusia_pk = false; // Haetaan pikakommenttien lkm ja tarkastetaan samalla, onko uusia. $hakulause = "SELECT id, tallennushetki_sek, henkilo_id\n FROM pikakommentit\n WHERE kohde_tyyppi =" . Pikakommentti::$KOHDE_LIIKUNTASUORITUS . " AND kohde_id=" . $nyk_olio->id . " ORDER BY tallennushetki_sek DESC"; $osumat_kaikki = $tietokantaolio->tee_OMAhaku_oliotaulukkopalautteella($hakulause); //============= SUODATUS ALKU ====================================== $osumat = array(); $suodattimet = Suodatin::hae_suodattimet($omaid, $tietokantaolio); foreach ($osumat_kaikki as $osuma) { $henkilo_id = $osuma->henkilo_id; if (!Suodatin::henkilo_suodatetaan_kevyt($henkilo_id, $omaid, $suodattimet)) { array_push($osumat, $osuma); } } //============= SUODATUS LOPPU ===================================== // Jos viimeistä katseluaikaa ei ole asetettu, asetetaan 0: if (!isset($_SESSION['edellinen_uloskirjausaika_sek'])) { $_SESSION['edellinen_uloskirjausaika_sek'] = 0; } // Korostetaan solu, jos uusin on riittävän uusi eikä oma: if (!empty($osumat)) { $kommenttien_lkm = sizeof($osumat); if ($osumat[0]->tallennushetki_sek > $_SESSION['edellinen_uloskirjausaika_sek'] && $osumat[0]->henkilo_id != $omaid) { $on_uusia_pk = true; } } // Taulukon solun muotoilu: $onmouseover = " onclick='hae_pikakommentit(" . Pikakommentti::$KOHDE_LIIKUNTASUORITUS . "," . $nyk_olio->id . ")'"; $pk_class = ""; if ($on_uusia_pk) { $pk_class = " class='on_uusia'"; } $pikakommenttisolu = "<td" . $pk_class . $onmouseover . ">" . "<span id='id" . $nyk_olio->id . "'>" . $kommenttien_lkm . "</span></td>"; //================================================================== $matka_km = round($nyk_olio->matkametreina / 100) / 10; // Nollaa ei näytetä, ettei masenna: if ($matka_km == 0) { $matka_km = "-"; } else { if ($nyk_olio->nakyvyys == Nakyvyys::$PUOLIJULKINEN) { if ($nyk_olio->henkilo_id != $omaid) { $matka_km = "-"; } else { $matka_km = Html::luo_span($matka_km, array(Maarite::classs("puolijulkinen_km"), Maarite::title("Puolijulkinen!"))); } } } if ($on_omat) { // Valintaruutu sisältää vastaavan tietokantarivin id:n: $maar_array = array(Maarite::name("valinnat[]"), Maarite::value($nyk_olio->id)); $valruutusis = Html::luo_checkbox($maar_array); $valintaruutu = Html::luo_tablesolu($valruutusis, ""); } $kesto = muotoile_suorituksen_kesto($nyk_olio->kestotunnit, $nyk_olio->kestomin, $nyk_olio->kestosek, $nyk_olio->kesto); $pvm = anna_viikonp_suomeksi($nyk_olio->paiva, $nyk_olio->kk, $nyk_olio->vuosi, true) . " " . $nyk_olio->paiva . "." . $nyk_olio->kk . "." . $nyk_olio->vuosi; if ($nyk_olio->nakyvyys == Nakyvyys::$YKSITYINEN) { $pvm = Html::luo_span($pvm, array(Maarite::classs("yksityinen"), Maarite::title("Yksityinen!"))); } $mj .= "<td class='aikasolu'>" . $pvm . "</td>\n <td>{$laji_muokattu}</td>\n <td>{$kesto}</td>\n <td>{$matka_km}</td>\n <td>" . stripslashes($nyk_olio->kuvaus) . "</td>\n {$valintaruutu}\n {$pikakommenttisolu}\n </tr>"; $laskuri++; } $mj .= "</table>"; if ($on_omat) { $mj .= "</form>"; } $suoritushtml = $mj; } } return $suoritushtml; }
/** * 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; }