/** * Toteuttaa nimenmukaisen toiminnon. * @return Palauteolio $palauteolio */ public function toteuta_nayta_havainto_ja_kuva_siirtolomake() { $lajiluokkaolio = new Lajiluokka($this->tietokantaolio, $this->parametriolio->id_lj); $sisaret = array(); // Muut lajiluokat. $this->parametriolio->kieli_id = Kielet::$SUOMI; // Haetaan suomenkielinen nimi, tai latina, ellei suomeksi löydy. // Tarkistetaan ensin, että lajiluokkaolio kunnossa: if ($lajiluokkaolio->olio_loytyi_tietokannasta) { $kuvaus = $lajiluokkaolio->hae_kuvaus(Kielet::$SUOMI); if ($kuvaus === Lajiluokka::$MUUTTUJAA_EI_MAARITELTY) { $this->parametriolio->nimi_kuv = $lajiluokkaolio->get_nimi_latina(); } else { $this->parametriolio->nimi_kuv = $kuvaus->get_nimi(); } // Haetaan sisarlajit lajivalikkoa varten. Itseä ei mukaan! $kieli_id = $this->parametriolio->kieli_id; $itse_mukana = FALSE; $sisaret = $lajiluokkaolio->hae_sisarlajiluokat($kieli_id, $itse_mukana); } else { $this->parametriolio->nimi_kuv = "tuntematon"; } $oletus_id_lj = $lajiluokkaolio->get_id(); $sisarlajiluokat = $sisaret; $otsikko = ""; $kieli_id = $this->parametriolio->kieli_id; $name_arvo = Bongausasetuksia::$havaintokuvasiirtolomakevalikko_name; $lajivalikko = Nakymat_lj::nayta_lajivalikko($oletus_id_lj, $sisarlajiluokat, $otsikko, $kieli_id, $name_arvo); $this->palauteolio->set_sisalto(Nakymat_lj::nayta_havaintojen_ja_kuvien_siirtolomake($this->parametriolio, $lajivalikko)); return $this->palauteolio; }
/** * Toteuttaa poistovahvistuskyselyn tulostuksen. * * @return Palauteolio $palauteolio */ public function toteuta_nayta_poistovahvistuskysely() { $pk = $this->nyk_pikakommentti; $html = $pk->nayta_poistovahvistuskysely(); $this->palauteolio->set_sisalto($html); //$this->palauteolio->set_sisalto("Kukkuu"); return $this->palauteolio; }
/** * Toteuttaa kuvan poistovahvistuksen näyttämisen. Mukaan haetaan ja näytetään * poistettava kuva. * * @param Parametrit $parametriolio * @return Palaute $palauteolio */ function toteuta_nayta_poistovahvistus($parametriolio) { $id_kokon = $parametriolio->id_kokon; $id_teht = $parametriolio->id_teht; $kohde = $parametriolio->kohde_kuva; $kohde_id = $parametriolio->id_kohde_kuva; $kuva_id = $parametriolio->id_kuva; $tietokantaolio = $parametriolio->get_tietokantaolio(); $html = ""; /* Palautettava koodi */ $palauteolio = new Palaute(); $ilmoitus = ""; /******************** Painikkeet *****************************/ $peru_nappi = ""; $poistovahvistus_nappi = ""; /* Uuden kuvan lisäyspainike tehtävään*/ $onsubmit_funktionimi = "nayta_kuvan_poistovahvistus"; $onsubmit_parametrit = array($kohde, $kuva_id); /* Kuvan id*/ /* Muotoillaan muuttujan name-arvo kohteen mukaan: */ $id_name = ""; if ($kohde == Kuvat::$kohde_kokonaisuus_tiivistelma || $kohde == Kuvat::$kohde_kokonaisuus_selitys) { $id_name = "id_kokon"; } else { if ($kohde == Kuvat::$kohde_tehtava) { $id_name = "id_teht"; } else { if ($kohde == Kuvat::$kohde_ratkaisu) { $id_name = "id_ratk"; } else { $id_name = "id_tuntematon"; } } } $form_maaritteet = array('method' => 'post', 'class' => 'rinnakkain', 'action' => "{$_SERVER['PHP_SELF']}?" . "&id_kuva=" . $kuva_id . "&id_kokon=" . $id_kokon . "&id_teht=" . $id_teht . "&" . $id_name . "=" . $kohde_id . "&kohde_kuva=" . $kohde); $input_maaritteet = array('name' => Toimintonimet::$kuvatoiminto, 'value' => Painikkeet::$PERU_POISTO_KUVA_VALUE); try { $peru_nappi = Html::luo_submit_painike_onsubmit_toiminnolla($onsubmit_funktionimi, $onsubmit_parametrit, $form_maaritteet, $input_maaritteet); } catch (Exception $poikkeus) { $ilmoitus = "Virhe poiston perumisnapin luomisessa: " . $poikkeus->getMessage(); } /* Poiston vahvistusnappi menee melkein samoilla muuttujilla: */ $input_maaritteet = array('name' => Toimintonimet::$kuvatoiminto, 'value' => Painikkeet::$POISTOVAHVISTUS_KUVA_VALUE); try { $poistovahvistus_nappi = Html::luo_submit_painike_onsubmit_toiminnolla($onsubmit_funktionimi, $onsubmit_parametrit, $form_maaritteet, $input_maaritteet); } catch (Exception $poikkeus) { $ilmoitus .= "Virhe poistonapin luomisessa: " . $poikkeus->getMessage(); } /******************** Painikkeet *****************************/ /* Haetaan poistettava kuva: */ $taulunimi = "kuvat"; $sarakenimi = "id"; $hakuarvo = $kuva_id; $hakutulosolio = $tietokantaolio->hae_eka_osuma_oliona($taulunimi, $sarakenimi, $hakuarvo); if ($hakutulosolio == Tietokantaolio::$HAKU_PALAUTTI_TYHJAN) { $ilmoitus .= "<br/>" . Tekstit::$ilm_kuva_poisto_kuvaa_ei_loytynyt; $html .= Tekstit::$ilm_kuva_poisto_kuvaa_ei_loytynyt; $html .= "<br/>" . $peru_nappi; } else { $kuva = new Kuva($hakutulosolio, $tietokantaolio); $html .= "<h2>" . Tekstit::$ilm_kuva_poistovahvistus . "</h2>"; $html .= $kuva->nayta_pelkka_kuva(Kuvat::$latauskansion_osoite); $html .= $poistovahvistus_nappi . $peru_nappi; } $palauteolio->set_sisalto($html); $palauteolio->set_ilmoitus($ilmoitus); return $palauteolio; }
/** * Toteuttaa : * @param Parametrit $parametriolio * @return Palaute $palauteolio */ function toteuta_($parametriolio) { $palauteolio = new Palaute(); $palauteolio->set_valikkonaytto(false); $palauteolio->set_sisalto($sisalto); $palauteolio->set_ilmoitus($ilmoitus); return $palauteolio; }
/** * Toteuttaa bongauskuva-albumeiden näyttämisen. * @param Parametrit $parametriolio * @return Palaute $palauteolio */ static function toteuta_bongausalbumeiden_naytto($parametriolio) { $palauteolio = new Palaute(); $sisalto = bongaus_hae_albumit($parametriolio->omaid, $parametriolio->tietokantaolio); $palauteolio->set_sisalto($sisalto); $palauteolio->set_ilmoitus(""); return $palauteolio; }
/** * Näyttää poistovarmistuksen tehtävän poistosta. * * @param Palaute $palauteolio */ function toteuta_nayta_poistovarmistus(&$palauteolio) { $parametriolio = $this->get_parametriolio(); $id_kokon = $parametriolio->id_kokon; $id_teht = $parametriolio->id_teht; $tietokantaolio = $parametriolio->get_tietokantaolio(); /* Painikkeet: */ $class = "rinnakkain"; $id = ""; $action = "{$_SERVER['PHP_SELF']}" . "?id_teht=" . $id_teht . "&id_kokon=" . $id_kokon; $name = Toimintonimet::$tehtavatoiminto; $value = Painikkeet::$tehtava_poistovahvistus_value; $oknappi = Html::luo_painikelomake($class, $id, $action, $name, $value); $class = "rinnakkain"; $id = ""; $action = "{$_SERVER['PHP_SELF']}?id_teht=" . $id_teht . "&id_kokon=" . $id_kokon; $name = Toimintonimet::$tehtavatoiminto; $value = Painikkeet::$tehtava_peru_poisto_value; $perunappi = Html::luo_painikelomake($class, $id, $action, $name, $value); /* Haetaan poistettavan tiedot: */ $poistettava = new Tehtava($id_teht, $tietokantaolio); if ($poistettava->olio_loytyi_tietokannasta) { $varmistus = "<h2>" . Tekstit::$tehtava_ilm_poistovahvistus . $poistettava->getOtsikko() . "'?</h2>"; $varmistus .= $oknappi . $perunappi; } else { $varmistus = "<h2>" . Tekstit::$tehtava_virheilm_poistettavaa_ei_loytynyt . "</h2>" . $perunappi; } $palauteolio->set_sisalto($varmistus); $palauteolio->set_valikkonaytto(false); }
/** * Palauttaa suoritustilaston taulukkoon muotoiltuna. * @param Parametrit $parametriolio * @return Palaute Palauttaa Palaute-luokan esiintymän. / */ function hae_suoritustilasto($parametriolio) { $tietokantaolio = $parametriolio->tietokantaolio; $omaid = $parametriolio->omaid; $palauteolio = new Palaute(); // Painikkeita: $muokkausnappi = ""; // Määritellään myöhemmin $poistonappi = ""; // Määritellään myöhemmin $paluunappi = ""; // Paluunappi perusnäkymään: $class = "rinnakkain"; $id = "paluunappi"; $action = "muistio.php"; $name = Muistiotoimintonimet::$perustoiminto; $value = Muistiopainikkeet::$paluu_perussuoritusnakymaan; $paluunappi = Html::luo_painikelomake($class, $id, $action, $name, $value); // Paluunappi lajitarkennusnäkymään: $class = "rinnakkain"; $id = "paluunappi"; $action = "muistio.php"; $name = Muistiotoimintonimet::$perustoiminto; $value = Muistiopainikkeet::$paluu_tilastot_lajeittain_nakymaan; $paluunappi2 = Html::luo_painikelomake($class, $id, $action, $name, $value); $otsikko = ""; if ($parametriolio->vain_omat_suoritukset) { $otsikko = $_SESSION['tiedot']->etunimi . " " . $_SESSION['tiedot']->sukunimi . ", "; } $otsikko .= Lajitarkennukset::hae_lajitarkennuksen_kuvaus($parametriolio->lajitarkennus); $otsikko .= $paluunappi2 . $paluunappi; if ($parametriolio->vain_omat_suoritukset) { $mj = "<table id = 'tulostaulu'>\n <tr><td id='kuukm' colspan='4'>{$otsikko}</td></tr>\n <tr>\n <th>Aika</th>\n <th>Kuvaus</th>\n <th>Pvm</th>\n <th>Toiminnot</th>\n </tr>"; } else { $mj = "<table id = 'tulostaulu'>\n <tr><td id='kuukm' colspan='5'>{$otsikko}</td></tr>\n <tr>\n <th>Aika</th>\n <th>Kuvaus</th>\n <th>Pvm</th>\n <th>Nimi</th>\n <th>Toiminnot</th>\n </tr>"; } // Tarkistetaan, haetaanko kaikki vaiko vain omat: if ($parametriolio->vain_omat_suoritukset) { $hakulause = "SELECT * FROM suoritukset\n WHERE (lajitarkennus= " . $parametriolio->lajitarkennus . " AND henkilo_id = " . $omaid . ")\n ORDER by kestotunnit, kestomin, kestosek;"; } else { $hakulause = "SELECT * FROM suoritukset\n WHERE lajitarkennus= '" . $parametriolio->lajitarkennus . "' " . "ORDER by kestotunnit, kestomin, kestosek;"; //ORDER by henkilo_id, kestotunnit, kestomin, kestosek;" } $osumaoliot = $tietokantaolio->tee_OMAhaku_oliotaulukkopalautteella($hakulause); if (empty($osumaoliot)) { $mj .= "<tr><td colspan=5>" . Muistiotekstit::$suorituksia_ei_loytynyt . "</td></tr>"; } else { $laskuri = 0; foreach ($osumaoliot as $suoritus) { // Painikkeet: $class = "rinnakkain"; $id = "muokkausnappi"; $action = "muistio.php?" . URL_muuttujat::$suoritus_id . "=" . $suoritus->id . "&" . URL_muuttujat::$valinnat . "=" . $suoritus->id . "&" . URL_muuttujat::$lajitarkennus . "=" . $suoritus->lajitarkennus . "&" . URL_muuttujat::$paluunakyma . "=" . Muistio_yleisia_arvoja::$nakyma_tulostilasto; $name = Muistiotoimintonimet::$perustoiminto; $value = Muistiopainikkeet::$muokkausnappikomento_lyhyt; $muokkausnappi = Html::luo_painikelomake($class, $id, $action, $name, $value); $id = "poistonappi"; $value = Muistiopainikkeet::$poistonappikomento_lyhyt; $poistonappi = Html::luo_painikelomake($class, $id, $action, $name, $value); // Haetaan henkilön nimi: $nimi = hae_henkilon_nimi($suoritus->henkilo_id, false, $parametriolio->tietokantaolio); // Muotoillaan aika: $aika = muotoile_suorituksen_kesto($suoritus->kestotunnit, $suoritus->kestomin, $suoritus->kestosek, $suoritus->kesto); if ($laskuri % 2 != 0) { $mj .= "<tr class='parillinen_rivi'>"; } else { $mj .= "<tr>"; } // Nämä tulevat kaikkiin: $mj .= "<td>{$aika}</td>" . "<td>{$suoritus->kuvaus}</td>" . "<td class='aikasolu'>" . anna_viikonp_suomeksi($suoritus->paiva, $suoritus->kk, $suoritus->vuosi, true) . " " . $suoritus->paiva . "." . $suoritus->kk . "." . $suoritus->vuosi . "</td>"; // Lisätään nimi, jos näytetään kaikki: if ($parametriolio->vain_omat_suoritukset == false) { $mj .= "<td>{$nimi}</td>"; } // Toiminnot tulevat kaikkiin omiin ja adminille: if ($suoritus->henkilo_id == $parametriolio->omaid || $parametriolio->get_kayttajan_valtuudet() == Valtuudet::$HALLINTA) { $mj .= "<td>" . $muokkausnappi . $poistonappi . "</td>"; } else { $mj .= "<td></td>"; } // Lopuksi suljetaan taulukon rivi: $mj .= "</tr>"; $laskuri++; } } $mj .= "</table>"; $palauteolio->set_sisalto($mj); $palauteolio->set_nayta_kiintolinkit(false); return $palauteolio; }
/** * Toteuttaa lomakkeen näytön sekä muokkausta että uuden luomista varten. * @return Palaute $palauteolio */ function toteuta_nayta_kokonaisuuslomake(&$palauteolio) { $parametriolio = $this->get_parametriolio(); $palauteolio = new Palaute(); $lomakkeen_naytto_ok = false; // Näytetäänkö lomaketta vai ei. $ilmoitus = ""; $sisalto = ""; // Tulossa koosteesta? Tarkistetaan: $elem_id = $parametriolio->elementti_id; $elem = Elementti::$MUUTTUJAA_EI_MAARITELTY; $elem_kandi = new Elementti($elem_id, $this->get_tietokantaolio()); if ($elem_kandi->olio_loytyi_tietokannasta) { $elem = $elem_kandi; } $elemryhma_id = $parametriolio->elemryhma_id; $elemryhma = Elementtiryhma::$MUUTTUJAA_EI_MAARITELTY; $elemryhma_kandi = new Elementtiryhma($elemryhma_id, $this->get_tietokantaolio()); if ($elemryhma_kandi->olio_loytyi_tietokannasta) { $elemryhma = $elemryhma_kandi; } // Tätä tarvitaan, ellei muokkauslomakkeeseen syystä tai toisesta mennä: $perunappi = Html::luo_forminput_painike(array(), array(Attr::name(Toimintonimet::$kokonaisuustoiminto), Attr::value(Painikkeet::$PERU_KOKON_MUUTOSTEN_TALLENNUS_VALUE))); /* Näytetään lomake, jonka avulla voi luoda uuden kokonaisuuden: */ $omaid = $parametriolio->get_omaid(); if ($parametriolio->get_uusi()) { $ilmoitus = ""; $palauteolio->set_valikkonaytto(false); $palauteolio->set_virhekoodi(Palaute::$VIRHEKOODI_KAIKKI_OK); $lomakkeen_naytto_ok = true; } else { // Vanhan muokkaus: tällöin lukitus on tärkeä! $id_muokattava = $parametriolio->id_kokon; $muokattava = new Kokonaisuusolio($id_muokattava, $this->get_tietokantaolio()); if ($muokattava->olio_loytyi_tietokannasta) { $lukitusarvo = $muokattava->getLukitus(); //===================== LUKITUS ================================ // Jos lukitus päällä, ei päästetä muokkaamaan! if (is_numeric($lukitusarvo) && $lukitusarvo != Kokonaisuusolio::$LUKITUS_OFF && $lukitusarvo != $omaid) { $ilmoitus = Tekstit::$virheilm_kokonaisuus_lukittu_muokkaus_eiok; $sisalto = Tekstit::$virheilm_kokonaisuus_lukittu_muokkaus_eiok; $sisalto .= $perunappi; } else { // Kun ei lukittu vieraalle: // Lukitaan kokonaisuus, ettei kukaan muu pääse samaan aikaan // muokkaamaan samaa kokonaisuutta: $lukon_tila = Kokonaisuusolio::$LUKITUS_ON; $lukitus = $muokattava->aseta_kokonaisuuden_lukitus($omaid, $lukon_tila); /* Ilmoitus, ellei lukitus jostakin syystä onnistunut: */ if ($lukitus != Kokonaisuusolio::$OPERAATIO_ONNISTUI) { $ilmoitus = " " . Tekstit::$virheilm_kokonaisuuden_lukitus_eiok; $sisalto = " " . Tekstit::$virheilm_kokonaisuuden_lukitus_eiok . "<br/>" . $muokattava->tulosta_virheilmoitukset() . "<br/> omaid=" . $omaid . ", nyk lukon tila=" . $lukitusarvo . " ja haluttu_lukon_tila=" . $lukon_tila; $sisalto .= "<br/>" . $perunappi; } else { $lomakkeen_naytto_ok = true; } } $sisalto = $sisalto . "<br/> " . $muokattava->tulosta_kaikki_ilmoitukset() . "<br/>"; } else { // Oliota ei löytynyt tietokannasta: $sisalto = Tekstit::$ilm_kokon_ei_loytynyt . $perunappi; } } //====================================================================== if ($lomakkeen_naytto_ok) { $sisalto = $this->kokonaisuusnakymat->nayta_kokonaisuuslomake($parametriolio->id_kokon, $omaid, $parametriolio->uusi, $parametriolio->ilmoitus_kokon, $parametriolio->get_tietokantaolio(), $parametriolio->oppiaine_kokon, $parametriolio->otsikko_kokon, $parametriolio->tiivis_kokon, $parametriolio->selitys_kokon, $parametriolio->taso_kokon, $parametriolio->jarjestysnro_kokon, $parametriolio->laajennetun_id_kokon, $parametriolio->ylakokonaisuuden_id_kokon, $parametriolio->kieli_id, $parametriolio->nakyvyys_kokon, Toimintonimet::$kokonaisuustoiminto, $this, $parametriolio->kaavakieli, $elem, $elemryhma); } $palauteolio->set_sisalto($sisalto); $palauteolio->set_valikkonaytto(false); $palauteolio->set_virhekoodi(Palaute::$VIRHEKOODI_KAIKKI_OK); $palauteolio->set_ilmoitus($ilmoitus); $palauteolio->set_nayttotapa(Html_koodi::$sisaltoelem_levea); return $palauteolio; }
/** * * @param Palaute $palauteolio */ public function toteuta_nayta_poistovarmistus(&$palauteolio) { $poistettava = $this->get_olio(); if ($poistettava instanceof Kooste) { $sisalto = $this->koostenakymat->nayta_poistovahvistuskysely($poistettava); $palauteolio->set_sisalto($sisalto); } }
/** * Näyttää kurssitietolomakkeen uuden luomista tai vanhan muokkausta varten. * @param Palaute $palauteolio Vakio palauteolio näkymätietojen säilyttämiseen. */ public function toteuta_nayta_kurssitietolomake(&$palauteolio) { $param = $this->get_parametriolio(); $lang_id = $param->kieli_id; // Jos kysymyksessä uusi, ei olio ole tietokannassa, muuten on. $courseInfo = new Kurssitieto($param->kurssitieto_id, $param->get_tietokantaolio()); $sisalto = $this->palautusnakymat->show_courseInfo_form($lang_id, $courseInfo); $palauteolio->set_sisalto($sisalto); }
/** * * @param Parametrit $parametriolio * @return Palaute $palauteolio */ function toteuta_salasanan_vaihto($parametriolio) { $palauteolio = new Palaute(); $uussalasana = $parametriolio->uussalasana; $salavahvistus = $parametriolio->salavahvistus; $tietokantaolio = $parametriolio->tietokantaolio; $henkilo_id = $parametriolio->henkilo_id; $poistu_valtuuksista = Painikkeet::$poistu_valtuuksista; $muuta_valtuuksia_value = Painikkeet::$muuta_valtuuksia; $muuta_salasana_value = Painikkeet::$muuta_sanasana_value; $kelpoisuus = tarkista_uusi_salasana($uussalasana, $salavahvistus); if ($kelpoisuus == Yleisarvoja::$tarkistetut_tiedot_ok) { $uussalasana = md5($uussalasana); $tallennus = tallenna_salasanamuutos($parametriolio->henkilo_id, $uussalasana, $tietokantaolio); if ($tallennus == Tietokantaolio::$HAKU_ONNISTUI) { //paivita_sessiohenkilotiedot($omaid, $tietokantaolio); $ilmoitus = Tekstit::$kuningastoiminnot_salasana_vaihdettu; $sisaltoteksti = nayta_valtuuslomake($tietokantaolio, $muuta_valtuuksia_value, $muuta_salasana_value, $poistu_valtuuksista); } else { // Jos tallennus epäonnistui: $ilmoitus = "Tietojen lähetys ei onnistunut tai " . "kirjoitit vanhan salasanan!\n Yritä uudestaan!"; $sisaltoteksti = nayta_salasanalomake($henkilo_id, $ilmoitus); } } else { //Jos tiedoissa jokin virhe: $ilmoitus = $kelpoisuus; //Virheilmoitus $sisaltoteksti = nayta_salasanalomake($henkilo_id, $ilmoitus); } $palauteolio->set_ilmoitus($ilmoitus); $palauteolio->set_sisalto($sisaltoteksti); return $palauteolio; }