diff options
Diffstat (limited to 'UserFunctions/vendor/composer/installers/src/Composer/Installers/BitrixInstaller.php')
-rw-r--r-- | UserFunctions/vendor/composer/installers/src/Composer/Installers/BitrixInstaller.php | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/UserFunctions/vendor/composer/installers/src/Composer/Installers/BitrixInstaller.php b/UserFunctions/vendor/composer/installers/src/Composer/Installers/BitrixInstaller.php deleted file mode 100644 index e80cd1e1..00000000 --- a/UserFunctions/vendor/composer/installers/src/Composer/Installers/BitrixInstaller.php +++ /dev/null @@ -1,126 +0,0 @@ -<?php - -namespace Composer\Installers; - -use Composer\Util\Filesystem; - -/** - * Installer for Bitrix Framework. Supported types of extensions: - * - `bitrix-d7-module` — copy the module to directory `bitrix/modules/<vendor>.<name>`. - * - `bitrix-d7-component` — copy the component to directory `bitrix/components/<vendor>/<name>`. - * - `bitrix-d7-template` — copy the template to directory `bitrix/templates/<vendor>_<name>`. - * - * You can set custom path to directory with Bitrix kernel in `composer.json`: - * - * ```json - * { - * "extra": { - * "bitrix-dir": "s1/bitrix" - * } - * } - * ``` - * - * @author Nik Samokhvalov <nik@samokhvalov.info> - * @author Denis Kulichkin <onexhovia@gmail.com> - */ -class BitrixInstaller extends BaseInstaller -{ - protected $locations = array( - 'module' => '{$bitrix_dir}/modules/{$name}/', // deprecated, remove on the major release (Backward compatibility will be broken) - 'component' => '{$bitrix_dir}/components/{$name}/', // deprecated, remove on the major release (Backward compatibility will be broken) - 'theme' => '{$bitrix_dir}/templates/{$name}/', // deprecated, remove on the major release (Backward compatibility will be broken) - 'd7-module' => '{$bitrix_dir}/modules/{$vendor}.{$name}/', - 'd7-component' => '{$bitrix_dir}/components/{$vendor}/{$name}/', - 'd7-template' => '{$bitrix_dir}/templates/{$vendor}_{$name}/', - ); - - /** - * @var array Storage for informations about duplicates at all the time of installation packages. - */ - private static $checkedDuplicates = array(); - - /** - * {@inheritdoc} - */ - public function inflectPackageVars($vars) - { - if ($this->composer->getPackage()) { - $extra = $this->composer->getPackage()->getExtra(); - - if (isset($extra['bitrix-dir'])) { - $vars['bitrix_dir'] = $extra['bitrix-dir']; - } - } - - if (!isset($vars['bitrix_dir'])) { - $vars['bitrix_dir'] = 'bitrix'; - } - - return parent::inflectPackageVars($vars); - } - - /** - * {@inheritdoc} - */ - protected function templatePath($path, array $vars = array()) - { - $templatePath = parent::templatePath($path, $vars); - $this->checkDuplicates($templatePath, $vars); - - return $templatePath; - } - - /** - * Duplicates search packages. - * - * @param string $path - * @param array $vars - */ - protected function checkDuplicates($path, array $vars = array()) - { - $packageType = substr($vars['type'], strlen('bitrix') + 1); - $localDir = explode('/', $vars['bitrix_dir']); - array_pop($localDir); - $localDir[] = 'local'; - $localDir = implode('/', $localDir); - - $oldPath = str_replace( - array('{$bitrix_dir}', '{$name}'), - array($localDir, $vars['name']), - $this->locations[$packageType] - ); - - if (in_array($oldPath, static::$checkedDuplicates)) { - return; - } - - if ($oldPath !== $path && file_exists($oldPath) && $this->io && $this->io->isInteractive()) { - - $this->io->writeError(' <error>Duplication of packages:</error>'); - $this->io->writeError(' <info>Package ' . $oldPath . ' will be called instead package ' . $path . '</info>'); - - while (true) { - switch ($this->io->ask(' <info>Delete ' . $oldPath . ' [y,n,?]?</info> ', '?')) { - case 'y': - $fs = new Filesystem(); - $fs->removeDirectory($oldPath); - break 2; - - case 'n': - break 2; - - case '?': - default: - $this->io->writeError(array( - ' y - delete package ' . $oldPath . ' and to continue with the installation', - ' n - don\'t delete and to continue with the installation', - )); - $this->io->writeError(' ? - print help'); - break; - } - } - } - - static::$checkedDuplicates[] = $oldPath; - } -} |