Plugin Directory

Changeset 3057804


Ignore:
Timestamp:
03/24/2024 05:42:44 PM (2 years ago)
Author:
interfacelab
Message:

Update to version 4.6.2 from GitHub

Location:
ilab-media-tools
Files:
10 edited
1 copied

Legend:

Unmodified
Added
Removed
  • ilab-media-tools/tags/4.6.2/classes/Tools/Storage/Driver/BunnyCDN/BunnyCDNClient.php

    r3056306 r3057804  
    2525        $this->apiKey = $apiKey;
    2626        $this->storageZone = $storageZone;
    27         $this->region = $region;
     27        $this->region = empty($region) ? '' : "{$region}.";
    2828        $this->pullZone = $pullZone;
    2929
     
    3434        $res = fopen($sourceFile, 'r');
    3535
    36         $res = $this->client->put("https://{$this->region}.storage.bunnycdn.com/{$this->storageZone}/{$destPath}", [
     36        $res = $this->client->put("https://{$this->region}storage.bunnycdn.com/{$this->storageZone}/{$destPath}", [
    3737            RequestOptions::HEADERS => [
    3838                'Content-Type' => 'application/octet-stream',
     
    5151        }
    5252
    53         $ftpId = ftp_connect("{$this->region}.storage.bunnycdn.com");
     53        $ftpId = ftp_connect("{$this->region}storage.bunnycdn.com");
    5454        $login = ftp_login($ftpId, $this->storageZone, $this->apiKey);
    5555        if (!$login) {
     
    6565
    6666    public function listFiles($path) {
    67         $res = $this->client->get("https://{$this->region}.storage.bunnycdn.com/{$this->storageZone}/{$path}/", [
     67        $res = $this->client->get("https://{$this->region}storage.bunnycdn.com/{$this->storageZone}/{$path}/", [
    6868            RequestOptions::HEADERS => [
    6969                'AccessKey' => $this->apiKey
     
    9696    public function deleteFile($file) {
    9797
    98         $res = $this->client->delete("https://{$this->region}.storage.bunnycdn.com/{$this->storageZone}/{$file}", [
     98        $res = $this->client->delete("https://{$this->region}storage.bunnycdn.com/{$this->storageZone}/{$file}", [
    9999            RequestOptions::HEADERS => [
    100100                'AccessKey' => $this->apiKey
     
    111111        }
    112112
    113         $ftpId = ftp_connect("{$this->region}.storage.bunnycdn.com");
     113        $ftpId = ftp_connect("{$this->region}storage.bunnycdn.com");
    114114        $login = ftp_login($ftpId, $this->storageZone, $this->apiKey);
    115115        if (!$login) {
  • ilab-media-tools/tags/4.6.2/classes/Tools/Storage/Driver/BunnyCDN/BunnyCDNStorage.php

    r3056722 r3057804  
    33namespace MediaCloud\Plugin\Tools\Storage\Driver\BunnyCDN;
    44
    5 use MediaCloud\Plugin\Tools\Storage\FileInfo;
    65use MediaCloud\Plugin\Tools\Storage\InvalidStorageSettingsException;
    7 use MediaCloud\Plugin\Tools\Storage\StorageException;
    86use MediaCloud\Plugin\Tools\Storage\StorageInterface;
    97use MediaCloud\Plugin\Tools\Storage\StorageToolSettings;
     
    1513use MediaCloud\Plugin\Wizard\StorageWizardTrait;
    1614use MediaCloud\Plugin\Wizard\WizardBuilder;
    17 use MediaCloud\Vendor\FasterImage\FasterImage;
     15use function MediaCloud\Plugin\Utilities\anyEmpty;
    1816use function MediaCloud\Plugin\Utilities\anyNull;
    1917use function MediaCloud\Plugin\Utilities\arrayPath;
     
    122120     */
    123121    public function enabled() {
    124         if(!($this->settings->apiKey && $this->settings->region && $this->settings->pullZone && $this->settings->storageZone)) {
     122        if(anyEmpty($this->settings->apiKey && $this->settings->pullZone && $this->settings->storageZone)) {
    125123            if (current_user_can('manage_options')) {
    126124                $adminUrl = admin_url('admin.php?page=media-cloud-settings&tab=storage');
     
    418416                    ->textField('mcloud-storage-bunnycdn-pull-zone', 'Pull Zone URL', '', null)
    419417                    ->selectField('mcloud-storage-bunnycdn-region', 'Region', '', null, [
    420                         'jo' => 'AF: Amman, JO',
    421                         'eg2' => 'AF: Cairo 2, EG',
    422                         'eg' => 'AF: Cairo, EG',
    423                         'ct' => 'AF: Cape Town, SA',
    424                         'jh' => 'AF: Johannesburg, ZA',
    425                         'ng' => 'AF: Lagos, NG',
    426                         'ao' => 'AF: Luanda, AO',
    427                         'ke' => 'AF: Nairobi, KE',
    428                         'tn' => 'AF: Tunis, TN',
    429                         'pk' => 'ASIA: Karachi, PK',
    430                         'tw' => 'ASIA: Taipei, TW',
    431                         'kz' => 'Asia: Almaty, KZ',
    432                         'az' => 'Asia: Baku, AZ',
    433                         'in' => 'Asia: Bangalore, IN',
    434                         'th' => 'Asia: Bangkok, TH',
    435                         'kg' => 'Asia: Bishkek, KG',
    436                         'cen' => 'Asia: Chennai, IN',
    437                         'bd' => 'Asia: Dhaka, BD',
    438                         'vn' => 'Asia: Ho Chi Minh, VN',
    439                         'hk' => 'Asia: Hong Kong, HK',
    440                         'tr' => 'Asia: Istanbul, TR',
    441                         'id' => 'Asia: Jakarta, ID',
    442                         'np' => 'Asia: Kathmandu, NP',
    443                         'ccu' => 'Asia: Kolkata, IN',
    444                         'my' => 'Asia: Kuala Lumpur, MY',
    445                         'ph' => 'Asia: Manila, PH',
    446                         'mu' => 'Asia: Mumbai, IN',
    447                         'nd' => 'Asia: New Delhi, IN',
    448                         'cy' => 'Asia: Nicosia, CY',
    449                         'pp' => 'Asia: Phnom Penh, KH',
    450                         'kr' => 'Asia: Seoul, KR',
    451                         'sg2' => 'Asia: Singapore 2, SG',
    452                         'sg' => 'Asia: Singapore, SG',
    453                         'geo' => 'Asia: Tbilisi, GE',
    454                         'isr' => 'Asia: Tel Aviv, IL',
    455                         'jp' => 'Asia: Tokyo, JP',
    456                         'mg' => 'Asia: Ulaanbaatar, MN',
    457                         'rgn' => 'Asia: Yangon, MM',
    458                         'am' => 'Asia: Yerevan, AM',
    459                         'ams' => 'EU: Amsterdam, NL',
    460                         'gr' => 'EU: Athens, GR',
    461                         'rs' => 'EU: Belgrade, RS',
    462                         'sk' => 'EU: Bratislava, SK',
    463                         'bu' => 'EU: Bucharest, RO',
    464                         'hu' => 'EU: Budapest, HU',
    465                         'md' => 'EU: Chisinau, MD',
    466                         'dk' => 'EU: Copenhagen, DK',
    467                         'ie' => 'EU: Dublin, IE',
    468                         'dd' => 'EU: Dusseldorf, DE',
    469                         'de2' => 'EU: Frankfurt 2, DE2',
    470                         'de' => 'EU: Frankfurt, DE',
    471                         'fi' => 'EU: Helsinki, FI',
    472                         'is' => 'EU: Keflavik, IS',
    473                         'kh' => 'EU: Khabarovsk, RU',
    474                         'ky' => 'EU: Krasnoyarsk, RU',
    475                         'ua' => 'EU: Kyiv, UA',
    476                         'pt' => 'EU: Lisbon, PT',
    477                         'lj' => 'EU: Ljubljana, SI',
    478                         'uk' => 'EU: London, UK',
    479                         'lu' => 'EU: Luxembourg, LU',
    480                         'es' => 'EU: Madrid, ES',
    481                         'ms' => 'EU: Marseille, FR',
    482                         'it' => 'EU: Milan, IT',
    483                         'ru' => 'EU: Moscow, RU',
    484                         'ba' => 'EU: Novi Travnik, BA',
    485                         'no' => 'EU: Oslo, NO',
    486                         'fr' => 'EU: Paris, FR',
    487                         'cz' => 'EU: Prague, CZ',
    488                         'lv' => 'EU: Riga, LV',
    489                         'bg' => 'EU: Sofia, BG',
    490                         'se' => 'EU: Stockholm, SE',
    491                         'at' => 'EU: Vienna, AT',
    492                         'at2' => 'EU: Vienna, AT2',
    493                         'lt' => 'EU: Vilnius, LT',
    494                         'pl' => 'EU: Warsaw, PL',
    495                         'hr' => 'EU: Zagreb, HR',
    496                         'ch' => 'EU: Zurich, CH',
    497                         'bs' => 'LATAM: Brasilia, BR',
    498                         'fo' => 'LATAM: Fortaleza, BR',
    499                         'gt' => 'LATAM: Guatemala, GT',
    500                         'mx' => 'LATAM: Mexico City, MX',
    501                         'pa' => 'LATAM: Porto Alegre, BR',
    502                         'pr' => 'LATAM: San Juan, PR',
    503                         'cr' => 'LATAM: San Pedro, CR',
    504                         'bol' => 'LATAM: Sucre, BO',
    505                         'iq2' => 'ME: Baghdad 2, IQ',
    506                         'iq' => 'ME: Baghdad, IQ',
    507                         'bhr' => 'ME: Bahrain, BH',
    508                         'ae' => 'ME: Dubai, AE',
    509                         'fu' => 'ME: Fujairah, UAE',
    510                         'ri' => 'ME: Riyadh, SA',
    511                         'hi' => 'NA:  Honolulu, HI',
    512                         'asb' => 'NA: Ashburn, VA',
    513                         'ga' => 'NA: Atlanta, GA',
    514                         'bo' => 'NA: Boston, MA',
    515                         'clt' => 'NA: Charlotte, NC',
    516                         'il' => 'NA: Chicago, IL',
    517                         'tx' => 'NA: Dallas, TX',
    518                         'den' => 'NA: Denver, CO',
    519                         'hou' => 'NA: Houston, TX',
    520                         'kc' => 'NA: Kansas City, MO',
    521                         'la' => 'NA: Los Angeles, CA',
    522                         'mi' => 'NA: Miami, FL',
    523                         'msp' => 'NA: Minneapolis, MN',
    524                         'mn' => 'NA: Montreal, CA',
    525                         'ny' => 'NA: New York City, NY',
    526                         'og' => 'NA: Ogden, UT',
    527                         'phx' => 'NA: Phoenix, AZ',
    528                         'pb' => 'NA: Pittsburgh, PA',
    529                         'sil' => 'NA: San Jose, CA',
    530                         'wa' => 'NA: Seattle, WA',
    531                         'ca' => 'NA: Toronto, CA',
    532                         'va' => 'NA: Vancouver, CA',
    533                         'adl' => 'OC: Adelaide, AU',
    534                         'auc' => 'OC: Auckland, NZ',
    535                         'brb' => 'OC: Brisbane, AU',
    536                         'gu' => 'OC: Hagatna: GU',
    537                         'mel' => 'OC: Melbourne, AU',
    538                         'per' => 'OC: Perth, AU',
    539                         'syd' => 'OC: Sydney, SYD',
    540                         'co' => 'SA: Bogota, SA',
    541                         'ar' => 'SA: Buenos Aires, AR',
    542                         'cwb' => 'SA: Curitiba, BR',
    543                         'lap' => 'SA: La Paz, BO',
    544                         'pe' => 'SA: Lima, PE',
    545                         'ec' => 'SA: Quito, EC',
    546                         'rj' => 'SA: Rio de Janeiro, BR',
    547                         'ssa' => 'SA: Salvador, BR',
    548                         'cl' => 'SA: Santiago, CL',
    549                         'br' => 'SA: Sao Paulo, BR',
     418                        '' => 'Falkenstein: storage.bunnycdn.com',
     419                        'ny' => 'New York: ny.storage.bunnycdn.com',
     420                        'la' => 'Los Angeles: la.storage.bunnycdn.com',
     421                        'sg' => 'Singapore: sg.storage.bunnycdn.com',
     422                        'syd' => 'Sydney: syd.storage.bunnycdn.com',
    550423                    ])
    551424                ->endStep()
     
    585458        $storageZone = arrayPath($_POST, $storageZoneName, null);
    586459        $pullZone = arrayPath($_POST, $pullZoneName, null);
    587         $region = arrayPath($_POST, $regionName, null);
    588 
    589         if (anyNull($provider, $apiKey, $storageZone, $pullZone, $region)) {
     460        $region = arrayPath($_POST, $regionName, '');
     461
     462        if (anyNull($provider, $apiKey, $storageZone, $pullZone)) {
    590463            wp_send_json(['status' => 'error', 'message' => 'Missing required fields'], 200);
    591464        }
  • ilab-media-tools/tags/4.6.2/config/storage/bunnycdn.config.php

    r3056306 r3057804  
    4242                "type" => "select",
    4343                "options" => [
    44                     'jo' => 'AF: Amman, JO',
    45                     'eg2' => 'AF: Cairo 2, EG',
    46                     'eg' => 'AF: Cairo, EG',
    47                     'ct' => 'AF: Cape Town, SA',
    48                     'jh' => 'AF: Johannesburg, ZA',
    49                     'ng' => 'AF: Lagos, NG',
    50                     'ao' => 'AF: Luanda, AO',
    51                     'ke' => 'AF: Nairobi, KE',
    52                     'tn' => 'AF: Tunis, TN',
    53                     'pk' => 'ASIA: Karachi, PK',
    54                     'tw' => 'ASIA: Taipei, TW',
    55                     'kz' => 'Asia: Almaty, KZ',
    56                     'az' => 'Asia: Baku, AZ',
    57                     'in' => 'Asia: Bangalore, IN',
    58                     'th' => 'Asia: Bangkok, TH',
    59                     'kg' => 'Asia: Bishkek, KG',
    60                     'cen' => 'Asia: Chennai, IN',
    61                     'bd' => 'Asia: Dhaka, BD',
    62                     'vn' => 'Asia: Ho Chi Minh, VN',
    63                     'hk' => 'Asia: Hong Kong, HK',
    64                     'tr' => 'Asia: Istanbul, TR',
    65                     'id' => 'Asia: Jakarta, ID',
    66                     'np' => 'Asia: Kathmandu, NP',
    67                     'ccu' => 'Asia: Kolkata, IN',
    68                     'my' => 'Asia: Kuala Lumpur, MY',
    69                     'ph' => 'Asia: Manila, PH',
    70                     'mu' => 'Asia: Mumbai, IN',
    71                     'nd' => 'Asia: New Delhi, IN',
    72                     'cy' => 'Asia: Nicosia, CY',
    73                     'pp' => 'Asia: Phnom Penh, KH',
    74                     'kr' => 'Asia: Seoul, KR',
    75                     'sg2' => 'Asia: Singapore 2, SG',
    76                     'sg' => 'Asia: Singapore, SG',
    77                     'geo' => 'Asia: Tbilisi, GE',
    78                     'isr' => 'Asia: Tel Aviv, IL',
    79                     'jp' => 'Asia: Tokyo, JP',
    80                     'mg' => 'Asia: Ulaanbaatar, MN',
    81                     'rgn' => 'Asia: Yangon, MM',
    82                     'am' => 'Asia: Yerevan, AM',
    83                     'ams' => 'EU: Amsterdam, NL',
    84                     'gr' => 'EU: Athens, GR',
    85                     'rs' => 'EU: Belgrade, RS',
    86                     'sk' => 'EU: Bratislava, SK',
    87                     'bu' => 'EU: Bucharest, RO',
    88                     'hu' => 'EU: Budapest, HU',
    89                     'md' => 'EU: Chisinau, MD',
    90                     'dk' => 'EU: Copenhagen, DK',
    91                     'ie' => 'EU: Dublin, IE',
    92                     'dd' => 'EU: Dusseldorf, DE',
    93                     'de2' => 'EU: Frankfurt 2, DE2',
    94                     'de' => 'EU: Frankfurt, DE',
    95                     'fi' => 'EU: Helsinki, FI',
    96                     'is' => 'EU: Keflavik, IS',
    97                     'kh' => 'EU: Khabarovsk, RU',
    98                     'ky' => 'EU: Krasnoyarsk, RU',
    99                     'ua' => 'EU: Kyiv, UA',
    100                     'pt' => 'EU: Lisbon, PT',
    101                     'lj' => 'EU: Ljubljana, SI',
    102                     'uk' => 'EU: London, UK',
    103                     'lu' => 'EU: Luxembourg, LU',
    104                     'es' => 'EU: Madrid, ES',
    105                     'ms' => 'EU: Marseille, FR',
    106                     'it' => 'EU: Milan, IT',
    107                     'ru' => 'EU: Moscow, RU',
    108                     'ba' => 'EU: Novi Travnik, BA',
    109                     'no' => 'EU: Oslo, NO',
    110                     'fr' => 'EU: Paris, FR',
    111                     'cz' => 'EU: Prague, CZ',
    112                     'lv' => 'EU: Riga, LV',
    113                     'bg' => 'EU: Sofia, BG',
    114                     'se' => 'EU: Stockholm, SE',
    115                     'at' => 'EU: Vienna, AT',
    116                     'at2' => 'EU: Vienna, AT2',
    117                     'lt' => 'EU: Vilnius, LT',
    118                     'pl' => 'EU: Warsaw, PL',
    119                     'hr' => 'EU: Zagreb, HR',
    120                     'ch' => 'EU: Zurich, CH',
    121                     'bs' => 'LATAM: Brasilia, BR',
    122                     'fo' => 'LATAM: Fortaleza, BR',
    123                     'gt' => 'LATAM: Guatemala, GT',
    124                     'mx' => 'LATAM: Mexico City, MX',
    125                     'pa' => 'LATAM: Porto Alegre, BR',
    126                     'pr' => 'LATAM: San Juan, PR',
    127                     'cr' => 'LATAM: San Pedro, CR',
    128                     'bol' => 'LATAM: Sucre, BO',
    129                     'iq2' => 'ME: Baghdad 2, IQ',
    130                     'iq' => 'ME: Baghdad, IQ',
    131                     'bhr' => 'ME: Bahrain, BH',
    132                     'ae' => 'ME: Dubai, AE',
    133                     'fu' => 'ME: Fujairah, UAE',
    134                     'ri' => 'ME: Riyadh, SA',
    135                     'hi' => 'NA:  Honolulu, HI',
    136                     'asb' => 'NA: Ashburn, VA',
    137                     'ga' => 'NA: Atlanta, GA',
    138                     'bo' => 'NA: Boston, MA',
    139                     'clt' => 'NA: Charlotte, NC',
    140                     'il' => 'NA: Chicago, IL',
    141                     'tx' => 'NA: Dallas, TX',
    142                     'den' => 'NA: Denver, CO',
    143                     'hou' => 'NA: Houston, TX',
    144                     'kc' => 'NA: Kansas City, MO',
    145                     'la' => 'NA: Los Angeles, CA',
    146                     'mi' => 'NA: Miami, FL',
    147                     'msp' => 'NA: Minneapolis, MN',
    148                     'mn' => 'NA: Montreal, CA',
    149                     'ny' => 'NA: New York City, NY',
    150                     'og' => 'NA: Ogden, UT',
    151                     'phx' => 'NA: Phoenix, AZ',
    152                     'pb' => 'NA: Pittsburgh, PA',
    153                     'sil' => 'NA: San Jose, CA',
    154                     'wa' => 'NA: Seattle, WA',
    155                     'ca' => 'NA: Toronto, CA',
    156                     'va' => 'NA: Vancouver, CA',
    157                     'adl' => 'OC: Adelaide, AU',
    158                     'auc' => 'OC: Auckland, NZ',
    159                     'brb' => 'OC: Brisbane, AU',
    160                     'gu' => 'OC: Hagatna: GU',
    161                     'mel' => 'OC: Melbourne, AU',
    162                     'per' => 'OC: Perth, AU',
    163                     'syd' => 'OC: Sydney, SYD',
    164                     'co' => 'SA: Bogota, SA',
    165                     'ar' => 'SA: Buenos Aires, AR',
    166                     'cwb' => 'SA: Curitiba, BR',
    167                     'lap' => 'SA: La Paz, BO',
    168                     'pe' => 'SA: Lima, PE',
    169                     'ec' => 'SA: Quito, EC',
    170                     'rj' => 'SA: Rio de Janeiro, BR',
    171                     'ssa' => 'SA: Salvador, BR',
    172                     'cl' => 'SA: Santiago, CL',
    173                     'br' => 'SA: Sao Paulo, BR',
     44                    '' => 'Falkenstein: storage.bunnycdn.com',
     45                    'ny' => 'New York: ny.storage.bunnycdn.com',
     46                    'la' => 'Los Angeles: la.storage.bunnycdn.com',
     47                    'sg' => 'Singapore: sg.storage.bunnycdn.com',
     48                    'syd' => 'Sydney: syd.storage.bunnycdn.com',
    17449                ]
    17550            ],
  • ilab-media-tools/tags/4.6.2/ilab-media-tools.php

    r3056722 r3057804  
    66Description: Automatically upload media to Amazon S3 and integrate with Imgix, a real-time image processing CDN.  Boosts site performance and simplifies workflows.
    77Author: interfacelab
    8 Version: 4.6.1
     8Version: 4.6.2
    99Requires PHP: 7.4
    1010Author URI: http://interfacelab.io
     
    118118}
    119119// Version Defines
    120 define( 'MEDIA_CLOUD_VERSION', '4.6.1' );
     120define( 'MEDIA_CLOUD_VERSION', '4.6.2' );
    121121define( 'MEDIA_CLOUD_INFO_VERSION', '4.0.2' );
    122122define( 'MCLOUD_IS_BETA', false );
  • ilab-media-tools/tags/4.6.2/readme.txt

    r3056722 r3057804  
    66License: GPLv3 or later
    77License URI: http://www.gnu.org/licenses/gpl-3.0.html
    8 Stable tag: 4.6.1
     8Stable tag: 4.6.2
    99Requires PHP: 7.4
    1010
     
    105105
    106106== Changelog ==
     107
     108= 4.6.2 - 03/22/2024 =
     109
     110* Fix for Bunny CDN region list
    107111
    108112= 4.6.1 - 03/22/2024 =
  • ilab-media-tools/trunk/classes/Tools/Storage/Driver/BunnyCDN/BunnyCDNClient.php

    r3056306 r3057804  
    2525        $this->apiKey = $apiKey;
    2626        $this->storageZone = $storageZone;
    27         $this->region = $region;
     27        $this->region = empty($region) ? '' : "{$region}.";
    2828        $this->pullZone = $pullZone;
    2929
     
    3434        $res = fopen($sourceFile, 'r');
    3535
    36         $res = $this->client->put("https://{$this->region}.storage.bunnycdn.com/{$this->storageZone}/{$destPath}", [
     36        $res = $this->client->put("https://{$this->region}storage.bunnycdn.com/{$this->storageZone}/{$destPath}", [
    3737            RequestOptions::HEADERS => [
    3838                'Content-Type' => 'application/octet-stream',
     
    5151        }
    5252
    53         $ftpId = ftp_connect("{$this->region}.storage.bunnycdn.com");
     53        $ftpId = ftp_connect("{$this->region}storage.bunnycdn.com");
    5454        $login = ftp_login($ftpId, $this->storageZone, $this->apiKey);
    5555        if (!$login) {
     
    6565
    6666    public function listFiles($path) {
    67         $res = $this->client->get("https://{$this->region}.storage.bunnycdn.com/{$this->storageZone}/{$path}/", [
     67        $res = $this->client->get("https://{$this->region}storage.bunnycdn.com/{$this->storageZone}/{$path}/", [
    6868            RequestOptions::HEADERS => [
    6969                'AccessKey' => $this->apiKey
     
    9696    public function deleteFile($file) {
    9797
    98         $res = $this->client->delete("https://{$this->region}.storage.bunnycdn.com/{$this->storageZone}/{$file}", [
     98        $res = $this->client->delete("https://{$this->region}storage.bunnycdn.com/{$this->storageZone}/{$file}", [
    9999            RequestOptions::HEADERS => [
    100100                'AccessKey' => $this->apiKey
     
    111111        }
    112112
    113         $ftpId = ftp_connect("{$this->region}.storage.bunnycdn.com");
     113        $ftpId = ftp_connect("{$this->region}storage.bunnycdn.com");
    114114        $login = ftp_login($ftpId, $this->storageZone, $this->apiKey);
    115115        if (!$login) {
  • ilab-media-tools/trunk/classes/Tools/Storage/Driver/BunnyCDN/BunnyCDNStorage.php

    r3056722 r3057804  
    33namespace MediaCloud\Plugin\Tools\Storage\Driver\BunnyCDN;
    44
    5 use MediaCloud\Plugin\Tools\Storage\FileInfo;
    65use MediaCloud\Plugin\Tools\Storage\InvalidStorageSettingsException;
    7 use MediaCloud\Plugin\Tools\Storage\StorageException;
    86use MediaCloud\Plugin\Tools\Storage\StorageInterface;
    97use MediaCloud\Plugin\Tools\Storage\StorageToolSettings;
     
    1513use MediaCloud\Plugin\Wizard\StorageWizardTrait;
    1614use MediaCloud\Plugin\Wizard\WizardBuilder;
    17 use MediaCloud\Vendor\FasterImage\FasterImage;
     15use function MediaCloud\Plugin\Utilities\anyEmpty;
    1816use function MediaCloud\Plugin\Utilities\anyNull;
    1917use function MediaCloud\Plugin\Utilities\arrayPath;
     
    122120     */
    123121    public function enabled() {
    124         if(!($this->settings->apiKey && $this->settings->region && $this->settings->pullZone && $this->settings->storageZone)) {
     122        if(anyEmpty($this->settings->apiKey && $this->settings->pullZone && $this->settings->storageZone)) {
    125123            if (current_user_can('manage_options')) {
    126124                $adminUrl = admin_url('admin.php?page=media-cloud-settings&tab=storage');
     
    418416                    ->textField('mcloud-storage-bunnycdn-pull-zone', 'Pull Zone URL', '', null)
    419417                    ->selectField('mcloud-storage-bunnycdn-region', 'Region', '', null, [
    420                         'jo' => 'AF: Amman, JO',
    421                         'eg2' => 'AF: Cairo 2, EG',
    422                         'eg' => 'AF: Cairo, EG',
    423                         'ct' => 'AF: Cape Town, SA',
    424                         'jh' => 'AF: Johannesburg, ZA',
    425                         'ng' => 'AF: Lagos, NG',
    426                         'ao' => 'AF: Luanda, AO',
    427                         'ke' => 'AF: Nairobi, KE',
    428                         'tn' => 'AF: Tunis, TN',
    429                         'pk' => 'ASIA: Karachi, PK',
    430                         'tw' => 'ASIA: Taipei, TW',
    431                         'kz' => 'Asia: Almaty, KZ',
    432                         'az' => 'Asia: Baku, AZ',
    433                         'in' => 'Asia: Bangalore, IN',
    434                         'th' => 'Asia: Bangkok, TH',
    435                         'kg' => 'Asia: Bishkek, KG',
    436                         'cen' => 'Asia: Chennai, IN',
    437                         'bd' => 'Asia: Dhaka, BD',
    438                         'vn' => 'Asia: Ho Chi Minh, VN',
    439                         'hk' => 'Asia: Hong Kong, HK',
    440                         'tr' => 'Asia: Istanbul, TR',
    441                         'id' => 'Asia: Jakarta, ID',
    442                         'np' => 'Asia: Kathmandu, NP',
    443                         'ccu' => 'Asia: Kolkata, IN',
    444                         'my' => 'Asia: Kuala Lumpur, MY',
    445                         'ph' => 'Asia: Manila, PH',
    446                         'mu' => 'Asia: Mumbai, IN',
    447                         'nd' => 'Asia: New Delhi, IN',
    448                         'cy' => 'Asia: Nicosia, CY',
    449                         'pp' => 'Asia: Phnom Penh, KH',
    450                         'kr' => 'Asia: Seoul, KR',
    451                         'sg2' => 'Asia: Singapore 2, SG',
    452                         'sg' => 'Asia: Singapore, SG',
    453                         'geo' => 'Asia: Tbilisi, GE',
    454                         'isr' => 'Asia: Tel Aviv, IL',
    455                         'jp' => 'Asia: Tokyo, JP',
    456                         'mg' => 'Asia: Ulaanbaatar, MN',
    457                         'rgn' => 'Asia: Yangon, MM',
    458                         'am' => 'Asia: Yerevan, AM',
    459                         'ams' => 'EU: Amsterdam, NL',
    460                         'gr' => 'EU: Athens, GR',
    461                         'rs' => 'EU: Belgrade, RS',
    462                         'sk' => 'EU: Bratislava, SK',
    463                         'bu' => 'EU: Bucharest, RO',
    464                         'hu' => 'EU: Budapest, HU',
    465                         'md' => 'EU: Chisinau, MD',
    466                         'dk' => 'EU: Copenhagen, DK',
    467                         'ie' => 'EU: Dublin, IE',
    468                         'dd' => 'EU: Dusseldorf, DE',
    469                         'de2' => 'EU: Frankfurt 2, DE2',
    470                         'de' => 'EU: Frankfurt, DE',
    471                         'fi' => 'EU: Helsinki, FI',
    472                         'is' => 'EU: Keflavik, IS',
    473                         'kh' => 'EU: Khabarovsk, RU',
    474                         'ky' => 'EU: Krasnoyarsk, RU',
    475                         'ua' => 'EU: Kyiv, UA',
    476                         'pt' => 'EU: Lisbon, PT',
    477                         'lj' => 'EU: Ljubljana, SI',
    478                         'uk' => 'EU: London, UK',
    479                         'lu' => 'EU: Luxembourg, LU',
    480                         'es' => 'EU: Madrid, ES',
    481                         'ms' => 'EU: Marseille, FR',
    482                         'it' => 'EU: Milan, IT',
    483                         'ru' => 'EU: Moscow, RU',
    484                         'ba' => 'EU: Novi Travnik, BA',
    485                         'no' => 'EU: Oslo, NO',
    486                         'fr' => 'EU: Paris, FR',
    487                         'cz' => 'EU: Prague, CZ',
    488                         'lv' => 'EU: Riga, LV',
    489                         'bg' => 'EU: Sofia, BG',
    490                         'se' => 'EU: Stockholm, SE',
    491                         'at' => 'EU: Vienna, AT',
    492                         'at2' => 'EU: Vienna, AT2',
    493                         'lt' => 'EU: Vilnius, LT',
    494                         'pl' => 'EU: Warsaw, PL',
    495                         'hr' => 'EU: Zagreb, HR',
    496                         'ch' => 'EU: Zurich, CH',
    497                         'bs' => 'LATAM: Brasilia, BR',
    498                         'fo' => 'LATAM: Fortaleza, BR',
    499                         'gt' => 'LATAM: Guatemala, GT',
    500                         'mx' => 'LATAM: Mexico City, MX',
    501                         'pa' => 'LATAM: Porto Alegre, BR',
    502                         'pr' => 'LATAM: San Juan, PR',
    503                         'cr' => 'LATAM: San Pedro, CR',
    504                         'bol' => 'LATAM: Sucre, BO',
    505                         'iq2' => 'ME: Baghdad 2, IQ',
    506                         'iq' => 'ME: Baghdad, IQ',
    507                         'bhr' => 'ME: Bahrain, BH',
    508                         'ae' => 'ME: Dubai, AE',
    509                         'fu' => 'ME: Fujairah, UAE',
    510                         'ri' => 'ME: Riyadh, SA',
    511                         'hi' => 'NA:  Honolulu, HI',
    512                         'asb' => 'NA: Ashburn, VA',
    513                         'ga' => 'NA: Atlanta, GA',
    514                         'bo' => 'NA: Boston, MA',
    515                         'clt' => 'NA: Charlotte, NC',
    516                         'il' => 'NA: Chicago, IL',
    517                         'tx' => 'NA: Dallas, TX',
    518                         'den' => 'NA: Denver, CO',
    519                         'hou' => 'NA: Houston, TX',
    520                         'kc' => 'NA: Kansas City, MO',
    521                         'la' => 'NA: Los Angeles, CA',
    522                         'mi' => 'NA: Miami, FL',
    523                         'msp' => 'NA: Minneapolis, MN',
    524                         'mn' => 'NA: Montreal, CA',
    525                         'ny' => 'NA: New York City, NY',
    526                         'og' => 'NA: Ogden, UT',
    527                         'phx' => 'NA: Phoenix, AZ',
    528                         'pb' => 'NA: Pittsburgh, PA',
    529                         'sil' => 'NA: San Jose, CA',
    530                         'wa' => 'NA: Seattle, WA',
    531                         'ca' => 'NA: Toronto, CA',
    532                         'va' => 'NA: Vancouver, CA',
    533                         'adl' => 'OC: Adelaide, AU',
    534                         'auc' => 'OC: Auckland, NZ',
    535                         'brb' => 'OC: Brisbane, AU',
    536                         'gu' => 'OC: Hagatna: GU',
    537                         'mel' => 'OC: Melbourne, AU',
    538                         'per' => 'OC: Perth, AU',
    539                         'syd' => 'OC: Sydney, SYD',
    540                         'co' => 'SA: Bogota, SA',
    541                         'ar' => 'SA: Buenos Aires, AR',
    542                         'cwb' => 'SA: Curitiba, BR',
    543                         'lap' => 'SA: La Paz, BO',
    544                         'pe' => 'SA: Lima, PE',
    545                         'ec' => 'SA: Quito, EC',
    546                         'rj' => 'SA: Rio de Janeiro, BR',
    547                         'ssa' => 'SA: Salvador, BR',
    548                         'cl' => 'SA: Santiago, CL',
    549                         'br' => 'SA: Sao Paulo, BR',
     418                        '' => 'Falkenstein: storage.bunnycdn.com',
     419                        'ny' => 'New York: ny.storage.bunnycdn.com',
     420                        'la' => 'Los Angeles: la.storage.bunnycdn.com',
     421                        'sg' => 'Singapore: sg.storage.bunnycdn.com',
     422                        'syd' => 'Sydney: syd.storage.bunnycdn.com',
    550423                    ])
    551424                ->endStep()
     
    585458        $storageZone = arrayPath($_POST, $storageZoneName, null);
    586459        $pullZone = arrayPath($_POST, $pullZoneName, null);
    587         $region = arrayPath($_POST, $regionName, null);
    588 
    589         if (anyNull($provider, $apiKey, $storageZone, $pullZone, $region)) {
     460        $region = arrayPath($_POST, $regionName, '');
     461
     462        if (anyNull($provider, $apiKey, $storageZone, $pullZone)) {
    590463            wp_send_json(['status' => 'error', 'message' => 'Missing required fields'], 200);
    591464        }
  • ilab-media-tools/trunk/config/storage/bunnycdn.config.php

    r3056306 r3057804  
    4242                "type" => "select",
    4343                "options" => [
    44                     'jo' => 'AF: Amman, JO',
    45                     'eg2' => 'AF: Cairo 2, EG',
    46                     'eg' => 'AF: Cairo, EG',
    47                     'ct' => 'AF: Cape Town, SA',
    48                     'jh' => 'AF: Johannesburg, ZA',
    49                     'ng' => 'AF: Lagos, NG',
    50                     'ao' => 'AF: Luanda, AO',
    51                     'ke' => 'AF: Nairobi, KE',
    52                     'tn' => 'AF: Tunis, TN',
    53                     'pk' => 'ASIA: Karachi, PK',
    54                     'tw' => 'ASIA: Taipei, TW',
    55                     'kz' => 'Asia: Almaty, KZ',
    56                     'az' => 'Asia: Baku, AZ',
    57                     'in' => 'Asia: Bangalore, IN',
    58                     'th' => 'Asia: Bangkok, TH',
    59                     'kg' => 'Asia: Bishkek, KG',
    60                     'cen' => 'Asia: Chennai, IN',
    61                     'bd' => 'Asia: Dhaka, BD',
    62                     'vn' => 'Asia: Ho Chi Minh, VN',
    63                     'hk' => 'Asia: Hong Kong, HK',
    64                     'tr' => 'Asia: Istanbul, TR',
    65                     'id' => 'Asia: Jakarta, ID',
    66                     'np' => 'Asia: Kathmandu, NP',
    67                     'ccu' => 'Asia: Kolkata, IN',
    68                     'my' => 'Asia: Kuala Lumpur, MY',
    69                     'ph' => 'Asia: Manila, PH',
    70                     'mu' => 'Asia: Mumbai, IN',
    71                     'nd' => 'Asia: New Delhi, IN',
    72                     'cy' => 'Asia: Nicosia, CY',
    73                     'pp' => 'Asia: Phnom Penh, KH',
    74                     'kr' => 'Asia: Seoul, KR',
    75                     'sg2' => 'Asia: Singapore 2, SG',
    76                     'sg' => 'Asia: Singapore, SG',
    77                     'geo' => 'Asia: Tbilisi, GE',
    78                     'isr' => 'Asia: Tel Aviv, IL',
    79                     'jp' => 'Asia: Tokyo, JP',
    80                     'mg' => 'Asia: Ulaanbaatar, MN',
    81                     'rgn' => 'Asia: Yangon, MM',
    82                     'am' => 'Asia: Yerevan, AM',
    83                     'ams' => 'EU: Amsterdam, NL',
    84                     'gr' => 'EU: Athens, GR',
    85                     'rs' => 'EU: Belgrade, RS',
    86                     'sk' => 'EU: Bratislava, SK',
    87                     'bu' => 'EU: Bucharest, RO',
    88                     'hu' => 'EU: Budapest, HU',
    89                     'md' => 'EU: Chisinau, MD',
    90                     'dk' => 'EU: Copenhagen, DK',
    91                     'ie' => 'EU: Dublin, IE',
    92                     'dd' => 'EU: Dusseldorf, DE',
    93                     'de2' => 'EU: Frankfurt 2, DE2',
    94                     'de' => 'EU: Frankfurt, DE',
    95                     'fi' => 'EU: Helsinki, FI',
    96                     'is' => 'EU: Keflavik, IS',
    97                     'kh' => 'EU: Khabarovsk, RU',
    98                     'ky' => 'EU: Krasnoyarsk, RU',
    99                     'ua' => 'EU: Kyiv, UA',
    100                     'pt' => 'EU: Lisbon, PT',
    101                     'lj' => 'EU: Ljubljana, SI',
    102                     'uk' => 'EU: London, UK',
    103                     'lu' => 'EU: Luxembourg, LU',
    104                     'es' => 'EU: Madrid, ES',
    105                     'ms' => 'EU: Marseille, FR',
    106                     'it' => 'EU: Milan, IT',
    107                     'ru' => 'EU: Moscow, RU',
    108                     'ba' => 'EU: Novi Travnik, BA',
    109                     'no' => 'EU: Oslo, NO',
    110                     'fr' => 'EU: Paris, FR',
    111                     'cz' => 'EU: Prague, CZ',
    112                     'lv' => 'EU: Riga, LV',
    113                     'bg' => 'EU: Sofia, BG',
    114                     'se' => 'EU: Stockholm, SE',
    115                     'at' => 'EU: Vienna, AT',
    116                     'at2' => 'EU: Vienna, AT2',
    117                     'lt' => 'EU: Vilnius, LT',
    118                     'pl' => 'EU: Warsaw, PL',
    119                     'hr' => 'EU: Zagreb, HR',
    120                     'ch' => 'EU: Zurich, CH',
    121                     'bs' => 'LATAM: Brasilia, BR',
    122                     'fo' => 'LATAM: Fortaleza, BR',
    123                     'gt' => 'LATAM: Guatemala, GT',
    124                     'mx' => 'LATAM: Mexico City, MX',
    125                     'pa' => 'LATAM: Porto Alegre, BR',
    126                     'pr' => 'LATAM: San Juan, PR',
    127                     'cr' => 'LATAM: San Pedro, CR',
    128                     'bol' => 'LATAM: Sucre, BO',
    129                     'iq2' => 'ME: Baghdad 2, IQ',
    130                     'iq' => 'ME: Baghdad, IQ',
    131                     'bhr' => 'ME: Bahrain, BH',
    132                     'ae' => 'ME: Dubai, AE',
    133                     'fu' => 'ME: Fujairah, UAE',
    134                     'ri' => 'ME: Riyadh, SA',
    135                     'hi' => 'NA:  Honolulu, HI',
    136                     'asb' => 'NA: Ashburn, VA',
    137                     'ga' => 'NA: Atlanta, GA',
    138                     'bo' => 'NA: Boston, MA',
    139                     'clt' => 'NA: Charlotte, NC',
    140                     'il' => 'NA: Chicago, IL',
    141                     'tx' => 'NA: Dallas, TX',
    142                     'den' => 'NA: Denver, CO',
    143                     'hou' => 'NA: Houston, TX',
    144                     'kc' => 'NA: Kansas City, MO',
    145                     'la' => 'NA: Los Angeles, CA',
    146                     'mi' => 'NA: Miami, FL',
    147                     'msp' => 'NA: Minneapolis, MN',
    148                     'mn' => 'NA: Montreal, CA',
    149                     'ny' => 'NA: New York City, NY',
    150                     'og' => 'NA: Ogden, UT',
    151                     'phx' => 'NA: Phoenix, AZ',
    152                     'pb' => 'NA: Pittsburgh, PA',
    153                     'sil' => 'NA: San Jose, CA',
    154                     'wa' => 'NA: Seattle, WA',
    155                     'ca' => 'NA: Toronto, CA',
    156                     'va' => 'NA: Vancouver, CA',
    157                     'adl' => 'OC: Adelaide, AU',
    158                     'auc' => 'OC: Auckland, NZ',
    159                     'brb' => 'OC: Brisbane, AU',
    160                     'gu' => 'OC: Hagatna: GU',
    161                     'mel' => 'OC: Melbourne, AU',
    162                     'per' => 'OC: Perth, AU',
    163                     'syd' => 'OC: Sydney, SYD',
    164                     'co' => 'SA: Bogota, SA',
    165                     'ar' => 'SA: Buenos Aires, AR',
    166                     'cwb' => 'SA: Curitiba, BR',
    167                     'lap' => 'SA: La Paz, BO',
    168                     'pe' => 'SA: Lima, PE',
    169                     'ec' => 'SA: Quito, EC',
    170                     'rj' => 'SA: Rio de Janeiro, BR',
    171                     'ssa' => 'SA: Salvador, BR',
    172                     'cl' => 'SA: Santiago, CL',
    173                     'br' => 'SA: Sao Paulo, BR',
     44                    '' => 'Falkenstein: storage.bunnycdn.com',
     45                    'ny' => 'New York: ny.storage.bunnycdn.com',
     46                    'la' => 'Los Angeles: la.storage.bunnycdn.com',
     47                    'sg' => 'Singapore: sg.storage.bunnycdn.com',
     48                    'syd' => 'Sydney: syd.storage.bunnycdn.com',
    17449                ]
    17550            ],
  • ilab-media-tools/trunk/ilab-media-tools.php

    r3056722 r3057804  
    66Description: Automatically upload media to Amazon S3 and integrate with Imgix, a real-time image processing CDN.  Boosts site performance and simplifies workflows.
    77Author: interfacelab
    8 Version: 4.6.1
     8Version: 4.6.2
    99Requires PHP: 7.4
    1010Author URI: http://interfacelab.io
     
    118118}
    119119// Version Defines
    120 define( 'MEDIA_CLOUD_VERSION', '4.6.1' );
     120define( 'MEDIA_CLOUD_VERSION', '4.6.2' );
    121121define( 'MEDIA_CLOUD_INFO_VERSION', '4.0.2' );
    122122define( 'MCLOUD_IS_BETA', false );
  • ilab-media-tools/trunk/readme.txt

    r3056722 r3057804  
    66License: GPLv3 or later
    77License URI: http://www.gnu.org/licenses/gpl-3.0.html
    8 Stable tag: 4.6.1
     8Stable tag: 4.6.2
    99Requires PHP: 7.4
    1010
     
    105105
    106106== Changelog ==
     107
     108= 4.6.2 - 03/22/2024 =
     109
     110* Fix for Bunny CDN region list
    107111
    108112= 4.6.1 - 03/22/2024 =
Note: See TracChangeset for help on using the changeset viewer.