Exemple #1
0
 function __construct($tietokantaolio, $id)
 {
     // Määritellään tietokantatiedot. True, jos on luku, muuten false.
     $tietokantasolut = array(new Tietokantasolu(Testiolio::$SARAKENIMI_ID, Tietokantasolu::$luku_int), new Tietokantasolu(Testiolio::$SARAKENIMI_LUOMISHETKI_SEK, Tietokantasolu::$luku_int), new Tietokantasolu(Testiolio::$SARAKENIMI_ED_MUUTOS_SEK, Tietokantasolu::$luku_int), new Tietokantasolu(Testiolio::$SARAKENIMI_KOMMENTTI, Tietokantasolu::$mj_tyhja_EI_ok));
     $taulunimi = "testiolio";
     parent::__construct($tietokantaolio, $id, $taulunimi, $tietokantasolut);
 }
Exemple #2
0
 function __construct($id, $tietokantaolio)
 {
     $tietokantasolut = array(new Tietokantasolu(Elementti::$SARAKENIMI_ID, Tietokantasolu::$luku_int), new Tietokantasolu(Elementti::$sarakenimi_kooste_id, Tietokantasolu::$luku_int), new Tietokantasolu(Elementti::$sarakenimi_olio_id, Tietokantasolu::$luku_int), new Tietokantasolu(Elementti::$sarakenimi_oliotyyppi, Tietokantasolu::$luku_int), new Tietokantasolu(Elementti::$sarakenimi_jarjestysluku, Tietokantasolu::$luku_int), new Tietokantasolu(Elementti::$sarakenimi_pisteet, Tietokantasolu::$luku_int), new Tietokantasolu(Elementti::$sarakenimi_nakyvyys, Tietokantasolu::$luku_int));
     $taulunimi = Elementti::$taulunimi;
     parent::__construct($tietokantaolio, $id, $taulunimi, $tietokantasolut);
     $this->ed_id = Elementti::$MUUTTUJAA_EI_MAARITELTY;
     $this->seur_id = Elementti::$MUUTTUJAA_EI_MAARITELTY;
 }
Exemple #3
0
 function __construct($id, $tietokantaolio)
 {
     $tietokantasolut = array(new Tietokantasolu(Ratkaisu::$SARAKENIMI_ID, Tietokantasolu::$luku_int), new Tietokantasolu(Ratkaisu::$sarakenimi_teht_id, Tietokantasolu::$luku_int), new Tietokantasolu(Ratkaisu::$sarakenimi_henkilo_id, Tietokantasolu::$luku_int), new Tietokantasolu(Ratkaisu::$sarakenimi_luomishetki_sek, Tietokantasolu::$luku_int), new Tietokantasolu(Ratkaisu::$sarakenimi_ed_muutos_sek, Tietokantasolu::$luku_int), new Tietokantasolu(Ratkaisu::$sarakenimi_vastaus, Tietokantasolu::$mj_tyhja_EI_ok), new Tietokantasolu(Ratkaisu::$sarakenimi_ratkaisu, Tietokantasolu::$mj_tyhja_ok), new Tietokantasolu(Ratkaisu::$sarakenimi_nakyvyys, Tietokantasolu::$luku_int));
     $taulunimi = Ratkaisu::$taulunimi;
     parent::__construct($tietokantaolio, $id, $taulunimi, $tietokantasolut);
     $this->kuuluu_koosteeseen = false;
     // Oletus
     $this->otsikkomerkinta = "";
     $this->nakyvyysmerkki = "";
 }
