/** * * @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); } }
/** * Palauttaa koosteessa näytettävän kokonaisuuden html-koodin. Ellei * käyttäjällä oikeuksia nähda kokonaisuutta, palauttaa tyhjän merkkijonon. * * @param Elementti $elementti Olio, joka viittaa kokonaisuuteen, jonka * näkymää parhaillaan puuhaillaan. * @param Kokonaisuusolio $kokonaisuus * @param Parametrit $parametriolio * @param int $kohdeoikeudet Käyttäjän oikeudet tähän olioon. * @param <type> $selitys_auki jos true, niin selitys näytetään, muuten ei. * @return <type> */ function luo_koostenakyma($elementti, $kokonaisuus, $parametriolio, $selitys_auki, $kohdeoikeudet, $elemryhma) { $omaid = $parametriolio->get_omaid(); $tietokantaolio = $parametriolio->get_tietokantaolio(); // Tehtävien lisäys annetaan tämän perusteella; $kayttajan_valtuudet = $parametriolio->get_valtuudet(); $palaute = ""; $selitys = ""; $nayta_selitys_nappi = ""; /* Näyttää selityksen. */ $uusi_teht_nappi = ""; $muokkausnappi = ""; // Tästä päästään muokkaamaan kohdekokonaisuutta. $remove_elem_button = ""; // Elementin poisto koosteesta. $siirra_ylemmaksi_nappi = ""; $siirra_alemmaksi_nappi = ""; // Alla jostakin syystä !empty($kokonaisuus->getSelitys()) ei toiminut! if ($kokonaisuus->getSelitys() != "") { $onsubmit_parametrit = array($kokonaisuus->get_id()); /* Tämän avulla löytyvät */ $form_maaritteet = array('method' => 'post', 'class' => 'rinnakkain', 'action' => "{$_SERVER['PHP_SELF']}?" . "id_kokon=" . $kokonaisuus->get_id()); if ($selitys_auki) { $title = Painikkeet::$SULJE_SELITYS_title; $onsubmit_funktionimi = "sulje_selitys"; $input_maaritteet = array('name' => Toimintonimet::$kokonaisuustoiminto, 'value' => Painikkeet::$SULJE_SELITYS_value, 'title' => $title); } else { $title = Painikkeet::$NAYTA_SELITYS_title; $onsubmit_funktionimi = "nayta_selitys"; $input_maaritteet = array('name' => Toimintonimet::$kokonaisuustoiminto, 'value' => Painikkeet::$NAYTA_SELITYS_value, 'title' => $title); } $nayta_selitys_nappi = Html::luo_submit_painike_onsubmit_toiminnolla($onsubmit_funktionimi, $onsubmit_parametrit, $form_maaritteet, $input_maaritteet); } // Kun käyttäjällä on vähintään muokkausoikeudet kokonaisuuteen: if ($kohdeoikeudet >= Lisavaltuudet::$SAA_MUOKATA_EI_POISTAA) { // Muokkaus- ja poistonapit lukitsemattomalle tai omalle. if (!$this->lukitus_estaa_muokkauksen($kokonaisuus, $omaid)) { // Muokkauspainike: $muokkausnappi = $this->luo_muokkauspainike($kokonaisuus, $elementti, $elemryhma); } } // Tehtävien lisääminen sopivasti oikeutetuille. Huom: tehtävien // lisäysoikeus ei riitä, koska täällä tehtävien lisääminen muokkaa // koostetta! if ($kayttajan_valtuudet >= Lisavaltuudet::$SAA_MUOKATA_EI_POISTAA) { $uusi_teht_nappi = $this->luo_uusi_teht_painike($kokonaisuus, $elementti, $elemryhma); } // TEhtävien lisäyspainikekoodi loppuu. // Poistopainike sopivasti oikeutetuille. if ($kayttajan_valtuudet >= Lisavaltuudet::$SAA_MUOKATA_JA_POISTAA) { $remove_elem_button = Koostenakymat::create_button_remove_elem_from_summary($elementti->get_id()); } // Poistopainikekoodi loppuu. /* haetaan mahdolliset kuvat */ $kuvahtml_tiivis = $kokonaisuus->hae_kuvat(Kuvat::$kohde_kokonaisuus_tiivistelma, $omaid, $tietokantaolio, false); /* Kaikki kokonaisuudet ovat samanlaisia tasosta riippumatta */ $class_arvo = "elementti_kokon"; $otsikko = "<div class = " . $class_arvo . " id='elem" . $elementti->get_id() . "'>" . "<h3>" . $kokonaisuus->getOtsikkomerkinta() . $kokonaisuus->getOtsikko() . " " . $kokonaisuus->getOtsikkomerkintaSuffix() . $muokkausnappi . $uusi_teht_nappi . $remove_elem_button . "</h3>"; /* Haetaan vielä tarvittaessa selitys: */ if ($selitys_auki && $kokonaisuus->getSelitys() != "") { /* haetaan mahdolliset kuvat */ $kuvahtml_selitys = $kokonaisuus->hae_kuvat(Kuvat::$kohde_kokonaisuus_selitys, $omaid, $tietokantaolio, false); $selitysotsikko = "<div class='selitysotsikko'>" . Tekstit::$otsikko_selitys . "</div>"; /* Muotoillaan selitys: */ $selitys_muokattu = muotoile_merkit($kokonaisuus->getSelitys()); // Pikkukaavat ensin, jotta kursiivin poisto onnistuu ennen // sulkujen käsittelyä. $selitys_muokattu = Kaavaeditori::muotoile_pikkukaavat($selitys_muokattu); // Sitten normaalikaavat: $selitys_muokattu = Kaavaeditori::muotoile_kaavat($selitys_muokattu); $selitys = $selitysotsikko . $kuvahtml_selitys . $selitys_muokattu; } /* Muotoillaan tiivistelmän merkit ja kaavat: */ $tiivistelma = muotoile_merkit($kokonaisuus->getTiivis()); $tiivistelma = Kaavaeditori::muotoile_pikkukaavat($tiivistelma); $tiivistelma = Kaavaeditori::muotoile_kaavat($tiivistelma); $tiivistelma = $kuvahtml_tiivis . $tiivistelma . "<br />"; /* Ja sitten vain palaset pakettiin: HUOM! Täällä katsotaan, ettei * piilotetun sisältö näy. */ $piilotushuomautus = "<div class='piilotushuomautus'>" . Tekstit::$ilm_kokon_piilotettu_paitsi_ots . "</div>"; $yksityisilmoitus = "<div class='yksityisilmoitus'>" . Tekstit::$ilm_kokon_yksityinen . "</div>"; $vainkoosteilmoitus = "<div class='koosteilmoitus'>" . Tekstit::$ilm_kokon_vain_kooste . "</div>"; /** * Tänne mennään, kun kokonaisuus näytetään, * oli se sitten piilossa tahi ei. */ if ($kokonaisuus->getNakyvyys() + 0 === Nakyvyys::$VAIN_KOOSTEESSA || $kohdeoikeudet >= Lisavaltuudet::$SAA_NAHDA_EI_MUOKATA_EI_POISTAA) { $normaali_kokonaisuus = $otsikko; // Jos kokonaisuus on muilta piilossa, lisätään viesti: if ($kokonaisuus->getNakyvyys() + 0 === Nakyvyys::$VAIN_OTSIKKO) { $normaali_kokonaisuus .= $piilotushuomautus . $tiivistelma; } else { if ($kokonaisuus->getNakyvyys() + 0 === Nakyvyys::$YKSITYINEN) { $normaali_kokonaisuus .= $yksityisilmoitus . $tiivistelma; } else { if ($kokonaisuus->getNakyvyys() + 0 === Nakyvyys::$VAIN_KOOSTEESSA) { $normaali_kokonaisuus .= $tiivistelma; } else { $normaali_kokonaisuus .= $tiivistelma; } } } /* $normaali_kokonaisuus .= " ".$nayta_selitys_nappi;*/ /* Lisätään vielä div selitystä varten: */ if ($selitys_auki && $kokonaisuus->getSelitys() != "") { $normaali_kokonaisuus .= "<div class='selitys' id='selitys" . $kokonaisuus->get_id() . "'>" . $selitys . "</div>"; } $normaali_kokonaisuus .= "</div>"; /* Kokonaisuus loppuu. */ $palaute = $normaali_kokonaisuus; } else { if ($kokonaisuus->getNakyvyys() + 0 === Nakyvyys::$VAIN_OTSIKKO) { $class_arvo = "elementti_kokon"; $otsikko = "<div class = " . $class_arvo . " id='elem" . $elementti->get_id() . "'>" . "<h3>" . $kokonaisuus->getOtsikko() . " " . $siirra_ylemmaksi_nappi . $siirra_alemmaksi_nappi . "</h3>"; $palaute = $otsikko; $palaute .= $piilotushuomautus; $palaute .= "</div>"; /* Kokonaisuus loppuu. */ } else { // Kun jonkun toisen yksityinen / vain koosteessa, eikä hallintavaltuuksia: $palaute = ""; } } return $palaute; }