Alapvetően egy feltöltött filet szeretnék átküldeni egy másik szervernek. Gondoltam fogom az uploadot, csinálok belőle újat, kicsit kiegészítem azt és kész is vagyok, de nagyon elakadtam. A fájl átküldés curl-el szépen működik. Először az uploda_save-be tettem bele. Azután néztem még egy kicsit a kódot, és úgy gondoltam jobb lenne a _upoad_validate -be. Ekkor merült fel a problémám. Ugye a validate legalább annyiszor meghívodik, ahányszor új filet csatol be a user viszont én csak egyszer szeretném elküldeni a filet. gondoltam a $file-hez hozzáadok egy "valid" mezőt, meg a form-hoz is egy "filevalid" és szépen átadom a tartalmát a következő form_rebuild-nek. Gondoltam, ha a file descriptionnal meg tudja csinálni az upload modul akkor az én kis "valid"-ommal is meg lehet. De nem sikerült. Eész egyszerűen nem találom, hol adódik át a description a form újraépítésekor.
Először hívodik a "_upload_prepare".Az "_upload_prepare"-ben még csont üres a $file->description.
Utána az "_upload_form"-ban elkészül a form itt szintén teljesen üres még $file->description.
Végül jön az "_upload_validate" és láss csodát itt meg van a description. Még izgalmasabb, hogy a megjelenített formban is ott van a description az editboxban, de hol került bele amikor az _upload_formban még üres volt? Tudom hogy láma a kérdés, de miután már fél napja görcsölök rajta, kérném szépen, hogy ha valaki tudja a választ akkor vezessen már rá, meg arra hogyan kell ezt az adatátadást a form újraépítésekor bebűvészkedni.
Előre is köszönöm!
form adat átadás újraépítéskor
Fórum:
Ha már fejlesztesz
Én inkább a hook_form_alter()-t választanám
$form['#submit']['my_function_name'] = array();
vagy a hook_nodeapi()
Nem mondanám, fejlesztésnek
Nem mondanám, fejlesztésnek csak kiegészítgetek.
Nem szeretnék túl mélyen belenyúlni az upload lelkivilágába (még ha új modult csináltam is belőle más néven).
Az előbb emlegetett _prepare és _validate függvények a nodeapi-ból hívódnak. Tehát ha úgy vesszük abban dolgozom.
A problémáim jórésze megoldódni látszik. Már csak ott vagyok fennakadva, hogy jó lenne a validate -ben még módosítani a készülő form adatain. Találtam is az api-ban egy form_set_value függvényt erre de nem értem, hogy kéne ezt használni a validate-ben. A függvény első paramétere ugyanis maga a $form változó de ez úgy látom nem áll rendelkezésemre. A mind a nodeapi, mind a validate csak a node-ot kapja meg. pedig nem lehetetlen a dolog, hiszen a form_set_error tud még módosítani a formon a validate-on belül anélkül, hogy megkapná a formot.