/** * Returns true if the specific component contains a matching partial. * @param \Cms\Classes\ComponentBase $component Specifies a component the file belongs to. * @param string $fileName Specifies the file name to check. * @return bool */ public static function check(ComponentBase $component, $fileName) { $partial = new static($component); $filePath = $partial->getFilePath($fileName); if (!strlen(File::extension($filePath))) { $filePath .= '.' . $partial->getDefaultExtension(); } return File::isFile($filePath); }
/** * Creates a [[\app\models\File]] based on the [[yii\web\UploadedFile]] * @param UploadedFile $uploadedFile * @param $relatedModel * @param $relatedAttribute * @return bool */ public static function makeByUploadedFile(UploadedFile $uploadedFile, $relatedModel, $relatedAttribute) { $file = new static(); $file->name = $uploadedFile->name; $file->size = $uploadedFile->size; $file->type = $uploadedFile->type; $file->related_id = $relatedModel->id; $file->related_class = get_class($relatedModel); $file->related_attribute = $relatedAttribute; $saved = $file->save(); if ($ret = $saved && $uploadedFile->saveAs($file->getFilePath()) && in_array($file->type, ['image/jpeg', 'image/png'])) { $file->generateThumbnail(); } return $ret; }