From 7c0b2f01398a376dc7bca76f56ca9111fbfcde07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petra=20Mi=C5=A1eta?= Date: Tue, 14 Feb 2023 14:06:14 +0100 Subject: [PATCH 1/5] Enable changing cloudinary upload prefix in configuration --- .../Provider/Cloudinary/Gateway/CloudinaryApiGateway.php | 3 ++- bundle/Resources/config/default_parameters.yml | 1 + bundle/Resources/config/services.yml | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/bundle/RemoteMedia/Provider/Cloudinary/Gateway/CloudinaryApiGateway.php b/bundle/RemoteMedia/Provider/Cloudinary/Gateway/CloudinaryApiGateway.php index 6407d8d4..78384102 100644 --- a/bundle/RemoteMedia/Provider/Cloudinary/Gateway/CloudinaryApiGateway.php +++ b/bundle/RemoteMedia/Provider/Cloudinary/Gateway/CloudinaryApiGateway.php @@ -62,7 +62,7 @@ class CloudinaryApiGateway extends Gateway * @param $apiSecret * @param bool $useSubdomains */ - public function initCloudinary($cloudName, $apiKey, $apiSecret, $useSubdomains = false) + public function initCloudinary($cloudName, $apiKey, $apiSecret, $uploadPrefix, $useSubdomains = false) { $this->cloudinary = new Cloudinary(); $this->cloudinary->config( @@ -70,6 +70,7 @@ public function initCloudinary($cloudName, $apiKey, $apiSecret, $useSubdomains = 'cloud_name' => $cloudName, 'api_key' => $apiKey, 'api_secret' => $apiSecret, + 'upload_prefix' => $uploadPrefix, 'cdn_subdomain' => $useSubdomains, ] ); diff --git a/bundle/Resources/config/default_parameters.yml b/bundle/Resources/config/default_parameters.yml index 533a3b3a..a5fc3f99 100644 --- a/bundle/Resources/config/default_parameters.yml +++ b/bundle/Resources/config/default_parameters.yml @@ -1,4 +1,5 @@ parameters: + netgen_remote_media.parameters.upload_prefix: 'https://api.cloudinary.com' netgen_remote_media.parameters.use_subdomains: true netgen_remote_media.cloudinary.internal_limit: 500 netgen_remote_media.cloudinary.cache_ttl: 7200 diff --git a/bundle/Resources/config/services.yml b/bundle/Resources/config/services.yml index f12f3236..195ef859 100644 --- a/bundle/Resources/config/services.yml +++ b/bundle/Resources/config/services.yml @@ -20,7 +20,7 @@ services: netgen_remote_media.provider.cloudinary.gateway: class: Netgen\Bundle\RemoteMediaBundle\RemoteMedia\Provider\Cloudinary\Gateway\CloudinaryApiGateway calls: - - [initCloudinary, ['%netgen_remote_media.parameters.cloudinary.account_name%', '%netgen_remote_media.parameters.cloudinary.account_key%', "%netgen_remote_media.parameters.cloudinary.account_secret%", "%netgen_remote_media.parameters.use_subdomains%"]] + - [initCloudinary, ['%netgen_remote_media.parameters.cloudinary.account_name%', '%netgen_remote_media.parameters.cloudinary.account_key%', "%netgen_remote_media.parameters.cloudinary.account_secret%", "%netgen_remote_media.parameters.upload_prefix%", "%netgen_remote_media.parameters.use_subdomains%"]] - [setInternalLimit, ["%netgen_remote_media.cloudinary.internal_limit%"]] netgen_remote_media.provider.cloudinary: From 261984ce5cc1b3ae04cf006cd2c42a771460e9f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petra=20Mi=C5=A1eta?= Date: Tue, 14 Feb 2023 14:09:59 +0100 Subject: [PATCH 2/5] Run cs fixer --- .../Provider/Cloudinary/Gateway/CloudinaryApiGateway.php | 1 + 1 file changed, 1 insertion(+) diff --git a/bundle/RemoteMedia/Provider/Cloudinary/Gateway/CloudinaryApiGateway.php b/bundle/RemoteMedia/Provider/Cloudinary/Gateway/CloudinaryApiGateway.php index 78384102..58c70892 100644 --- a/bundle/RemoteMedia/Provider/Cloudinary/Gateway/CloudinaryApiGateway.php +++ b/bundle/RemoteMedia/Provider/Cloudinary/Gateway/CloudinaryApiGateway.php @@ -61,6 +61,7 @@ class CloudinaryApiGateway extends Gateway * @param $apiKey * @param $apiSecret * @param bool $useSubdomains + * @param mixed $uploadPrefix */ public function initCloudinary($cloudName, $apiKey, $apiSecret, $uploadPrefix, $useSubdomains = false) { From cbbf19172a3d923070e94fb427c708723f59506e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petra=20Mi=C5=A1eta?= Date: Tue, 14 Feb 2023 14:37:56 +0100 Subject: [PATCH 3/5] Add upload prefix parameter in bundle configuration --- bundle/DependencyInjection/Configuration.php | 3 +++ bundle/DependencyInjection/NetgenRemoteMediaExtension.php | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/bundle/DependencyInjection/Configuration.php b/bundle/DependencyInjection/Configuration.php index 3edbf578..638ac5ac 100644 --- a/bundle/DependencyInjection/Configuration.php +++ b/bundle/DependencyInjection/Configuration.php @@ -50,6 +50,9 @@ protected function addProviderSection(ArrayNodeDefinition $rootNode) ->isRequired() ->defaultNull() ->end() + ->scalarNode('upload_prefix') + ->defaultValue('https://api.cloudinary.com') + ->end() ->booleanNode('remove_unused') ->defaultValue(false) ->end() diff --git a/bundle/DependencyInjection/NetgenRemoteMediaExtension.php b/bundle/DependencyInjection/NetgenRemoteMediaExtension.php index f6670372..03108344 100644 --- a/bundle/DependencyInjection/NetgenRemoteMediaExtension.php +++ b/bundle/DependencyInjection/NetgenRemoteMediaExtension.php @@ -47,6 +47,10 @@ public function load(array $configs, ContainerBuilder $container) sprintf('netgen_remote_media.parameters.%s.account_secret', $config['provider']), $config['account_secret'] ); + $container->setParameter( + sprintf('netgen_remote_media.parameters.%s.upload_prefix', $config['provider']), + $config['upload_prefix'] + ); $container->setParameter('netgen_remote_media.remove_unused_resources', $config['remove_unused']); $container->setAlias('netgen_remote_media.provider', 'netgen_remote_media.provider.' . $config['provider']); From 30af67f495020febf72a70059671fe9a6b06d82f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Randy=20=C4=8Cupi=C4=87?= Date: Tue, 14 Feb 2023 15:02:32 +0100 Subject: [PATCH 4/5] Add docs for upload_prefix --- docs/INSTALL.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/INSTALL.md b/docs/INSTALL.md index bd45726c..d326f783 100644 --- a/docs/INSTALL.md +++ b/docs/INSTALL.md @@ -83,6 +83,16 @@ php app/console doctrine:schema:update --force This bundle has a few parameters that can be overridden through YAML configuration in your own site, if needed. + +#### Upoad prefix + +If you need to change Cloudinary API url (to use eg. GEO specific URLs), there's a parameter `upload_prefix` (set to `https://api.cloudinary.com` by default): + +```yaml +netgen_remote_media: + upload_prefix: 'https://api.cloudinary.com' +``` + #### Audio waveform image If you set the following parameter `netgen_remote_media.default.parameters.audio.enable_waveform` to `true` (default: `false`), audio files will be rendered with `