[addon multiplefileupload] MultipleFileUpload – form control
- xpitris
- Člen | 9
Tak uz jsem na to prisel. Spatne jsem inicializoval model v presenteru.
Nyni to mam v presenteru takto a funguje to:
public function getFileModel($queueId) {
if (!isset($this->mfuQueue)) {
$mfuQueues = \MultipleFileUpload::getQueuesModel();
}
return $mfuQueues->createQueueObj($queueId);
}
Mozna by nebylo od veci to nekde napsat, protoze na strance doplnku tohle chybi a mne chvili trvalo nez jsem dosel na to jak je ten cely model postaveny.
Chapu to dobre ze sloupecek queueId
v tabulce
files
funguje jako cizi klic do moji zvolene tabulky?
Objevil se mi jeste jeden problem. Z tabulky files mi mizi uz ulozene soubory a nemuzu nejak prijit na to jak obrazek z tabulky zase vybrat. Nemohl by tady nekdo napsat kousek kodu, ktery to zajistuje?
- Honza Kuchař
- Člen | 1662
Vůbec netuším, cos s tím provedl. Do Presenteru MFU vůbec nezasahuje. Tedy do presenteru nic nepřidávej a už vůbec nechápu proč šaháš přímo do modelu MFU. Ten by tě za normálních okolností vůbec neměl zajímat, protože se MFU chová jako standardní formulářový prvek. Tedy stačí na něm zavolat ->getValue(). Všechno ostatní se řeší automaticky.
- Honza Kuchař
- Člen | 1662
Z tabulky files mi mizi uz ulozene soubory a nemuzu nejak prijit na to jak obrazek z tabulky zase vybrat. Nemohl by tady nekdo napsat kousek kodu, ktery to zajistuje?
To je v pořádku. To je automatický cleanup. Do té tabulky nemáš vůbec co šahat, pokud nevyvíjíš MFU. Pokud vyvíjíš aplikaci, ten model tě opravdu nezajímá.
→ tedy to co je v dokumentaci je kompletní.
- Lopo
- Člen | 277
dnes som nasiel a uspesne zakomponoval http://valums.com/ajax-upload/ … celkom zaujimavo rieseny upload zvladajuci aj MFU, takze odporucam minimalne skusit ocumnut
ja osobne sa asi pokusim urobit z toho BailIff/Nette control
- Honza Kuchař
- Člen | 1662
ja osobne sa asi pokusim urobit z toho BailIff/Nette control
Nechceš udělat ovladat pro MFU? Vypadá ten uploader vskutku dobře. :) A potom do toho BailIff zakomponovat celé MFU? Bude to jistě mnohem univerzálnější. ;)
- Lopo
- Člen | 277
Honza Kuchař napsal(a):
mno … ak aj nahodu to budem niekedy robit, tak urcite to nebude tak skoro … dovolim si tvrdit ze tento rok nehrozi …
vo worku mam stale roboty vyse hlavy a v BailIff-e som teprv na zaciatku takze nez sa dostanem ku tvorbe takychto control-ov tak este chvilu potrva
ale ako sa hovori – nikdy nehovor nikdy :)
- Honza Kuchař
- Člen | 1662
Hlavně, že optimismus nechybí – nikdy není pozdě. :) (zde si to nikdy dovolím :))
- westrem
- Člen | 398
Ahoj,
ide tento doplnok stiahnut aj odniekial inakade ako zo SVN? Pri pokuse
o stiahnutie z odkazu na repo, ktory je v dokumentacii a po zadani username
guest
mi hadze TortoiseSVN chybu:
Server sent unexpected return value (403 Forbidden) in response to MKACTIVITY
Viete niekto pomoct? Dakujem.
- Honza Kuchař
- Člen | 1662
Bohužel nemám čas to teď ladit ani vyzkoušet. Samozřejmě jakýkoli patch vítám.
- Thomas
- Člen | 22
Ahoj, chtěl bych se zeptat kde a jak je řešený problém s odhlašováním v IE8, neboť se mi stále odhlašuje (neodhlásí se pouze při použití klasických inputů). Nevím co jsem mohl udělat špatně. Revizi MFU mám 74, PHP 5.2.6, Nette 2.0 dev.
Až na tuhle drobnou chybičku ale funguje skvěle, díky!
- B4nan
- Člen | 13
Thomas napsal(a):
Ahoj, chtěl bych se zeptat kde a jak je řešený problém s odhlašováním v IE8, neboť se mi stále odhlašuje (neodhlásí se pouze při použití klasických inputů). Nevím co jsem mohl udělat špatně. Revizi MFU mám 74, PHP 5.2.6, Nette 2.0 dev.
Až na tuhle drobnou chybičku ale funguje skvěle, díky!
Tím odhlašováním myslíš co? :)
o.x.i napsal(a):
Mám stejný problém jako gula23:
InvalidStateException Callback 'EnvFormContainer_addMultipleFileUpload' is not callable.
jde někomu MFU v Nette 2.0 pls?
Mě teda MFU v posledním dvojkovým nette běží bez problémů, ale
s touhle chybou jsem se zatím nesetkal. Podle názvu funkce to vypadá jako by
to byla chyba při registraci, což já teda mám přes
MultipleFileUpload::register();
. Co si pamatuju tak jediný
problém v nette 2 bylo přejmenování tříd s šablonami
(Template => FileTemplate
myslím).
- Thomas
- Člen | 22
Odhlašováním myslím to, že v IE8 (jiné IE jsem nezkoušel) výběr souborů proběhne v pohodě, všechno vypadá, že se to uploaduje, ale po ukončení uploadu se mi administrace automaticky odhlásí (asi přijde o sessions) a soubory stále nejsou na serveru. Po opětovném přihlášení do administrace se soubory přesunou a je to ok.
V Opeře, FF ani v Chrome mi to nedělá.
- B4nan
- Člen | 13
Thomas napsal(a):
A ještě mě napadla jedna věc – je nějak možné po výběru souborů automaticky formulář odeslat? Bylo by to více user-friendly. Díky
To si můžeš dodělat sám, http://www.uploadify.com/documentation/ odeslání navěsíš
na event onComplete
.
- Thomas
- Člen | 22
B4nan napsal(a):
To si můžeš dodělat sám, http://www.uploadify.com/documentation/ odeslání navěsíš na event
onComplete
.
Díky, už se mi to podařilo. Jen doplním, že se nejedná o event
onComplete
(ten reaguje až po ukončení uploadů), ale
o událost onSelectOnce
(ta vyskočí hned po výběru
souborů).
- Honza Kuchař
- Člen | 1662
Nevím jak máš udělaný bootstrap, že se ti to odhlašuje. Ale musí to být tak, že se ještě před MFU inicializuje session, což je špatně. To se nesmí stát! (proto se registruje v bootstrapu) Tedy zkus poslat bootstrap.
- Thomas
- Člen | 22
Můj bootstrap vypadá asi následovně:
require LIBS_DIR . '/Nette/loader.php';
Debug::enable(Debug::DEVELOPMENT);
Environment::loadConfig();
$application = Environment::getApplication();
dibi::connect(Environment::getConfig('database'));
$router = $application->getRouter();
if (function_exists('apache_get_modules') && in_array('mod_rewrite', apache_get_modules())) {
$router[] = new Route('admin/<presenter>/<action>/<id>', array(
'module' => 'Admin',
'presenter' => 'Default',
'action' => 'default',
'id' => NULL,
));
} else {
$router[] = new SimpleRouter('Site:Default:default');
}
MultipleFileUpload::register();
MultipleFileUpload::getUIRegistrator()
->clear()
->register("MFUUIHTML4SingleUpload")
->register("MFUUIUploadify");
MultipleFileUpload::setQueuesModel(new MFUQueuesDibi());
$application->run();
- Honza Kuchař
- Člen | 1662
Hmm, tak to vypadá v pořádku. Tedy zkusil bych krokovat pomocí debugeru. Tímto mi došly nápady.
- Honza Kuchař
- Člen | 1662
Zkusím se na to podívat. Ale asi budu potřeboval nějakou mini-aplikaci, tedy aplikaci, ořezanou na minimum, ve které se projevuje chyba. Myslíš, že je to možné?
- Thomas
- Člen | 22
Honza Kuchař napsal(a):
Zkusím se na to podívat. Ale asi budu potřeboval nějakou mini-aplikaci, tedy aplikaci, ořezanou na minimum, ve které se projevuje chyba. Myslíš, že je to možné?
Ano, ale určitě ne během následujícího týdne, nestíhám a toto není úplně priorita. Pokud ti to nebude vadit, aplikaci připravím a pošlu ti přístup a informace na mail.
- Honza Kuchař
- Člen | 1662
Samozřejmě, že mi to nevadí. Také neříkám, že se na to podívám úplně hned. Ale pokud to bude připravené, tak si na to chvilku určitě najdu. ;)
- Hanz
- Člen | 16
Teď jsem řešil problém při nasazení společně s AJAX-ovými
formuláři. Pokud se dá celý formulář do snippetu, vyberete a nahrajete
soubory MFU a pak znovu načtete ten snippet přes AJAX (přes jiné tlačítko,
než uložení), tak dojde k tomu, že se ty soubory smažou z databáze a po
odeslání formuláře se tedy nenahrají. Myslím, že by bylo lepší
chování, kdyby se nahrály.
Udělal jsme si tedy malou úpravu v „MultipleFileUpload.php“.
Přidal jsem:
<?php
private $submitterControl;
public function setSubmitWith(ISubmitterControl $submitterControl){
$this->submitterControl = $submitterControl;
}
?>
A upravil původní metodu „__destruct“ takto:
<?php
public function __destruct() {
if ($this->getForm()->isSubmitted()) {
if($this->submitterControl == NULL || $this->submitterControl == $this->getForm()->isSubmitted()){
$this->getQueue()->delete();
}
}
}
?>
Teď se soubory smažou pouze pokud se formulář odešle přednastaveným tlačítkem.
Snad se to bude někomu hodit…
- wizzard
- Člen | 5
Dobrý den, mám tehnle doplněk imlementován v projektu a vše funguje vpořádku. Poté jsem projekt překopíroval projekt na jiný hosting a MFU soubor uploaduje ale nevrátí ho ve formuláři = pole je prázdné. Nebyl by někdo tak laskavý a poradil co s tím. Děkuji
EDIT: Ještě jsem zjistil, že po uploadu se mi v IE uživatel odhlásí.
Editoval wizzard (20. 2. 2011 23:45)
- Honza Kuchař
- Člen | 1662
Zdá se, že bude potřeba více informací, ale zatím nevím jakých. Máš možnost debugovat?
- Honza Kuchař
- Člen | 1662
Tak potom budete muset jít více do hloubky, projít si ten doplněk a pochopit jak funguje. Postupovat bych asi takto:
- logoval bych všechny vstupy
- zjistil bych co dělá nebo nedělá model
- změnil bych hosting
Myslím, že více asi poradit nemohu se současnou znalostí tvého problému. Může to být totiž opravdu cokoliv.
- Honza Kuchař
- Člen | 1662
Hurá volejme sláva! Plupload implementován.
http://multiplefileupload.projekty.mujserver.net/
Zatím však bez flashe! K tomu potřebuji vaši pomoc, protože já už opravdu nevím. Po přepnutí na runtime flash, se prostě nic nezobrazí. Netušíte někdo, čím by to mohlo být? Ten flash se však normálně načte a ale nezinicializuje se. :-(
- Honza Kuchař
- Člen | 1662
Jéé, měl jsem raději jít spát. :-)
Nicméně výborné zprávy! Podařilo se mi opravit bug v pluploadu, který zabraňoval použití flashe, pokud se plupload nacházel v tabulce. Tedy teď už je plupload v kompletní náloži a připraven k použití. :-)
http://multiplefileupload.projekty.mujserver.net/
(ta samá stránka jako je v dokumentaci)
- bojovyletoun
- Člen | 667
Skvělá práce, myslím že plupload je jeden z nejpropracovanějších
nástrojů. Trochu mě odrazuje ta desítka skriptů.
PS: umí se to chovat jako snippet? Jako že si načtu stránku, vyberu soubory,
ty se na pozadí odešlou(přes iframe…) a pak se invaliduje nějaký snippet
na stránce a v něm se zobrazí třeba názvy souborů s jejich náhledy.
- lvq
- Člen | 47
Doplnek se me libi, diky za nej. Ale at se snazim jak se snazim, nedari se me ho rozbehnout pod nette 2 s prefixy N pred tridami (php 5.2). Prejmenuju tridy, nahradim Template za FileTemplate a porad to nechce jet, pritom ukazka na localu jede ok. Pokud by se tedy nasel nekdo, kdo ma doplnek upraven na stejnou konfiguraci a uploudnul ho zde, byl bych mu moc vdecny.
- LuKa
- Člen | 3
Zdravim, hraji si s novym MFU, vsechno mi funguje, ale jeste resim hlaseni chyb, kdyz uzivatel nahraje soubory pres HTML4Single. V MultipleFileUpload->handleUploads tu chyby jeste mam, ale jak se prekresli formular tak se ta promena vymaze. Neslo by nejak dat do error formulare a jak? Diky moc za radu, vitam vsechny rady. Diky.
- Flipajs
- Člen | 29
Zdravím!
Chci se přidat do řady „děkovačů“, opravdu povedený doplněk! Stáhl jsem nejnovější revizi (91) a u Plupload Interface dochází při uploadu vždy k 500 Internal Server Error. Ostatní módy fungují tak jak mají.
Setkal jste se s tím také někdo a víte případně kde je zakopaný pes?
Díky! S pozdravem Flip
- Honza Kuchař
- Člen | 1662
Ajaj, to tedy nevím a Nette\Debug nic nezapsal do logu? (pokud ne zapni si produkční režimu v bootstrapu).
Už mám teď MFU s pluploadem nasazený v testovacím provozu a žádné chyby na serverové straně se mi neobjevily.
Ještě mě napadá jedna. Pokud jsi pováděl update z předchozí verze
MFU smaž SQLLite databázi v
/controls/mfu/models/sqlite/database.sdb
.
- Honza Kuchař
- Člen | 1662
ad Nette 2.0 a namespaces: Všechno bude, jamile vyjde nějaká stabilní verze Nette 2.0. Od té chvíle se budu snažit převést svoje aktivní projekty na Nette 2.0. Všechny doplňky používám ve svých aplikacích a je tedy pro mě priorita, aby fungovaly i nadále. Tedy migrace na Nette 2.0 a upravení doplňků (snad časem všech) do podoby fungující s Nette 2.0 bude, až budou i moje projekty v Nette 2.0. V současné chvíli mám všechny projekty na Nette 0.9.x a jeden menší, pokusný na Nette 2.0. Tedy ještě to asi bude chvíli trvat, ale bude to.
A pokud někdo máte program, který převede z PHP 5.3 namespaced na PHP 5.2 bez namespaců a PHP 5.2 prefixovanou verzi a poskytnete mi ho, tak se s převodem doplňků dá uvažovat i značně dříve. ;)