Exemple #4
0
 /**
  * Konstruktorin "overloading" eli eri konstruktorit eri parametreille
  * ei ole tuettu PHP:ssä. Kierrän tämän antamalla parametreille, joita
  * ei käytetä, vakioarvon, joka tarkoittaa, ettei parametri käytössä.
  *
  * @param Tietokantaolio $tietokantaolio
  * @param <type> $tk_kuvausolio Tietokantahausta saatava yksi rivi
  * oliona.
  */
 function __construct($tietokantaolio, $id)
 {
     // Huomaa, että taulunimenä on yliluokassa vain pääluokkataulun nimi:
     parent::__construct($tietokantaolio, $id, "bkuvaukset");
     $this->virheilmot = array();
     $this->lajiluokka_id = Kuvaus::$MUUTTUJAA_EI_MAARITELTY;
     $this->nimi = Kuvaus::$MUUTTUJAA_EI_MAARITELTY;
     $this->kuvaus = Kuvaus::$MUUTTUJAA_EI_MAARITELTY;
     $this->kieli = Kuvaus::$MUUTTUJAA_EI_MAARITELTY;
     // Haetaan ja sijoitetaan tietokantarivin arvot, jos se on
     // olemassa eli parametri käytössä ja tietokantaolio oikea luokka.
     if ($this->tietokantaolio instanceof Tietokantaolio && $this->get_id() != Kuvaus::$PARAMETRI_EI_KAYTOSSA) {
         // Haetaan kuvauksen tiedot tietokannasta:
         try {
             $taulunimi = $this->tk_taulunimi;
             // bkuvaukset
             $sarakenimi = Kuvaus::$SARAKENIMI_ID;
             $hakuarvo = $this->id;
             $tk_kuvausolio = $this->tietokantaolio->hae_eka_osuma_oliona($taulunimi, $sarakenimi, $hakuarvo);
             if ($tk_kuvausolio != Tietokantaolio::$HAKU_PALAUTTI_TYHJAN) {
                 $this->lajiluokka_id = $tk_kuvausolio->lajiluokka_id;
                 $this->nimi = $tk_kuvausolio->nimi;
                 $this->kuvaus = $tk_kuvausolio->kuvaus;
                 $this->kieli = $tk_kuvausolio->kieli;
                 $this->olio_loytyi_tietokannasta = true;
             } else {
                 // Jos mitään ei löydy, muutetaan ei-määritellyksi:
                 $tk_kuvausolio = Kuvaus::$MUUTTUJAA_EI_MAARITELTY;
                 $this->id = Kuvaus::$MUUTTUJAA_EI_MAARITELTY;
             }
             // Otetaan ylös tiedot luokan muuttujaaan.
             $this->tk_olio = $tk_kuvausolio;
         } catch (Exception $virhe) {
             nollaa_muuttujat();
         }
     }
 }
 /**
  * Metodi, joka tallentaa muokatun kokonaisuuden tiedot tietokantaan.
  * Palauttaa arvon Malliluokkapohja::$VIRHE, jos tallennus epäonnistuu,
  * muuten arvon Malliluokkapohja::$OPERAATIO_ONNISTUI.
  *
  * Ajaa Malliluokkapohjan vastaavan metodin yli.
  * 
  * Seuraavat arvot asetetaan täällä automaattisesti, joten niistä ei
  * tarvitse muualla huolehtia: 
  * 
  *   ed_muutos_sek
  * 
  * luomishetki_sek-arvoa ei ole syytä muuttaa, vaikka sitä ei estetä täällä.  
  * 
  * Huolehtii myös isikokonaisuuksien on_lapsia-arvojen päivittämisestä silloin, kun
  * isikokonaisuutta vaihdetaan. Tällöin sekä uuden että vanhan isi-
  * kokonaisuuden on_lapsia-arvot tarkistetaan ja päivitetään.
  * 
  * @return int Palauttaa normaalin Malliluokkapohja::$VIRHE tai 
  * Malliluokkapohja::$OPERAATIO_ONNISTUI -arvon.
  * */
 function tallenna_muutokset()
 {
     $this->set_arvo(time(), Kokonaisuusolio::$sarakenimi_ed_muutos_sek);
     // Haetaan tietokannassa olevan olion ylakokonaisuuden_id, koska tämän
     // olion arvoja on jo saatettu muuttaa:
     $vanha = new Kokonaisuusolio($this->get_id(), $this->tietokantaolio);
     $ylakokonaisuuden_id_vanha = $vanha->getYlakokonaisuuden_id();
     $tallennus = parent::tallenna_muutokset();
     if ($tallennus === Malliluokkapohja::$OPERAATIO_ONNISTUI) {
         // Päivitetään on_lapsia, jos kokonaisuus on linkitetty johonkin muuhun:
         $ylakokonaisuuden_id = $this->getYlakokonaisuuden_id();
         if ($ylakokonaisuuden_id != $ylakokonaisuuden_id_vanha) {
             // Jos uusi yläkokonaisuus on olemassaolevan kokonaisuus,
             // varmistetaan, että sillä on lapsia.
             if ($ylakokonaisuuden_id > 0) {
                 $ylakok = new Kokonaisuusolio($ylakokonaisuuden_id, $this->tietokantaolio);
                 if ($ylakok->olio_loytyi_tietokannasta) {
                     $on_lapsia = 1;
                     $onnistuminen = $ylakok->tallenna_on_lapsia_muutos_kokon($on_lapsia);
                     if ($onnistuminen === Kokonaisuusolio::$VIRHE) {
                         $this->lisaa_virheilmoitus(Tekstit::$virheilm_kokon_muutostallennus_lapsimuutos_eiok);
                     }
                 } else {
                     $this->lisaa_virheilmoitus(Tekstit::$ilm_kokon_ei_loytynyt);
                 }
             }
             // Mahdollinen entinen yläkokonaisuus pitää myös tarkistaa, onko
             // sillä vielä lapsia vai ei.  Mutta vain jos id > 0, koska
             // muuten kokonaisuudella ei ennen ollut yläkokonaisuuksia.
             if ($ylakokonaisuuden_id_vanha > 0) {
                 $ylakok_vanha = new Kokonaisuusolio($ylakokonaisuuden_id_vanha, $this->tietokantaolio);
                 if ($ylakok_vanha->olio_loytyi_tietokannasta) {
                     if ($ylakok_vanha->on_lapsia_kokon()) {
                         $on_lapsia = 1;
                     } else {
                         $on_lapsia = 0;
                     }
                     $onnistuminen = $ylakok_vanha->tallenna_on_lapsia_muutos_kokon($on_lapsia);
                     if ($onnistuminen === Kokonaisuusolio::$VIRHE) {
                         $this->lisaa_virheilmoitus(Tekstit::$virheilm_kokon_muutostallennus_lapsimuutos_eiok);
                     }
                 } else {
                     $this->lisaa_virheilmoitus(Tekstit::$ilm_kokon_ei_loytynyt);
                 }
             }
         }
     }
     return $tallennus;
 }
