/** * @param Parametrit $parametriolio * @return Palaute $palauteolio */ function toteuta_kuvan_tallennus($parametriolio) { $uusi = true; $palauteolio = new Palaute(); $palauteolio_apu = new Palaute(); $parametriolio->set_uusi_kuva(true); if (!array_key_exists('ladattu_kuva', $_FILES)) { $ilmoitus_kuva = 'Ei latauksia havaittu!'; if ($parametriolio->kokoelmanimi == Kuva::$KUVAT_BONGAUS) { $havaintokontrolli = new Havaintokontrolleri($parametriolio->tietokantaolio, $parametriolio); $palauteolio = $havaintokontrolli->toteuta_nayta_kuvalomake_havaintoihin(); } else { $palauteolio = toteuta_nayta_kuvalomake($parametriolio); } $palauteolio->set_ilmoitus($ilmoitus_kuva); } else { $ladattu_kuva = $_FILES['ladattu_kuva']; // Ilmeisesti koko on valmiiksi tavuina (täsmää kuvan omin. kans): //$info = getImageSize($ladattu_kuva['tmp_name']); $ilmoitus = "Tiedoston nimi: " . $ladattu_kuva['name'] . " (" . round($ladattu_kuva['size'] / 1024) . " kt)" . "<br/> Tyyppi: " . $ladattu_kuva['type']; //"<br/> Tmp-nimi: ".$ladattu_kuva['tmp_name']. //"<br/> Virheviesti: ".$ladattu_kuva['error']. //"<br/> Kuvan tyyppi: ".$info[2]; $palauteolio->set_ilmoitus($ilmoitus); $tarkistus = tarkista_kuvatiedot($ladattu_kuva, $parametriolio->kuvaotsikko_kuva, $parametriolio->kuvaselitys_kuva, $parametriolio->vuosi_kuva, $parametriolio->kk_kuva, $parametriolio->paiva_kuva, $uusi); // Jos korjaamista, näytetään lomake uudelleen: if ($tarkistus != 'tiedot_ok') { $parametriolio->ilmoitus_kuva = $tarkistus; if ($parametriolio->kokoelmanimi == Kuva::$KUVAT_BONGAUS) { $havaintokontrolli = new Havaintokontrolleri($parametriolio->tietokantaolio, $parametriolio); $palauteolio = $havaintokontrolli->toteuta_nayta_kuvalomake_havaintoihin(); } else { $palauteolio = toteuta_nayta_kuvalomake($parametriolio); } $palauteolio->set_ilmoitus($tarkistus); } else { // Tarkistus meni läpi. $latauskansio = $parametriolio->get_kuvien_kansio_osoite(); $pikkukuvakansio = $parametriolio->get_pikkukuvien_kansio_osoite(); // Tallenna_kuva palauttaa taulukon, joka sisältää // palautteen ja tallennetun kuvan id:n, joka // voi olla tyhjä virheen sattuessa. $palaute = Kuva::tallenna_kuva($parametriolio); if ($palaute[0] == Tietokantaolio::$HAKU_ONNISTUI) { $ilmoitus = "Kuvan tallennus onnistui! <br/>" . $ilmoitus; $id_kuva = $palaute[1]; $palauteolio->set_muokatun_id($id_kuva); if ($parametriolio->kokoelmanimi == Kuva::$KUVAT_ALBUMIT) { /*$sisaltoteksti = nayta_albumi($omaid,$id_alb, $id_kuva, $muokkaa_kuva, $uusi_kuva, $takaisin_albumilistaan_alb, $ed_kuva_alb, $seur_kuva_alb, $tauko_alb, $jatka_esitysta_alb, $poista_kuva,$tietokantaolio, $valtuudet);*/ // Uudempi ajaxin kera (joustava kuvakoko ikkunan mukaan) $sisaltoteksti = "<script type='text/javascript'>" . "hae_kuva_ja_tiedot('" . $parametriolio->id_alb . "','" . $id_kuva . "','" . $parametriolio->kokoelmanimi . "')</script>"; } else { if ($parametriolio->kokoelmanimi == Kuva::$KUVAT_BONGAUS) { // Asetetaan id_kuva uuden kuvan vastaavaksi: $parametriolio->id_kuva = $id_kuva; $palauteolio_apu = toteuta_bongaus_nayta_albumin_yksi_kuva($parametriolio); $sisaltoteksti = $palauteolio_apu->get_sisalto(); } else { $sisaltoteksti = "Virhe: tuntematon kokoelmanimi"; } } unset($_FILES['ladattu_kuva']); //Poistetaan entiset. } else { $ilmoitus = "Virhe kuvan tallennuksessa ({$palaute['0']})!\n Yritä uudestaan!"; $parametriolio->ilmoitus_kuva = $ilmoitus; if ($parametriolio->kokoelmanimi == Kuva::$KUVAT_BONGAUS) { $havaintokontrolli = new Havaintokontrolleri($parametriolio->tietokantaolio, $parametriolio); $palauteolio_apu = $havaintokontrolli->toteuta_nayta_kuvalomake_havaintoihin(); } else { $palauteolio_apu = toteuta_nayta_kuvalomake($parametriolio); } $sisaltoteksti = $palauteolio_apu->get_sisalto(); } $palauteolio->set_sisalto($sisaltoteksti); $palauteolio->set_ilmoitus($ilmoitus); } } return $palauteolio; }
$sisaltoteksti = hae_albumit($katso_alb, $poista_alb, $uusi_kuva, $omaid, $tietokantaolio, $valtuudet, $uusi_kuva, $takaisin_albumilistaan_alb); // Nayttaa kuvahakumoodisaato jutun: $nayta_kuvahakumoodisaato = true; break; /*********************** ALBUMITOIMINNOT LOPPU ************************/ /**********************************************************************/ /**********************************************************************/ /********************* KUVATOIMINNOT **********************************/ /********************** UUSI KUVA *************************************/ /*********************** ALBUMITOIMINNOT LOPPU ************************/ /**********************************************************************/ /**********************************************************************/ /********************* KUVATOIMINNOT **********************************/ /********************** UUSI KUVA *************************************/ case $uusi_kuva: $parametriolio->set_uusi_kuva(true); $palauteolio = toteuta_nayta_kuvalomake($parametriolio); /* Tämän olisi tarkoitus painaa nappia, ettei käyttäjän * tarvitse sitä tehdä (eli siis mennään suoraan kuvan * valintaan.) EI TOIMI! Latausnappi on jotenkin erikoinen * (input-elementti, jonka type = file).*/ //$sisaltoteksti .= paina_nappia("latausnappi"); Ei onnistunut! break; /********************** KUVA LISÄYKSEN/MUOKKAUKSEN PERUMINEN *********/ /********************** KUVA LISÄYKSEN/MUOKKAUKSEN PERUMINEN *********/ case $peruminen_kuva: unset($_FILES['ladattu_kuva']); //Poistetaan entiset. $ilmoitus = "Kuvan lisäys/muokkaus peruttu."; /*$sisaltoteksti = nayta_albumi($omaid,$id_alb, $id_kuva, $muokkaa_kuva,