Skip to content

Commit

Permalink
Added PHP 8.1 into composer.json and support warning into the README
Browse files Browse the repository at this point in the history
tg666 committed Jan 4, 2023
1 parent 0918085 commit 84b9e57
Showing 8 changed files with 40 additions and 43 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
> :warning: Warning! This package does not have active support, it exists only for the historical needs of the author.
# File Bundle

:city_sunset: File management bundle based on our [file-storage](https://github.com/68publishers/file-storage) for Nette Framework.
24 changes: 12 additions & 12 deletions composer.json
Original file line number Diff line number Diff line change
@@ -10,35 +10,35 @@
}
],
"require": {
"php": "^7.3",
"php": "^8.1",
"ext-fileinfo": "*",
"68publishers/doctrine-bridge": "^0.1.1",
"68publishers/doctrine-persistence": "^0.2",
"68publishers/event-dispatcher-extra": "^1.0",
"68publishers/file-storage": "^0.1",
"68publishers/smart-nette-component": "^0.2",
"68publishers/translation-bridge": "^1.2",
"68publishers/doctrine-bridge": "^1.0",
"68publishers/doctrine-persistence": "^0.3",
"68publishers/event-dispatcher-extra": "^1.1",
"68publishers/file-storage": "^1.0",
"68publishers/smart-nette-component": "^1.0",
"68publishers/translation-bridge": "^2.0",
"nette/application": "^3.0.6",
"nette/di": "^3.0.3",
"nette/forms": "^3.0",
"nette/utils": "^3.0",
"ramsey/uuid": "^4.0"
},
"require-dev": {
"roave/security-advisories": "dev-master",
"roave/security-advisories": "dev-latest",
"friendsofphp/php-cs-fixer": "^2.0",
"nette/tester": "^2.3.4",
"68publishers/notification-bundle": "^0.2",
"gedmo/doctrine-extensions": "^2.4",
"68publishers/image-storage": "^0.5"
"68publishers/notification-bundle": "^0.3",
"gedmo/doctrine-extensions": "^3.1",
"68publishers/image-storage": "^1.0"
},
"suggest": {
"gedmo/doctrine-extensions": "If you want to use soft-deletable files.",
"68publishers/notification-bundle": "For automatic notifications (flash message, toastr) on file upload, deletion etc.",
"68publishers/image-storage": "Use combination of file-storage and image-storage to better management of images!"
},
"conflict": {
"68publishers/image-storage": "<0.5"
"68publishers/image-storage": "<1.0"
},
"autoload": {
"psr-4": {
Original file line number Diff line number Diff line change
@@ -49,7 +49,7 @@ public function __invoke(OptionsInterface $options, FileInterface $file, int $de
));
}

