Esempio n. 1
0
 /**
  * Hakee sen olion tietokannasta, johon parametrina annettu arvo (raaka-id) 
  * viittaa ja palauttaa sen oikeantyyppisen luokan oliona 
  * (Kokonaisuus, Tehtava, Ratkaisu,...).
  * 
  * Palauttaa yllä mainitun tyyppisen olion, jonka tietojen löytymisen 
  * tietokannasta tarkistetaan muuttujan "olio_loytyi_tietokannasta"-muuttujan 
  * avulla. Ellei parametri ole hyvä, palautetaan arvo
  * $MUUTTUJAA_EI_MAARITELTY.
  * 
  * 
  * @param type $id_raaka
  * @param type
  * @param Tietokantaolio $tietokantaolio
  * @return \Ratkaisu
  */
 public static function hae_viittausolio_id_raaka($id_raaka, $tietokantaolio)
 {
     $olio_id = Elementti::irrota_elem_olion_id($id_raaka);
     $oliotyyppi = Elementti::irrota_elem_olion_tyyppi($id_raaka);
     if ($oliotyyppi === Oliotyyppi::$KOKONAISUUS) {
         $taulunimi = Kokonaisuusolio::$taulunimi;
         $sarakenimi = Kokonaisuusolio::$SARAKENIMI_ID;
         $hakuarvo = $olio_id;
         $osuma = $tietokantaolio->hae_eka_osuma_oliona($taulunimi, $sarakenimi, $hakuarvo);
         if ($osuma == Tietokantaolio::$HAKU_PALAUTTI_TYHJAN) {
             $id = Kokonaisuusolio::$MUUTTUJAA_EI_MAARITELTY;
         } else {
             $id = $osuma->id;
         }
         $palautettava = new Kokonaisuusolio($id, $tietokantaolio);
     } else {
         if ($oliotyyppi === Oliotyyppi::$TEHTAVA) {
             $taulunimi = Tehtava::$taulunimi;
             $sarakenimi = Tehtava::$SARAKENIMI_ID;
             $hakuarvo = $olio_id;
             $osuma = $tietokantaolio->hae_eka_osuma_oliona($taulunimi, $sarakenimi, $hakuarvo);
             if ($osuma == Tietokantaolio::$HAKU_PALAUTTI_TYHJAN) {
                 $id = Tehtava::$MUUTTUJAA_EI_MAARITELTY;
             } else {
                 $id = $osuma->id;
             }
             $palautettava = new Tehtava($id, $tietokantaolio);
         } else {
             if ($oliotyyppi === Oliotyyppi::$RATKAISU) {
                 $taulunimi = Ratkaisu::$taulunimi;
                 $sarakenimi = Ratkaisu::$SARAKENIMI_ID;
                 $hakuarvo = $olio_id;
                 $osuma = $tietokantaolio->hae_eka_osuma_oliona($taulunimi, $sarakenimi, $hakuarvo);
                 if ($osuma == Tietokantaolio::$HAKU_PALAUTTI_TYHJAN) {
                     $id = Ratkaisu::$MUUTTUJAA_EI_MAARITELTY;
                 } else {
                     $id = $osuma->id;
                 }
                 $palautettava = new Ratkaisu($id, $tietokantaolio);
             } else {
                 $palautettava = Elementti::$MUUTTUJAA_EI_MAARITELTY;
             }
         }
     }
     return $palautettava;
 }
Esempio n. 2
0
 /**
  * @param string $id_raaka Id value of the element (like teht_43)
  * @param Parametrit $parametriolio
  * @param Tehtavanakymat $tehtavanakymat
  * @param Kokonaisuusnakymat $kokonnakymat
  */
 function show_element_preview($id_raaka, $parametriolio, $tehtavanakymat, $kokonnakymat)
 {
     $tietokantaolio = $parametriolio->get_tietokantaolio();
     $omaid = $parametriolio->get_omaid();
     // Let's find out the type of element:
     $type = Elementti::irrota_elem_olion_tyyppi($id_raaka);
     // Let's find out the id of the original object:
     $id = Elementti::irrota_elem_olion_id($id_raaka);
     if ($type === Oliotyyppi::$TEHTAVA) {
         // Luodaan uusi Tehtäväolio tietojen perusteella:
         $teht = new Tehtava($id, $tietokantaolio);
         $html = $tehtavanakymat->tulosta_esikatselu($omaid, $teht);
     } else {
         if ($type === Oliotyyppi::$KOKONAISUUS) {
             $kokon = new Kokonaisuusolio($id, $tietokantaolio);
             $html = $kokonnakymat->tulosta_esikatselu($kokon, $parametriolio);
         } else {
             $html = "Unknown type=" . $type . " and id=" . $id;
         }
     }
     //echo $output = str_replace(array("\r\n", "\r", "\n"), "", $html);
     return $html;
 }