Ejemplo n.º 1
0
/**
 * Palauttaa suoritustilaston taulukkoon muotoiltuna.
 * @param Parametrit $parametriolio
 * @return Palaute Palauttaa Palaute-luokan esiintymän. /
 */
function hae_suoritustilasto($parametriolio)
{
    $tietokantaolio = $parametriolio->tietokantaolio;
    $omaid = $parametriolio->omaid;
    $palauteolio = new Palaute();
    // Painikkeita:
    $muokkausnappi = "";
    // Määritellään myöhemmin
    $poistonappi = "";
    // Määritellään myöhemmin
    $paluunappi = "";
    // Paluunappi perusnäkymään:
    $class = "rinnakkain";
    $id = "paluunappi";
    $action = "muistio.php";
    $name = Muistiotoimintonimet::$perustoiminto;
    $value = Muistiopainikkeet::$paluu_perussuoritusnakymaan;
    $paluunappi = Html::luo_painikelomake($class, $id, $action, $name, $value);
    // Paluunappi lajitarkennusnäkymään:
    $class = "rinnakkain";
    $id = "paluunappi";
    $action = "muistio.php";
    $name = Muistiotoimintonimet::$perustoiminto;
    $value = Muistiopainikkeet::$paluu_tilastot_lajeittain_nakymaan;
    $paluunappi2 = Html::luo_painikelomake($class, $id, $action, $name, $value);
    $otsikko = "";
    if ($parametriolio->vain_omat_suoritukset) {
        $otsikko = $_SESSION['tiedot']->etunimi . " " . $_SESSION['tiedot']->sukunimi . ", ";
    }
    $otsikko .= Lajitarkennukset::hae_lajitarkennuksen_kuvaus($parametriolio->lajitarkennus);
    $otsikko .= $paluunappi2 . $paluunappi;
    if ($parametriolio->vain_omat_suoritukset) {
        $mj = "<table id = 'tulostaulu'>\n            <tr><td id='kuukm' colspan='4'>{$otsikko}</td></tr>\n            <tr>\n                <th>Aika</th>\n                <th>Kuvaus</th>\n                <th>Pvm</th>\n                <th>Toiminnot</th>\n            </tr>";
    } else {
        $mj = "<table id = 'tulostaulu'>\n            <tr><td id='kuukm' colspan='5'>{$otsikko}</td></tr>\n            <tr>\n                <th>Aika</th>\n                <th>Kuvaus</th>\n                <th>Pvm</th>\n                <th>Nimi</th>\n                <th>Toiminnot</th>\n            </tr>";
    }
    // Tarkistetaan, haetaanko kaikki vaiko vain omat:
    if ($parametriolio->vain_omat_suoritukset) {
        $hakulause = "SELECT * FROM suoritukset\n                WHERE (lajitarkennus= " . $parametriolio->lajitarkennus . " AND henkilo_id = " . $omaid . ")\n                ORDER by kestotunnit, kestomin, kestosek;";
    } else {
        $hakulause = "SELECT * FROM suoritukset\n                WHERE lajitarkennus= '" . $parametriolio->lajitarkennus . "' " . "ORDER by kestotunnit, kestomin, kestosek;";
        //ORDER by henkilo_id, kestotunnit, kestomin, kestosek;"
    }
    $osumaoliot = $tietokantaolio->tee_OMAhaku_oliotaulukkopalautteella($hakulause);
    if (empty($osumaoliot)) {
        $mj .= "<tr><td colspan=5>" . Muistiotekstit::$suorituksia_ei_loytynyt . "</td></tr>";
    } else {
        $laskuri = 0;
        foreach ($osumaoliot as $suoritus) {
            // Painikkeet:
            $class = "rinnakkain";
            $id = "muokkausnappi";
            $action = "muistio.php?" . URL_muuttujat::$suoritus_id . "=" . $suoritus->id . "&" . URL_muuttujat::$valinnat . "=" . $suoritus->id . "&" . URL_muuttujat::$lajitarkennus . "=" . $suoritus->lajitarkennus . "&" . URL_muuttujat::$paluunakyma . "=" . Muistio_yleisia_arvoja::$nakyma_tulostilasto;
            $name = Muistiotoimintonimet::$perustoiminto;
            $value = Muistiopainikkeet::$muokkausnappikomento_lyhyt;
            $muokkausnappi = Html::luo_painikelomake($class, $id, $action, $name, $value);
            $id = "poistonappi";
            $value = Muistiopainikkeet::$poistonappikomento_lyhyt;
            $poistonappi = Html::luo_painikelomake($class, $id, $action, $name, $value);
            // Haetaan henkilön nimi:
            $nimi = hae_henkilon_nimi($suoritus->henkilo_id, false, $parametriolio->tietokantaolio);
            // Muotoillaan aika:
            $aika = muotoile_suorituksen_kesto($suoritus->kestotunnit, $suoritus->kestomin, $suoritus->kestosek, $suoritus->kesto);
            if ($laskuri % 2 != 0) {
                $mj .= "<tr class='parillinen_rivi'>";
            } else {
                $mj .= "<tr>";
            }
            // Nämä tulevat kaikkiin:
            $mj .= "<td>{$aika}</td>" . "<td>{$suoritus->kuvaus}</td>" . "<td class='aikasolu'>" . anna_viikonp_suomeksi($suoritus->paiva, $suoritus->kk, $suoritus->vuosi, true) . " " . $suoritus->paiva . "." . $suoritus->kk . "." . $suoritus->vuosi . "</td>";
            // Lisätään nimi, jos näytetään kaikki:
            if ($parametriolio->vain_omat_suoritukset == false) {
                $mj .= "<td>{$nimi}</td>";
            }
            // Toiminnot tulevat kaikkiin omiin ja adminille:
            if ($suoritus->henkilo_id == $parametriolio->omaid || $parametriolio->get_kayttajan_valtuudet() == Valtuudet::$HALLINTA) {
                $mj .= "<td>" . $muokkausnappi . $poistonappi . "</td>";
            } else {
                $mj .= "<td></td>";
            }
            // Lopuksi suljetaan taulukon rivi:
            $mj .= "</tr>";
            $laskuri++;
        }
    }
    $mj .= "</table>";
    $palauteolio->set_sisalto($mj);
    $palauteolio->set_nayta_kiintolinkit(false);
    return $palauteolio;
}
Ejemplo n.º 2
0
/**
 * Palauttaa yhdestä lajista tehdyt havainnot taulukkoon muotoiltuna.
 * @param Parametrit $parametriolio
 * @return <type> 
 */
