예제 #1
0
 /**
  * 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;
 }
예제 #2
0
 /**
  * 
  * @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;
 }