$tulos = Kaavaeditori::muotoile_kaavat($teksti); $sisalto .= "Tulos: " . $tulos; $sisalto .= "<br/><br/>"; $teksti = 'Tämä on ' . Kaavaeditori::$kaavan_alku . Kaavaeditori::$jako_alku . '4##x<sup>2</sup>+5' . Kaavaeditori::$jako_loppu . '-4-' . Kaavaeditori::$jako_alku . '5##4' . Kaavaeditori::$jako_loppu . '+50' . Kaavaeditori::$kaavan_loppu . ' kaava.'; $sisalto .= "Syöte 7: '" . $teksti . "'<br/>"; $tulos = Kaavaeditori::muotoile_kaavat($teksti); $sisalto .= "Tulos: " . $tulos; $sisalto .= "<br/><br/>"; $teksti = 'T' . Kaavaeditori::$kaavan_alku . 'Kiihtyvyys=' . Kaavaeditori::$jako_alku . 'nopeuden muutos##muutoksen aika' . Kaavaeditori::$jako_loppu . '' . Kaavaeditori::$kaavan_loppu; $sisalto .= "Syöte 8: '" . $teksti . "'<br/>"; $tulos = Kaavaeditori::muotoile_kaavat($teksti); $sisalto .= "Tulos: " . $tulos; $sisalto .= "<br/><br/>"; $teksti = 'Pitkan tekstin rivityksessa tulee ' . 'ongelmia kaavan sisällä.' . Kaavaeditori::$kaavan_alku . ' Pitkan tekstin rivityksessa tulee ' . 'ongelmia kaavan sisällä. Hups kun aakkoset nayttaa hassuilta' . ' tuolla. Yritan saada taman riittamaan useammalle riville, jotta' . ' ongelma tulee nakyviin kunnolla. phv pj jodjsdj sj os osjosidfisj' . '5t+6=' . Kaavaeditori::$jako_alku . '4+y##333' . Kaavaeditori::$jako_loppu . '= 2222 Pitkan tekstin rivityksessa tulee ' . 'ongelmia kaavan sisällä. Hups kun aakkoset nayttaa hassuilta' . ' tuolla. Yritan saada taman riittamaan useammalle riville, jotta' . ' ongelma tulee nakyviin kunnolla' . Kaavaeditori::$kaavan_loppu; $sisalto .= "Syöte 9: '" . $teksti . "'<br/>"; $tulos = Kaavaeditori::muotoile_kaavat($teksti); $sisalto .= "Tulos: " . $tulos; $sisalto .= "<br/><br/>"; $sisalto .= "<h2>Loppui luokan Kaavaeditori metodin\n 'muotoile_kaavat(teksti)' testi LOPPU</h2>"; $sisalto .= "********************************************************************"; $sisalto .= "<h2>Laskuriluokan\n testaus:</h2>"; $sisalto .= "<h3>Laskuriluokan supista_yksinkert_muot -metodin\n testaus:</h3>"; $sisalto .= $laskuri->supista_yksinkert_muot(new Murtoluku("+", "5", "20"), true); $sisalto .= $laskuri->supista_yksinkert_muot(new Murtoluku("+", "3", "18"), true); $sisalto .= $laskuri->supista_yksinkert_muot(new Murtoluku("+", "1", "3"), true) . "=4x"; $sisalto .= $laskuri->supista_yksinkert_muot(new Murtoluku("+", "1", "0"), true); $sisalto .= $laskuri->supista_yksinkert_muot(new Murtoluku("-", new Kokonaisluku("-", "3000"), new Kokonaisluku("-", "60000")), true); $sisalto .= $laskuri->supista_yksinkert_muot(new Murtoluku("+", "500787", "99945"), true); $sisalto .= "<h3>Laskuriluokan lavenna_samannimisiksi -metodin\n testaus:</h3>"; $sisalto .= $laskuri->lavenna_samannimisiksi(new Murtoluku("+", "1", "4"), new Murtoluku("-", "3", "7"), true); $sisalto .= $laskuri->lavenna_samannimisiksi(new Murtoluku("-", "23", "25"), new Murtoluku("+", "7", "24"), true);
/** * Palauttaa koosteessa näytettävän kokonaisuuden tulostusta varten optimoidun * html-koodin. * * @param Elementti $elementti Olio, joka viittaa kokonaisuuteen, jonka * näkymää parhaillaan puuhaillaan. * @param Kokonaisuusolio $kokonaisuus * @param Parametrit $parametriolio * @param int $kohdeoikeudet Käyttäjän oikeudet tähän olioon. * @param <type> $selitys_auki jos true, niin selitys näytetään, muuten ei. * @return <type> */ function luo_koostenakyma_tulostus($elementti, $kokonaisuus, $parametriolio, $selitys_auki, $kohdeoikeudet) { $omaid = $parametriolio->get_omaid(); $tietokantaolio = $parametriolio->get_tietokantaolio(); $kayttajan_valtuudet = $parametriolio->get_valtuudet(); $palaute = ""; $selitys = ""; $nayta_selitys_nappi = ""; /* Näyttää selityksen. */ $siirra_ylemmaksi_nappi = ""; $siirra_alemmaksi_nappi = ""; // Alla jostakin syystä !empty($kokonaisuus->getSelitys()) ei toiminut! if ($kokonaisuus->getSelitys() != "") { $onsubmit_parametrit = array($kokonaisuus->get_id()); /* Tämän avulla löytyvät */ $form_maaritteet = array('method' => 'post', 'class' => 'rinnakkain', 'action' => "{$_SERVER['PHP_SELF']}?" . "id_kokon=" . $kokonaisuus->get_id()); if ($selitys_auki) { $title = Painikkeet::$SULJE_SELITYS_title; $onsubmit_funktionimi = "sulje_selitys"; $input_maaritteet = array('name' => Toimintonimet::$kokonaisuustoiminto, 'value' => Painikkeet::$SULJE_SELITYS_value, 'title' => $title); } else { $title = Painikkeet::$NAYTA_SELITYS_title; $onsubmit_funktionimi = "nayta_selitys"; $input_maaritteet = array('name' => Toimintonimet::$kokonaisuustoiminto, 'value' => Painikkeet::$NAYTA_SELITYS_value, 'title' => $title); } $nayta_selitys_nappi = Html::luo_submit_painike_onsubmit_toiminnolla($onsubmit_funktionimi, $onsubmit_parametrit, $form_maaritteet, $input_maaritteet); } if ($kohdeoikeudet >= Lisavaltuudet::$SAA_MUOKATA_EI_POISTAA) { // Järjestyksen muutosnapit (jos mielekästä): /*$siirra_ylemmaksi_nappi = ""; if($kokonaisuus->getEdellisenId_taso() != Kokonaisuusolio::$kokon_edellista_ei_ole){ $onsubmit_funktionimi = ""; // Tulevaa varten. $onsubmit_parametrit = ""; // Ei ole vielä. $form_maaritteet = array("class" => "rinnakkain", "method"=>"post", "action"=>"{$_SERVER['PHP_SELF']}?id_kokon=".$kokonaisuus->get_id(). "&oppiaine_kokon=".$kokonaisuus->getOppiaine(). "&kieli_id=".$kokonaisuus->getKieli(). "&ed_id_kokon=".$kokonaisuus->getEdellisenId_taso(). "&siirto_ylos=true"); $input_maaritteet = array("value" => Painikkeet::$SIIRRA_YLEMMAKSI_KOKON_value, "title" => Painikkeet::$SIIRRA_YLEMMAKSI_KOKON_title, "name"=>Toimintonimet::$kokonaisuustoiminto); try{ $siirra_ylemmaksi_nappi = Html::luo_submit_painike_onsubmit_toiminnolla( $onsubmit_funktionimi, $onsubmit_parametrit, $form_maaritteet, $input_maaritteet); } catch (Exception $poikkeus){ $siirra_ylemmaksi_nappi = $poikkeus->getMessage(); } } // Alaspäin siirto: $siirra_alemmaksi_nappi = ""; if($kokonaisuus->getSeuraavanId_taso() != Kokonaisuusolio::$kokon_seuraavaa_ei_ole){ $onsubmit_funktionimi = ""; // Tulevaa varten. $onsubmit_parametrit = ""; // Ei ole vielä. $form_maaritteet = array("class" => "rinnakkain", "method"=>"post", "action"=>"{$_SERVER['PHP_SELF']}?id_kokon=".$kokonaisuus->get_id(). "&oppiaine_kokon=".$kokonaisuus->getOppiaine(). "&kieli_id=".$kokonaisuus->getKieli(). "&seur_id_kokon=".$kokonaisuus->getSeuraavanId_taso(). "&siirto_ylos=0"); $input_maaritteet = array("value" => Painikkeet::$SIIRRA_ALEMMAKSI_KOKON_value, "title" => Painikkeet::$SIIRRA_ALEMMAKSI_KOKON_title, "name"=>Toimintonimet::$kokonaisuustoiminto,); try{ $siirra_alemmaksi_nappi = Html::luo_submit_painike_onsubmit_toiminnolla( $onsubmit_funktionimi, $onsubmit_parametrit, $form_maaritteet, $input_maaritteet); } catch (Exception $poikkeus){ $siirra_alemmaksi_nappi = $poikkeus->getMessage(); } }*/ } // Tehtävien lisääminen sopivasti oikeutetuille: if ($kayttajan_valtuudet >= Valtuudet::$TEHTAVA_LISAYS) { /* Uuden tehtävän luontipainike * $onsubmit_funktionimi= "nayta_tehtavalomake"; $onsubmit_parametrit = array($kokonaisuus->get_id()); /* Tarpeen?* $form_maaritteet = array('method'=>'post', 'class'=>'rinnakkain', 'action'=>"{$_SERVER['PHP_SELF']}?". "id_kokon=".$kokonaisuus->get_id(). "&uusi=true"); $input_maaritteet = array('name'=>Toimintonimet::$tehtavatoiminto, 'value'=>Painikkeet::$tehtava_uusi_value); try{ $uusi_teht_nappi = Html::luo_submit_painike_onsubmit_toiminnolla( $onsubmit_funktionimi, $onsubmit_parametrit, $form_maaritteet, $input_maaritteet); } catch (Exception $poikkeus){ $palaute .= "Virhe tehtavanapin luomisessa: ". $poikkeus->getMessage(); }*/ } // TEhtävien lisäyspainikekoodi loppuu. /* haetaan mahdolliset kuvat */ $kuvahtml_tiivis = $kokonaisuus->hae_kuvat(Kuvat::$kohde_kokonaisuus_tiivistelma, $omaid, $tietokantaolio, false); /* Kaikki kokonaisuudet ovat samanlaisia tasosta riippumatta */ $class_arvo = "elementti_kokon"; $otsikko = "<div class = " . $class_arvo . " id='elem" . $elementti->get_id() . "'>" . "<h3>" . $kokonaisuus->getOtsikkomerkinta() . $kokonaisuus->getOtsikko() . " " . $siirra_ylemmaksi_nappi . $siirra_alemmaksi_nappi . "</h3>"; /* Haetaan vielä tarvittaessa selitys: */ if ($selitys_auki && $kokonaisuus->getSelitys() != "") { /* haetaan mahdolliset kuvat */ $kuvahtml_selitys = $kokonaisuus->hae_kuvat(Kuvat::$kohde_kokonaisuus_selitys, $omaid, $tietokantaolio, false); $selitysotsikko = "<div class='selitysotsikko'>" . Tekstit::$otsikko_selitys . "</div>"; /* Muotoillaan selitys: */ $selitys_muokattu = muotoile_merkit($kokonaisuus->getSelitys()); // Pikkukaavat ensin, jotta kursiivin poisto onnistuu ennen // sulkujen käsittelyä. $selitys_muokattu = Kaavaeditori::muotoile_pikkukaavat($selitys_muokattu); // Sitten normaalikaavat: $selitys_muokattu = Kaavaeditori::muotoile_kaavat($selitys_muokattu); $selitys = $selitysotsikko . $kuvahtml_selitys . $selitys_muokattu; } /* Muotoillaan tiivistelmän merkit ja kaavat: */ $tiivistelma = muotoile_merkit($kokonaisuus->getTiivis()); $tiivistelma = Kaavaeditori::muotoile_pikkukaavat($tiivistelma); $tiivistelma = Kaavaeditori::muotoile_kaavat($tiivistelma); $tiivistelma = $kuvahtml_tiivis . $tiivistelma . "<br />"; /* Ja sitten vain palaset pakettiin: HUOM! Täällä katsotaan, ettei * piilotetun sisältö näy. */ $piilotushuomautus = "<div class='piilotushuomautus'>" . Tekstit::$ilm_kokon_piilotettu_paitsi_ots . "</div>"; $yksityisilmoitus = "<div class='yksityisilmoitus'>" . Tekstit::$ilm_kokon_yksityinen . "</div>"; $vainkoosteilmoitus = "<div class='koosteilmoitus'>" . Tekstit::$ilm_kokon_vain_kooste . "</div>"; /** * Tänne mennään, kun kokonaisuus näytetään, * oli se sitten piilossa tahi ei. */ if ($kokonaisuus->getNakyvyys() + 0 === Nakyvyys::$VAIN_KOOSTEESSA || $kohdeoikeudet >= Lisavaltuudet::$SAA_NAHDA_EI_MUOKATA_EI_POISTAA) { $normaali_kokonaisuus = $otsikko; // Jos kokonaisuus on muilta piilossa, lisätään viesti: if ($kokonaisuus->getNakyvyys() + 0 === Nakyvyys::$VAIN_OTSIKKO) { $normaali_kokonaisuus .= $piilotushuomautus . $tiivistelma; } else { if ($kokonaisuus->getNakyvyys() + 0 === Nakyvyys::$YKSITYINEN) { $normaali_kokonaisuus .= $tiivistelma; } else { if ($kokonaisuus->getNakyvyys() + 0 === Nakyvyys::$VAIN_KOOSTEESSA) { $normaali_kokonaisuus .= $tiivistelma; } else { $normaali_kokonaisuus .= $tiivistelma; } } } /* $normaali_kokonaisuus .= " ".$nayta_selitys_nappi;*/ /* Lisätään vielä div selitystä varten: */ if ($selitys_auki && $kokonaisuus->getSelitys() != "") { $normaali_kokonaisuus .= "<div class='selitys' id='selitys" . $kokonaisuus->get_id() . "'>" . $selitys . "</div>"; } $normaali_kokonaisuus .= "</div>"; /* Kokonaisuus loppuu. */ $palaute = $normaali_kokonaisuus; } else { if ($kokonaisuus->getNakyvyys() + 0 === Nakyvyys::$VAIN_OTSIKKO) { $class_arvo = "elementti_kokon"; $otsikko = "<div class = " . $class_arvo . " id='elem" . $elementti->get_id() . "'>" . "<h3>" . $kokonaisuus->getOtsikko() . " " . $siirra_ylemmaksi_nappi . $siirra_alemmaksi_nappi . "</h3>"; $palaute = $otsikko; $palaute .= $piilotushuomautus; $palaute .= "</div>"; /* Kokonaisuus loppuu. */ } else { // Kun jonkun toisen yksityinen / vain koosteessa, eikä hallintavaltuuksia: $palaute = ""; } } return $palaute; }
function testaa_merkkijonometodeita() { /* Testataan merkkijonometodia "php_yleinen/Yleismetodit.php. * yleismetodit::hae_merkkijonot($teksti, $alkumj, $loppumj, $hae_kaikki)":*/ $this->lisaa_kommentti("<h2>Testataan merkkijonometodia 'hae_merkkijonot'</h2>"); $this->lisaa_kommentti("Testataan merkkijonometodia 'hae_merkkijonot'<br/>"); $teksti = "Auto ajoi (200 km/h) kaarteeseen. Olipa (siinä) vauhtia."; $alkumj = "("; $loppumj = ")"; $hae_kaikki = true; $this->lisaa_kommentti("Yritetään etsiä merkkijonosta <br/>"); $this->lisaa_kommentti("'<b>" . $teksti . "</b>'<br/>"); $this->lisaa_kommentti("kaikki sulkujen väliin jäävät merkkijonot eli '200 km/h' " . "ja 'siinä'<br/>"); $tulostaulukko = Yleismetodit::hae_merkkijonot($teksti, $alkumj, $loppumj, $hae_kaikki); if (sizeof($tulostaulukko) == 2 && $tulostaulukko[0] == "200 km/h" && $tulostaulukko[1] == "siinä") { $this->lisaa_kommentti("OIKEIN! Loytyi merkkijonot '" . $tulostaulukko[0] . "' ja '" . $tulostaulukko[1] . "'"); $this->lisaa_kommentti("<br/><br/>"); } else { if (empty($tulostaulukko)) { $this->lisaa_virheilmoitus("<div class='virhe'>Virhe! Mitään ei löytynyt!</div>"); $virheiden_lkm++; } else { $taul = "<div class='virhe'>Virhe! Taulukon sisältö:<br/>"; for ($i = 0; $i < sizeof($tulostaulukko); $i++) { $taul .= $i + 1 . ". merkkijono: " . $tulostaulukko[$i] . "<br/>"; } $taul .= "</div>"; $this->lisaa_virheilmoitus($taul); $virheiden_lkm++; } } /********************************/ $teksti = "Auto ajoi (200 km/h) kaarteeseen. Olipa (siinä) vauhtia."; $alkumj = "("; $loppumj = ")"; $hae_kaikki = false; $this->lisaa_kommentti("Yritetään etsiä merkkijonosta <br/>"); $this->lisaa_kommentti("'<b>" . $teksti . "</b>'<br/>"); $this->lisaa_kommentti("1. sulkujen väliin jäävä merkkijono eli '200 km/h'<br/>"); $tulostaulukko = Yleismetodit::hae_merkkijonot($teksti, $alkumj, $loppumj, $hae_kaikki); if (sizeof($tulostaulukko) == 1 && $tulostaulukko[0] == "200 km/h") { $this->lisaa_kommentti("OIKEIN! Loytyi merkkijono '" . $tulostaulukko[0] . "'"); $this->lisaa_kommentti("<br/><br/>"); } else { if (empty($tulostaulukko)) { $this->lisaa_virheilmoitus("<div class='virhe'>Virhe! Mitään ei löytynyt!</div>"); $virheiden_lkm++; } else { $taul = "<div class='virhe'>Virhe! Taulukon sisältö:<br/>"; for ($i = 0; $i < sizeof($tulostaulukko); $i++) { $taul .= $i + 1 . ". merkkijono: " . $tulostaulukko[$i] . "<br/>"; } $taul .= "</div>"; $this->lisaa_virheilmoitus($taul); } } /********************************/ $teksti = "Auto ajoi (200 km/h) kaarteeseen. Olipa (siinä) vauhtia."; $alkumj = "Auto"; $loppumj = "Oli"; $hae_kaikki = true; $this->lisaa_kommentti("Yritetään etsiä merkkijonosta <br/>"); $this->lisaa_kommentti("'<b>" . $teksti . "</b>'<br/>"); $this->lisaa_kommentti("sanojen 'Auto' ja 'Oli' väliin jäävä merkkijono " . "eli ' ajoi (200 km/h) kaarteeseen. '<br/>"); $tulostaulukko = yleismetodit::hae_merkkijonot($teksti, $alkumj, $loppumj, $hae_kaikki); if (sizeof($tulostaulukko) == 1 && $tulostaulukko[0] == " ajoi (200 km/h) kaarteeseen. ") { $this->lisaa_kommentti("OIKEIN! Loytyi merkkijono '" . $tulostaulukko[0] . "'"); $this->lisaa_kommentti("<br/><br/>"); } else { if (empty($tulostaulukko)) { $this->lisaa_virheilmoitus("<div class='virhe'>Virhe! Mitään ei löytynyt!</div>"); $virheiden_lkm++; } else { $taul = "<div class='virhe'>Virhe! Taulukon sisältö:<br/>"; for ($i = 0; $i < sizeof($tulostaulukko); $i++) { $taul .= $i + 1 . ". merkkijono: " . $tulostaulukko[$i] . "<br/>"; } $taul .= "</div>"; $this->lisaa_virheilmoitus($taul); } } /*****************/ /* Haetaan a-kirjainten välistä. Kolme peräkkäistä aata pitäisi mennä * niin, että eka on lopetus, toka aloitus ja kolmas lopetus ja väliin * jäävää tyhjää ei palauteta. */ $teksti = "Auto ajoi (200 km/h) kaaarteeseen. Olipa (siinä) vauhtia."; $alkumj = "a"; $loppumj = "a"; $hae_kaikki = true; $this->lisaa_kommentti("Yritetään sitten etsiä merkkijonosta (huom 3 a-kirjainta) <br/>"); $this->lisaa_kommentti("'<b>" . $teksti . "</b>'<br/>"); $this->lisaa_kommentti("'a'-kirjainten (pienten) väliin jäävät merkkijonot.<br/>"); $this->lisaa_kommentti("<br/>"); $tulostaulukko = yleismetodit::hae_merkkijonot($teksti, $alkumj, $loppumj, $hae_kaikki); if (sizeof($tulostaulukko) == 2 && $tulostaulukko[0] == "joi (200 km/h) k" && $tulostaulukko[1] == " (siinä) v") { $this->lisaa_kommentti("OIKEIN! Loytyi seuraavat merkkijonot:<br/>"); for ($i = 0; $i < sizeof($tulostaulukko); $i++) { $this->lisaa_kommentti($i + 1 . ". merkkijono: " . $tulostaulukko[$i] . "<br/>"); } $this->lisaa_kommentti("<br/><br/>"); } else { if (empty($tulostaulukko)) { $this->lisaa_virheilmoitus("<div class='virhe'>Virhe! Mitään ei löytynyt!</div>"); $virheiden_lkm++; } else { $taul = "<div class='virhe'>Virhe! Taulukon sisältö:<br/>"; for ($i = 0; $i < sizeof($tulostaulukko); $i++) { $taul .= $i + 1 . ". merkkijono: " . $tulostaulukko[$i] . "<br/>"; } $taul .= "</div>"; $this->lisaa_virheilmoitus($taul); } } /*****************/ $teksti = "Auto ajoi (200 km/h) kaarteeseen. Olipa (siinä) vauhti."; $alkumj = "a"; $loppumj = "a"; $hae_kaikki = true; $this->lisaa_kommentti("Yritetään sitten etsiä merkkijonosta <br/>"); $this->lisaa_kommentti("'<b>" . $teksti . "</b>'<br/>"); $this->lisaa_kommentti("'a'-kirjainten (pienten) väliin jäävät merkkijonot:<br/>"); $this->lisaa_kommentti("<br/>"); $tulostaulukko = yleismetodit::hae_merkkijonot($teksti, $alkumj, $loppumj, $hae_kaikki); if (sizeof($tulostaulukko) == 2 && $tulostaulukko[0] == "joi (200 km/h) k" && $tulostaulukko[1] == "rteeseen. Olip") { $this->lisaa_kommentti("OIKEIN! Loytyi seuraavat merkkijonot:<br/>"); for ($i = 0; $i < sizeof($tulostaulukko); $i++) { $this->lisaa_kommentti($i + 1 . ". merkkijono: " . $tulostaulukko[$i] . "<br/>"); } $this->lisaa_kommentti("<br/><br/>"); } else { if (empty($tulostaulukko)) { $this->lisaa_virheilmoitus("<div class='virhe'>Virhe! Mitään ei löytynyt!</div>"); $virheiden_lkm++; } else { $taul = "<div class='virhe'>Virhe! Taulukon sisältö:<br/>"; for ($i = 0; $i < sizeof($tulostaulukko); $i++) { $taul .= $i + 1 . ". merkkijono: " . $tulostaulukko[$i] . "<br/>"; } $taul .= "</div>"; $this->lisaa_virheilmoitus($taul); } } /*****************/ $this->lisaa_kommentti("Yritetään sitten etsiä merkkijonosta <br/>"); $this->lisaa_kommentti("'<b>" . $teksti . "</b>'<br/>"); $this->lisaa_kommentti("vain 1. a-kirjainten väliin jäävä merkkijonot.<br/>"); $this->lisaa_kommentti("<br/>"); $hae_kaikki = false; $tulostaulukko = yleismetodit::hae_merkkijonot($teksti, $alkumj, $loppumj, $hae_kaikki); if (sizeof($tulostaulukko) == 1 && $tulostaulukko[0] == "joi (200 km/h) k") { $this->lisaa_kommentti("OIKEIN! Loytyi seuraavat merkkijonot:<br/>"); for ($i = 0; $i < sizeof($tulostaulukko); $i++) { $this->lisaa_kommentti($i + 1 . ". merkkijono: " . $tulostaulukko[$i] . "<br/>"); } $this->lisaa_kommentti("<br/><br/>"); } else { if (empty($tulostaulukko)) { $this->lisaa_virheilmoitus("<div class='virhe'>Virhe! Mitään ei löytynyt!</div>"); $virheiden_lkm++; } else { $taul = "<div class='virhe'>Virhe! Taulukon sisältö:<br/>"; for ($i = 0; $i < sizeof($tulostaulukko); $i++) { $taul .= $i + 1 . ". merkkijono: " . $tulostaulukko[$i] . "<br/>"; } $taul .= "</div>"; $this->lisaa_virheilmoitus($taul); } } $this->lisaa_kommentti("<h2>Merkkijonometodin 'yleismetodit::hae_merkkijonot' testaus loppu!</h2>"); /***************************************************************************/ $this->lisaa_kommentti("<h2>Testataan luokan Kaavaeditori metodia\n 'muotoile_kaavat(teksti)'</h2>"); $this->lisaa_kommentti("Syötetään metodiin merkkijono '{@4⋅[@4##6@]=5@}'\n ja katsotaan, näyttääkö tulos hyvältä. Alla tulos:<br/><br/>"); $teksti = '{@4⋅[@4##6@]=5@}'; $tulos = Kaavaeditori::muotoile_kaavat($teksti); $this->lisaa_kommentti($tulos); $this->lisaa_kommentti("<a href='../php_yleinen/matematiikka/murtolukutesti.php'>" . "Murtolukutesti</a><br/>"); $this->lisaa_kommentti("<br/>"); "<h2>Loppu luokan Kaavaeditori metodin 'muotoile_kaavat(teksti)' testi LOPPU</h2>"; $this->lisaa_kommentti("******************************************************************<br/>"); }
/** * Palauttaa ratkaisun html-koodin. Se, onko käyttäjällä oikeus nähdä * ratkaisua, tutkitaan kontrollerissa. * * Ratkaisu * * @param Ratkaisu $ratkaisu * @param array $painikkeet * @return string */ function luo_koostenakyma($ratkaisu, $painikkeet) { if ($ratkaisu instanceof Ratkaisu) { $id_teht = $ratkaisu->getTeht_id(); $palaute = ""; /* Muotoillaan ratkaisun merkit ja kaavat: */ $ratk = muotoile_merkit($ratkaisu->getRatkaisu()); $ratk = Kaavaeditori::muotoile_pikkukaavat($ratk); $ratk = Kaavaeditori::muotoile_kaavat($ratk); /* Sama otsikolle: */ $otsikko = muotoile_merkit($ratkaisu->getVastaus()); $otsikko = Kaavaeditori::muotoile_pikkukaavat($otsikko); $otsikko = Kaavaeditori::muotoile_kaavat($otsikko); $kuvat = $ratkaisu->hae_kuvat_koostenakymaan(); //Kuvat ja tehtävät taulukkoon: $sisalto = $kuvat . $ratk; $painikekoodi = ""; if (is_array($painikkeet)) { foreach ($painikkeet as $painike) { $painikekoodi .= $painike . " "; } } $otsikkotaso = 3; $otsikko = Html::luo_otsikko($ratkaisu->getOtsikkomerkinta() . ": " . $otsikko . " " . $painikekoodi . " " . $ratkaisu->getNakyvyysmerkki(), array(), $otsikkotaso); $pal = $otsikko; $pal .= " " . $sisalto . "<br />"; $palaute = $otsikko . " " . $sisalto; /*$palaute = Html::luo_div( $pal, array(Maarite::classs("elemtehtavan_ratkaisut"), Maarite::id("ratkaisut_teht".$id_teht)));*/ } else { $palaute = "tulosta_ratkaisu-metodin ratkaisu-parametri ei ole" . " Ratkaisu-luokan olie!"; } return $palaute; }
/** * Palauttaa parametrina annetun tehtävän tulostukseen optimoidun * html-koodin. * * @param Elementti $elementti * @param Tehtava $tehtava * @param int $omaid Käyttäjän id * @param array $painikkeet * @return string */ function luo_koostenakyma_tulostus($elementti, $tehtava, $painikkeet) { $palaute = ""; if (!$tehtava instanceof Tehtava && $elementti instanceof Elementti) { $palaute = "Jokin parametri metodissa 'luo_koostenakyma' ei ole ok!"; } else { /* Muotoillaan tehtävän merkit ja kaavat: */ $tehtavateksti = muotoile_merkit($tehtava->getTehtavananto()); $tehtavateksti = Kaavaeditori::muotoile_pikkukaavat($tehtavateksti); $tehtavateksti = Kaavaeditori::muotoile_kaavat($tehtavateksti); /* Muotoillaan otsikon merkit ja kaavat: */ $otsikko = muotoile_merkit($tehtava->getOtsikko()); $otsikko = Kaavaeditori::muotoile_pikkukaavat($otsikko); $otsikko = Kaavaeditori::muotoile_kaavat($otsikko); $kuvat = $tehtava->hae_kuvat_koostenakymaan(); $sisalto = $kuvat . $tehtavateksti; $otsikko = "<div class = 'elementti_teht' " . "id='elem" . $elementti->get_id() . "'>" . "<h3>" . $tehtava->getOtsikkomerkinta() . ": " . $otsikko . "</h3>"; $palaute .= $otsikko; $palaute .= $sisalto; // Tehtävä ja kuvat if (is_array($painikkeet)) { foreach ($painikkeet as $painike) { $palaute .= $painike . " "; } } $palaute .= "</div>"; } return $palaute; }