/** * ======================== SECURITY ==================================== * Noukitaan valituista poistettaviin/muokattaviin sellaiset havainnot, joihin * käyttäjällä on oikeudet. Palauttaa ne taulukossa, joka voi olla * tyhjä. */ private function poimi_valituista_mahdolliset($valitut) { $mahdolliset = array(); $omaid = $this->get_parametriolio()->omaid; foreach ($valitut as $id_hav) { $ehdokas = new Havainto($this->get_tietokantaolio(), $id_hav); // Ok, jos käyttäjä on kuningas tai havainto oma: if ($ehdokas->olio_loytyi_tietokannasta) { if (on_kuningas($omaid, $this->get_tietokantaolio()) || $ehdokas->get_henkilo_id() === $omaid) { // Lisätään muokattaviin: array_push($mahdolliset, $ehdokas); } } } return $mahdolliset; }
/** * Toteuttaa nimenmukaisen toiminnon. Palauttaa palauteolion, mutta * huomaa, että se ei sisällä kokonaista html-sivua, vaan vain * lajiluokkalaatikon (div). * @return Palauteolio $palauteolio */ public function toteuta_nayta_lajiluokat() { $html = ""; // Palautettava. $ylaluokka_id = $this->parametriolio->ylaluokka_id_lj; $lajiluokat = array(); // Haetaan tietokannasta ylaluokkaan kuuluvat lajiluokat. Jotta // järjestys saadaan suomen mukaan, pitää yhdistää bkuvaukset-tauluun. $hakulause = "SELECT blajiluokat." . Lajiluokka::$SARAKENIMI_ID . " FROM " . Tietokannan_taulunimet::$blajiluokat . " JOIN " . Tietokannan_taulunimet::$bkuvaukset . " WHERE blajiluokat." . Lajiluokka::$SARAKENIMI_YLALUOKKA_ID . "=" . $ylaluokka_id . " AND bkuvaukset." . Kuvaus::$SARAKENIMI_LAJILUOKKA_ID . "=blajiluokat.id" . " AND bkuvaukset." . Kuvaus::$SARAKENIMI_KIELI . "=" . Kielet::$SUOMI . " ORDER BY bkuvaukset." . Kuvaus::$SARAKENIMI_NIMI; $osumat = $this->tietokantaolio->tee_OMAhaku_oliotaulukkopalautteella($hakulause); if (!empty($osumat)) { foreach ($osumat as $lj) { $olio = new Lajiluokka($this->tietokantaolio, $lj->id); array_push($lajiluokat, $olio); } } else { // Ellei lajiluokkia löytynyt: $ilm = Bongaustekstit::$lajiluokka_virheilmoitus_yhtaan_lajiluokkaa_ei_loytynyt; $html .= $ilm; $this->palauteolio->set_ilmoitus($ilm); } // Paketoidaan yksittäiset yhteen taulukkoon. Tarvitaan myös // painike poistumiseen. $painikkeet = "<button type='button' onclick=" . "'sulje_ruutu2(\"lajiluokkalaatikko\")' title='" . Bongauspainikkeet::$LAJILUOKAT_SULJE_NAKYMA_TITLE . "'>" . Bongauspainikkeet::$LAJILUOKAT_SULJE_NAKYMA_VALUE . "</button>"; // TArkistetaan admin-oikeudet: $on_admin = false; if (on_kuningas($this->parametriolio->omaid, $this->tietokantaolio)) { $on_admin = true; } $html = Nakymat_lj::nayta_lajiluokat($lajiluokat, $painikkeet, $on_admin); $this->palauteolio->set_sisalto($html); return $this->palauteolio; }
// Haetaan yleisten lukemattomien viestien lkm täällä, koska // muuten uusien lkm häviää automaattisen viestien // näyttämisen takia. // Haetaan sisäänkirjautumisaika. Haetaan vain sitä uudemmat viestit. //$viimeksi_ulos = hae_vika_ulosaika($_SESSION['tiedot']->id,$tietokantaolio); $sisaankirjautumisaika = $_SESSION['kirjautumisaika']; $teema = 1; // Yleinen-luokan tunnus. $uusien_yleisten_lkm = hae_uusien_viestien_lkm($omaid, $teema, $tietokantaolio, $sisaankirjautumisaika); // Aktiivisuusmerkintä: $viimeksi_aktiivi = time(); $aktiivisuuslaji = Aktiivisuus::$ALBUMIEN_KATSELU; // Kuvapuolelle tulo. paivita_aktiivisuus($omaid, $tietokantaolio, $viimeksi_aktiivi, $aktiivisuuslaji); // Verkkosivujen hallitsijan totuusarvo: $kuningas = on_kuningas($omaid, $tietokantaolio); // Seuraavissa REQUEST-toiminto sisältää sekä GET- että POST-toiminnot // name-kentän arvo tulee muuttujan nimeksi ja value-kentän arvo arvoksi. $toiminta = isset($_REQUEST['toiminta']) ? $_REQUEST['toiminta'] : ""; // Henkilö, joka voi olla kuka tahansa sivun käyttäjä. $henkilo_id = isset($_REQUEST['henkilo_id']) ? $_REQUEST['henkilo_id'] : ""; $paluu = "Takaisin"; // Päästään palaamaan taaksepäin edelliseen juttuun. // Poistumisnappi: $id = Yleisarvoja::$ulosnappiID; $id2 = $id . "2"; $name = Yleisarvoja::$keskustelusivun_toimintonimi; $value = Painikkeet::$KIRJAUDU_ULOS_VALUE; $ulosnappi1 = luo_uloskirjauspainike($id, $name, $value); $ulosnappi2 = luo_uloskirjauspainike($id2, $name, $value); $sisaltoteksti = "";