/** * @param Parametrit $parametriolio * @param Palaute $palauteolio * @return html Palauttaa sivun täydellisen html:n. */ function nayta_etusivu($nayttotapa) { $parametriolio = $this->parametriolio; $palauteolio = $this->palauteolio; $valtuudet = $parametriolio->get_valtuudet(); $url = $palauteolio->get_js_url(); $go_to_url_by_js = $palauteolio->go_to_url_by_js(); $valikko = $palauteolio->get_valikko_html(); $oppiainetiedot = $palauteolio->get_oppiainetiedot(); $ylapalkkipainikkeet = $palauteolio->get_ylapalkkipainikkeet(); $sisalto = $palauteolio->get_sisalto(); $ilmoitus = $palauteolio->get_ilmoitus(); $linkit = $palauteolio->get_linkkihtml(); $aika = Aika::anna_nyk_viikonp_suomeksi() . " " . date("d.m.Y"); $aikailmoitus = "Tänään on " . $aika . " "; $tietomuutospainike = ""; $uusi_kokon_painike = $palauteolio->get_uusi_kokon_painike(); $nayttonappi = Html::luo_button(Painikkeet::$ASETUKSET_YLEINEN_AVAA, array(Attr::id("nayttonappi"), Attr::classs("btn btn-default btn-md"), Attr::onclick("aseta_elementin_nakyvyys", array("asetusnapit", "inline", "piilotusnappi", "nayttonappi")))); $piilotusnappi = Html::luo_button(Painikkeet::$ASETUKSET_YLEINEN_PIILOTA, array(Attr::id("piilotusnappi"), Attr::classs("btn btn-default btn-md"), Attr::style("display: none"), Attr::onclick("aseta_elementin_nakyvyys", array("asetusnapit", "none", "piilotusnappi", "nayttonappi")))); if (empty($valikko)) { $nayttonappi = ""; $piilotusnappi = ""; //$koostepainike = ""; } // Tulostetaan etusivun html-koodi: $otsikkoteksti = Tekstit::$otsikko1_etusivu; //Muotoillaan otsikko sen mukaan, ollaanko kokonaisuudessa vai muualla. // Tosin nyt kyllä ihan samanlainen.. if ($palauteolio->get_naytettava_oliotyyppi() == Palaute::$NAYTETTAVA_OLIOTYYPPI_KOKONAISUUS) { $otsikko = $otsikkoteksti . " " . $oppiainetiedot; } else { $otsikko = $otsikkoteksti . " " . $oppiainetiedot; } // Vain katselu on mahdollista ilman kirjautumista: if ($valtuudet > Valtuudet::$KATSELU) { $kirjautuminen = Html::span(array(Attr::style("font-size:70%")), " " . $_SESSION['tiedot']->etunimi . " ") . Html::luo_forminput_painike(array(Attr::classs("navbar-form inline-block")), array(Attr::classs("btn btn-default btn-md"), Attr::name("toiminta"), Attr::value(Painikkeet::$KIRJAUDU_ULOS_VALUE))); // Ellei näytetä valikoita, pannaan muutkin minimiin: if ($palauteolio->get_valikkonaytto()) { $tietomuutospainike = Html::luo_forminput_painike(array(Attr::classs("navbar-form inline-block")), array(Attr::classs("btn btn-default btn-md"), Attr::name(Toimintonimet::$henkilotietotoiminto), Attr::value(Painikkeet::$nayta_tietomuutoslomake_value))); } } else { $kirjautuminen = Html::a(array(Attr::title(Tekstit::$linkit_tunnistautuminen)), Html::span(array(Attr::classs("glyphicon glyphicon-log-in login-painike")), ""), "tunnistus.php"); } array_push($ylapalkkipainikkeet, $nayttonappi); array_push($ylapalkkipainikkeet, $piilotusnappi); array_push($ylapalkkipainikkeet, Html::li(array(), $kirjautuminen)); // Jos käyttäjällä on riittävät valtuudet, hän saa lisätä henkilöitä ja muuttaa // oikeuksia: HUOM! Tällainen kuuluisi kai loogisesti olemaan index.php:ssa. $erikoistoiminnot = ""; if ($valtuudet == Valtuudet::$HALLINTA && $palauteolio->get_valikkonaytto()) { $erikoistoiminnot = "<form method='post' class='navbar-form inline-block'\n action='{$_SERVER['PHP_SELF']}'>\n <input type='submit' name = 'erikoistoiminta'\n class='btn btn-default'\n value='" . Painikkeet::$lisaa_henkilo_value . "'/></form>"; $erikoistoiminnot .= "<form method='post' class='navbar-form inline-block'\n action='{$_SERVER['PHP_SELF']}'>\n <input type='submit' name = 'erikoistoiminta'\n class='btn btn-default'\n value='" . Painikkeet::$nayta_valtuudet_value . "'/></form>"; } /* Muokataan urliin meno js-koodin avulla, jos sellainen asetettu. * On hidas erityisesti kaavaeditoinnin kanssa, minkä takia ei kovin * suositeltu. Ilmeisesti parempi käyttää #id-juttua urlissa. */ if ($go_to_url_by_js && $url != -1 && !empty($url)) { $url = "#" . $url; $js_koodi = <<<HUU <script type='text/javascript'> window.location='{$url}'; </script> HUU; } else { $js_koodi = ""; } // Muokataan pohjan, sisällön ja linkkipalkin id:t: $palkki_oikea_on = false; $palkki_oikea_id = "palkki_oikea"; $number_of_col = 2; $sidenav_fixed = false; if ($nayttotapa == Html_koodi::$sisaltoelem_fixed) { $pohja_id = "pohja_kiintea"; $sisalto_id = "sisalto_fixed"; $palkki_vasen_id = "palkki_vasen_fixed"; } else { if ($nayttotapa == Html_koodi::$sisaltoelem_levea) { $number_of_col = 1; } else { if ($nayttotapa == Html_koodi::$sisaltoelem_norm_3palkki) { $palkki_oikea_on = true; $number_of_col = 3; } else { if ($nayttotapa == Html_koodi::$sisaltoelem_tulostus) { $pohja_id = "pohja_kiintea"; $sisalto_id = "sisalto"; $palkki_vasen_id = ""; // $palkki_oikea_on = true; } else { if ($nayttotapa == Html_koodi::$sidenav_fixed) { $sidenav_fixed = true; } else { $pohja_id = "pohja_kiintea"; $sisalto_id = "sisalto"; $palkki_vasen_id = "palkki_vasen"; } } } } } // Oikea palkki: $palkki_oikea_html = ""; if ($palkki_oikea_on) { $palkki_oikea_html = "<div id=" . $palkki_oikea_id . ">" . $palauteolio->get_sisalto_palkki_oikea() . "</div>"; } /* * */ if ($nayttotapa != Html_koodi::$sisaltoelem_tulostus) { $links = $uusi_kokon_painike . $linkit; $content = $sisalto . $js_koodi; $header_content = $otsikko; $asetuspainikkeet = $tietomuutospainike . $erikoistoiminnot . " " . $valikko; $etusivu = '<!DOCTYPE html>' . '<html>' . $this->create_head() . '<!--******************* POHJA ******************************--> <body onload="kaynnista_metodit(1)"> ' . get_latex_config() . ' <div id="ilmoitus">' . $ilmoitus . '</div> <!--******************* OTSIKKOPALKKI ***********************--> ' . $this->create_nav($header_content, $ylapalkkipainikkeet, $asetuspainikkeet) . ' <!--********* LINKKIPALKKI, SISÄLTÖ JA OIKEA PALKKI *********--> ' . $this->create_sidenavs_and_content_row($links, $content, $palkki_oikea_html, $number_of_col, $sidenav_fixed) . ' <!--******************* TIEDOT ELI ALAPALKKI ****************--> ' . $this->create_footer($aikailmoitus, $this->create_copyright()) . ' <!--******************* TIEDOT ELI ALAPALKKI LOPPUU *********--> </body> </html>'; return $etusivu; } else { // Jos tulostamassa: $etusivu = '<!DOCTYPE html>' . '<html> <head> <meta content="text/html; charset=UTF-8" http-equiv="content-type"> <title>Opinnot.net - tulostus</title> <link rel="stylesheet" type="text/css" href="tyylit/perusmuotoilut.css" /> <link rel="stylesheet" type="text/css" href="tyylit/tulostusmuotoilut.css" /> <link rel="stylesheet" type="text/css" href="php_yleinen/matematiikka/matematiikkatyylit.css" /> <link rel="stylesheet" type="text/css" href="tyylit/print.css" media="print" /> <script type="text/javascript" src="ajax_ja_js/metodit.js"></script> <script type="text/javascript" src="ajax_ja_js/tekstinmuokkausmetodit.js"></script> <script type="text/javascript" src="ajax_ja_js/ajaxkirjasto.js"></script> <script type="text/x-mathjax-config"> MathJax.Hub.Config({ jax: ["input/TeX", "output/SVG"], TeX: { equationNumbers: { autoNumber: "AMS" } } }); </script> <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> </script> <style type="text/css"> </style> </head> <!--******************* POHJA *******************************--> <body> ' . get_latex_config() . ' <div id=' . $pohja_id . '> <div id="ilmoitus">' . $ilmoitus . '</div> <!--******************* LINKKIPALKKI ************************--> <div id="tulostusnayttopainikkeet">' . $linkit . '</div> <!--******************* SISäLTö *****************************--> <div id = ' . $sisalto_id . '> ' . $sisalto . ' </div> <!--******************* SISäLTö LOPPUU ***************--> </div> <!--******************* POHJA LOPPUU *****************--> </body> </html>'; return $etusivu; } }
/** * @param Parametrit $parametriolio * @param Palaute $palauteolio * @return html Palauttaa sivun täydellisen html:n. */ function nayta_etusivu($parametriolio, $palauteolio, $nayttotapa) { $valtuudet = $parametriolio->get_valtuudet(); $ylapalkkipainikkeet = $palauteolio->get_ylapalkkipainikkeet(); $sisalto = $palauteolio->get_sisalto(); $ilmoitus = $palauteolio->get_ilmoitus(); $linkit = $palauteolio->get_linkkihtml(); $aika = Aika::anna_nyk_viikonp_suomeksi() . " " . date("d.m.Y"); $aikailmoitus = "Tänään on " . $aika . " "; // Kieli: $lang_id = $parametriolio->kieli_id; // Tulostetaan etusivun html-koodi: $otsikkoteksti = Palautustekstit::heading1($lang_id); // Vain katselu on mahdollista ilman kirjautumista: if ($valtuudet > Valtuudet::$KATSELU) { $kirjautuminen = Html::span(array(Attr::style("font-size:70%")), " " . $_SESSION['tiedot']->etunimi . " ") . Html::luo_forminput_painike(array(Attr::classs("navbar-form inline-block")), array(Attr::classs("btn btn-default btn-md"), Attr::name("toiminta"), Attr::value(Painikkeet::$KIRJAUDU_ULOS_VALUE))); } else { $kirjautuminen = Html::a(array(Attr::title(Tekstit::$linkit_tunnistautuminen)), Html::span(array(Attr::classs("glyphicon glyphicon-log-in login-painike")), ""), "../kokonaisuudet/tunnistus.php?target=submit"); } $ylapalkkipainikkeet .= $kirjautuminen; // Näyttötavan vaikutus: if ($nayttotapa === Palautusnakymat::$show_1col) { $number_of_col = 1; } else { if ($nayttotapa === Palautusnakymat::$show_2col) { $number_of_col = 2; } else { $number_of_col = 1; } } $links = $linkit; $content = $sisalto; $header_content = $otsikkoteksti; $etusivu = '<!DOCTYPE html>' . '<html>' . $this->create_head() . '<body onload="kaynnista_metodit(2)"> <div id="ilmoitus">' . $ilmoitus . '</div> ' . $this->create_nav($header_content, $ylapalkkipainikkeet) . ' ' . $this->create_sidenavs_and_content_row($links, $content, $number_of_col) . ' ' . $this->create_footer($aikailmoitus, "") . ' </body> </html>'; return $etusivu; }