diff --git a/composer.json b/composer.json index 2e7bfe48adc057a254d5cfd96d66c018d85c5da5..1c2c50887b50c94708d3d46a4fcff84cfa79758c 100644 --- a/composer.json +++ b/composer.json @@ -11,7 +11,7 @@ } ], "require": { - "composer-plugin-api": "^1.0" + "composer-plugin-api": "^2.0" }, "autoload": { "psr-4": { diff --git a/src/Translatable.php b/src/Translatable.php index 6649fe63aa37227c01d08315c74f83588360658c..855dfb887212334fd012e2850cf352deb46ca4bf 100644 --- a/src/Translatable.php +++ b/src/Translatable.php @@ -60,7 +60,7 @@ class Translatable { * @param string $type The package type: 'plugin', 'theme' or 'core'. * @param string $slug The plugin/theme slug, E.g. 'query-monitor'. In case of core, this is 'wordpress'. * @param string $version The package version. - * @param string $languages Array of the languages we are using. + * @param array $languages Array of the languages we are using. * @param string $wpLanguageDir Full path to the language files target directory. */ public function __construct( $type, $slug, $version, $languages, $wpLanguageDir ) { diff --git a/src/Wplang.php b/src/Wplang.php index 31f32b68b5d78e43ab67706e264b0f35a438a089..2b074c89fb3dc805ebf9a93fbf74e198d7309a40 100644 --- a/src/Wplang.php +++ b/src/Wplang.php @@ -3,7 +3,7 @@ namespace BJ\Wplang; use Composer\Composer; -use Composer\Script\Event; +use Composer\DependencyResolver\Operation\UpdateOperation; use Composer\EventDispatcher\EventSubscriberInterface; use Composer\IO\IOInterface; use Composer\Plugin\PluginInterface; @@ -50,10 +50,19 @@ class Wplang implements PluginInterface, EventSubscriberInterface { } if ( ! empty( $extra['wordpress-language-dir'] ) ) { - $this->wpLanguageDir = dirname( dirname( dirname( dirname( __DIR__ ) ) ) ) . '/' . $extra['wordpress-language-dir']; + $this->wpLanguageDir = dirname( __DIR__, 4 ) . '/' . $extra['wordpress-language-dir']; } } + public function deactivate(Composer $composer, IOInterface $io) + { + // do nothing + } + + public function uninstall(Composer $composer, IOInterface $io) + { + // do nothing + } /** * Subscribe to Composer events. @@ -77,7 +86,7 @@ class Wplang implements PluginInterface, EventSubscriberInterface { * @param PackageEvent $event The package event object. */ public function onPackageAction( PackageEvent $event ) { - if ( 'update' === $event->getOperation()->getJobType() ) { + if ($event->getOperation() instanceof UpdateOperation) { $package = $event->getOperation()->getTargetPackage(); } else { $package = $event->getOperation()->getPackage();