Exemplo n.º 1
0
 /**
  * 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;
 }
Exemplo n.º 2
0
/**
 * 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>";
}