function hae_lajiluokan_havainnot($parametriolio)
{
    $tietokantaolio = $parametriolio->tietokantaolio;
    $henkilo_id = $parametriolio->henkilo_id;
    // Painikkeita:
    $muokkausnappi = "";
    // Määritellään myöhemmin
    $poistonappi = "";
    // Määritellään myöhemmin
    $sulkemisnappi = "<button type='button' onclick='sulje_ruutu(\"" . Bongausasetuksia::$havaintotietotaulun_id . "\")'>" . Bongauspainikkeet::$HAVAINNOT_SULJE_HENKILON_HAVAINNOT_VALUE . "</button>";
    $tulos = "";
    // Tässäpä lausetta kerrakseen.
    $hakulause = "SELECT \n                        bhavainnot.id AS hav_id,\n                        henkilot.etunimi AS nimi,\n                        henkilot.id AS henk_id,\n                        henkilot.valtuudet AS henk_valtuudet,\n                        bkuvaukset.nimi AS laji,\n                        bhavainnot.paikka AS paikka,\n                        bhavainnot.kommentti AS kommentti,\n                        bhavainnot.vuosi AS vuosi,\n                        bhavainnot.kk AS kk,\n                        bhavainnot.paiva AS paiva,\n                        bhavainnot.maa AS maa,\n                        bhavainnot.varmuus AS varmuus\n                FROM blajiluokat\n                JOIN bkuvaukset\n                ON bkuvaukset.lajiluokka_id = blajiluokat.id\n                JOIN bhavainnot\n                ON bhavainnot.lajiluokka_id = blajiluokat.id\n                JOIN henkilot\n                ON bhavainnot.henkilo_id = henkilot.id\n                WHERE (bkuvaukset.kieli= " . $parametriolio->kieli_kuv . " AND blajiluokat.id = " . $parametriolio->id_lj . ")\n                ORDER by vuosi DESC, kk DESC, paiva DESC, laji;\n               ";
    $havaintohaku = $tietokantaolio->tee_OMAhaku($hakulause);
    $havaintotaulu = $tietokantaolio->hae_osumarivit_olioina($havaintohaku);
    if (empty($havaintotaulu)) {
        $tulos = "<div class=" . Bongausasetuksia::$tietotauluotsikko_class . ">" . $sulkemisnappi . "</div>";
        $tulos .= "<table class = " . Bongausasetuksia::$tietotaulun_class . ">\n                <tr>\n                <th>" . Bongaustekstit::$ilm_ei_havaintoja . "</th></tr></table>";
    } else {
        // Muotoillaan tiedot nätisti:
        $tulos = "<div class=" . Bongausasetuksia::$tietotauluotsikko_class . ">" . "Havainnot (" . $havaintotaulu[0]->laji . ")" . $sulkemisnappi . "</div>";
        $omaid = $parametriolio->omaid;
        $tulos .= "<table class = " . Bongausasetuksia::$tietotaulun_class . ">\n            <tr>\n                <th>Nro</th>\n                <th>Havaitsija</th>\n                <th>Aika</th>\n                <th>Paikka</th>\n                <th>Tunnistus</th>\n                <th>Toiminnot</th>\n            </tr>";
        $laskuri = 1;
        // Auttaa joka toisen rivin eri v&auml;riseksi.
        foreach ($havaintotaulu as $havainto) {
            // Määritellään omille havainnoille muokkaus- ja poistopainikkeet:
            // painike, josta saa näkyviin havaintolomakkeen:
            $muokkausnappi = "";
            // Nollataan, ettei kummittele!
            $poistonappi = "";
            $toimintopainikkeet = "<td></td>";
            // Omistajalle ja hallitsijalle ei-tyhjä.
            // Omiin havaintoihin ja hallitsijan oikeuksilla saa muokata ja
            // poistaa
            if ($havainto->henk_id == $omaid || $omaid == Valtuudet::$HALLINTA) {
                $class = "rinnakkain";
                $id = "";
                $action = "index.php?id_hav=" . $havainto->hav_id . "&id_lj=" . $parametriolio->id_lj;
                $name = Bongaustoimintonimet::$havaintotoiminto;
                $value = Bongauspainikkeet::$MUOKKAA_HAVAINTO_VALUE;
                $muokkausnappi = Html::luo_painikelomake($class, $id, $action, $name, $value);
                $name = Bongaustoimintonimet::$havaintotoiminto;
                $value = Bongauspainikkeet::$POISTA_HAVAINTO_VALUE;
                $poistonappi = Html::luo_painikelomake($class, $id, $action, $name, $value);
                $toimintopainikkeet = "<td>" . $muokkausnappi . $poistonappi . "</td>";
            }
            // Maa :
            $maa = " (" . Maat::hae_maan_kuvaus($havainto->maa) . ")";
            // Vain epävarmuus näytetään
            $varmuus = "Ok";
            if ($havainto->varmuus == Varmuus::$epavarma) {
                $varmuus = "?";
            }
            // Muokataan aika:
            $aika = anna_viikonp_suomeksi($havainto->paiva, $havainto->kk, $havainto->vuosi, true) . " " . $havainto->paiva . "." . $havainto->kk . "." . $havainto->vuosi;
            $henk_tiedot = $havainto->nimi;
            if ($laskuri % 2 == 0) {
                $tulos .= "<tr class =" . Bongausasetuksia::$tietotaulu_parillinenrivi_class . ">";
            } else {
                $tulos .= "<tr>";
            }
            $tulos .= "<td>" . $laskuri . "</td>";
            $tulos .= "<td>" . $havainto->nimi . "</td>";
            $tulos .= "<td>" . $aika . "</td>";
            $tulos .= "<td>" . $havainto->paikka . $maa . "</td>";
            $tulos .= "<td>" . $varmuus . "</td>";
            $tulos .= $toimintopainikkeet;
            $tulos .= "</tr>";
            $laskuri++;
        }
        $tulos .= "</table>";
    }
    return $tulos;
}
Ejemplo n.º 3
0
/**
 * Palauttaa pvm:n ja ajan, jotka saadaan parametrista, joka on
 * time()-funktion lähetyshetkenä antama arvo sekunteina vuoden 1970 alusta.
 * @param int $timestamp time()-funktion palauttama arvo (sekuntien määrä).
 * @return String Palauttaa html-tekstinä viikonpäivänä, päivämäärän ja
 * kellonajan.
 */
function anna_pvm_ja_aika($timestamp)
{
    $aikataul = getdate($timestamp);
    // Viikonpäivä:
    $tuloshtml = anna_viikonp_suomeksi($aikataul['mday'], $aikataul['mon'], $aikataul['year'], true);
    //pvm:
    $tuloshtml .= date(" j.n.Y \\k\\l\\o H:i:s", $timestamp);
    return $tuloshtml;
}