예제 #1
0
 /**
  * Palauttaa poistovahvistus-html:n, joka sisältää pikakommentin tiedot
  * ja poiston vahvistus- ja perumispainikkeet.
  */
 public function nayta_poistovahvistuskysely()
 {
     // Tämä perumista varten (ENT_QUOTES->muuttaa sekä yksöis- että
     // kaksoislainausmerkit). Eka parametri varmistaa, että painikkeet
     // tulevat näkyviin perumisen jälkeenkin. Sikälihän poistamispainikekin
     // näkyy vain, jos käyttäjällä on oikeus poistoon.
     /*$sisalto_html =
       htmlspecialchars($this->
                   nayta_pikakommentti($this->henkilo_id, Valtuudet::$NORMAALI),
                   ENT_QUOTES);*/
     $sisalto_html = htmlspecialchars($this->nayta_pikakommentti(-1, Valtuudet::$NORMAALI), ENT_QUOTES);
     $html = "";
     // Jos on tallennuskelpoinen, on myös löytänyt tiedot
     // tietokannasta. $uusi=true, koska muuten valittaa, ellei
     // tietoja muutettu. Nyt id:tä ei tarkisteta, mutta ei sillä
     // väliä. Idea on vain katsoa, ettei pikakommentti tyhjä.
     if ($this->on_tallennuskelpoinen(true)) {
         $aika = anna_pvm_ja_aika($this->get_tallennushetki_sek());
         // true on muuttujan 'vain_etunimi' arvo.
         $lahettaja = hae_henkilon_nimi($this->get_henkilo_id(), true, $this->tietokantaolio);
         $sisalto = $this->get_kommentti();
         $elem_id = "pk" . $this->get_id();
         // Luodaan vahvistus- ja perumispainikkeet
         $painikkeet = "<button type='button' onclick=" . "'pk_poista(" . $this->get_id() . "," . $this->kohde_id . ")'" . "title='" . Pikakommenttitekstit::$poistovahvistus_pikakommentti_title . "'>" . Pikakommenttitekstit::$poistovahvistus_pikakommentti_value . "</button>" . "<button type='button' onclick=" . "'peru_poisto(\"" . $sisalto_html . "\",\"" . $elem_id . "\")'title='" . Pikakommenttitekstit::$peruminen_pikakommentti_title . "'>" . Pikakommenttitekstit::$peru_poisto_pikakommentti_value . "</button>";
         $html = Nakyma_pikakommentit::nayta_poistovahvistus($aika, $lahettaja, $sisalto, $painikkeet, $this->get_id());
     } else {
         $html = Pikakommenttitekstit::$virheilmoitus_ei_tallennuskelpoinen;
     }
     return $html;
 }
 /**
  * Toteuttaa nimenmukaisen toiminnon. Palauttaa palauteolion, mutta
  * huomaa, että se ei sisällä kokonaista html-sivua, vaan vain
  * pikakommenttilaatikon (div).
  *
  * @param <type> $max_lkm
  * @param <type> $kohde_id
  * @param <type> $max_lkm
  * @return Palauteolio $palauteolio
  */
 public function toteuta_nayta_pikakommentit($kohde_tyyppi, $kohde_id, $max_lkm)
 {
     $html = "";
     // Palautettava.
     $omaid = $this->parametriolio->omaid;
     // Haetaan tietokannasta kyseisen kohteen pikakommentit:
     $hakulause = "SELECT " . Pikakommentti::$SARAKENIMI_ID . ", henkilo_id\n                        FROM pikakommentit\n                        WHERE kohde_tyyppi={$kohde_tyyppi}\n                        AND kohde_id={$kohde_id}\n                        LIMIT {$max_lkm}";
     $osumat_kaikki = $this->tietokantaolio->tee_OMAhaku_oliotaulukkopalautteella($hakulause);
     //============= SUODATUS ALKU ==========================================
     $osumat = array();
     $suodattimet = Suodatin::hae_suodattimet($omaid, $this->tietokantaolio);
     foreach ($osumat_kaikki as $osuma) {
         $henkilo_id = $osuma->henkilo_id;
         if (!Suodatin::henkilo_suodatetaan_kevyt($henkilo_id, $omaid, $suodattimet)) {
             array_push($osumat, $osuma);
         }
     }
     //============= SUODATUS LOPPU =========================================
     if (!empty($osumat)) {
         foreach ($osumat as $pk_olio) {
             $pk = new Pikakommentti($this->tietokantaolio, $pk_olio->id);
             $html .= $pk->nayta_pikakommentti($this->parametriolio->omaid, $this->parametriolio->get_kayttajan_valtuudet());
         }
     } else {
         // Ellei kommentteja löytynyt:
         $html .= Pikakommenttitekstit::$ilmoitus_pikakommentteja_ei_loytynyt;
     }
     // Lisätään vielä tallennuspainike ja tekstinsyöttökenttä:
     $tallennuspainike = "<button type='button' id=" . Pikakommentti::$TALLENNUSPAINIKKEEN_ID . " onclick=" . "'tallenna_uusi_pikakommentti(" . $kohde_tyyppi . "," . $kohde_id . ")'" . "title='" . Pikakommenttitekstit::$tallenna_uusi_pikakommentti_title . "'>" . Pikakommenttitekstit::$tallenna_uusi_pikakommentti_value . "</button>";
     $html .= Nakyma_pikakommentit::nayta_pikakommenttilomake($tallennuspainike);
     // Paketoidaan yksittäiset yhteen taulukkoon. Tarvitaan myös
     // painike poistumiseen.
     $painikkeet = "<button type='button' onclick=" . "'piilota_pikakommentit()'title='" . Pikakommenttitekstit::$pikakommentit_sulje_title . "'>" . Pikakommenttitekstit::$pikakommentit_sulje_value . "</button>";
     $html = Nakyma_pikakommentit::nayta_pikakommentit($html, $painikkeet);
     $this->palauteolio->set_sisalto($html);
     return $this->palauteolio;
 }