Ejemplo n.º 1
0
/**
 * Tarkistaa kuvan tiedot ja ladatun tiedoston ominaisuudet
 * @param <type> $ladattu_kuva Palvelimelle ladattu kuvatiedosto.
 * @param <type> $kuvaotsikko_kuva
 * @param <type> $kuvaselitys_kuva
 * @param <type> $vuosi_kuva
 * @param <type> $kk_kuva
 * @param <type> $paiva_kuva
 * @param <type> $uusi
 * @param <type> $lataustiedosto_kuva
 * @return <type>
 */
function tarkista_kuvatiedot($ladattu_kuva, &$kuvaotsikko_kuva, &$kuvaselitys_kuva, &$vuosi_kuva, &$kk_kuva, &$paiva_kuva, $uusi)
{
    $tarkistuksen_tulos = "ok";
    $tyhjatunnus = -1;
    // Tietokantaan tallennetaan -1, kun halutaan tyhjä.
    /* Tehdään rivinvaihdot html:ksi. */
    $kuvaselitys_kuva = Yleismetodit::huolehdi_rivinvaihdoista($kuvaselitys_kuva);
    // Seuraava tehdään vain uudelle. Muokkauksessa kuvaa ei pysty
    // toistaiseksi vaihtamaan.
    if ($uusi) {
        // lataustarkistusmetodi heittää virheen sattuessa poikkeuksen:
        try {
            lataustarkistus_kuva($ladattu_kuva);
        } catch (Exception $poikkeus) {
            $tarkistuksen_tulos = $poikkeus->getMessage();
        }
    }
    // Ellei virheitä havaittu, mennään tarkistuksessa eteenpäin:
    if ($tarkistuksen_tulos == 'ok') {
        // Putsataan:
        $kuvaotsikko_kuva = Yleismetodit::tarkista_syote($kuvaotsikko_kuva, false);
        $kuvaselitys_kuva = Yleismetodit::tarkista_syote($kuvaselitys_kuva, false);
        if ($vuosi_kuva == "") {
            $vuosi_kuva = $tyhjatunnus;
        }
        if ($kk_kuva == "") {
            $kk_kuva = $tyhjatunnus;
        }
        if ($paiva_kuva == "") {
            $paiva_kuva = $tyhjatunnus;
        }
        // Vuosiluku saa olla tyhjä tai muuten pitää olla 4 numeroa.
        if (preg_match('/^\\d\\d\\d\\d$/', $vuosi_kuva) == 0 && $vuosi_kuva != $tyhjatunnus) {
            $tarkistuksen_tulos = "Vuosiluvun pit&auml;&auml; olla 4-numeroinen\n                                    luku (esim. 1999) tai tyhj&auml;!";
        } else {
            if (preg_match('/^\\d\\d$/', $kk_kuva) == 0 && preg_match('/\\d/', $kk_kuva) == 0 && $kk_kuva != $tyhjatunnus || $kk_kuva < -1 || $kk_kuva == 0 || $kk_kuva > 12) {
                $tarkistuksen_tulos = "Kuukauden pit&auml;&auml; olla\n                                luku v&auml;lilt&auml; 1-12 tai tyhj&auml;!";
            } else {
                if (preg_match('/^\\d\\d$/', $paiva_kuva) == 0 && preg_match('/\\d/', $paiva_kuva) == 0 && $paiva_kuva != $tyhjatunnus || $paiva_kuva < -1 || $paiva_kuva == 0 || $paiva_kuva > 31) {
                    $tarkistuksen_tulos = "P&auml;iv&auml;n pit&auml;&auml; olla\n                                luku v&auml;lilt&auml; 1-31 tai tyhj&auml;!";
                } else {
                    $tarkistuksen_tulos = Palautteita::$lomaketiedot_ok;
                }
            }
        }
    }
    return $tarkistuksen_tulos;
}
/** Metodi, joka puhdistaa ja tarkastaa omien tietojen muutokset tiedot.
* Palauttaa merkkijonon "kunnossa", ellei korjattavaa, muuten virheviestin.
 *
 * Huom: Salasanaa ei voida tuoda sen säilytystavan takia, vaan kentät jätetään
 * tyhjiksi. Ellei mitään ilmesty niihin, vanhat tunnukset jäävät voimaan.
 * Samoin käyttäjätunnusta ei tuoda, koska muuten tarkistuksessa sen todetaan
 * olevan jo käytössä.
 *
 * @param Parametrit $parametriolio
 * @return <type>
 */
function tarkista_henkilotietojen_muutokset(&$parametriolio)
{
    $etun = $parametriolio->etun;
    $sukun = $parametriolio->sukun;
    $lempin = $parametriolio->lempin;
    $komm = $parametriolio->komm;
    $ktunnus = $parametriolio->uusktunnus;
    $sala = $parametriolio->uussalasana;
    $salavahvistus = $parametriolio->salavahvistus;
    $eosoite = $parametriolio->eosoite;
    $palaute = "kunnossa";
    $etun = Yleismetodit::tarkista_syote($etun, true);
    $sukun = Yleismetodit::tarkista_syote($sukun, true);
    $lempin = Yleismetodit::tarkista_syote($lempin, true);
    $komm = Yleismetodit::tarkista_syote($komm, true);
    $eosoite = Yleismetodit::tarkista_syote($eosoite, true);
    // Tarkistetaan, etteivät tunnukset muutu puhdistuksessa:
    if ($ktunnus != Yleismetodit::tarkista_syote($ktunnus, true) || $sala != Yleismetodit::tarkista_syote($sala, true) || $salavahvistus != Yleismetodit::tarkista_syote($salavahvistus, true)) {
        $palaute = "K&auml;ytt&auml;j&auml;tunnuksessa tai salasanassa on\n                    sopimattomia merkkej&auml; tai tyhj&auml;&auml;\n                    p&auml;iss&auml;! Korjaa ne!";
    } else {
        if ($eosoite == '' || $etun == '' || $sukun == '') {
            $palaute = "Jokin pakollisista kentist&auml; on tyhj&auml;!\n                    (Salasana ja k&auml;ytt&auml;j&auml;tunnus saavat olla\n                    tyhji&auml; -> eiv&auml;t vaihdu)\n                    Kokeile uudestaan!";
        } else {
            if ($ktunnus != "" && Yleismetodit::arvo_kaytetty("henkilot", "kayttajatunnus", $ktunnus)) {
                $palaute = "K&auml;ytt&auml;j&auml;tunnus on jo k&auml;yt&auml;ss&auml;!\n                     Valitse toinen!";
            } else {
                if ($sala != $salavahvistus) {
                    $palaute = "Salasana ja sen vahvistus eiv&auml;t t&auml;sm&auml;&auml;!\n                    Kirjoita ne uudelleen!";
                }
            }
        }
    }
    return $palaute;
}