/**
  * 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)
 {
     $btn_type = Kokonaisuusnakymat::$btn_type_article;
     $btn_size = Kokonaisuusnakymat::$btn_size_article;
     $jaa_oikeuksia_nappi = Html::luo_form(Html::luo_input(array(Attr::type("submit"), Attr::name(Toimintonimet::$lv_toiminto), Attr::value(Kayttajatekstit::$lisavaltuudet_painike_nayta_lv_lomake_value), Attr::title(Kayttajatekstit::$lisavaltuudet_painike_nayta_lv_lomake_title), Attr::classs("btn btn-" . $btn_type . " btn-" . $btn_size))), array(Attr::classs("article"), Attr::method("post"), Attr::action(Attr::muotoile_action_arvo($action_os, $action_kyselymuuttujat, $action_kyselyarvot))));
     return $jaa_oikeuksia_nappi;
 }
 /**
  * Näyttää poistovahvistuskyselyn ja painikkeet, joista joko hyväksytään
  * tai perutaan poisto.
  * @param Elementtiryhma $poistettava Poistettava Elementtiryhma-luokan
  * olio, joka on löytynyt tietokannasta (varmistettu kutsuvassa funktiossa).
  * @return string
  */
 public function nayta_elemryhman_poistovahvistuskysely($poistettava)
 {
     $otsikko = $poistettava->get_arvo(Elementtiryhma::$sarakenimi_nimi);
     $kooste_id = $poistettava->get_arvo(Elementtiryhma::$sarakenimi_kooste_id);
     //========= Vahvistuspainike ====================================
     $form_maaritteet = array(Attr::action(Attr::muotoile_action_arvo("index.php", array(Koostekontrolleri::$elemryhma_name_id, Koostekontrolleri::$kooste_name_id), array($poistettava->get_id(), $kooste_id))), Attr::classs("summary"));
     $input_maaritteet = array(Attr::name(Toimintonimet::$koostetoiminto), Attr::value(Painikkeet::$kooste_vahvista_poista_ryhmittely_value), Attr::title(Painikkeet::$kooste_vahvista_poista_ryhmittely_title), Attr::classs("btn btn-" . Koostenakymat::$btn_type_summary . " btn-" . Koostenakymat::$btn_size_summary));
     $poistopainike = Html::luo_forminput_painike($form_maaritteet, $input_maaritteet);
     //==============================================================
     $paluupainike = $this->nayta_painike_paluu_koosteeseen($poistettava->get_arvo(Elementtiryhma::$sarakenimi_kooste_id), Elementti::$MUUTTUJAA_EI_MAARITELTY);
     $vahvistuskys = Html::luo_div(Tekstit::$elementtiryhma_poiston_vahvistuskysymys, array(Attr::classs("keskitys"), Attr::style("font-size: 120%; color: red"))) . Html::luo_otsikko($otsikko, array(), 1) . Html::luo_div($poistopainike . $paluupainike, array(Attr::classs("keskitys")));
     return $vahvistuskys;
 }
 /**
  * Palauttaa tehtävän muokkauspainikkeen html-koodin. Täällä ei
  * tarkistella käyttöoikeuksia, vaan se tehdään kutsuvassa osassa.
  * 
  * Elementti-luokan olio annetaan toisena parametrina, jos muokkaukseen mennään
  * koosteesta. Tällöin annetaan mahdollisuus palata koosteeseen takaisin
  * muokkauksen jälkeen.
  * 
  * Jos kyse on normaalista painikkeesta tehtävässä, annetaan
  * toiseksi parametriksi arvo Elementti::$MUUTTUJAA_EI_MAARITELTY.
  * 
  * Samoin jos uusi ratkaisu lisätään elementtiryhmästä käsin, palataan
  * takaisin samaan ryhmään. Muuten parametrin arvo on 
  * Elementtiryhma::$MUUTTUJAA_EI_MAARITELTY.
  * 
  * @param Tehtava $tehtava
  * @param Elementti $elementti
  * @param Elementtiryhma $elementtiryhma
  * @return string
  */
 public function luo_ratkaisun_lisayspainike($tehtava, $elementti, $elementtiryhma)
 {
     // Muokkaus koosteesta käsin:
     $koostetiedot = "";
     if ($elementtiryhma instanceof Elementtiryhma) {
         $koostetiedot = "&" . Koostekontrolleri::$elemryhma_name_id . "=" . $elementtiryhma->get_id();
     }
     if ($elementti instanceof Elementti) {
         $koostetiedot .= "&" . Koostekontrolleri::$kooste_name_id . "=" . $elementti->get_arvo(Elementti::$sarakenimi_kooste_id) . "&" . Koostekontrolleri::$elementti_name_id . "=" . $elementti->get_arvo(Elementti::$SARAKENIMI_ID);
     }
     $form_maaritteet = array(Attr::action(Attr::muotoile_action_arvo("index.php", array(Tehtavakontrolleri::$tehtava_name_id, "uusi"), array($tehtava->get_id(), "true")) . $koostetiedot), Attr::classs("summary"));
     $input_maaritteet = array(Attr::name(Toimintonimet::$tehtavatoiminto), Attr::value(Painikkeet::$ratkaisu_uusi_value), Attr::classs("btn btn-" . Koostenakymat::$btn_type_summary . " btn-" . Koostenakymat::$btn_size_summary));
     $uusitehtpainike = Html::luo_forminput_painike($form_maaritteet, $input_maaritteet);
     return $uusitehtpainike;
 }