Пример #1
0
 /**
  * Toteuttaa ratkaisun poiston. Linkit kuviin poistetaan automaattisesti
  * tietokantatasolla.
  * @param Palaute $palauteolio
  */
 function toteuta_poista(&$palauteolio)
 {
     $parametriolio = $this->get_parametriolio();
     $id_kokon = $parametriolio->id_kokon;
     $id_teht = $parametriolio->id_teht;
     $id_ratk = $parametriolio->id_ratk;
     $omaid = $parametriolio->get_omaid();
     $tietokantaolio = $parametriolio->get_tietokantaolio();
     $onnistuminen = Palaute::$VIRHEKOODI_POISTO;
     $palaute = "";
     /* Ilmoitus. */
     $palautesisalto = "";
     $palauteolio = new Palaute();
     $poistettava = new Ratkaisu($id_ratk, $tietokantaolio);
     if ($poistettava->olio_loytyi_tietokannasta) {
         $palaute = $poistettava->poista();
         if ($palaute === Ratkaisu::$OPERAATIO_ONNISTUI) {
             // Poistetaan mahdolliset tyhjään osoittavat kooste-elementit:
             if (Elementti::poista_elementit($tietokantaolio, Oliotyyppi::$RATKAISU, $id_ratk) === Malliluokkapohja::$OPERAATIO_ONNISTUI) {
                 // Aktiivisuusmerkintä:
                 $aktiivisuuspalaute = paivita_aktiivisuus($omaid, $tietokantaolio, time(), Aktiivisuus::$RATKAISUN_POISTO);
                 if (!$aktiivisuuspalaute) {
                     $this->lisaa_virheilmoitus(Tekstit::$virheilm_aktiivisuuden_tallennus_eiok);
                 } else {
                     // Onnistuminen:
                     $onnistuminen = Palaute::$VIRHEKOODI_KAIKKI_OK;
                 }
                 $palaute = Tekstit::$ratkaisu_ilm_poisto_ok;
             } else {
                 $palaute = Tekstit::$kooste_virheilm_elementtien_poistosiivous_ei_ok;
             }
         } else {
             $palaute = Tekstit::$ratkaisu_virheilm_poisto_eiok;
         }
     } else {
         $palaute = Tekstit::$ratkaisu_virheilm_poistettavaa_ei_loytynyt;
     }
     $this->toteuta_nayta($palauteolio);
     $palauteolio->set_ilmoitus($palaute);
     $palauteolio->set_virhekoodi($onnistuminen);
     $palauteolio->set_valikkonaytto(false);
 }