/** * 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); }