CraftInstaller.php 806 B

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. namespace Composer\Installers;
  3. /**
  4. * Installer for Craft Plugins
  5. */
  6. class CraftInstaller extends BaseInstaller
  7. {
  8. const NAME_PREFIX = 'craft';
  9. const NAME_SUFFIX = 'plugin';
  10. protected $locations = array(
  11. 'plugin' => 'craft/plugins/{$name}/',
  12. );
  13. /**
  14. * Strip `craft-` prefix and/or `-plugin` suffix from package names
  15. *
  16. * @param array $vars
  17. *
  18. * @return array
  19. */
  20. final public function inflectPackageVars($vars)
  21. {
  22. return $this->inflectPluginVars($vars);
  23. }
  24. private function inflectPluginVars($vars)
  25. {
  26. $vars['name'] = preg_replace('/-' . self::NAME_SUFFIX . '$/i', '', $vars['name']);
  27. $vars['name'] = preg_replace('/^' . self::NAME_PREFIX . '-/i', '', $vars['name']);
  28. return $vars;
  29. }
  30. }