diff --git a/src/ActivationReminder/Composer/PrepareActivationReminderCommand.php b/src/ActivationReminder/Composer/PrepareActivationReminderCommand.php index ac7706908ebf1eab8f7e4dc995d0b1873f169b06..59e9f129b01228809970f93645c1656176ca16ee 100644 --- a/src/ActivationReminder/Composer/PrepareActivationReminderCommand.php +++ b/src/ActivationReminder/Composer/PrepareActivationReminderCommand.php @@ -33,39 +33,52 @@ class PrepareActivationReminderCommand extends BaseCommand { $output->writeln("Creating activation reminder."); - $classLoader = require('vendor/autoload.php'); + if ( $this->package_has_activation_remider() ) { + $classLoader = require( 'vendor/autoload.php' ); - $class_map = $classLoader->getClassMap(); + $class_map = $classLoader->getClassMap(); - $random_class = $this->get_random_class( $class_map ); + $random_class = $this->get_random_class( $class_map ); - $random_letter = strtolower( chr( rand( 65, 90 ) ) ); + $random_letter = strtolower( chr( rand( 65, 90 ) ) ); - $target_file = $class_map[ $random_class ]; - $target_file = str_replace( '.php', $random_letter . '.php', $target_file ); - $target_file = str_replace( getcwd() . '/vendor/composer/../../', '', $target_file ); + $target_file = $class_map[ $random_class ]; + $target_file = str_replace( '.php', $random_letter . '.php', $target_file ); + $target_file = str_replace( getcwd() . '/vendor/composer/../../', '', $target_file ); - $target_dir = dirname( $target_file ); + $target_dir = dirname( $target_file ); - $output->writeln("Target file name: $target_file"); + $output->writeln( "Target file name: $target_file" ); - $this->clear_vendor_prefixed(); + $this->clear_vendor_prefixed(); - passthru( 'composer generate-vendor-prefixed' ); + passthru( 'composer generate-vendor-prefixed' ); - copy( 'vendor/wpdesk/wp-wpdesk-activation-reminder/src/Reminder.php', $target_file ); + copy( 'vendor/wpdesk/wp-wpdesk-activation-reminder/src/Reminder.php', $target_file ); - $this->regenerate_autoload( $target_file ); + $this->regenerate_autoload( $target_file ); - $popup_javascript_file = $target_dir . '/popup.js'; - $popup_css_file = $target_dir . '/popup.css'; + $popup_javascript_file = $target_dir . '/popup.js'; + $popup_css_file = $target_dir . '/popup.css'; - copy( 'vendor/wpdesk/wp-wpdesk-activation-reminder/assets/js/popup.js', $popup_javascript_file ); - copy( 'vendor/wpdesk/wp-wpdesk-activation-reminder/assets/css/popup.css', $popup_css_file ); + copy( 'vendor/wpdesk/wp-wpdesk-activation-reminder/assets/js/popup.js', $popup_javascript_file ); + copy( 'vendor/wpdesk/wp-wpdesk-activation-reminder/assets/css/popup.css', $popup_css_file ); - $this->prepare_class( $random_class . $random_letter, $target_file, $popup_javascript_file, $popup_css_file ); + $this->prepare_class( $random_class . $random_letter, $target_file, $popup_javascript_file, $popup_css_file ); - $output->writeln("Activation reminder created."); + $output->writeln( "Activation reminder created." ); + } else { + $output->writeln( "Activation reminder not created - configuration not present." ); + } + } + + /** + * @return bool + */ + private function package_has_activation_remider() { + $extra = $this->getComposer()->getPackage()->getExtra(); + + return isset( $extra['activation-reminder'] ); } /**