/**
  * 
  * @param Palaute $palauteolio
  */
 public function toteuta_tallenna_uusi(&$palauteolio)
 {
     $param = $this->get_parametriolio();
     $tietokantaolio = $this->get_tietokantaolio();
     $id = Kooste::$MUUTTUJAA_EI_MAARITELTY;
     $uusi = new Kooste($id, $this->get_tietokantaolio());
     // Sijoitetaan saadut arvot oliolle:
     $uusi->set_arvo($this->get_parametriolio()->get_omaid(), Kooste::$sarakenimi_henkilo_id);
     $uusi->set_arvo($this->get_parametriolio()->kieli_id, Kooste::$sarakenimi_kieli);
     $uusi->set_arvo($this->get_parametriolio()->oppiaine_kokon, Kooste::$sarakenimi_oppiaine);
     $uusi->set_arvo($this->get_parametriolio()->taso_kokon, Kooste::$sarakenimi_taso);
     $uusi->set_arvo($this->get_parametriolio()->kooste_nakyvyys, Kooste::$sarakenimi_nakyvyys);
     $uusi->set_arvo($this->get_parametriolio()->kooste_nimi, Kooste::$sarakenimi_nimi);
     $uusi->set_arvo($this->get_parametriolio()->kooste_otsikko, Kooste::$sarakenimi_otsikko);
     $uusi->set_arvo($this->get_parametriolio()->kooste_selitys, Kooste::$sarakenimi_selitys);
     $uusi->set_arvo($this->get_parametriolio()->kooste_tyyppi, Kooste::$sarakenimi_tyyppi);
     // Organisaatiotunnus jätetään tyhjäksi, ellei määritelty (ei pakollinen):
     if ($this->get_parametriolio()->kooste_org === Kooste::$MUUTTUJAA_EI_MAARITELTY) {
         $this->get_parametriolio()->kooste_org = "";
     }
     $uusi->set_arvo($this->get_parametriolio()->kooste_org, Kooste::$sarakenimi_organisaatio);
     $tallennus = $uusi->tallenna_uusi();
     if ($tallennus === Kooste::$OPERAATIO_ONNISTUI) {
         // Tallennetaan sitten elementit, jotka valittu tähän koosteeseen:
         $elem_valinnat = $param->kooste_elementtivalinnat;
         // Pitää muistaa, että tehtävillä valinta-arvo on "teht_X", missä
         // X viittaa id-arvoon. Kokonaisuuksilla pelkkä id.
         $virheilm = "";
         $laskuri = 0;
         foreach ($elem_valinnat as $id) {
             $tallennus_elem = $uusi->tallenna_elementti_jos_uusi($id, false);
             if ($tallennus_elem === Elementti::$OPERAATIO_ONNISTUI) {
                 $laskuri++;
             } else {
                 $virheilm .= "<br/>" . $tallennus_elem;
             }
         }
         if ($laskuri === sizeof($elem_valinnat)) {
             $this->toteuta_nayta_koosteet($palauteolio);
             $palauteolio->set_virhekoodi(Palaute::$VIRHEKOODI_KAIKKI_OK);
             $palauteolio->set_ilmoitus(Tekstit::$kooste_ilm_tallennus_ok . " " . $laskuri . " " . Tekstit::$kooste_ilm_elem_tallennettu);
         } else {
             $this->toteuta_nayta_koostelomake($palauteolio);
             $palauteolio->set_virhekoodi(Palaute::$VIRHEKOODI_TALLENNUS);
             $palauteolio->set_ilmoitus(Tekstit::$kooste_virheilm_elementtien_tallennus . $virheilm);
         }
     } else {
         // Koosteen tallennus ei onnistunut
         $this->toteuta_nayta_koostelomake($palauteolio);
         $palauteolio->set_virhekoodi(Palaute::$VIRHEKOODI_TALLENNUS);
         $palauteolio->set_ilmoitus(Tekstit::$kooste_virheilm_tallennus . $uusi->tulosta_virheilmoitukset());
     }
 }