/** * 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; }
/** * Palauttaa lukua eli lajitarkennusindeksiä vastaavan * lajitarkennuskuvauksen, tai * tekstin "Tuntematon", jos parametri on sopimaton. * @param <type> $arvo * @return <type> */ public static function hae_lajitarkennuksen_kuvaus($arvo) { $kuvaus = "Tuntematon"; // Jos parametri on ok, haetaan lajitarkennuksen nimi. Jos huomataan // jotakin outoa, palautetaan virheviesti. if (is_numeric($arvo)) { try { $kuvaukset = Lajitarkennukset::hae_lajitarkennuskuvaukset(); $arvot = Lajitarkennukset::hae_lajitarkennusarvot(); $i = 0; // Laskuri foreach ($arvot as $testiarvo) { if ($arvo == $testiarvo) { $kuvaus = $kuvaukset[$i]; break; } $i++; } } catch (Exception $poikkeus) { $kuvaus = $poikkeus->getMessage(); } } return $kuvaus; }