/** * * @param <type> $valintojen_idt vastaavat tietokannan id:t. * @param $tietokantaolio olio, joka hoitaa yhteydet tietokantaan. * @return <type> Palauttaa merkkijonon, joka kirjoitetaan näytölle. */ function nayta_poistovarmistus($valinnat, $tietokantaolio, $teema_id) { $palaute = ""; $kaikki_osumat = array(); if (isset($valinnat) && sizeof($valinnat) > 0) { $ind = 0; foreach ($valinnat as $id) { $viesti = $tietokantaolio->hae_eka_osuma_oliona('viestit', 'id', $id); if ($viesti != "tuntematon") { $kaikki_osumat[$ind] = $viesti; $ind++; } } //Muotoillaan poistettavat tiedot kauniisti; $mj = "<table id = 'poistotaulu'>"; $laskuri = 1; // Auttaa joka toisen rivin eri väriseksi. foreach ($kaikki_osumat as $nyk_olio) { $rivin_alku = ""; if ($laskuri % 2 == 0) { $rivin_alku .= "<tr class ='parillinen_rivi'>"; } else { $rivin_alku .= "<tr>"; } $lahettaja = $tietokantaolio->hae_eka_osuma_oliona('henkilot', 'id', $nyk_olio->henkilo_id); $mj .= $rivin_alku . "<td>{$nyk_olio->aihe} {$lahettaja->etunimi} " . anna_pvm_ja_aika($nyk_olio->tallennushetki_sek) . "</td></tr>" . $rivin_alku . "<td>{$nyk_olio->viesti}</td></tr>"; $laskuri++; } $mj .= "</table>"; //Kootaan varmistuskysely: $palaute = "Haluatko poistaa lopullisesti alla olevat viestit?" . nayta_napit_rivissa(array("toiminta", "toiminta"), array('Jepp!', 'Peru poisto'), "teema_id={$teema_id}") . $mj; } return $palaute; }
/** * 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; }
/** * Palauttaa loppuun asti muotoillun htmlviestin. * @param bool $valittavissa totuusarvo true, jos valintaruutu * tulee mukaan, false muutoin. * @param string $lahettaja Lähettäjän nimitys viestissä (ei tartte * täällä ottaa tietokantayhteyttä jne.). * @param int $kommenttien_lkm Kommenttien kokonaislkm (kommentilla aina 0). * Tämän arvolla ei ole merkitystä, jos $on_piilotettavia -muuttujalla * on arvo false. * @param bool $on_piilotettavia true, jos kaikki kommentit eivät ole * näkyvissä (kommenteilla aina false). * @param bool $auki true, jos tarkoitus näyttää kaikki kommentit. * @param bool $saa_muokata nimensä mukainen - true, muuten false. */ public function palauta_html($valittavissa, $lahettaja, $kommenttien_lkm, $on_piilotettavia, $auki, $saa_muokata) { $url_safe_aihe = rawurlencode($this->aihe); $url_safe_viesti = rawurlencode($this->viesti); // Viestin valinta (poistoa varten; aloitusviestiä ei saa poistaa, jos // sillä on kommentteja) if ($valittavissa) { $valintaruutu = "<input type='checkbox'" . "name='valinnat[]' value='{$this->id}'/>"; } else { $valintaruutu = ""; } // Viestin muokkaus: if ($saa_muokata) { $muokkausnappi = "<a><img title='Muokkaa viestiä'" . "src='kuvat/muokkaa.jpg'" . "height='25' width='25' " . "onClick=\"hae_viestin_muokkaus('" . $this->id . "','" . $this->teema_id . "','" . $url_safe_aihe . "','" . $url_safe_viesti . "','" . $this->emo_id . "','" . $this->taso . "')\"/></a>"; } else { $muokkausnappi = ""; } // Jostakin syystä totuusarvot ei siirtyneet halutusti! if ($auki == false) { $auki = 0; } else { $auki = 1; } $kommenttinappi = "<a><img title='Kommentoi' src='kuvat/kommentoi.jpg'" . "height='25' width='28' " . "onclick=\"kommentoi('" . $this->teema_id . "','" . $url_safe_aihe . "','" . $url_safe_viesti . "','" . $this->emo_id . "')\"/></a>"; // Jos osa on piilossa, luodaan painike, josta saadaan näkyviin. // Hae_keskustelu -metodin parametriksi annetaan $auki-muuttujan // vasta-arvo, jotta keskustelun näyttötapa muuttuu. if ($on_piilotettavia && !$auki) { $nayttonappi = "<input type='button' class='avausnappi'" . "onclick=\"hae_keskustelu('" . $this->id . "','1')\"" . "value='Avaa (" . $kommenttien_lkm . ")'/>"; } else { if ($on_piilotettavia && $auki) { $nayttonappi = "<input type='button' class='avausnappi'" . "onclick=\"hae_keskustelu(" . $this->id . ",'0')\"" . "value='Kutista'/>"; } else { $nayttonappi = ""; } } $viesti = stripslashes($this->viesti); $aihe = stripslashes($this->aihe); // Pyöreitä kulmia varten: $alaosa_class = 'kommentin_alaosa'; if ($this->on_kommentti && $this->uusin) { $alaosa_class = 'vika_kommentin_alaosa'; } if ($this->on_kommentti) { $html = "<div class ='kommentti'>" . "<div class='kommentin_ylaosa'>" . "<span class='kommentin_lahettaja'>" . $lahettaja . "</span>" . "<span class='kommentin_aika'> " . anna_pvm_ja_aika($this->tallennushetki_sek) . "</span>:" . "<span class='kommentin_aihe'> " . $aihe . "</span>" . "<div class='valintaruutu'>" . $muokkausnappi . $valintaruutu . "</div>" . "</div>" . "<div class =" . $alaosa_class . ">" . "<span class='kommentin_sisalto'>" . $viesti . "</span>" . "</div>" . "</div>"; // kommentin loppu } else { // Aloitusviesti: // Pyöreitä kulmia varten: $alaosa_class = 'viestin_alaosa'; if ($kommenttien_lkm == 0) { $alaosa_class = 'vika_viestin_alaosa'; } $html = "<div class ='viesti'>" . "<div class='viestin_ylaosa'>" . "<span class='viestin_lahettaja'>" . $lahettaja . "</span> " . "<span class='viestin_aika'>" . anna_pvm_ja_aika($this->tallennushetki_sek) . "</span>:" . "<span class='viestin_aihe'> " . $aihe . "</span>" . "<div class='valintaruutu'>" . $kommenttinappi . $muokkausnappi . $nayttonappi . $valintaruutu . "</div></div>" . "<div class =" . $alaosa_class . ">" . "<span class='viestin_sisalto'> " . $viesti . "</span>" . "</div>" . "</div>"; // Viestin loppu } return $html; }