/** * 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; }