Exemple #6
0
 public function nollaa_muuttujat()
 {
     parent::nollaa_muuttujat();
     // Kutsuu Malliluokkapohjan metodia.
     $this->id = Kuva::$MUUTTUJAA_EI_MAARITELTY;
     // Tämä tarkkaan ottaen turha.
     $this->henkilo_id = Kuva::$MUUTTUJAA_EI_MAARITELTY;
     $this->kuvaotsikko = Kuva::$MUUTTUJAA_EI_MAARITELTY;
     $this->kuvaselitys = Kuva::$MUUTTUJAA_EI_MAARITELTY;
     $this->vuosi = Kuva::$MUUTTUJAA_EI_MAARITELTY;
     $this->kk = Kuva::$MUUTTUJAA_EI_MAARITELTY;
     $this->paiva = Kuva::$MUUTTUJAA_EI_MAARITELTY;
     $this->src = Kuva::$MUUTTUJAA_EI_MAARITELTY;
     $this->leveys = Kuva::$MUUTTUJAA_EI_MAARITELTY;
     $this->korkeus = Kuva::$MUUTTUJAA_EI_MAARITELTY;
     $this->tiedostokoko = Kuva::$MUUTTUJAA_EI_MAARITELTY;
     $this->tiedostotunnus = Kuva::$MUUTTUJAA_EI_MAARITELTY;
     $this->tiedostonimi = Kuva::$MUUTTUJAA_EI_MAARITELTY;
     $this->tallennusaika_sek = Kuva::$MUUTTUJAA_EI_MAARITELTY;
 }
Exemple #7
0
 function __construct($id, $tietokantaolio)
 {
     $tietokantasolut = array(new Tietokantasolu(Palautus::$sarakenimi_kuvaus, Tietokantasolu::$mj_tyhja_ok), new Tietokantasolu(Palautus::$sarakenimi_teksti, Tietokantasolu::$mj_tyhja_ok), new Tietokantasolu(Palautus::$sarakenimi_kurssitieto_id, Tietokantasolu::$luku_int), new Tietokantasolu(Palautus::$sarakenimi_opiskelija_etunimi, Tietokantasolu::$mj_tyhja_EI_ok), new Tietokantasolu(Palautus::$sarakenimi_opiskelija_sukunimi, Tietokantasolu::$mj_tyhja_EI_ok), new Tietokantasolu(Palautus::$sarakenimi_luomishetki_sek, Tietokantasolu::$luku_int));
     $taulunimi = Palautus::$taulunimi;
     parent::__construct($tietokantaolio, $id, $taulunimi, $tietokantasolut);
 }
