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