Skip to content

Commit

Permalink
Merge pull request #53 from mcaskill/feature/wpml
Browse files Browse the repository at this point in the history
Add support for WPML (plugin / add-ons)
  • Loading branch information
junaidbhura authored Mar 6, 2023
2 parents 58b3a0d + d5d1fe7 commit 88a8d97
Show file tree
Hide file tree
Showing 3 changed files with 126 additions and 1 deletion.
2 changes: 2 additions & 0 deletions Installer.php
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,8 @@ protected function getDownloadUrl( PackageInterface $package ) {
$plugin = new Plugins\PublishPressPro( $package->getPrettyVersion(), $plugin_name );
} elseif ( 0 === strpos( $package_name, 'junaidbhura/wpai-' ) || 0 === strpos( $package_name, 'junaidbhura/wpae-' ) ) {
$plugin = new Plugins\WpAiPro( $package->getPrettyVersion(), $plugin_name );
} elseif ( 0 === strpos( $package_name, 'junaidbhura/wpml-' ) ) {
$plugin = new Plugins\Wpml( $package->getPrettyVersion(), $plugin_name );
}
}

Expand Down
62 changes: 61 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ Sensitive credentials (license keys, tokens) are read from environment variables
1. PublishPress Pro
1. Advanced Custom Fields Extended Pro
1. WP All Import / Export Pro / Add-Ons
1. WPML

## Overview

Expand Down Expand Up @@ -55,6 +56,8 @@ WP_ALL_IMPORT_PRO_KEY="<wp_all_import_license_key>"
WP_ALL_IMPORT_PRO_URL="<registered_url_for_wpai_pro>"
WP_ALL_EXPORT_PRO_KEY="<wp_all_export_license_key>"
WP_ALL_EXPORT_PRO_URL="<registered_url_for_wpae_pro>"
WPML_USER_ID="<wpml_user_id>"
WPML_KEY="<wpml_key>"
```

Add the following to your composer.json file:
Expand Down Expand Up @@ -241,6 +244,36 @@ Add the following to your composer.json file:
}
}
},
{
"type": "package",
"package": {
"name": "junaidbhura/wpml-sitepress-multilingual-cms",
"version": "<version_number>",
"type": "wordpress-plugin",
"dist": {
"type": "zip",
"url": "https://wpml.org/"
},
"require": {
"junaidbhura/composer-wp-pro-plugins": "*"
}
}
},
{
"type": "package",
"package": {
"name": "junaidbhura/wpml-string-translation",
"version": "<version_number>",
"type": "wordpress-plugin",
"dist": {
"type": "zip",
"url": "https://wpml.org/"
},
"require": {
"junaidbhura/composer-wp-pro-plugins": "*"
}
}
}
],
"require": {
"junaidbhura/acf-extended-pro": "*",
Expand All @@ -254,7 +287,9 @@ Add the following to your composer.json file:
"junaidbhura/wp-all-export-pro": "*",
"junaidbhura/wpai-acf-add-on": "*",
"junaidbhura/wpae-acf-add-on": "*",
"junaidbhura/wpae-user-add-on-pro": "*"
"junaidbhura/wpae-user-add-on-pro": "*",
"junaidbhura/wpml-sitepress-multilingual-cms": "*",
"junaidbhura/wpml-string-translation": "*"
},
```

Expand Down Expand Up @@ -362,3 +397,28 @@ You can use any WP All Export Pro add-on by simply adding it's slug like so:
For example:

`junaidbhura/wpae-acf-add-on`

### WPML Add-Ons

You can use any WPML add-on by simply adding it's slug like so:

`junaidbhura/wpml-<addon-slug>`

The following add-ons are supported:

* `junaidbhura/wpml-acfml`
* `junaidbhura/wpml-all-import`
* `junaidbhura/wpml-buddypress-multilingual`
* `junaidbhura/wpml-cms-nav`
* `junaidbhura/wpml-contact-form-7-multilingual`
* `junaidbhura/wpml-gravityforms-multilingual`
* `junaidbhura/wpml-mailchimp-for-wp`
* `junaidbhura/wpml-media-translation`
* `junaidbhura/wpml-ninja-forms`
* `junaidbhura/wpml-sticky-links`
* `junaidbhura/wpml-string-translation`
* `junaidbhura/wpml-translation-management`
* `junaidbhura/wpml-types`
* `junaidbhura/wpml-woocommerce-multilingual`
* `junaidbhura/wpml-wp-seo-multilingual`
* `junaidbhura/wpml-wpforms`
63 changes: 63 additions & 0 deletions plugins/WPML.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<?php
/**
* WPML Plugin.
*
* @package Junaidbhura\Composer\WPProPlugins\Plugins
*/

namespace Junaidbhura\Composer\WPProPlugins\Plugins;

use UnexpectedValueException;

/**
* Wpml class.
*/
class Wpml extends AbstractPlugin {

/**
* Wpml constructor.
*
* @param string $version
* @param string $slug
*/
public function __construct( $version = '', $slug = 'wpml-sitepress-multilingual-cms' ) {
parent::__construct( $version, $slug );
}

/**
* Get the download URL for this plugin.
*
* @return string
*/
public function getDownloadUrl() {
$packages = array(
'wpml-acfml' => 1097589,
'wpml-all-import' => 720221,
'wpml-buddypress-multilingual' => 2216259,
'wpml-cms-nav' => 6096,
'wpml-contact-form-7-multilingual' => 3156699,
'wpml-gravityforms-multilingual' => 8882,
'wpml-mailchimp-for-wp' => 1442229,
'wpml-media-translation' => 7474,
'wpml-ninja-forms' => 5342487,
'wpml-sitepress-multilingual-cms' => 6088,
'wpml-sticky-links' => 6090,
'wpml-string-translation' => 6092,
'wpml-translation-management' => 6094,
'wpml-types' => 1385906,
'wpml-woocommerce-multilingual' => 637370,
'wpml-wp-seo-multilingual' => 3566177,
'wpml-wpforms' => 5368995,
);

if ( ! array_key_exists( $this->slug, $packages ) ) {
throw new UnexpectedValueException( sprintf(
'Could not find a matching package for %s. Check the package spelling and that the package is supported',
'junaidbhura/' . $this->slug
) );
}

return 'https://wpml.org/?download=' . $packages[ $this->slug ] . '&user_id=' . getenv( 'WPML_USER_ID' ) . '&subscription_key=' . getenv( 'WPML_KEY' ) . '&version=' . $this->version;
}

}

0 comments on commit 88a8d97

Please sign in to comment.