if (time() - $hamy > $tuoreusaika) { $_SESSION['tunnistus'] = 'stop!'; $viesti = "Kirjautumisaika ylittyi! Kirjaudu uudelleen!"; $ktunnus = ""; // Ei näytetä turvallisuuden vuoksi. $sisalto = nayta_kirjautuminen($ktunnus, $hamynimi); } else { $_SESSION['tunnistus'] = 'kunnossa'; // Kertoo ajan, jolloin viimeksi käyttäjä jotakin tehnyt: $_SESSION['viim_aktiivisuus'] = time(); // Otetaan kirjautumisaika muistiin. $_SESSION['kirjautumisaika'] = time(); $_SESSION['tiedot'] = $tiedot; aseta_online(true, $_SESSION['tiedot']->id, $tietokantaolio); // Haetaan viimeinen uloskirjautumisaika: $viimeksi_ulos = hae_vika_ulosaika($_SESSION['tiedot']->id, $tietokantaolio); // Tallennetaan viimeinen uloskirjautumisaika sessiomuuttujaan: // (tarvitaan esim. uusien pikakommenttien selvittämisessä) $_SESSION['edellinen_uloskirjausaika_sek'] = $viimeksi_ulos; // Haetaan ikä $alaikainen = true; if (!on_alaikainen_tai_elakkeella($_SESSION['tiedot']->id, $tietokantaolio)) { $alaikainen = false; } /* Luodaan teemat-olio alaikäisyyden huomioon ottoa yms. varten: */ $teemat = new Teemat($alaikainen); // Asetetaan hakuajat sessiomuuttujaan ensimmäisellä kerralla: $teema_idt = $teemat->get_teema_arvot(); // Seuraavassa trim, koska joskus tuli ongelmaa tyhjistä // välimerkeistä for ($i = 0; $i < sizeof($teema_idt); $i++) {
/** * Palauttaa muotoillun vastauksen uusien pikakommenttien lukumäärästä, * ovat tulleet tietyn henkilön suorituksiin. * * @param <type> $henkilo_id * @param <type> $omaid * @param Tietokantaolio $tietokantaolio * @return string */ public static function hae_henkilon_uusien_suorituspikakomm_lkm($omaid, $tietokantaolio, $henkilo_id) { $kohde = Pikakommentti::$KOHDE_LIIKUNTASUORITUS; $vikaulosaika = hae_vika_ulosaika($omaid, $tietokantaolio); $hakulause = "SELECT pikakommentit.id FROM pikakommentit\n JOIN suoritukset\n ON suoritukset.id = pikakommentit.kohde_id\n WHERE (pikakommentit.tallennushetki_sek > {$vikaulosaika}\n AND pikakommentit.kohde_tyyppi = {$kohde}\n AND suoritukset.henkilo_id = {$henkilo_id}\n AND pikakommentit.henkilo_id <> {$omaid})"; $hakutulos = $tietokantaolio->tee_OMAhaku_oliotaulukkopalautteella($hakulause); $lkm = sizeof($hakutulos); $palaute = ""; if ($lkm > 0) { $title = "Uusien pikakommenttien lkm (edellisen " . "uloskirjautumisen jälkeen tulleet)"; $palaute = "<span title='" . $title . "'>(" . $lkm . "*)</span>"; } return $palaute; }
$viestiluokat = ""; $luokat = $teemat->get_teemavalinnat(); $arvot = $teemat->get_teema_arvot(); for ($i = 0; $i < sizeof($luokat); $i++) { $viestiluokat .= "<a onClick = 'aseta_luokka(" . $alaikaindeksi . "," . $omaid . "," . $parametriolio->vika_viesti_id . ",\n 1," . $arvot[$i] . ")'>" . $luokat[$i] . " (<span id='uudet" . $arvot[$i] . "'>\n 0 </span>)</a>"; } // TAllennetaan teema_id sessioon, jotta päästään siihen muualtakin käsix. // Myönnetään, että näin saadaan helposti homma sekaisin.. if (!isset($_SESSION['teema_id'])) { $_SESSION['teema_id'] = $teema_id; } // Asetetaan viimeinen kuvienkatseluaika täällä sessiomuuttujaan // nopean saavutettavuuden takia ekalla kerralla. Arvoksi tulee 0, // ellei uloskirjautumisaikaa löydy. if (!isset($_SESSION['kuvat_katsottu_viimeksi'])) { $_SESSION['kuvat_katsottu_viimeksi'] = hae_vika_ulosaika($omaid, $tietokantaolio); } // teemat.php: $viestitieto = $teemat->hae_viestitiedot($parametriolio->teema_id); // Jos kysymyksessä kunkku, voi lisätä ihmisiä. 'Linkkipalkkiteksti' hämäystä. if ($kuningas) { $linkkipalkkiteksti = "<form method='post'\n action='{$_SERVER['PHP_SELF']}?teema_id=0'>\n <input type='submit' name = 'toiminta'\n value='{$lisaa_henkilo}'/></form>"; $linkkipalkkiteksti .= "<form method='post'\n action='{$_SERVER['PHP_SELF']}?teema_id=0'>\n <input type='submit' name = 'toiminta'\n value='{$nayta_valtuudet}'/></form>"; } //========================================================================// $toiminta = $parametriolio->indextoiminta; //========================================================================// // KUNINGASTOIMINNOT ALKAA Tästä *********************** // Otetaan uuden henkilön lisääminen erikseen, niin voidaan // parantaa turvallisuutta: if ($toiminta != Yleisarvoja::$ei_toimintoa) {
/** * Palauttaa muotoillun vastauksen uusien pikakommenttien lukumäärästä, * ovat tulleet tietyn henkilön suorituksiin. * * @param <type> $henkilo_id * @param <type> $omaid * @param Tietokantaolio $tietokantaolio * @return string */ public static function hae_henkilon_uusien_suorituspikakomm_lkm($omaid, $tietokantaolio, $henkilo_id) { $kohde = Pikakommentti::$KOHDE_LIIKUNTASUORITUS; $vikaulosaika = hae_vika_ulosaika($omaid, $tietokantaolio); $hakulause = "SELECT pikakommentit.id, pikakommentit.henkilo_id AS henkilo_id\n FROM pikakommentit\n JOIN suoritukset\n ON suoritukset.id = pikakommentit.kohde_id\n WHERE (pikakommentit.tallennushetki_sek > {$vikaulosaika}\n AND pikakommentit.kohde_tyyppi = {$kohde}\n AND suoritukset.henkilo_id = {$henkilo_id}\n AND pikakommentit.henkilo_id <> {$omaid})"; $hakutulos_kaikki = $tietokantaolio->tee_OMAhaku_oliotaulukkopalautteella($hakulause); //============= suodatus alku ========================================== $hakutulos = array(); $suodattimet = Suodatin::hae_suodattimet($omaid, $tietokantaolio); foreach ($hakutulos_kaikki as $osuma) { $henkilo_id = $osuma->henkilo_id; if (!Suodatin::henkilo_suodatetaan_kevyt($henkilo_id, $omaid, $suodattimet)) { array_push($hakutulos, $osuma); } } //============= suodatus loppu ========================================= $lkm = sizeof($hakutulos); $palaute = ""; if ($lkm > 0) { $title = "Uusien pikakommenttien lkm (edellisen " . "uloskirjautumisen jälkeen tulleet)"; $palaute = "<span title='" . $title . "'>(" . $lkm . "*)</span>"; } return $palaute; }