$resource->modifyImage([
$resource = $resource->modifyImage([
'o' => (string) $degrees,
]);

4 changes: 3 additions & 1 deletion src/Control/DropZone/DropZoneControl.php
Original file line number Diff line number Diff line change
@@ -10,7 +10,7 @@
use Nette\Http\IResponse;
use Nette\Http\FileUpload;
use Nette\Utils\IHtmlString;
use SixtyEightPublishers\SmartNetteComponent\UI\Control;
use Nette\Application\UI\Control;
use SixtyEightPublishers\FileBundle\Event\FileUploadEvent;
use SixtyEightPublishers\FileBundle\Event\UploadErrorEvent;
use SixtyEightPublishers\FileBundle\Exception\UploadException;
@@ -21,11 +21,13 @@
use SixtyEightPublishers\FileBundle\Exception\InvalidArgumentException;
use SixtyEightPublishers\EventDispatcherExtra\EventDispatcherAwareTrait;
use SixtyEightPublishers\EventDispatcherExtra\EventDispatcherAwareInterface;
use SixtyEightPublishers\SmartNetteComponent\Bridge\Nette\Application\TemplateResolverTrait;

final class DropZoneControl extends Control implements TranslatorAwareInterface, EventDispatcherAwareInterface
{
use TranslatorAwareTrait;
use EventDispatcherAwareTrait;
use TemplateResolverTrait;

/** @var \Nette\Http\IRequest */
private $request;
27 changes: 10 additions & 17 deletions src/Control/FileManager/ConfiguredFileManagerControlFactory.php
Original file line number Diff line number Diff line change
@@ -58,7 +58,11 @@ public function create(ConfiguredFileManagerArgs $args): FileManagerControl
}

if (NULL !== $config->get('template')) {
$this->setTemplateFile($control, $config->get('template'));
if (Strings::startsWith($config->get('template'), '@')) {
$control->setRelativeFile($config->get('template'));
} else {
$control->setFile($config->get('template'));
}
}

if (NULL !== $config->get('max_allowed_files')) {
@@ -88,7 +92,11 @@ public function create(ConfiguredFileManagerArgs $args): FileManagerControl
}

if (NULL !== $config->get('dropzone.template')) {
$this->setTemplateFile($control, $config->get('dropzone.template'));
if (Strings::startsWith($config->get('dropzone.template'), '@')) {
$control->setRelativeFile($config->get('dropzone.template'));
} else {
$control->setFile($config->get('dropzone.template'));
}
}

foreach ($config->get('dropzone.content_html') as $contentHtml) {
@@ -144,21 +152,6 @@ public function createDataStorage(ConfiguredFileManagerArgs $args): DataStorageI
return $dataStorage;
}

/**
* @param \SixtyEightPublishers\SmartNetteComponent\UI\Control $control
* @param string $file
*
* @return void
*/
private function setTemplateFile(Control $control, string $file): void
{
if (Strings::startsWith($file, '@')) {
$control->setRelativeFile($file);
} else {
$control->setFile($file);
}
}

/**
* @param string $name
*
4 changes: 3 additions & 1 deletion src/Control/FileManager/FileManagerControl.php
Original file line number Diff line number Diff line change
@@ -6,9 +6,9 @@

use Nette\Utils\Json;
use Nette\Http\FileUpload;
use Nette\Application\UI\Control;
use Doctrine\Common\Collections\Collection;
use SixtyEightPublishers\FileBundle\Helper\MaxFileSize;
use SixtyEightPublishers\SmartNetteComponent\UI\Control;
use SixtyEightPublishers\FileBundle\Entity\FileInterface;
use SixtyEightPublishers\FileBundle\Event\FileUploadEvent;
use SixtyEightPublishers\FileBundle\Action\ActionInterface;
@@ -35,12 +35,14 @@
use SixtyEightPublishers\FileBundle\Control\DropZone\DropZoneControlFactoryInterface;
use SixtyEightPublishers\FileBundle\Storage\Manipulator\Save\SaveManipulatorInterface;
use SixtyEightPublishers\FileBundle\Storage\Manipulator\Delete\DeleteManipulatorInterface;
use SixtyEightPublishers\SmartNetteComponent\Bridge\Nette\Application\TemplateResolverTrait;
use SixtyEightPublishers\FileBundle\Storage\Manipulator\Sortable\SortableManipulatorInterface;

final class FileManagerControl extends Control implements TranslatorAwareInterface, EventDispatcherAwareInterface
{
use TranslatorAwareTrait;
use EventDispatcherAwareTrait;
use TemplateResolverTrait;

public const DIRECTION_TOP = 'top';
public const DIRECTION_BOTTOM = 'bottom';
14 changes: 7 additions & 7 deletions src/DI/FileBundleExtension.php
Original file line number Diff line number Diff line change
@@ -8,21 +8,18 @@
use Nette\Schema\Schema;
use Nette\Schema\Helpers;
use Nette\DI\CompilerExtension;
use SixtyEightPublishers\DoctrineBridge\DI\TargetEntity;
use SixtyEightPublishers\DoctrineBridge\DI\EntityMapping;
use SixtyEightPublishers\FileBundle\Entity\FileInterface;
use SixtyEightPublishers\FileBundle\Storage\DataStorageFactory;
use SixtyEightPublishers\FileBundle\Entity\Basic\File as BasicFile;
use SixtyEightPublishers\FileBundle\Exception\InvalidStateException;
use SixtyEightPublishers\DoctrineBridge\Bridge\Nette\DI\TargetEntity;
use SixtyEightPublishers\FileBundle\Control\FileManager\Configuration;
use SixtyEightPublishers\FileBundle\Entity\SoftDeletableFileInterface;
use SixtyEightPublishers\DoctrineBridge\Bridge\Nette\DI\EntityMapping;
use SixtyEightPublishers\FileBundle\Storage\DataStorageFactoryInterface;
use SixtyEightPublishers\DoctrineBridge\DI\TargetEntityProviderInterface;
use SixtyEightPublishers\DoctrineBridge\DI\EntityMappingProviderInterface;
use SixtyEightPublishers\FileStorage\Bridge\Nette\DI\FileStorageExtension;
use SixtyEightPublishers\FileBundle\EntityFactory\DefaultFileEntityFactory;
use SixtyEightPublishers\NotificationBundle\DI\NotificationBundleExtension;
use SixtyEightPublishers\TranslationBridge\DI\TranslationProviderInterface;
use SixtyEightPublishers\ImageStorage\Bridge\Nette\DI\ImageStorageExtension;
use SixtyEightPublishers\FileBundle\EntityFactory\FileEntityFactoryInterface;
use SixtyEightPublishers\FileBundle\Storage\Manipulator\ManipulatorInterface;
@@ -34,6 +31,9 @@
use SixtyEightPublishers\FileBundle\Control\DropZone\DropZoneControlFactoryInterface;
use SixtyEightPublishers\FileBundle\ResourceMetadata\ResourceMetadataFactoryRegistry;
use SixtyEightPublishers\FileBundle\ResourceMetadata\ResourceMetadataFactoryInterface;
use SixtyEightPublishers\DoctrineBridge\Bridge\Nette\DI\TargetEntityProviderInterface;
use SixtyEightPublishers\DoctrineBridge\Bridge\Nette\DI\EntityMappingProviderInterface;
use SixtyEightPublishers\TranslationBridge\Bridge\Nette\DI\TranslationProviderInterface;
use SixtyEightPublishers\FileBundle\Control\FileManager\FileManagerControlFactoryInterface;
use SixtyEightPublishers\EventDispatcherExtra\Bridge\Nette\DI\EventDispatcherExtraExtension;
use SixtyEightPublishers\FileBundle\Control\FileManager\ConfiguredFileManagerControlFactory;
@@ -178,11 +178,11 @@ public function getEntityMappings(): array
switch ($this->config->entity) {
case BasicFile::class:
return [
new EntityMapping(EntityMapping::DRIVER_ANNOTATIONS, 'SixtyEightPublishers\FileBundle\Entity', __DIR__ . '/../Entity/Basic'),
new EntityMapping(EntityMapping::DRIVER_ANNOTATION, 'SixtyEightPublishers\FileBundle\Entity', __DIR__ . '/../Entity/Basic'),
];
case SoftDeletableFile::class:
return [
new EntityMapping(EntityMapping::DRIVER_ANNOTATIONS, 'SixtyEightPublishers\FileBundle\Entity', __DIR__ . '/../Entity/SoftDeletable'),
new EntityMapping(EntityMapping::DRIVER_ANNOTATION, 'SixtyEightPublishers\FileBundle\Entity', __DIR__ . '/../Entity/SoftDeletable'),
];
}

6 changes: 2 additions & 4 deletions src/Entity/AbstractFile.php
Original file line number Diff line number Diff line change
@@ -67,8 +67,7 @@ public function __construct(FileInfoInterface $fileInfo, ?UuidInterface $uuid =
$this->created = new DateTime('now', new DateTimeZone('UTC'));
$this->updated = new DateTime('now', new DateTimeZone('UTC'));

$this->setSource($fileInfo);
$fileInfo->setVersion($this->createSourceVersion($this->created));
$this->setSource($fileInfo->withVersion($this->createSourceVersion($this->created)));
}

/**
@@ -135,8 +134,7 @@ public function setMetadata(array $metadata): void
public function update(): void
{
$this->updated = new DateTime('now', new DateTimeZone('UTC'));
$this->setSource($source = clone $this->getSource());
$source->setVersion($this->createSourceVersion($this->updated));
$this->setSource($this->getSource()->withVersion($this->createSourceVersion($this->updated)));
}

/**

0 comments on commit 84b9e57

Please sign in to comment.