Ejemplo n.º 1
0
/**
 * Hakee tietokannasta liikkujien nimet ja palauttaa ne tekstinä.
 * @param <type> $tietokantaolio olio, joka sis&auml;lt&auml;&auml; yhteystiedot tietokantaan.
 * @return <type> Palauttaa merkkijonon, jota muokattu html:
 */
function hae_liikkujat($tietokantaolio, $omaid)
{
    $hakulause = "SELECT id, etunimi, sukunimi\n                    FROM henkilot\n                    WHERE id != '{$omaid}'";
    $hakutulos = $tietokantaolio->tee_OMAhaku($hakulause);
    $nimet_taulukko_all = $tietokantaolio->hae_osumarivit_olioina($hakutulos);
    //============= SUODATUS ALKU ======================
    $nimet_taulukko = array();
    $suodattimet = Suodatin::hae_suodattimet($omaid, $tietokantaolio);
    foreach ($nimet_taulukko_all as $osuma) {
        $henkilo_id = $osuma->id;
        if (!Suodatin::henkilo_suodatetaan_kevyt($henkilo_id, $omaid, $suodattimet)) {
            array_push($nimet_taulukko, $osuma);
        }
    }
    //============= SUODATUS LOPPU =====================
    $nimet = '';
    //kirjoita_elementtiin("nimet","Eka liikkuja on ".$nimet_taulukko[0]->etunimi);
    foreach ($nimet_taulukko as $nyk_olio) {
        // Otetaan mukaan vain sellaiset henkilöt, joilla on suorituksia:
        $tulos = $tietokantaolio->hae_eka_osuma_oliona("suoritukset", "henkilo_id", $nyk_olio->id);
        if ($tulos != "tuntematon") {
            // Haetaan uusien pikakommenttien lkm:
            $uusien_pk_lkm = Kontrolleri_pikakommentit::hae_henkilon_uusien_suorituspikakomm_lkm($omaid, $tietokantaolio, $nyk_olio->id);
            // Siivotaan mahdollinen URL:n kautta kulkeva liikenne.
            $kayt_ind = rawurlencode($nyk_olio->id);
            $omaind = rawurlencode($omaid);
            $etu = rawurlencode($nyk_olio->etunimi);
            $suku = rawurlencode($nyk_olio->sukunimi);
            $kysely = "kayttajaid={$kayt_ind}&enimi={$etu}&snimi={$suku}&omaid={$omaind}";
            // Alla huomaa, ett&auml; kysely pit&auml;&auml; olla lainausmerkeiss&auml;! Muuten ei toimi.
            $mj = <<<HASSUTAPA
                    <a
                    onclick="toteutaAJAX('suoritus_kyselyt.php',
                    '{$kysely}',
                    'reagoi','post', 'text')">
                    {$nyk_olio->etunimi} {$nyk_olio->sukunimi} {$uusien_pk_lkm}
                    </a>
HASSUTAPA;
            $nimet .= $mj;
        }
    }
    return $nimet;
}