/** * @param \cs\services\File $file * @param string $extension * @param array $field * @param \cs\base\BaseForm $model * * @return array */ public static function save($file, $extension, $field, $model) { $fieldName = $field[BaseForm::POS_DB_NAME]; $path = self::getFolderPath($field, $model); $folderSmall = $path->create('small'); $folderOriginal = $path->create('original'); $fileName = $fieldName . '.' . $extension; $folderSmall->add($fileName)->deleteFile(); $folderOriginal->add($fileName)->deleteFile(); $smallFormat = ArrayHelper::getValue($field, 'widget.1.options.small', false); $originalFormat = ArrayHelper::getValue($field, 'widget.1.options.original', false); self::saveImage($file, $folderOriginal, $originalFormat, $field); if ($smallFormat === false) { return [$fieldName => $folderOriginal->getPath()]; } else { self::saveImage(File::path($folderOriginal->getPathFull()), $folderSmall, $smallFormat, $field); return [$fieldName => $folderSmall->getPath()]; } }