form adat átadás újraépítéskor

papa71 képe

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!

Sweetchuck képe

Én inkább a hook_form_alter()-t választanám

$form['#submit']['my_function_name'] = array();

vagy a hook_nodeapi()

0
0
papa71 képe

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.

0
0