diff --git a/src/Controllers/APIController.php b/src/Controllers/APIController.php index 4fa5181..13f2ca7 100644 --- a/src/Controllers/APIController.php +++ b/src/Controllers/APIController.php @@ -2,21 +2,18 @@ namespace MadeHQ\Cloudinary\Controllers; -use SilverStripe\ORM\DB; -use SilverStripe\ORM\DataObject; -use SilverStripe\ORM\Queries\SQLUpdate; +use Cloudinary\Api; +use Cloudinary\Api\Error as CloudinaryApiError; +use MadeHQ\Cloudinary\Model\{File, Image, Video}; +use SilverStripe\Control\{Controller, Director, HTTPRequest, HTTPResponse}; use SilverStripe\Core\Config\Config; -use SilverStripe\Control\{ Controller, Director, HTTPRequest, HTTPResponse }; -use SilverStripe\Security\{ Permission, PermissionProvider }; use SilverStripe\Core\Config\Configurable; use SilverStripe\Core\Convert; +use SilverStripe\ORM\DataObject; +use SilverStripe\ORM\Queries\SQLUpdate; +use SilverStripe\Security\{Permission, PermissionProvider}; use SilverStripe\Versioned\Versioned; -use Cloudinary\Api; -use Cloudinary\Api\Error As CloudinaryApiError; - -use MadeHQ\Cloudinary\Model\{ Image, File, Video }; - class APIController extends Controller implements PermissionProvider { use Configurable; diff --git a/src/Forms/FileFormFactory.php b/src/Forms/FileFormFactory.php index 0701fc3..782ed1b 100644 --- a/src/Forms/FileFormFactory.php +++ b/src/Forms/FileFormFactory.php @@ -2,7 +2,7 @@ namespace MadeHQ\Cloudinary\Forms; -use SilverStripe\AssetAdmin\Forms\FileFormFactory As BaseFileFormFactory; +use SilverStripe\AssetAdmin\Forms\FileFormFactory as BaseFileFormFactory; use SilverStripe\Forms\LiteralField; class FileFormFactory extends BaseFileFormFactory diff --git a/src/Forms/UploadFileField.php b/src/Forms/UploadFileField.php index c078d5c..69d30c2 100644 --- a/src/Forms/UploadFileField.php +++ b/src/Forms/UploadFileField.php @@ -3,29 +3,18 @@ namespace MadeHQ\Cloudinary\Forms; use MadeHQ\Cloudinary\Model\FileLink; - use SilverStripe\AssetAdmin\Controller\AssetAdmin; use SilverStripe\AssetAdmin\Forms\UploadField; use SilverStripe\Assets\Upload_Validator; - +use SilverStripe\Control\{HTTPRequest, HTTPResponse}; use SilverStripe\Core\Injector\Injector; - -use SilverStripe\ORM\SS_List; -use SilverStripe\ORM\DataObject; -use SilverStripe\ORM\DataObjectInterface; - use SilverStripe\Forms\FieldList; use SilverStripe\Forms\FileUploadReceiver; use SilverStripe\Forms\FormField; -use SilverStripe\Forms\TextField; use SilverStripe\Forms\TextareaField; - -use SilverStripe\View\Requirements; - -use SilverStripe\Control\{ - HTTPRequest, - HTTPResponse -}; +use SilverStripe\Forms\TextField; +use SilverStripe\ORM\DataObject; +use SilverStripe\ORM\DataObjectInterface; class UploadFileField extends FormField { diff --git a/src/Forms/UploadImageField.php b/src/Forms/UploadImageField.php index a429428..64d5c69 100644 --- a/src/Forms/UploadImageField.php +++ b/src/Forms/UploadImageField.php @@ -3,14 +3,14 @@ namespace MadeHQ\Cloudinary\Forms; use SilverStripe\Core\Config\Config; - use SilverStripe\Forms\DropdownField; use SilverStripe\Forms\TextField; -use SilverStripe\ORM\DataObjectInterface; -use SilverStripe\ORM\DataObject; class UploadImageField extends UploadFileField { + /** @var boolean */ + private $multiUpload; + /** * @var array * @config @@ -71,4 +71,18 @@ public function __construct($name, $title = null, $value = null) $this->removeField('Description'); } + + + /** + * Set upload type to multiple or single + * + * @param bool $bool True for multiple, false for single + * @return $this + */ + public function setIsMultiUpload($bool) + { + $this->multiUpload = $bool; + return $this; + } + } diff --git a/src/Forms/UploadVideoField.php b/src/Forms/UploadVideoField.php index d2a65a2..176033f 100644 --- a/src/Forms/UploadVideoField.php +++ b/src/Forms/UploadVideoField.php @@ -2,11 +2,6 @@ namespace MadeHQ\Cloudinary\Forms; -use SilverStripe\Core\Config\Config; - -use SilverStripe\Forms\DropdownField; -use SilverStripe\Forms\TextField; - class UploadVideoField extends UploadFileField { // private static $gravities = [ diff --git a/src/Model/File.php b/src/Model/File.php index 66fc580..b09325b 100644 --- a/src/Model/File.php +++ b/src/Model/File.php @@ -3,13 +3,12 @@ namespace MadeHQ\Cloudinary\Model; use Cloudinary\Api; -use SilverStripe\Assets\File As BaseFile; -use SilverStripe\Core\Flushable; +use MadeHQ\Cloudinary\Traits\CloudinaryFileTrait; +use SilverStripe\Assets\File as BaseFile; use SilverStripe\Core\Config\Configurable; -use SilverStripe\ORM\Queries\SQLUpdate; +use SilverStripe\Core\Flushable; use SilverStripe\ORM\DB; - -use MadeHQ\Cloudinary\Traits\CloudinaryFileTrait; +use SilverStripe\ORM\Queries\SQLUpdate; class File extends BaseFile implements Flushable { @@ -95,7 +94,7 @@ public static function flush() DB::get_schema()->renameField($tableName . '_Versions', 'PublicID', '_obsolete_PublicID'); } } - + public function requireTable() { /* @@ -104,7 +103,7 @@ public function requireTable() has no way of getting at the base class, so it can no longer build it, so any changes to that class do not show up, and so we get db errors, this method fixes that by manually finding and building the base class - In the future, if we need to extend an object, use an Extension, or if we MUST create a new class to replace it, + In the future, if we need to extend an object, use an Extension, or if we MUST create a new class to replace it, do NOT have it extend the original class */ diff --git a/src/Model/FileLink.php b/src/Model/FileLink.php index aad2aff..8d9275d 100644 --- a/src/Model/FileLink.php +++ b/src/Model/FileLink.php @@ -3,7 +3,6 @@ namespace MadeHQ\Cloudinary\Model; use SilverStripe\ORM\DataObject; -use MadeHQ\Cloudinary\Model\File; class FileLink extends DataObject { diff --git a/src/Model/ImageLink.php b/src/Model/ImageLink.php index 89001ca..8b314e4 100644 --- a/src/Model/ImageLink.php +++ b/src/Model/ImageLink.php @@ -2,8 +2,6 @@ namespace MadeHQ\Cloudinary\Model; -use MadeHQ\Cloudinary\Model\Image; - class ImageLink extends FileLink { private static $db = [ diff --git a/src/Model/ThumbnailGenerator.php b/src/Model/ThumbnailGenerator.php index cb234a2..b72a6f6 100644 --- a/src/Model/ThumbnailGenerator.php +++ b/src/Model/ThumbnailGenerator.php @@ -2,7 +2,7 @@ namespace MadeHQ\Cloudinary\Model; -use SilverStripe\AssetAdmin\Model\ThumbnailGenerator As BaseThumbnailGenerator; +use SilverStripe\AssetAdmin\Model\ThumbnailGenerator as BaseThumbnailGenerator; use SilverStripe\Assets\Storage\AssetContainer; class ThumbnailGenerator extends BaseThumbnailGenerator @@ -10,7 +10,7 @@ class ThumbnailGenerator extends BaseThumbnailGenerator /** * @inheritdoc */ - public function generateThumbnailLink(AssetContainer $file, $width, $height) + public function generateThumbnailLink(AssetContainer $file, $width, $height, $graceful = false) { if (!($file instanceof File)) { return null; diff --git a/src/Model/VideoLink.php b/src/Model/VideoLink.php index cd26715..f417f5a 100644 --- a/src/Model/VideoLink.php +++ b/src/Model/VideoLink.php @@ -2,8 +2,6 @@ namespace MadeHQ\Cloudinary\Model; -use MadeHQ\Cloudinary\Model\Image; - class VideoLink extends FileLink { private static $db = [ diff --git a/src/Storage/CloudinaryStorage.php b/src/Storage/CloudinaryStorage.php index e225e75..338e9af 100644 --- a/src/Storage/CloudinaryStorage.php +++ b/src/Storage/CloudinaryStorage.php @@ -2,11 +2,10 @@ namespace MadeHQ\Cloudinary\Storage; -use MadeHQ\Cloudinary\Model\File; -use SilverStripe\Assets\Storage; use Cloudinary; use Cloudinary\Uploader; -use SilverStripe\Control\Director; +use MadeHQ\Cloudinary\Model\File; +use SilverStripe\Assets\Storage; use SilverStripe\Core\Config\Configurable; class CloudinaryStorage implements Storage\AssetStore, Storage\AssetStoreRouter diff --git a/src/Storage/DBFile.php b/src/Storage/DBFile.php index 67d0fcd..167f262 100644 --- a/src/Storage/DBFile.php +++ b/src/Storage/DBFile.php @@ -3,7 +3,6 @@ namespace MadeHQ\Cloudinary\Storage; use SilverStripe\Assets\Storage\DBFile as BaseDBFile; -use SilverStripe\ORM\ValidationResult; class DBFile extends BaseDBFile { diff --git a/src/Tasks/SyncTask.php b/src/Tasks/SyncTask.php index 681417f..32df071 100644 --- a/src/Tasks/SyncTask.php +++ b/src/Tasks/SyncTask.php @@ -2,15 +2,11 @@ namespace MadeHQ\Cloudinary\Tasks; -use SilverStripe\Control\HTTPRequest; -use SilverStripe\Core\Config\Configurable; -use SilverStripe\Core\Convert; -use SilverStripe\Dev\BuildTask; - use Cloudinary\Api; - use MadeHQ\Cloudinary\Model\File; use MadeHQ\Cloudinary\Model\Image; +use SilverStripe\Core\Config\Configurable; +use SilverStripe\Dev\BuildTask; class SyncTask extends BuildTask { diff --git a/src/Traits/CloudinaryFileTrait.php b/src/Traits/CloudinaryFileTrait.php index adb9277..4dcc52b 100644 --- a/src/Traits/CloudinaryFileTrait.php +++ b/src/Traits/CloudinaryFileTrait.php @@ -2,16 +2,13 @@ namespace MadeHQ\Cloudinary\Traits; -use SilverStripe\Assets\Folder; -use SilverStripe\Versioned\Versioned; - -use SilverStripe\ORM\DataObject; -use SilverStripe\ORM\FieldType\DBDatetime; - use Cloudinary\Api; use Cloudinary\Api\NotFound; - use MadeHQ\Cloudinary\Model\File; +use SilverStripe\Assets\Folder; +use SilverStripe\ORM\DataObject; +use SilverStripe\ORM\FieldType\DBDatetime; +use SilverStripe\Versioned\Versioned; /** * @@ -241,7 +238,7 @@ public static function get_remote_data($publicID, $resourceType, $forceFromCloud } $dataObject = DataObject::get_one(File::class, [ - 'PublicID' => $publicID + '"File"."PublicID"' => $publicID ]); if ($dataObject && $dataObject->exists() && $dataObject->RemoteData && !$forceFromCloudinary) {