/**
 * Palauttaa html:n albumin katselua varten, jossa näkyy yksi kuva kerrallaan.
 * Kuvia voi selata painikkeilla. Ikkunan leveys haetaan ajaxin avulla niin,
 * että kuva sopii ikkunaan.
 *
 * Painike, josta palataan takaisin albumilistaan.
 * Painike, josta päästään muokkaamaan kuvatietoja.
 *
 * @param <type> $omaid
 * @param <type> $id_lj
 * @param <type> $id_kuva
 * @param <type> $tietokantaolio
 * @param <type> $valtuudet
 * @param <type> $ikkunan_leveys
 * @param <type> $pikkukuvakansio_osoite
 * @return <type>
 */
function bongaus_nayta_albumin_yksi_kuva($omaid, $id_lj, $id_kuva, $tietokantaolio, $valtuudet, $ikkunan_leveys, $pikkukuvakansio_osoite)
{
    // Nro 1 viittaa siihen, että rivillä on vain yksi kuva.
    $kuvateksti = true;
    $on_ylaluokka = true;
    // Selvitetään ensin, onko lajiluokka laji vai yläluokka. Tämä ratkaisee
    // ainakin sen, voiko lisätä uusia kuvia:
    $lajiluokkaolio = "";
    if (isset($id_lj) && $id_lj != "") {
        $taulunimi = "blajiluokat";
        $sarakenimi = "id";
        $hakuarvo = $id_lj;
        $lajiluokkaolio = $tietokantaolio->hae_eka_osuma_oliona($taulunimi, $sarakenimi, $hakuarvo);
        // Lajilla on aina nollaa suurempi ylaluokka-tunniste:
        if ($lajiluokkaolio != Tietokantaolio::$HAKU_PALAUTTI_TYHJAN) {
            if ($lajiluokkaolio->ylaluokka_id > -1) {
                $on_ylaluokka = false;
            } else {
                $on_ylaluokka = true;
            }
        } else {
            $on_ylaluokka = true;
        }
    } else {
        // Muuten lopetetaan tykkänään tähän:
        return 'Lajiluokka-id:t&auml; ei m&auml;&auml;ritelty!';
        exit;
    }
    // Pohjan leveys on rajoitettu, mikä pitää ottaa huomioon:
    if ($ikkunan_leveys > Kuvat::$POHJA_LEVEA_MAXLEV) {
        $ikkunan_leveys = Kuvat::$POHJA_LEVEA_MAXLEV;
    }
    // Vapaa leveys on pienempi kuin kuva-albumissa (kolmepalstarakenne),
    // joten kuvalle varataan täällä vähemmän tilaa:
    $on_kaksipalsta = false;
    $max_lev_kuva = laske_kuvan_maksimileveys(1, $ikkunan_leveys, $kuvateksti, $on_kaksipalsta);
    $max_kork_kuva = laske_kuvan_maksimikorkeus($max_lev_kuva);
    // Haetaan kuvien id:t:
    $kuva_idt = bongaus_hae_kuvien_idt($id_lj, $tietokantaolio, $omaid);
    $mj = "";
    //Metodin palauttama merkkijono.
    $lkm = sizeof($kuva_idt);
    $kuvan_jarjluku = 1;
    // Jos id_kuva on tyhjä, asetetaan se osoittamaan
    // ensimmäiseen kuvaan
    if (sizeof($kuva_idt) > 0 && (!isset($id_kuva) || $id_kuva == "")) {
        $id_kuva = $kuva_idt[0];
        $kuvan_jarjluku = 1;
    } else {
        // Muuten etsitään kuvan järjestysluku:
        for ($i = 0; $i < $lkm; $i++) {
            if ($kuva_idt[$i] == $id_kuva) {
                $kuvan_jarjluku = 1 + $i;
            }
        }
    }
    // Jos albumissa on korkeintaan yksi kuva, ei selauspainikkeita näytetä:
    if ($lkm < 2) {
        $ed_nappi = "";
        $seur_nappi = "";
    } else {
        // Kun on vähintään kaksi kuvaa:
        $seur_id = 0;
        $ed_id = 0;
        // Haetaan seuraavan ja edellisen kuvan id:
        for ($i = 0; $i < $lkm; $i++) {
            if ($id_kuva == $kuva_idt[$i]) {
                // kuva_idt-taulukon viimeisen alkion indeksi:
                $vika_indeksi = $lkm - 1;
                // Jos ollaan ekassa kuvassa, siirrytään (<) viimeiseen:
                if ($i == 0) {
                    $seur_id = $kuva_idt[1];
                    $ed_id = $kuva_idt[$vika_indeksi];
                } else {
                    if ($i == $vika_indeksi) {
                        $seur_id = $kuva_idt[0];
                        $ed_id = $kuva_idt[$i - 1];
                    } else {
                        $seur_id = $kuva_idt[$i + 1];
                        $ed_id = $kuva_idt[$i - 1];
                    }
                }
            }
        }
        /*$ed_nappi = "<form method='post'id='ed_kuva' ".
          "action='../kuvatoiminnot/kuvat.php".
          "?id_alb=$id_alb".
          "&id_kuva=$ed_id#nappirivi'>".
          "<input type='submit' name='toiminta'
          value='$ed_kuva_alb'
          title='Edellinen kuva'/>".
          "</form>";*/
        /*$seur_nappi = "<form method='post'id='seur_kuva' ".
          "action='../kuvatoiminnot/kuvat.php".
          "?id_alb=$id_alb".
          "&id_kuva=$seur_id#nappirivi'>".
          "<input type='submit' name='toiminta'
          value='$seur_kuva_alb'
          title='Seuraava kuva'/>".
          "</form>";*/
        $ed_nappi = "<input type='button' class='button_alas'" . "onclick=\"hae_kuva_ja_tiedot('" . $id_lj . "','{$ed_id}','" . Kuva::$KUVAT_BONGAUS . "')\"" . "value='" . Painikkeet::$ED_KUVA_ALB_VALUE . "'/>";
        $seur_nappi = "<input type='button' class='button_alas'" . "onclick=\"hae_kuva_ja_tiedot('" . $id_lj . "','{$seur_id}','" . Kuva::$KUVAT_BONGAUS . "')\"" . "value='" . Painikkeet::$SEUR_KUVA_ALB_VALUE . "'/>";
    }
    // Kuvan muokkausnappi tehdään myöhemmin, jos kuva löytyy.
    $kuvan_muokkausnappi = "";
    $kuvan_poistonappi = "";
    $kuvan_lisaysnappi = "";
    // painike, josta saa näkyviin albumit:
    $onsubmit_funktionimi = "bongaus_nayta_albumit";
    $onsubmit_parametrit = array();
    $form_maaritteet = array("method" => "post", "class" => "rinnakkain", "action" => "../bongaus/index.php");
    $input_maaritteet = array("name" => Bongaustoimintonimet::$kuvatoiminto, "value" => Bongauspainikkeet::$NAYTA_KUVA_ALBUMIT_VALUE, "title" => Bongauspainikkeet::$NAYTA_KUVA_ALBUMIT_TITLE);
    $albuminaytto = Html::luo_submit_painike_onsubmit_toiminnolla($onsubmit_funktionimi, $onsubmit_parametrit, $form_maaritteet, $input_maaritteet);
    // Nämä painikkeet tulevat aina näkyviin:
    if (isset($_SESSION['naytettavan_id_hav'])) {
        $url_jatke = "#havainto" . $_SESSION['naytettavan_id_hav'];
    } else {
        $url_jatke = "";
    }
    $takaisin_nappi = "<form method='post' id='takaisin_nappi' " . "action='../bongaus/index.php{$url_jatke}'>" . "<input type='submit' name='" . Bongaustoimintonimet::$havaintotoiminto . "' value='" . Bongauspainikkeet::$TAKAISIN_HAVAINTOIHIN_VALUE . "'/>" . "</form>";
    /* Esikatseluun: */
    $albumin_esikatselunappi = "";
    $katso_pikkukuvat = Bongauspainikkeet::$NAYTA_ESIKATSELUKUVAT_VALUE;
    $onsubmit_funktionimi = "hae_esikatselukuvat";
    $onsubmit_parametrit = array($id_lj, Kuva::$ESIKATSELUKUVIA_RIVILLA_LKM_OLETUS, "\"" . Kuva::$KUVAT_BONGAUS . "\"");
    $form_maaritteet = array("method" => "post", "id" => "nayta_kuvat_bong", "action" => "../bongaus/index.php?id_lj={$id_lj}");
    $input_maaritteet = array('name' => Bongaustoimintonimet::$kuvatoiminto, 'value' => $katso_pikkukuvat, "title" => Bongauspainikkeet::$NAYTA_ESIKATSELUKUVAT_TITLE);
    try {
        $albumin_esikatselunappi = Html::luo_submit_painike_onsubmit_toiminnolla($onsubmit_funktionimi, $onsubmit_parametrit, $form_maaritteet, $input_maaritteet);
    } catch (Exception $poikkeus) {
        $albumin_esikatselunappi = $poikkeus->getMessage();
    }
    // Lisäyspainike luodaan, jos on yhden lajin kuvista kysymys:
    if (!$on_ylaluokka) {
        /*$kuvan_lisaysnappi ="<form method='post' id='lisaa_kuvia_alb' ".
          "action='../kuvatoiminnot/kuvat.php".
          "?id_alb=$id_alb'>".
          "<input type='submit' name='toiminta'
          value='$uusi_kuva'/>".
          "</form>";*/
        /* Tämän tarkoitus on avata suoraan kuvan valinta ilman
         * turhaa kuvalomakkeen näyttämistä: */
        $kuvan_lisaysnappi = "<form align='left' method='post' id='kuvanlisays_pika_bongaus'\n                action='../bongaus/index.php" . "?id_lj={$id_lj}'" . "enctype='multipart/form-data'/>" . "Lataa uusi kuva: " . "<input type='hidden' name='MAX_FILE_SIZE' " . "value='" . Kuva::$MAX_FILE_SIZE . "' />" . "<input type='file' name='ladattu_kuva' size='40'/>" . "<input type='submit' name='" . Bongaustoimintonimet::$kuvatoiminto . "'" . "value='" . Bongauspainikkeet::$TALLENNA_UUSI_KUVA_VALUE . "'/>" . "</form>";
    }
    // Kuvan tietojen haku. Jos id-taulukko on tyhjä, ei kuvia ole, jolloin
    // kuvaa ei kannata edes yrittää hakea:
    if ($lkm == 0 || sizeof($kuva_idt) == 0) {
        $kuvamj = "<h3>Albumissa ei ole kuvia!</h3>";
        $kuvan_jarjluku = 0;
    } else {
        $kuvatiedot = "";
        $kuvatietomj = "";
        // Kuvan tiedot html:n avulla.
        $kuva_alt = "";
        // Html-img-elementin alt-määritteen arvo.
        $aika = "";
        // Kuvan ottoaika
        if ($id_kuva > -1 && $lkm > 0) {
            $hakulause = "SELECT kuvat.id AS kuva_id, henkilo_id, tiedostonimi,\n                                tiedostokoko,\n                                leveys, korkeus, src, kuvaotsikko, kuvaselitys,\n                                paiva,kk,vuosi\n                            FROM kuvat\n                            WHERE kuvat.id = {$id_kuva}";
            $hakutulos = $tietokantaolio->tee_OMAhaku($hakulause);
            $osumat = $tietokantaolio->hae_osumarivit_olioina($hakutulos);
            if (sizeof($osumat) == 1) {
                $kuvatiedot = $osumat[0];
                // Muotoillaan aika:
                if ($kuvatiedot->vuosi == -1) {
                    $aika = "";
                } else {
                    if ($kuvatiedot->kk == -1) {
                        $aika = $kuvatiedot->vuosi;
                    } else {
                        if ($kuvatiedot->paiva == -1) {
                            $aika = $kuvatiedot->kk . "/" . $kuvatiedot->vuosi;
                        } else {
                            $aika = $kuvatiedot->paiva . "." . $kuvatiedot->kk . "." . $kuvatiedot->vuosi;
                        }
                    }
                }
                // Haetaan kuvan lähettäjän nimi:
                $taulunimi = "henkilot";
                $sarakenimi = "id";
                $hakuarvo = $kuvatiedot->henkilo_id;
                $lahettaja = $tietokantaolio->hae_eka_osuma_oliona($taulunimi, $sarakenimi, $hakuarvo);
                if ($lahettaja != "tuntematon") {
                    $lahettaja = $lahettaja->etunimi;
                }
                $kuvatietomj = "<div class='korostus'>" . $kuvatiedot->kuvaotsikko . "</div>";
                $kuvatietomj .= "<p>" . $aika . "</p>";
                $kuvatietomj .= "<p>" . $kuvatiedot->kuvaselitys . "</p>";
                $kuvatietomj .= "<p>L&auml;hett&auml;j&auml;: " . $lahettaja . "</p>";
                $kuva_alt = $kuvatiedot->tiedostonimi . " (" . round($kuvatiedot->tiedostokoko / 1000) . " kt)";
                // Muokataan kuvan koko sopivaksi eli pienennetään, jos leveys on yli
                // $MAX_LEV_KUVA. Leveyden ja korkeuden suhde säilytetään.
                $lev = $kuvatiedot->leveys;
                $kork = $kuvatiedot->korkeus;
                $nayttolev = $kuvatiedot->leveys;
                $nayttokork = $kuvatiedot->korkeus;
                $src = $kuvatiedot->src;
                if ($kork != 0 && $lev != 0) {
                    $suhde = $kork / $lev;
                    // Vaakasuora kuva:
                    if ($suhde < 1 && $lev > $max_lev_kuva) {
                        $nayttolev = $max_lev_kuva;
                        $nayttokork = round($max_lev_kuva * $suhde);
                    }
                    // Pystysuora kuva:
                    if ($suhde >= 1 && $kork > $max_kork_kuva) {
                        $nayttokork = $max_kork_kuva;
                        $nayttolev = round($max_kork_kuva / $suhde);
                    }
                }
                $maxmitta = max(array($nayttokork, $nayttolev));
                // Haku:
                if ($maxmitta <= Kuva::$TIETOKANTAKUVA_PIENI_MITTA) {
                    $osoite_mini1 = $pikkukuvakansio_osoite . "/" . Kuva::$pikkukuva1_nimen_osa . $kuvatiedot->tiedostonimi;
                    $src = "'" . $osoite_mini1 . "'";
                } else {
                    if ($maxmitta <= Kuva::$TIETOKANTAKUVA_ISO_MITTA) {
                        $osoite_mini2 = $pikkukuvakansio_osoite . "/" . Kuva::$pikkukuva2_nimen_osa . $kuvatiedot->tiedostonimi;
                        $src = "'" . $osoite_mini2 . "'";
                    } else {
                        if ($maxmitta <= Kuva::$TIETOKANTAKUVA_ISO2_MITTA) {
                            $osoite_mini3 = $pikkukuvakansio_osoite . "/" . Kuva::$pikkukuva3_nimen_osa . $kuvatiedot->tiedostonimi;
                            $src = "'" . $osoite_mini3 . "'";
                        } else {
                            $src = "'" . $kuvatiedot->src . "'";
                        }
                    }
                }
                // kuvan koonti:
                $kuvamj = "<div class='kuvatiedot'>" . $kuvatietomj . "</div>";
                $kuvamj .= "<div class='kuva'>";
                $kuvamj .= "<img src=" . $src . " ";
                $kuvamj .= "width='" . $nayttolev . "' height='" . $nayttokork . "' ";
                $kuvamj .= "alt='" . $kuva_alt . "'/>";
                $kuvamj .= "</div>";
                // Muokata ja poistaa saa vain omia kuvia!
                if ($kuvatiedot->henkilo_id == $omaid) {
                    // Pitää muokkausta varten lähettää muokattavat tiedot
                    // urlin kautta.
                    $url_safe_otsikko = rawurlencode($kuvatiedot->kuvaotsikko);
                    $url_safe_selitys = rawurlencode($kuvatiedot->kuvaselitys);
                    $url_safe_vuosi = rawurlencode($kuvatiedot->vuosi);
                    $url_safe_kk = rawurlencode($kuvatiedot->kk);
                    $url_safe_paiva = rawurlencode($kuvatiedot->paiva);
                    $kuvan_muokkausnappi = "<form method='post'id='muokkaa_kuva' " . "action='../bongaus/index.php" . "?id_lj={$id_lj}" . "&id_kuva={$id_kuva}" . "&kuvaotsikko_kuva={$url_safe_otsikko}" . "&kuvaselitys_kuva={$url_safe_selitys}" . "&vuosi_kuva={$url_safe_vuosi}" . "&kk_kuva={$url_safe_kk}" . "&paiva_kuva={$url_safe_paiva}'>" . "<input type='submit' name='" . Bongaustoimintonimet::$kuvatoiminto . "' value='" . Bongauspainikkeet::$MUOKKAA_KUVA_VALUE . "'/>" . "</form>";
                    $kuvan_poistonappi = "<form method='post'id='poista_kuva' " . "action='../bongaus/index.php" . "?id_kuva={$id_kuva}" . "&id_lj={$id_lj}'>" . "<input type='submit' name='" . Bongaustoimintonimet::$kuvatoiminto . "' value='" . Bongauspainikkeet::$POISTA_KUVA_VALUE . "' title='Poistaa kuvan lopullisesti'/>" . "</form>";
                }
            } else {
                $kuvamj = "<h3/>Kuvaa ei l&ouml;ytynyt!\n                            (id_kuva = " . $id_kuva . ", id_lj = " . $id_lj . ")</h3>";
            }
        }
    }
    // Haetaan lajiluokan nimi:
    $hakulause = "SELECT bkuvaukset.nimi AS nimi\n                    FROM bkuvaukset\n                    JOIN blajiluokat AS lj\n                    ON lj.id = bkuvaukset.lajiluokka_id\n                    WHERE lj.id = {$id_lj}";
    $nimitaulu = $tietokantaolio->tee_OMAhaku_oliotaulukkopalautteella($hakulause);
    if (!empty($nimitaulu)) {
        $nimi = $nimitaulu[0]->nimi;
    } else {
        $nimi = "tuntematon";
    }
    $mj .= "<div id='albumi'>";
    //Albumin alku.
    $mj .= "<h2>Bongauskuvia: " . $nimi . "</h2>";
    $mj .= "<div id='nappirivi'>" . $ed_nappi . " (kuva nro " . $kuvan_jarjluku . "/" . $lkm . ") " . $seur_nappi . " " . $albumin_esikatselunappi . $albuminaytto . $takaisin_nappi . $kuvan_muokkausnappi . $kuvan_poistonappi . "</div>";
    $mj .= "<div id='kuvaruutu'>" . $kuvamj . "</div>";
    $mj .= $kuvan_lisaysnappi;
    $mj .= "</div>";
    //Albumin loppu.
    return $mj;
}
Exemple #2
0
 /**
  * Palauttaa kuvan html:n
  *
  * @param <type> $actionosoite esim index.php
  * @param <type> $actionkyselynimet
  * @param <type> $actionkyselyarvot
  * @param <type> $kuvakansion_os
  * @param <type> $kayttajan_valtuudet
  * @return string kuvan html-koodi
  */
 public function nayta_kuva($actionosoite, $actionkyselynimet, $actionkyselyarvot, $kayttajan_valtuudet)
 {
     $kork = $this->korkeus;
     $lev = $this->leveys;
     $ind = $this->nayttokokoindeksi;
     $nayttolev = laske_kuvan_maksimileveys($ind);
     $nayttokork = laske_kuvan_maksimikorkeus($nayttolev, $lev, $kork);
     /* Poisto- ja muokkauspainike */
     $poista_kuva_painike = "";
     $muokkaa_kuva_painike = "";
     if ($kayttajan_valtuudet == Valtuudet::$HALLINTA) {
         // Muotoillaan action-koodi eli lomakkeen osoitteen kyselyosa:
         $vain_arvo = true;
         // Ei haluta "action="-juttua alkuun.
         $url_jatke = "";
         $actionkoodi = luo_action_koodi($actionosoite, $actionkyselynimet, $actionkyselyarvot, $vain_arvo, $url_jatke);
         $form_maaritteet = array('method' => 'post', 'class' => 'rinnakkain', 'action' => $actionkoodi);
         /* Poistopainike */
         $onsubmit_funktionimi = "nayta_kuvan_poistovahvistus";
         $onsubmit_parametrit = array($this->id);
         /* Kuvan id*/
         $input_maaritteet = array('name' => Toimintonimet::$kuvatoiminto, 'value' => Painikkeet::$POISTA_KUVA_VALUE);
         try {
             $poista_kuva_painike = Html::luo_submit_painike_onsubmit_toiminnolla($onsubmit_funktionimi, $onsubmit_parametrit, $form_maaritteet, $input_maaritteet);
         } catch (Exception $poikkeus) {
             $palaute .= "Virhe poistopainikkeen luomisessa: " . $poikkeus->getMessage();
         }
         // MUOKKAUSPAINIKE: TArkistetaan urliin menevät tiedot:
         $kuvaotsikko_turv = urlencode($this->kuvaotsikko);
         $kuvaselitys_turv = urlencode($this->kuvaselitys);
         $form_maaritteet = array('method' => 'post', 'class' => 'rinnakkain', 'action' => "{$_SERVER['PHP_SELF']}" . $actionkoodi . "&kuvaotsikko_kuva=" . $kuvaotsikko_turv . "&kuvaselitys_kuva=" . $kuvaselitys_turv . "&vuosi_kuva=" . $this->vuosi . "&kk_kuva=" . $this->kk . "&paiva_kuva=" . $this->paiva . "&nayttokokoindeksi_kuva=" . $this->nayttokokoindeksi);
         /* Muokkauspainike: */
         $onsubmit_funktionimi = "nayta_kuvan_muokkauslomake";
         $onsubmit_parametrit = array($this->id);
         /* Kuvan id*/
         $input_maaritteet = array('name' => Toimintonimet::$kuvatoiminto, 'value' => Painikkeet::$MUOKKAA_KUVA_VALUE);
         try {
             $muokkaa_kuva_painike = Html::luo_submit_painike_onsubmit_toiminnolla($onsubmit_funktionimi, $onsubmit_parametrit, $form_maaritteet, $input_maaritteet);
         } catch (Exception $poikkeus) {
             $palaute .= "Virhe poistopainikkeen luomisessa: " . $poikkeus->getMessage();
         }
     }
     $kuva_id = $this->id;
     $maxmitta = max(array($nayttokork, $nayttolev));
     // Haku:
     if ($maxmitta <= Kuva::$TIETOKANTAKUVA_PIENI_MITTA) {
         $osoite_mini1 = $pikkukuvakansio_osoite . "/" . Kuva::$pikkukuva1_nimen_osa . $this->tiedostonimi;
         $src = "'" . $osoite_mini1 . "'";
     } else {
         if ($maxmitta <= Kuva::$TIETOKANTAKUVA_ISO_MITTA) {
             $osoite_mini2 = $pikkukuvakansio_osoite . "/" . Kuva::$pikkukuva2_nimen_osa . $this->tiedostonimi;
             $src = "'" . $osoite_mini2 . "'";
         } else {
             if ($maxmitta <= Kuva::$TIETOKANTAKUVA_ISO2_MITTA) {
                 $osoite_mini3 = $pikkukuvakansio_osoite . "/" . Kuva::$pikkukuva3_nimen_osa . $this->tiedostonimi;
                 $src = "'" . $osoite_mini3 . "'";
             } else {
                 $src = "'" . $kuvatiedot->src . "'";
             }
         }
     }
     $kuva_html = "<table class='kuvaraamit'>" . "<tr>" . "<th>" . $this->kuvaotsikko . $muokkaa_kuva_painike . $poista_kuva_painike . "</th>" . "</tr>" . "<tr>" . "<td>" . " <!-- KUVAKOODI ALKAA: ÄLÄ MUOKKAA!-->" . "<img id=" . $this->id . " title='" . $this->kuvaselitys . "' src=" . $src . " width='" . $nayttolev . "'" . "height='" . $nayttokork . "'/>" . "<!-- KUVAKOODIN LOPPU-->" . "</td>" . "</tr>" . "</table>";
     return $kuva_html;
 }
Exemple #3
0
 public function nayta_pelkka_kuva($kuvakansion_os)
 {
     $kork = $this->korkeus;
     $lev = $this->leveys;
     $ind = $this->nayttokokoindeksi;
     $nayttolev = laske_kuvan_maksimileveys($ind);
     $nayttokork = laske_kuvan_maksimikorkeus($nayttolev, $lev, $kork);
     /* Kuvan osoite */
     $kuvaosoite = $kuvakansion_os . "/" . $this->tiedostonimi;
     $kuva_html = " <!-- KUVAKOODI ALKAA: ÄLÄ MUOKKAA ELLET TIEDÄ MITÄ TEET! -->" . "<table class='kuvaraamit' align=center>" . "<tr>" . "<th>" . $this->kuvaotsikko . "</th>" . "</tr>" . "<tr>" . "<td>" . "<img id=kuva_" . $this->id . " title='" . $this->kuvaselitys . "' src='" . $kuvaosoite . "' width='" . $nayttolev . "'" . "height='" . $nayttokork . "' class='img-responsive'" . "'/>" . "</td>" . "</tr>" . "</table>" . "<!-- KUVAKOODIN LOPPU -->";
     return $kuva_html;
 }