/**
 *
 * @param <type> $valintojen_idt vastaavat tietokannan id:t.
 * @param $tietokantaolio olio, joka hoitaa yhteydet tietokantaan.
 * @return <type> Palauttaa merkkijonon, joka kirjoitetaan n&auml;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&auml;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;
 }
Beispiel #3
0
 /**
  * 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&auml;'" . "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;
 }