Esempio n. 1
0
     //                              Valtuudet::$HALLINTA, 1);
     //echo preg_replace('/^\s+|\r\n|\n|\r|kissa||\s+$/m', '', $html);
     echo $output = str_replace(array("\r\n", "\r", "\n"), "", $html);
 } else {
     if ($kysymys == "nayta_ratkaisun_esikatselu") {
         $vastaus = $parametriolio->vastaus_ratk;
         $ratkaisu = $parametriolio->ratkaisu_ratk;
         $id_teht = $parametriolio->id_teht;
         // Luodaan uusi Ratkaisuolio tietojen perusteella:
         $kuvakansion_os = Kuvat::$latauskansion_osoite;
         $tk_ratkaisu = "";
         $ratk = new Ratkaisu(Ratkaisu::$MUUTTUJAA_EI_MAARITELTY, $tietokantaolio);
         // HUOM! Normaali set_arvo-metodi aiheuttaa sitkeät \n -merkit esikatseluun!
         $ratk->set_arvo_kevyt($vastaus, Ratkaisu::$sarakenimi_vastaus);
         $ratk->set_arvo_kevyt($ratkaisu, Ratkaisu::$sarakenimi_ratkaisu);
         $ratk->setTeht_id($id_teht);
         $ratk->setId($parametriolio->id_ratk);
         $html = $ratkaisunakymat->tulosta_esikatselu($id_kokon, $ratk);
         echo $html;
     } else {
         if ($kysymys == "hae_koodi") {
             $oliotyyppi = $parametriolio->naytettava + 0;
             if ($oliotyyppi === Oliotyyppi::$KOKONAISUUS) {
                 $koodi = $kokonaisuuskontrolleri->hae_tiivistelmakoodi();
             } else {
                 if ($oliotyyppi === Oliotyyppi::$TEHTAVA) {
                     $koodi = $tehtavakontrolleri->hae_tehtavakoodi();
                 } else {
                     $koodi = $ratkaisukontrolleri->hae_ratkaisukoodi();
                 }
             }
 /**
  * 
  * Toteuttaa uuden ratkaisun tallentamisen. Välittää Palaute-luokan oliolle
  * tiedot sisällöstä yms.
  *
  * @param Palaute $palauteolio
  */
 function toteuta_tallenna_uusi(&$palauteolio)
 {
     $parametriolio = $this->get_parametriolio();
     $omaid = $parametriolio->get_omaid();
     $vastaus_ratk = $parametriolio->vastaus_ratk;
     $ratkaisu_ratk = $parametriolio->ratkaisu_ratk;
     $nakyvyys = $parametriolio->nakyvyys_ratk;
     $id_teht = $parametriolio->id_teht;
     $elem_id = $parametriolio->elementti_id;
     $elemryhma_id = $parametriolio->elemryhma_id;
     /**
      * @var Tietokantaolio 
      */
     $tietokantaolio = $parametriolio->get_tietokantaolio();
     $palauteolio->set_virhekoodi(Palaute::$VIRHEKOODI_TALLENNUS);
     $tallennettava = new Ratkaisu(Ratkaisu::$MUUTTUJAA_EI_MAARITELTY, $tietokantaolio);
     $tallennettava->set_arvo(time(), Ratkaisu::$sarakenimi_luomishetki_sek);
     $tallennettava->set_arvo(-1, Ratkaisu::$sarakenimi_ed_muutos_sek);
     $tallennettava->setRatkaisu($ratkaisu_ratk);
     $tallennettava->setVastaus($vastaus_ratk);
     $tallennettava->setNakyvyys($nakyvyys);
     $tallennettava->setHenkilo_id($omaid);
     $tallennettava->setTeht_id($id_teht);
     $palaute = $tallennettava->tallenna_uusi();
     if ($palaute === Ratkaisu::$OPERAATIO_ONNISTUI) {
         // Aktiivisuusmerkintä:
         $aktiivisuuspalaute = paivita_aktiivisuus($omaid, $tietokantaolio, time(), Aktiivisuus::$UUDEN_RATKAISUN_TALLENNUS);
         if (!$aktiivisuuspalaute) {
             $this->lisaa_virheilmoitus(Tekstit::$virheilm_aktiivisuuden_tallennus_eiok);
         } else {
             $palauteolio->set_virhekoodi(Palaute::$VIRHEKOODI_KAIKKI_OK);
         }
         // Tarkistetaan, mistä ollaan tulossa ja minne menossa:
         $koostekontrolleri = new Koostekontrolleri($tietokantaolio, $parametriolio);
         if ($elemryhma_id != Elementtiryhma::$MUUTTUJAA_EI_MAARITELTY) {
             $koostekontrolleri->toteuta_nayta_elementtiryhma($palauteolio);
             $palauteolio->set_muokatun_id($elem_id);
         } else {
             if ($elem_id != Elementti::$MUUTTUJAA_EI_MAARITELTY) {
                 $koostekontrolleri->toteuta_nayta($palauteolio);
                 $palauteolio->set_muokatun_id($elem_id);
             } else {
                 $this->toteuta_nayta($palauteolio);
                 $palauteolio->set_muokatun_id($tallennettava->getId());
             }
         }
         $palauteolio->set_ilmoitus(Tekstit::$ratkaisu_ilm_tallennus_uusi_ok . "<br/>" . $this->tulosta_virheilmoitukset());
     } else {
         $palauteolio->set_ilmoitus(Tekstit::$ratkaisu_virheilm_tallennus_uusi_eiok . "<br/>" . $this->tulosta_virheilmoitukset() . "<br/>" . $tallennettava->tulosta_virheilmoitukset());
         $lomake = $this->ratkaisunakymat->nayta_ratkaisulomake($parametriolio);
         $palauteolio->set_sisalto($lomake);
     }
     $palauteolio->set_valikkonaytto(false);
 }