Exemple #1
0
<?php

session_start();
// Aloitetaan istunto tai otetaan kiinni vanha.
// Haetaan asetukset ja avataan yhteys tietokantaan:
require_once 'asetukset/tietokantayhteys.php';
require_once 'yhteiset/php_yhteismetodit.php';
load_files("articles");
require_once 'sivukoodit.php';
// Yhdistetään tietokantaan:
$tietokantaolio = new Tietokantaolio($dbtyyppi, $dbhost, $dbuser, $dbsalis);
$tietokantaolio->yhdista_tietokantaan($dbnimi);
$parametriolio = new Parametrit($tietokantaolio);
// Tekstien käännös.
Kielet::kaanna($parametriolio->get_kieli_id());
// Jos "submit", niin suuntana submit-sivu:
$target = isset($_GET['target']) ? $_GET['target'] : "";
$ktunnus = isset($_POST['ktunnus']) ? $_POST['ktunnus'] : "";
// Onko alla oleva iso turvallisuusriski? Noo ellei ssl-salausta käytetä,
// kulkevat salasana ja muut tiedot selainkoneen ja palvelimen välillä
// salaamattomassa muodossa, mistä ne on mahdollista
// viekkaan ilkimyksen noukkia. Toki tässä ohjelmassa ei kovin intiimejä
// tietoja siirry, joten ssl lienee tarpeeton toistaiseksi.
$salasana = isset($_POST['salasana']) ? $_POST['salasana'] : "";
$toiminta = isset($_POST['toiminta']) ? $_POST['toiminta'] : "";
$hamy = isset($_GET['id']) ? $_GET['id'] : "kelvoton";
$viesti = isset($_GET['viesti']) ? $_GET['viesti'] : "";
// Viesti käyttäjälle.
$sisalto = '';
// Varsinainen sisältö.
$hamynimi = 'id';
/**
 *
 * @param Parametrit $parametriolio
 * @return Palaute $palauteolio
 */
function toteuta_nayta_kuvalomake($parametriolio)
{
    $palauteolio = new Palaute();
    $url_jatke = "";
    $tietokantaolio = $parametriolio->get_tietokantaolio();
    $actionkyselynimet = array();
    $actionkyselyarvot = array();
    if ($parametriolio->kokoelmanimi == Kuva::$KUVAT_ALBUMIT) {
        $actionosoite = "../kuvatoiminnot/kuvat.php";
        array_push($actionkyselynimet, "id_alb", "id_kuva");
        array_push($actionkyselyarvot, $parametriolio->id_alb, $parametriolio->id_kuva);
    } else {
        if ($parametriolio->kokoelmanimi == Kuva::$KUVAT_BONGAUS) {
            $url_jatke = "#havainto" . $parametriolio->get_naytettavan_id_hav();
            $actionosoite = "../bongaus/index.php";
            array_push($actionkyselynimet, "id_alb", "id_kuva", "id_lj", "id_hav");
            array_push($actionkyselyarvot, $parametriolio->id_alb, $parametriolio->id_kuva, $parametriolio->id_lj, $parametriolio->id_hav);
            // Jos kyse on havaintoon lisättävästä kuvasta, haetaan havainnon
            // tiedot ja lisätään ne kuvalomakkeeseen:
            if ($parametriolio->id_hav != Parametrit::$EI_MAARITELTY) {
                /* Haetaan havainnon tiedot: */
                $hakulause = "SELECT *\n                        FROM bhavainnot\n                        WHERE id = {$parametriolio->id_hav}";
                $osumataulukko = $tietokantaolio->tee_OMAhaku_oliotaulukkopalautteella($hakulause);
                // Viedään tiedot perille:
                if (!empty($osumataulukko)) {
                    $lajinimi = hae_lajiluokan_nimi($osumataulukko[0]->lajiluokka_id, $tietokantaolio, $parametriolio->get_kieli_id());
                    $parametriolio->kuvaotsikko_kuva = $lajinimi;
                    $parametriolio->kuvaselitys_kuva = $osumataulukko[0]->paikka . "<br /> " . $osumataulukko[0]->kommentti;
                    $parametriolio->vuosi_kuva = $osumataulukko[0]->vuosi;
                    $parametriolio->kk_kuva = $osumataulukko[0]->kk;
                    $parametriolio->paiva_kuva = $osumataulukko[0]->paiva;
                }
            }
        } else {
            $actionosoite = "index.php";
        }
    }
    $ilmoitus_kuva = $parametriolio->ilmoitus_kuva;
    $sisalto = Kuva::nayta_kuvalomake($actionosoite, $actionkyselynimet, $actionkyselyarvot, $url_jatke, $parametriolio);
    $palauteolio->set_sisalto($sisalto);
    $palauteolio->set_ilmoitus($parametriolio->ilmoitus_kuva);
    return $palauteolio;
}