Пример #1
0
 /**
  * Palauttaa html-linkkejä, jotka vievät kyseiseen tehtävään. Nämä
  * on tarkoitus sijoittaa tehtäväsivulle, jotta tehtävien selaaminen helpottuu.
  * 
  * @param Parametrit $parametriolio
  * @return <type>
  */
 function hae_tehtavalinkit($parametriolio)
 {
     $tehtavalinkki_html = "";
     $id_kokon = $parametriolio->id_kokon;
     /* Haetaan tehtävät: */
     $tietokantaolio = $parametriolio->get_tietokantaolio();
     $tehtavat = $this->hae_tehtavat();
     if (empty($tehtavat)) {
         // Jos muutat tätä, ota huomioon myös vastaanottava metodi.
         $tehtavalinkki_html = Tekstit::$tehtava_ilm_ei_loytynyt;
     } else {
         $laskuri = 1;
         // Kertoo tehtävän juoksevan numeron (juokseva nro).
         $pituus = 25;
         // Linkin suurin pituus (ylimenevä osa katkaistaan)
         foreach ($tehtavat as $tehtava) {
             /*$tehtavalinkki_html .= "<a href='index.php".
                   "?id_kokon=".$id_kokon.
                   "&kieli_id=".$parametriolio->kieli_id.
                   "&taso_kokon=".$parametriolio->taso_kokon.
                   "&oppiaine_kokon=".$parametriolio->oppiaine_kokon.
                   "&id_teht=".$tehtava->getId().
                   "&".Oliotyyppi::$naytettava_name."=".
                   Palaute::$NAYTETTAVA_OLIOTYYPPI_TEHTAVA.
                   "#tehtava".$tehtava->getId()."' ".
               "title='".$tehtava->getOtsikko()."'>".
               $laskuri.". ".
                   Yleismetodit::leikkaa_merkkijono($tehtava->getOtsikko(), $pituus).
               "</a>";*/
             $tehtavalinkki_html .= "<a href='index.php" . "?id_teht=" . $tehtava->getId() . "#tehtava" . $tehtava->getId() . "' " . "title='" . $tehtava->getOtsikko() . "'>" . $laskuri . ". " . Yleismetodit::leikkaa_merkkijono($tehtava->getOtsikko(), $pituus) . "</a>";
             $laskuri++;
         }
     }
     return $tehtavalinkki_html;
 }
Пример #2
0
 /**
  * Palauttaa koostelinkit ja toimintapainikkeet html-koodina. Huomaa:
  * Parametrina annetaan vain sellaiset elementit, joihin käyttäjällä
  * ainakin katsomisoikeudet. Tosin muokkausoikeudet pitää täällä vielä
  * erikseen selvittää (jos mahd muokata). Viittausolioissa on valmiina 
  * numerointi, jolloin tulee samat kuin varsinaisessa sisällössä.
  * 
  * @param Kooste $kooste Kooste-luokan olio
  * @param array $elementit Elementti-luokan oliot
  * @param array $viittausoliot Oliot, joihin elementit viittaavat.
  * @param bool $wrapped Jos true, niin palautteen ympärille lisätään div,
  * muuten ei.
  * @return type
  */
 public function luo_koostelinkit($kooste, $elementit, $viittausoliot, $wrapped)
 {
     $html = "";
     $maxpituus = 22;
     // Linkin kirjainten maksimimäärä. Muu leikataan.
     /*======================== käyttäjän oikeudet ( ========*/
     //$koosteoikeudet = $kooste->hae_kayttajan_oikeudet($omaid);
     /*====================================================*/
     // Varmistetaan, että elementtejä ja olioita on yhtä paljon:
     if (sizeof($elementit) === sizeof($viittausoliot)) {
         for ($i = 0; $i < sizeof($elementit); $i++) {
             $painike_alas = "";
             $painike_ylos = "";
             $olio = $viittausoliot[$i];
             $elementti = $elementit[$i];
             $html_raaka = $olio->getOtsikkomerkinta() . " ";
             if ($olio instanceof Kokonaisuusolio) {
                 $html_raaka .= Yleismetodit::leikkaa_merkkijono($olio->getOtsikko(), $maxpituus);
             } else {
                 if ($olio instanceof Tehtava) {
                     $html_raaka .= Yleismetodit::leikkaa_merkkijono($olio->getOtsikko(), $maxpituus);
                 } else {
                     if ($olio instanceof Ratkaisu) {
                         $html_raaka .= Yleismetodit::leikkaa_merkkijono($olio->getVastaus(), $maxpituus);
                     }
                 }
             }
             $linkki = Html::luo_a_linkto("#elem" . $elementti->get_id(), $html_raaka . " " . $painike_alas . $painike_ylos, array(Attr::classs("koostelinkki")));
             $html .= Html::luo_div($linkki, array(Attr::title($elementti->hae_otsikko())));
         }
     } else {
         $html = Tekstit::$kooste_virheilm_linkeissa_erimaara_elem_ja_olioita;
     }
     if ($wrapped) {
         $html_wrapped = Html::luo_div($html, array(Attr::id(Koostenakymat::$kooste_otsikkolinkit_id)));
     } else {
         // Not wrapped..
         $html_wrapped = $html;
     }
     return $html_wrapped;
 }