HttpUploadedFile::move jiný mode než 0644

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
mkoubik
Člen | 728
+
0
-

Narazil jsem na problém, když jsem potřeboval nastavit uploadovanému souboru právo na spuštění – v metodě move je napevno nastavený mode 0644. Vyřešil jsem to takhle je to ok (resp. hodilo by se to i někomu jinému)? Posílám pull request https://github.com/…tte/pull/141.

Editoval mkoubik (20. 10. 2010 14:09)

pekelnik
Člen | 462
+
0
-

je tam lehká chybka :)

mkoubik
Člen | 728
+
0
-

Aj karamba, upravoval jsem to na několikrát v 5.2 verzi a do 5.3 trunku jsem to přepsal naslepo. Fixed.

David Grudl
Nette Core | 8218
+
0
-

A není jednodušší prostě po volání $file->move(...) zavolat chmod($file, 0644)?

mkoubik
Člen | 728
+
0
-

Nakonec to tak asi udělám, ale přišlo mi blbý chmod volat dvakrát, když už jednou v tý metodě je.

pekelnik
Člen | 462
+
0
-

Hm… chmod() se skutečně volá už v metodě move(), asi by nebylo nic proti ničemu ten parametr přidat ne?

Honza Marek
Člen | 1664
+
0
-

Tak pokud to neni vyloženě potřeba, nepřidával bych ho. Příště si může někdo vzpomenou na nějaký další parametr a postupnou evolucí jich tam vznikne 50. A což teprve, kdyby přišel někdo na něco opravdu užitečného? Z důvodu zpětné kompatibility se to objeví jako padesátý první parametr?

hrach
Člen | 1838
+
0
-

nastavení práva uploadovaný soubor je imho dost důležité a argumenty jsou dost liché. Metoda by měla dělat to, co její název předučuje. Pokud dělá toho „víc“, to víc mělo být aspoň konfigurovatelné, když už nemůžu to „víc“ obejít zaviláním samotné metody.
move a nastavení práv jsou dvě věci. buď move nic nastavovat nemá, nebo by to mělo být nastavitelné přes parametr.

David Grudl
Nette Core | 8218
+
0
-

Dívejte se na to tak, že move() práva normalizuje, tj. zajistí, aby byly nastaveny vždy stejně. V případě potřeby si je poté můžete nastavit jinak.

westrem
Člen | 398
+
0
-

David Grudl napsal(a):

A není jednodušší prostě po volání $file->move(...) zavolat chmod($file, 0644)?

A neni lepsie robit danu vec len 1× ? Ako pise mkoubik, takto sa ten chmod vola dvakrat, pricom aspon mne pride logickejsie, ze by sa tie prava mali nastavit uz pri presune, tzn tak ako to ma mkoubik spravene na git-e.

Ide v podstate len o priadnie nepovinneho parametru, tudiz o ziadny velky zasah do API. Zaciatocnik to asi nebude prilis vyuzivat a pokrocily to pouzije presne vtedy ked bude chciet.

David Grudl
Nette Core | 8218
+
0
-

Jak často se taková věc použije? V jednom případu z tisíce?

OK3
Člen | 91
+
0
-

Je IMO jedno, jak často se to použije – důležité je, že to užití metoda umožňuje.