/** * Palauttaa taulukon, jonka avulla henkilöitä voidaan suodattaa tai * suodatuksia poistaa. * * @param Henkilo $omistaja * @param type $kohdehenkilo * @param type $paluupainike * @return type */ public function nayta_suodatinlomake($omistaja, $kohdehenkilot, $paluupainike) { $maar_array = array(); // Kun ei määritteitä tarvita. //====================================================================== // Sitten taulukko kasaan, Rivi 1: $sisalto = Html::luo_tablerivi(Html::luo_tablesolu_otsikko(Kayttajatekstit::$suodattimet_lomaketeksti_otsikko, array(Maarite::colspan(2))), $maar_array); // Rivi 2: $sisalto .= Html::luo_tablerivi(Html::luo_tablesolu_otsikko(Kayttajatekstit::$suodattimet_lomaketeksti_omat_suodattimet, array()) . Html::luo_tablesolu_otsikko(Kayttajatekstit::$suodattimet_lomaketeksti_kohdehenkilo, array()), $maar_array); // Suodatinrivit (käyttäjä itse ei ole mukana): foreach ($kohdehenkilot as $henkilo) { if ($henkilo instanceof Henkilo) { // Katsotaan, onko kohde jo suodatettu: if ($henkilo->getSuodatus_kohde() == Henkilo::$suodatus_ON) { $valittu = Maarite::checked(); } else { $valittu = ""; } // Katsotaan, suodattaako kohde jo käyttäjän: if ($henkilo->getSuodatus_lahde() == Henkilo::$suodatus_ON) { $vari = Html::luo_img(array(Maarite::src("kuvat/ympyra_pun.png"), Maarite::alt("Red circle"), Maarite::title(Kayttajatekstit::$suodattimet_lomaketeksti_punapallo_title))); } else { $vari = Html::luo_img(array(Maarite::src("kuvat/ympyra_vihr.png"), Maarite::alt("Green circle"), Maarite::title(Kayttajatekstit::$suodattimet_lomaketeksti_viherpallo_title))); } $sisalto .= Html::luo_tablerivi(Html::luo_tablesolu(Html::luo_checkbox(array($valittu, Maarite::id("suodatus" . $henkilo->get_id()), Maarite::onclick("suodata", array($omistaja->get_id(), $henkilo->get_id(), Maarite::js_this_juttu("this.piip"))))), array(Maarite::style("text-align:center"))) . Html::luo_tablesolu(Html::luo_span($henkilo->get_arvo(Henkilo::$sarakenimi_etunimi) . " " . $vari, array(Maarite::style("white-space:nowrap"))), array(Maarite::style("text-align:left"))), $maar_array); } } // Lisätään vielä paluupainike: $sisalto .= Html::luo_tablerivi(Html::luo_tablesolu_otsikko($paluupainike, array(Maarite::colspan(2))), $maar_array); $taulukkohtml = Html::luo_table($sisalto, array(Maarite::id("suodatuslomake"))); return $taulukkohtml; }
/** * 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_kaikki_lajit(&$parametriolio) { $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; $tietokantaolio = $parametriolio->get_tietokantaolio(); // $tallennuskommentti kertoo mikä laji tallennettiin viimeksi. $tallennuskommentti = $parametriolio->get_tallennuspalaute(); $submitnappi = ""; $poistunappi = ""; $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); $suurin_havaintoid = hae_suurin_id($tietokantaolio, "bhavainnot"); // Seuraava liittyy siihen, että tallennetut näytetään taulukossa: // Luotavan (ekan) 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; // // Submit-painike: $maar_array = array(Maarite::type("submit"), Maarite::classs("rinnakkain"), Maarite::name(Bongaustoimintonimet::$havaintotoiminto), Maarite::value(Bongauspainikkeet::$TALLENNA_MONTA_HAV_KERRALLA_VALUE), Maarite::title(Bongauspainikkeet::$TALLENNA_MONTA_HAV_KERRALLA_TITLE)); $submitnappi = Html::luo_input($maar_array); /*************************************************************************/ $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/>"; } //========================================================================= //Muotoillaan lajivalinnat: $lajioliot = Lajiluokka::hae_kaikki_lajiluokat($parametriolio->kieli_id, $parametriolio->ylaluokka_id_lj, $parametriolio->tietokantaolio); $laskuri = 1; $rivin_pituus = 10; // Näin monta rivissä. $rivi = ""; $taulukko = ""; foreach ($lajioliot as $lajiolio) { if ($lajiolio instanceof Lajiluokka) { // Haetaan lajinimi: $kuvaus = $lajiolio->hae_kuvaus($parametriolio->kieli_id); if ($kuvaus === Lajiluokka::$MUUTTUJAA_EI_MAARITELTY) { $kuvaus = $lajiolio->hae_kuvaus(Kielet::$SUOMI); } $lajinimi = $kuvaus->get_nimi(); // Tarkistetaan, onko tämä ollut valittu (esim. muokkaus): $checked = ""; foreach ($parametriolio->lajivalinnat_hav as $valitun_id) { if ($lajiolio->get_id() === $valitun_id) { $checked = "checked"; } } if (empty($checked)) { $solusis = Html::luo_labeled_checkbox($lajinimi, array(Maarite::name(Bongausasetuksia::$monen_lajin_valinta_id_taulukko_name . "[]"), Maarite::value($lajiolio->get_id()))); } else { $solusis = Html::luo_labeled_checkbox($lajinimi, array(Maarite::name(Bongausasetuksia::$monen_lajin_valinta_id_taulukko_name . "[]"), Maarite::value($lajiolio->get_id()), Maarite::checked($checked))); } $rivi .= Html::luo_tablesolu($solusis, array(Maarite::classs("valintasolu"))); // Jos rivi täynnä tai ollaan vikassa lajissa, // suljetaan se ja tyhjennetään rivimuuttuja: if ($laskuri % $rivin_pituus == 0 || $laskuri == sizeof($lajioliot)) { $taulukko .= Html::luo_tablerivi($rivi, array()); $rivi = ""; } $laskuri++; } } $taulukko = Html::luo_table($taulukko, array(Maarite::classs("tietotaulu_ulkorajaton"), Maarite::align("center"))); //======================================================================== // Luodaan form-elementin sisältö: $mj = Html::luo_div(Html::luo_span($tallennuskommentti, array(Maarite::id(Bongausasetuksia::$havaintolomake_tallennustiedote_id))) . Bongaustekstit::$havaintolomake_uusien_tallennus_ohje, array(Maarite::style("font-weight:bold"))) . Html::luo_button(Bongauspainikkeet::$ed_vko, array(Maarite::id("b1"), Maarite::type("button"), Maarite::onclick("nayta_ed_vko", ""))) . Html::luo_button(Bongauspainikkeet::$ed_paiva, array(Maarite::id("b2"), Maarite::type("button"), Maarite::onclick("nayta_ed", ""))) . " *" . Bongaustekstit::$paiva . ": " . Html::luo_input(array(Maarite::type("text"), Maarite::id("paiva"), Maarite::name("paiva_hav"), Maarite::value($paiva_hav), Maarite::size(2), Maarite::max_length(2), Maarite::onchange("nayta_pvm", ""), Maarite::onkeyup("nayta_pvm", ""))) . " *" . Bongaustekstit::$kk . ": " . Html::luo_input(array(Maarite::type("text"), Maarite::id("kk"), Maarite::name("kk_hav"), Maarite::value($kk_hav), Maarite::size(2), Maarite::max_length(2), Maarite::onchange("nayta_pvm", ""), Maarite::onkeyup("nayta_pvm", ""))) . " *" . 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"))) . Html::luo_button(Bongauspainikkeet::$seur_paiva, array(Maarite::id("b3"), Maarite::type("button"), Maarite::onclick("nayta_seur", ""))) . Html::luo_button(Bongauspainikkeet::$seur_vko, array(Maarite::id("b4"), Maarite::type("button"), Maarite::onclick("nayta_seur_vko", ""))) . Html::luo_br() . " *" . Bongaustekstit::$paikka . ": " . Html::luo_input(array(Maarite::type("text"), Maarite::name("paikka_hav"), Maarite::value($paikka_hav), Maarite::size(43))) . $maavalikkohtml . Varmuus::$valikko_otsikko . ": " . $varmuusvalikko . Bongaustekstit::$kommentti . ": " . Html::luo_input(array(Maarite::type("text"), Maarite::name("kommentti_hav"), Maarite::value($kommentti_hav), Maarite::size(43))) . $taulukko . $submitnappi . $poistunappi; // Sullotaan sisältö form-tagien sisään: $mj = Html::luo_form($mj, array(Maarite::align("center"), Maarite::method("post"), Maarite::action("index.php" . $url_id), Maarite::id(Bongausasetuksia::$havaintolomake_kaikki_lajit_id))); // Palautetaan lomake ja näytetään js-päivämäärä;. return $mj . Html::luo_script_js("nayta_pvm();"); //return $mj."<script type='text/javascript'>nayta_pvm();</script>"; }
/** * Palauttaa kuvalomakkeen, jossa on kuvan tiedot ja tiedot valituista * lajiluokista. * * <p>Riippuvuuksia: </p> */ public function luo_kuvalomake($valitut) { $ylaosa = Kuva::nayta_kuvalomake_ilman_formia($this->parametriolio); $alaosa = $this->luo_havaintotaulukko($valitut, true); $varoitus = Html::luo_div(Bongaustekstit::$ilm_havaintokuvan_lisaaminen_huomautus . ":", array(Maarite::classs(Bongausasetuksia::$havaintotauluotsikko_class))); $lomake = Html::luo_form($ylaosa . $varoitus . $alaosa, array(Maarite::align("left"), Maarite::method("post"), Maarite::id("kuvalomake"), Maarite::action("index.php?"), Maarite::enctype_multipart_form_data())); return $lomake; }