Esempio 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;
}