Exemple #8
0
 function __construct($id, $tietokantaolio)
 {
     $tietokantasolut = array(new Tietokantasolu(Kurssitieto::$sarakenimi_tunniste, Tietokantasolu::$mj_tyhja_EI_ok), new Tietokantasolu(Kurssitieto::$sarakenimi_kuvaus, Tietokantasolu::$mj_tyhja_ok), new Tietokantasolu(Kurssitieto::$sarakenimi_opettaja_nimi, Tietokantasolu::$mj_tyhja_EI_ok), new Tietokantasolu(Kurssitieto::$sarakenimi_opettaja_id, Tietokantasolu::$luku_int), new Tietokantasolu(Kurssitieto::$sarakenimi_nakyvyys, Tietokantasolu::$luku_int), new Tietokantasolu(Kurssitieto::$sarakenimi_luomishetki_sek, Tietokantasolu::$luku_int));
     $taulunimi = Kurssitieto::$taulunimi;
     parent::__construct($tietokantaolio, $id, $taulunimi, $tietokantasolut);
 }
 function __construct($id, $tietokantaolio)
 {
     $tietokantasolut = array(new Tietokantasolu(Elementtiryhmalinkki::$SARAKENIMI_ID, Tietokantasolu::$luku_int), new Tietokantasolu(Elementtiryhmalinkki::$sarakenimi_elementtiryhma_id, Tietokantasolu::$luku_int), new Tietokantasolu(Elementtiryhmalinkki::$sarakenimi_elementti_id, Tietokantasolu::$luku_int));
     $taulunimi = Elementtiryhmalinkki::$taulunimi;
     parent::__construct($tietokantaolio, $id, $taulunimi, $tietokantasolut);
 }
Exemple #10
0
 /**
  * Varmistetaan ennen tallennusta, ettei vastaavaa lisävaltuutta tai
  * yleistä lisävaltuutta ole olemassa kyseiselle henkilölle. 
  * 
  * <p>Palauttaa onnistumisen mukaan joko Malliluokkapohja::$OPERAATIO_ONNISTUI
  * tai Malliluokkapohja::$VIRHE.</p>
  * 
  * Virhetilanteessa lähetetään oliolle virheilmoitus, jonka voi kutsuja
  * hyödyntää.
  */
 public function tallenna_uusi()
 {
     // Uusi lisätään vain, jos arvot kunnossa ja tietokannassa ei vanhoja.
     if ($this->on_tallennuskelpoinen()) {
         return parent::tallenna_uusi();
     } else {
         return Lisavaltuudet::$VIRHE;
     }
 }
Exemple #11
0
 /**
  * Lisää tarkistuksia esimerkiksi liittyen tunnuksiin. Palauttaa samat
  * arvot kuin Malliluokkapohjan metodikin. Virheen sattuessa ilmoitukset
  * virheilmoituksissa.
  * 
  * Huomaa, että salasana koodaus tehdään vasta tarkistuksen jälkeen, jotta
  * tarkistus on mahdollinen. Tämä tosin aiheutti melkein aika ilkeän
  * virheen, jonka onneksi testiohjelma huomasi...
  */
 public function tallenna_muutokset()
 {
     // Tarkistetaan ennen tallennuksen yrittämistä.
     $uusi_olio = false;
     if ($this->on_tallennuskelpoinen($uusi_olio)) {
         // Jos kaikki kunnossa, koodataan tarvittaessa salasana ja tallennetaan:
         if ($this->tunnusten_muokkaus === Tunnukset::$kumpikin || $this->tunnusten_muokkaus === Tunnukset::$vain_salis) {
             $koodattu = md5($this->get_arvo(Henkilo::$sarakenimi_salasana));
             $this->set_arvo($koodattu, Henkilo::$sarakenimi_salasana);
         }
         $tallennuspalaute = parent::tallenna_muutokset();
     } else {
         $tallennuspalaute = Henkilo::$VIRHE;
         // Tämä oli ilkeä: virheellinen arvo aiheutti sen, että
         // salasana jäi koodaamattomaan muotoon, ja jos heti perään
         // muokattiin olion jotakin muuta kuin tunnusta, livahti
         // tietokantaan salasana selväkielisenä! Kannatti testata...
         // Pitää siis koodata täällä myös!
         if ($this->tunnusten_muokkaus === Tunnukset::$kumpikin || $this->tunnusten_muokkaus === Tunnukset::$vain_salis) {
             $koodattu = md5($this->get_arvo(Henkilo::$sarakenimi_salasana));
             $this->set_arvo($koodattu, Henkilo::$sarakenimi_salasana);
         }
     }
     return $tallennuspalaute;
 }
