phact-cmf / phact

Content management framework
20 stars 6 forks source link

StorageFile Bug #19

Open AngeloJack opened 4 years ago

AngeloJack commented 4 years ago

При попытке пересохранить имя файла (например, хранилось без MD5, захотели шифровать), возникает проблема с присвоением значения в филд. Сценарий:

  1. Имеем филд примерно такого вида, у которого раньше не было md5-шифрования image
  2. Пытаемся пересохранить (вообще странно, что по setValue значение уже не сеттится на место) image
  3. Ловим ошибку в методе getFileName($file), image а точнее в методе getExt(), image который у StorageFile делает следующее: image
  4. Баг заключается в том, что нет проверки текущего значения переменной storage, перед получением компонента Storage из DI-контейнера: image В конструкторе переменная storage объявляется следующим образом: image В результате чего, на предыдущем скрине: Phact::app()->getComponent($this->storage) - может быть вызван не со строковым ключом 'storage', а с объектом, если он инициализирван, что вызовет в свою очередь ошибку.
AngeloJack commented 4 years ago

Также при попытке попытке перебрать эти объекты (30 штук) и пересохранить, вылетает с ошибкой истечения 30 секунд на запрос. Если уменьшить количество выборки, все ок

AntonOkulov commented 4 years ago

PR welcome