/** * Tämä metodi palauttaa suorituslomakkeen koodin. * @param Parametrit $parametriolio * @return <type> */ function nayta_suorituslomake(&$parametriolio) { $laji = $parametriolio->laji; $matkametreina = $parametriolio->matkametreina; $paiva = $parametriolio->paiva; $kk = $parametriolio->kk; $vuosi = $parametriolio->vuosi; $kesto = $parametriolio->kesto; $kuvaus = $parametriolio->kuvaus; $uusi = $parametriolio->uusi_suoritus; $lajitarkennus = $parametriolio->lajitarkennus; $kestotunnit = $parametriolio->kestotunnit; $kestomin = $parametriolio->kestomin; $kestosek = $parametriolio->kestosek; $paluunakyma = $parametriolio->paluunakyma; $nakyvyys = $parametriolio->nakyvyys_suor; $tietokantaolio = $parametriolio->tietokantaolio; $lajitarkennuselem_id = "lajitarkennus"; $submitnappi = ""; if ($uusi) { $submitnappi = "</td><td align='left'><input type='submit'\n name='toiminta'" . "value='Tallenna'/>"; } else { // Haetaan vanhat tiedot: $taulunimi = "suoritukset"; $sarakenimi = "id"; $hakuarvo = $parametriolio->suoritus_id; $vanha_suoritus = $tietokantaolio->hae_eka_osuma_oliona($taulunimi, $sarakenimi, $hakuarvo); if ($vanha_suoritus != Tietokantaolio::$HAKU_PALAUTTI_TYHJAN) { $laji = $vanha_suoritus->laji; $matkametreina = $vanha_suoritus->matkametreina; $paiva = $vanha_suoritus->paiva; $kk = $vanha_suoritus->kk; $vuosi = $vanha_suoritus->vuosi; $kesto = $vanha_suoritus->kesto; $kuvaus = $vanha_suoritus->kuvaus; $lajitarkennus = $vanha_suoritus->lajitarkennus; $kestotunnit = $vanha_suoritus->kestotunnit; $kestomin = $vanha_suoritus->kestomin; $kestosek = $vanha_suoritus->kestosek; $nakyvyys = $vanha_suoritus->nakyvyys; } $submitnappi = "</td><td align='left'><input type='submit'\n name='toiminta'" . "value='Tallenna muutos'/>"; } // Näkyvyysvalintapainikkeet =============================================== $valintapainikeMJ = ""; // $puolijulkinen-vaihtoehto näytetään vain JP:lle (Viivin erikoinen melonta). $nayta_puolijulkinen = false; if (hae_henkilon_nimi($parametriolio->omaid, true, $tietokantaolio) === "Jukka-Pekka") { $nayta_puolijulkinen = true; } $arvot = Nakyvyys::hae_nakyvyysarvot($nayta_puolijulkinen); $kuvaukset = Nakyvyys::hae_nakyvyyskuvaukset($nayta_puolijulkinen); $name_arvo = 'nakyvyys_suor'; $id = ""; $class = ""; $oletus = $nakyvyys; $otsikko = ""; $valintapainikeMJ = Html::luo_pudotusvalikko3($arvot, $kuvaukset, $name_arvo, $id, $class, $oletus, $otsikko); //========================================================================== // Näytetään lajivalikko: $arvot = Laji::get_lajiarvot(); $nimet = Laji::get_lajikuvaukset(); $name_arvo = "laji"; $oletusvalinta_arvo = $laji; $otsikko = ""; $onchange_metodinimi = "tarkista_lajitarkennus"; $onchange_metodiparametrit_array = array("this.options[this.selectedIndex].value", "\"" . Laji::$id_juoksu . "\"", "\"" . $lajitarkennuselem_id . "\""); $lajivalikkomerkkaus = Html::luo_pudotusvalikko_onChange($arvot, $nimet, $name_arvo, $oletusvalinta_arvo, $otsikko, $onchange_metodinimi, $onchange_metodiparametrit_array); //========================================================================= // Näytetään sitten lajitarkennusvalikko: $arvot = Lajitarkennukset::hae_lajitarkennusarvot(); $nimet = Lajitarkennukset::hae_lajitarkennuskuvaukset(); $name_arvo = "lajitarkennus"; $oletusvalinta_arvo = $lajitarkennus; $otsikko = ""; $onchange_metodinimi = "aseta_matka"; $onchange_metodiparametrit_array = array("this.options[this.selectedIndex].value"); $lajitarkennusvalikko = Html::luo_pudotusvalikko_onChange($arvot, $nimet, $name_arvo, $oletusvalinta_arvo, $otsikko, $onchange_metodinimi, $onchange_metodiparametrit_array); // Lajitarkennus näytetään vain, jos laji on juoksu: $nayttotyyli = "none"; if ($laji === Laji::$id_juoksu) { $nayttotyyli = "table-row"; } //========================================================================= // Ja sitten ajan ohjattu määritys: ensin tunnit: $tuntivalikko = "<select name='kestotunnit'/>"; if (!isset($kestotunnit) || $kestotunnit == "") { $kestotunnit = 0; } for ($i = 0; $i < 25; $i++) { if ($i == $kestotunnit) { $tuntivalikko .= "<option value='{$i}'selected='selected'>{$i}</option>"; } else { $tuntivalikko .= "<option value='{$i}'>{$i}</option>"; } } $tuntivalikko .= "</select>"; // Ja sitten minuutit: $minvalikko = "<select name='kestomin'/>"; if (!isset($kestomin) || $kestomin == "") { $kestomin = 0; } for ($i = 0; $i < 60; $i++) { if ($i == $kestomin) { $minvalikko .= "<option value='{$i}'selected='selected'>{$i}</option>"; } else { $minvalikko .= "<option value='{$i}'>{$i}</option>"; } } $minvalikko .= "</select>"; // Ja sitten sekunnit: $sekvalikko = "<select name='kestosek'/>"; if (!isset($kestosek) || $kestosek == "") { $kestosek = 0; } for ($i = 0; $i < 60; $i++) { if ($i == $kestosek) { $sekvalikko .= "<option value='{$i}'selected='selected'>{$i}</option>"; } else { $sekvalikko .= "<option value='{$i}'>{$i}</option>"; } } $sekvalikko .= "</select>"; // Tekstin muokkauspainikkeet: $muokattavan_elementin_id = "kuvauskentta"; $alasvetovalikon_id = "erikoismerkit"; $tekstityokaluolio = new Tekstityokalupalkki($muokattavan_elementin_id, $alasvetovalikon_id); $tekstimuokkauspainikkeet = $tekstityokaluolio->luo_painikkeet(Tekstityokalupalkki::$PERUSPAINIKKEET); $mj = "<p><b>Kirjoita/valitse tiedot ja paina Tallenna-nappia!" . " (Tähdelliset pakollisia.)</b></p>" . "<form align='center' method='post' action='muistio.php?" . URL_muuttujat::$paluunakyma . "=" . $paluunakyma . "&" . URL_muuttujat::$lajitarkennus . "=" . $parametriolio->lajitarkennus . "' " . "id='tietolomake_kapea'>" . "<table summary='uudet_tiedot'>" . "<td></td>\n <td align='left'><button id='b1' type='button' onclick='nayta_ed_vko()'>\n Viikko taaksepäin</button>\n <button id='b2'type='button' onclick='nayta_ed()'>\n Edellinen päivä</button>\n <button id='b3'type='button'\n onclick='nayta_seur()'>\n Seuraava päivä\n </button>\n <button id='b4' type='button' onclick='nayta_seur_vko()'>\n Viikko eteenpäin</button></td>" . "<tr>" . "<td align='left'>*Päivä: </td><td align='left'>\n <input id='paiva' type='text'\n name='paiva' value='{$paiva}' size='4' maxlength='2'\n onchange='nayta_pvm()' onkeyup='nayta_pvm()' />\n *Kk: <input id='kk' type='text' " . "name='kk' value='{$kk}' size='4' maxlength='2' \n onchange='nayta_pvm()' onkeyup='nayta_pvm()'/>\n *Vuosi: <input id='vuosi' type='text' " . "name='vuosi' value='{$vuosi}' size='4' maxlength='4'\n onchange='nayta_pvm()' onkeyup='nayta_pvm()'/>\n <span id='pvm_naytto'></span></td>" . "</tr>" . "<tr>" . "<td align='left'>*Laji:</td><td align='left'> {$lajivalikkomerkkaus} </td>" . "</tr>" . "<tr id='" . $lajitarkennuselem_id . "' style='display: {$nayttotyyli}'>" . "<td align='left'>Lajin tarkennus:" . "</td><td align='left'>{$lajitarkennusvalikko}</td>\n </tr>" . "<tr><td align='left' colspan='3'>{$tekstimuokkauspainikkeet}</td></tr>" . "<tr><td align='left'>Kuvaus:</td>\n <td align='left'><textarea id='kuvauskentta' cols='60'\n rows='5'name='kuvaus'>{$kuvaus}" . "</textarea></td></tr>" . "<tr><td align='left'>Kesto: </td><td align='left'>" . $tuntivalikko . "h " . $minvalikko . "min " . $sekvalikko . "sek tai tekstinä:<input type='text' " . "name='kesto' value='{$kesto}'/></td></tr>" . "<tr><td align='left'>Matka (<i>m</i>): </td><td align='left'>\n <input id='matka' type='text' " . "name='matkametreina' value='{$matkametreina}'/></td></tr>" . "<tr><td align='left'>Näkyvyys: </td><td align='left'>" . $valintapainikeMJ . "</td></tr>" . "<tr><td align='left'>{$submitnappi}\n <input type='submit' name='toiminta'" . "value='Poistu tallentamatta'/></td></tr>" . "</table>" . "</form>"; // Palautetaan lomake ja näytetään js-päivämäärä;. return $mj . "<script type='text/javascript'>\n nayta_pvm();\n </script>"; }
/** * Palauttaa nakyvyysarvoja vastaavat kuvaukset (Yksityinen, Julkinen,...) * @return <type> Palauttaa taulukon, joka sisältää nakyvyysasetusten kuvauksen. */ public static function hae_nakyvyyskuvaukset($nayta_puolijulkinen) { if ($nayta_puolijulkinen) { $kuvaukset = array("Julkinen", "Yksityinen", "Puolijulkinen"); } else { $kuvaukset = array("Julkinen", "Yksityinen"); } // Tarkistetaan täällä, että arvoja ja nimiä on yhtä monta. Ellei ole, // heitetään poikkeus. if (sizeof(Nakyvyys::hae_nakyvyysarvot($nayta_puolijulkinen)) != sizeof($kuvaukset)) { throw new Exception("Virhe luokassa 'Nakyvyys'\n (Liikuntamuistio/muistioasetukset.php): tarkista nimien\n ja arvojen lukumäärät!"); } return $kuvaukset; }