Exemple #12
0
 /**
  * Asettaa olion muuttujille samat arvot kuin ilman tietokantatietoja
  * luodessa:
  */
 function nollaa_muuttujat()
 {
     parent::nollaa_muuttujat();
     $this->ylaluokka_id = Lajiluokka::$MUUTTUJAA_EI_MAARITELTY;
     $this->nimi_latina = Lajiluokka::$MUUTTUJAA_EI_MAARITELTY;
 }
 function __construct($id, $tietokantaolio)
 {
     $tietokantasolut = array(new Tietokantasolu(Elementtiryhma::$SARAKENIMI_ID, Tietokantasolu::$luku_int), new Tietokantasolu(Elementtiryhma::$sarakenimi_tunnus, Tietokantasolu::$luku_int), new Tietokantasolu(Elementtiryhma::$sarakenimi_kooste_id, Tietokantasolu::$luku_int), new Tietokantasolu(Elementtiryhma::$sarakenimi_nimi, Tietokantasolu::$mj_tyhja_EI_ok), new Tietokantasolu(Elementtiryhma::$sarakenimi_selitys, Tietokantasolu::$mj_tyhja_ok));
     $taulunimi = Elementtiryhma::$taulunimi;
     parent::__construct($tietokantaolio, $id, $taulunimi, $tietokantasolut);
 }
Exemple #14
0
 function __construct($id, $tietokantaolio)
 {
     $tietokantasolut = array(new Tietokantasolu(Aktiivisuus::$SARAKENIMI_ID, Tietokantasolu::$luku_int), new Tietokantasolu(Aktiivisuus::$sarakenimi_henkilo_id, Tietokantasolu::$luku_int), new Tietokantasolu(Aktiivisuus::$sarakenimi_viimeksi_aktiivi, Tietokantasolu::$luku_int), new Tietokantasolu(Aktiivisuus::$sarakenimi_aktiivisuuslaji, Tietokantasolu::$luku_int));
     $taulunimi = Aktiivisuus::$taulunimi;
     parent::__construct($tietokantaolio, $id, $taulunimi, $tietokantasolut);
 }
Exemple #15
0
 /**
  * Muuttaa kaikki muuttujat, myös id:n ja tietokantaolion arvoiksi
  * Lajiluokka::MUUTTUJAA_EI_MAARITELTY 
  */
 public function nollaa_muuttujat()
 {
     parent::nollaa_muuttujat();
     $this->henkilo_id = Havainto::$MUUTTUJAA_EI_MAARITELTY;
     $this->lajiluokka_id = Havainto::$MUUTTUJAA_EI_MAARITELTY;
     $this->kommentti = Havainto::$MUUTTUJAA_EI_MAARITELTY;
     $this->paikka = Havainto::$MUUTTUJAA_EI_MAARITELTY;
     $this->vuosi = Havainto::$MUUTTUJAA_EI_MAARITELTY;
     $this->kk = Havainto::$MUUTTUJAA_EI_MAARITELTY;
     $this->paiva = Havainto::$MUUTTUJAA_EI_MAARITELTY;
     $this->maa = Havainto::$MUUTTUJAA_EI_MAARITELTY;
     $this->varmuus = Havainto::$MUUTTUJAA_EI_MAARITELTY;
     $this->muutetut_bkuvalinkit_lkm = Havainto::$MUUTTUJAA_EI_MAARITELTY;
     $this->poistetut_pikakommentit_lkm = Havainto::$MUUTTUJAA_EI_MAARITELTY;
     $this->vanha_lajiluokka_id = Havainto::$MUUTTUJAA_EI_MAARITELTY;
 }
Exemple #16
0
 function __construct($id, $tietokantaolio)
 {
     $tietokantasolut = array(new Tietokantasolu(Kooste::$SARAKENIMI_ID, Tietokantasolu::$luku_int), new Tietokantasolu(Kooste::$sarakenimi_henkilo_id, Tietokantasolu::$luku_int), new Tietokantasolu(Kooste::$sarakenimi_oppiaine, Tietokantasolu::$luku_int), new Tietokantasolu(Kooste::$sarakenimi_taso, Tietokantasolu::$luku_int), new Tietokantasolu(Kooste::$sarakenimi_kieli, Tietokantasolu::$luku_int), new Tietokantasolu(Kooste::$sarakenimi_tyyppi, Tietokantasolu::$luku_int), new Tietokantasolu(Kooste::$sarakenimi_otsikko, Tietokantasolu::$mj_tyhja_ok), new Tietokantasolu(Kooste::$sarakenimi_nimi, Tietokantasolu::$mj_tyhja_EI_ok), new Tietokantasolu(Kooste::$sarakenimi_selitys, Tietokantasolu::$mj_tyhja_ok), new Tietokantasolu(Kooste::$sarakenimi_nakyvyys, Tietokantasolu::$luku_int), new Tietokantasolu(Kooste::$sarakenimi_organisaatio, Tietokantasolu::$mj_tyhja_ok));
     $taulunimi = Kooste::$taulunimi;
     parent::__construct($tietokantaolio, $id, $taulunimi, $tietokantasolut);
 }