Exemplo n.º 1
0
 /**
  * Palauttaa form-lomakkeen sisällä olevan input-elementin koodin. Parametrina
  * annetaan kummankin $maar_array. Jos $maar_array_form-taulukossa on
  * action-määritteellä arvo "oletus", "default" tai määrite puuttuu, 
  * annetaan arvoksi "{$_SERVER['PHP_SELF']}". 
  * 
  * <p>Kyselyn saat helpoiten
  * mukaan syöttämällä action-määritteen arvon metodin 
  * Maarite::muotoile_action_arvo($maar_array_input, $muuttujanimet, $arvot) 
  * avulla.</p>
  * 
  * <p>Nämä pakotetaan joka tapauksessa riippumatta parametreista:
  * Form method="post" ja input type="submit"</p>
  * 
  * Helpoimmillaan painikkeen saa siis toimimaan antamalla parametreina yhden 
  * tyhjän taulukon ja toiseen ($maar_array_input) vain value- ja namemääritteet:
  * array(Maarite::value($painikkeen_nimi), Maarite::name($toimintonimi))
  * 
  * @param type $maar_array_form
  * @param type $maar_array_input
  * @return type
  */
 public static function luo_forminput_painike($maar_array_form, $maar_array_input)
 {
     Maarite::lisaa_maarite(Maarite::method("post"), $maar_array_form);
     Maarite::lisaa_maarite(Maarite::type("submit"), $maar_array_input);
     // Tarkastellaan action-määritettä:
     if (Maarite::etsi_maarite("action", $maar_array_form) == Maarite::$EI_LOYTYNYT || strtolower(Maarite::etsi_maarite("action", $maar_array_form)) == "oletus" || strtolower(Maarite::etsi_maarite("action", $maar_array_form)) == "default") {
         Maarite::lisaa_maarite(Maarite::action("{$_SERVER['PHP_SELF']}"), $maar_array_form);
     }
     $sisalto = Html::luo_input($maar_array_input);
     return Html::luo_elem_2os("form", $sisalto, $maar_array_form);
 }
Exemplo n.º 2
0
 /**
  * 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;
 }
Exemplo n.º 3
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>";
}
Exemplo n.º 4
0
 /**
  * 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;
 }