/** * Poistaa elementit, jotka viittaavat olioon, joka tunnistetaan * parametrien avulla. Liittyy olion poiston jälkeiseen siivoukseen, jottei * jää elementtejä osoittamaan poistettuun olioon. * * Jos kaikki onnistuu, palauttaa arvon Pohja::$OPERAATIO_ONNISTUI, * muussa tapauksessa arvon Pohja::$VIRHE. * * @param Tietokantaolio $tietokantaolio * @param type $oliotyyppi Poistetun olion tyyppi (kokon, teht, ratk,...) * @param type $olio_id Poistetun olion id. */ public static function poista_elementit($tietokantaolio, $oliotyyppi, $olio_id) { $palaute = Pohja::$VIRHE; // Haetaan elementit: $hakulause = "SELECT id FROM " . Elementti::$taulunimi . " WHERE " . Elementti::$sarakenimi_oliotyyppi . "=" . $oliotyyppi . " AND " . Elementti::$sarakenimi_olio_id . "=" . $olio_id; $osumat = $tietokantaolio->tee_OMAhaku_oliotaulukkopalautteella($hakulause); $poistolaskuri = 0; // Laskee onnistuneet poistot foreach ($osumat as $tk_olio) { $id = $tk_olio->id; $elem = new Elementti($id, $tietokantaolio); if ($elem->olio_loytyi_tietokannasta) { if ($elem->poista() + 0 === Malliluokkapohja::$OPERAATIO_ONNISTUI) { $poistolaskuri++; } } } // Tarkistus, että kaikki poistot ok. Ellei osumia, myös ok! if ($poistolaskuri === sizeof($osumat)) { $palaute = Pohja::$OPERAATIO_ONNISTUI; } return $palaute; }
/** * * @param Parametrit $parametriolio * @param Tietokantaolio $tietokantaolio * @param type $koodaus */ function remove_element($parametriolio, $tietokantaolio, $koodaus) { $elem_id = $parametriolio->elementti_id; $elem = new Elementti($elem_id, $tietokantaolio); $comment = "Elem ei loytyny tietokannasta. Elem_id=" . $elem_id; if ($elem->olio_loytyi_tietokannasta) { $palaute = $elem->poista(); if ($palaute + 0 === Malliluokkapohja::$OPERAATIO_ONNISTUI + 0) { $comment = Tekstit::$kooste_ilm_Elementin_poisto_ok; } else { $comment = Tekstit::$kooste_virheilm_Elementin_poisto_eiok . " " . $elem->tulosta_virheilmoitukset(); $elem_id = -1; } } // Html-elementin id: $elementti_id = Koostekontrolleri::$elementti_idn_alkuosa . $parametriolio->elementti_id; $xml = '<?xml version="1.0" encoding="' . $koodaus . '"?>'; $xml .= '<root>'; $xml .= '<elem_id>' . $elementti_id . '</elem_id>'; $xml .= '<palaute>' . $comment . '</palaute>'; $xml .= '</root>'; return $xml; }