PK ]FR7to src/bootstrap.phpnu ٘ 'modules/{$vendor}-{$name}/',
'theme' => 'themes/{$vendor}-{$name}/'
);
}
PK ]FR&C<, , + src/Composer/Installers/MoodleInstaller.phpnu ٘ 'mod/{$name}/',
'admin_report' => 'admin/report/{$name}/',
'atto' => 'lib/editor/atto/plugins/{$name}/',
'tool' => 'admin/tool/{$name}/',
'assignment' => 'mod/assignment/type/{$name}/',
'assignsubmission' => 'mod/assign/submission/{$name}/',
'assignfeedback' => 'mod/assign/feedback/{$name}/',
'auth' => 'auth/{$name}/',
'availability' => 'availability/condition/{$name}/',
'block' => 'blocks/{$name}/',
'booktool' => 'mod/book/tool/{$name}/',
'cachestore' => 'cache/stores/{$name}/',
'cachelock' => 'cache/locks/{$name}/',
'calendartype' => 'calendar/type/{$name}/',
'fileconverter' => 'files/converter/{$name}/',
'format' => 'course/format/{$name}/',
'coursereport' => 'course/report/{$name}/',
'customcertelement' => 'mod/customcert/element/{$name}/',
'datafield' => 'mod/data/field/{$name}/',
'datapreset' => 'mod/data/preset/{$name}/',
'editor' => 'lib/editor/{$name}/',
'enrol' => 'enrol/{$name}/',
'filter' => 'filter/{$name}/',
'gradeexport' => 'grade/export/{$name}/',
'gradeimport' => 'grade/import/{$name}/',
'gradereport' => 'grade/report/{$name}/',
'gradingform' => 'grade/grading/form/{$name}/',
'local' => 'local/{$name}/',
'logstore' => 'admin/tool/log/store/{$name}/',
'ltisource' => 'mod/lti/source/{$name}/',
'ltiservice' => 'mod/lti/service/{$name}/',
'message' => 'message/output/{$name}/',
'mnetservice' => 'mnet/service/{$name}/',
'plagiarism' => 'plagiarism/{$name}/',
'portfolio' => 'portfolio/{$name}/',
'qbehaviour' => 'question/behaviour/{$name}/',
'qformat' => 'question/format/{$name}/',
'qtype' => 'question/type/{$name}/',
'quizaccess' => 'mod/quiz/accessrule/{$name}/',
'quiz' => 'mod/quiz/report/{$name}/',
'report' => 'report/{$name}/',
'repository' => 'repository/{$name}/',
'scormreport' => 'mod/scorm/report/{$name}/',
'search' => 'search/engine/{$name}/',
'theme' => 'theme/{$name}/',
'tinymce' => 'lib/editor/tinymce/plugins/{$name}/',
'profilefield' => 'user/profile/field/{$name}/',
'webservice' => 'webservice/{$name}/',
'workshopallocation' => 'mod/workshop/allocation/{$name}/',
'workshopeval' => 'mod/workshop/eval/{$name}/',
'workshopform' => 'mod/workshop/form/{$name}/'
);
}
PK ]FR]h ) src/Composer/Installers/ZendInstaller.phpnu ٘ 'library/{$name}/',
'extra' => 'extras/library/{$name}/',
'module' => 'module/{$name}/',
);
}
PK ]FRM ( src/Composer/Installers/TaoInstaller.phpnu ٘ '{$name}'
);
public function inflectPackageVars($vars)
{
$extra = $this->package->getExtra();
if (array_key_exists(self::EXTRA_TAO_EXTENSION_NAME, $extra)) {
$vars['name'] = $extra[self::EXTRA_TAO_EXTENSION_NAME];
return $vars;
}
$vars['name'] = str_replace('extension-', '', $vars['name']);
$vars['name'] = str_replace('-', ' ', $vars['name']);
$vars['name'] = lcfirst(str_replace(' ', '', ucwords($vars['name'])));
return $vars;
}
}
PK ]FR ) src/Composer/Installers/MayaInstaller.phpnu ٘ 'modules/{$name}/',
);
/**
* Format package name.
*
* For package type maya-module, cut off a trailing '-module' if present.
*
*/
public function inflectPackageVars($vars)
{
if ($vars['type'] === 'maya-module') {
return $this->inflectModuleVars($vars);
}
return $vars;
}
protected function inflectModuleVars($vars)
{
$vars['name'] = preg_replace('/-module$/', '', $vars['name']);
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
return $vars;
}
}
PK ]FRjn n . src/Composer/Installers/Concrete5Installer.phpnu ٘ 'concrete/',
'block' => 'application/blocks/{$name}/',
'package' => 'packages/{$name}/',
'theme' => 'application/themes/{$name}/',
'update' => 'updates/{$name}/',
);
}
PK ]FR>H - src/Composer/Installers/LavaLiteInstaller.phpnu ٘ 'packages/{$vendor}/{$name}/',
'theme' => 'public/themes/{$name}/',
);
}
PK ]FR 1 8 src/Composer/Installers/LanManagementSystemInstaller.phpnu ٘ 'plugins/{$name}/',
'template' => 'templates/{$name}/',
'document-template' => 'documents/templates/{$name}/',
'userpanel-module' => 'userpanel/modules/{$name}/',
);
/**
* Format package name to CamelCase
*/
public function inflectPackageVars($vars)
{
$vars['name'] = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name']));
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
return $vars;
}
}
PK ]FRy* , src/Composer/Installers/FuelphpInstaller.phpnu ٘ 'components/{$name}/',
);
}
PK ]FRږ + src/Composer/Installers/SyliusInstaller.phpnu ٘ 'themes/{$name}/',
);
}
PK ]FR_ , src/Composer/Installers/CiviCrmInstaller.phpnu ٘ 'ext/{$name}/'
);
}
PK ]FRO + src/Composer/Installers/PuppetInstaller.phpnu ٘ 'modules/{$name}/',
);
}
PK ]FR6B ) src/Composer/Installers/ItopInstaller.phpnu ٘ 'extensions/{$name}/',
);
}
PK ]FR , src/Composer/Installers/ReIndexInstaller.phpnu ٘ 'themes/{$name}/',
'plugin' => 'plugins/{$name}/'
);
}
PK ]FRh0 , src/Composer/Installers/PimcoreInstaller.phpnu ٘ 'plugins/{$name}/',
);
/**
* Format package name to CamelCase
*/
public function inflectPackageVars($vars)
{
$vars['name'] = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name']));
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
return $vars;
}
}
PK ]FR/J 6 src/Composer/Installers/ClanCatsFrameworkInstaller.phpnu ٘ 'CCF/orbit/{$name}/',
'theme' => 'CCF/app/themes/{$name}/',
);
}PK ]FRڃŕ + src/Composer/Installers/MauticInstaller.phpnu ٘ 'plugins/{$name}/',
'theme' => 'themes/{$name}/',
'core' => 'app/',
);
private function getDirectoryName()
{
$extra = $this->package->getExtra();
if (!empty($extra['install-directory-name'])) {
return $extra['install-directory-name'];
}
return $this->toCamelCase($this->package->getPrettyName());
}
/**
* @param string $packageName
*
* @return string
*/
private function toCamelCase($packageName)
{
return str_replace(' ', '', ucwords(str_replace('-', ' ', basename($packageName))));
}
/**
* Format package name of mautic-plugins to CamelCase
*/
public function inflectPackageVars($vars)
{
if ($vars['type'] == 'mautic-plugin' || $vars['type'] == 'mautic-theme') {
$directoryName = $this->getDirectoryName();
$vars['name'] = $directoryName;
}
return $vars;
}
}
PK ]FRg i * src/Composer/Installers/PiwikInstaller.phpnu ٘ 'plugins/{$name}/',
);
/**
* Format package name to CamelCase
* @param array $vars
*
* @return array
*/
public function inflectPackageVars($vars)
{
$vars['name'] = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name']));
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
return $vars;
}
}
PK ]FR?`7 , src/Composer/Installers/DecibelInstaller.phpnu ٘ 'app/{$name}/',
);
}
PK ]FR= / src/Composer/Installers/MicroweberInstaller.phpnu ٘ 'userfiles/modules/{$install_item_dir}/',
'module-skin' => 'userfiles/modules/{$install_item_dir}/templates/',
'template' => 'userfiles/templates/{$install_item_dir}/',
'element' => 'userfiles/elements/{$install_item_dir}/',
'vendor' => 'vendor/{$install_item_dir}/',
'components' => 'components/{$install_item_dir}/'
);
/**
* Format package name.
*
* For package type microweber-module, cut off a trailing '-module' if present
*
* For package type microweber-template, cut off a trailing '-template' if present.
*
*/
public function inflectPackageVars($vars)
{
if ($this->package->getTargetDir()) {
$vars['install_item_dir'] = $this->package->getTargetDir();
} else {
$vars['install_item_dir'] = $vars['name'];
if ($vars['type'] === 'microweber-template') {
return $this->inflectTemplateVars($vars);
}
if ($vars['type'] === 'microweber-templates') {
return $this->inflectTemplatesVars($vars);
}
if ($vars['type'] === 'microweber-core') {
return $this->inflectCoreVars($vars);
}
if ($vars['type'] === 'microweber-adapter') {
return $this->inflectCoreVars($vars);
}
if ($vars['type'] === 'microweber-module') {
return $this->inflectModuleVars($vars);
}
if ($vars['type'] === 'microweber-modules') {
return $this->inflectModulesVars($vars);
}
if ($vars['type'] === 'microweber-skin') {
return $this->inflectSkinVars($vars);
}
if ($vars['type'] === 'microweber-element' or $vars['type'] === 'microweber-elements') {
return $this->inflectElementVars($vars);
}
}
return $vars;
}
protected function inflectTemplateVars($vars)
{
$vars['install_item_dir'] = preg_replace('/-template$/', '', $vars['install_item_dir']);
$vars['install_item_dir'] = preg_replace('/template-$/', '', $vars['install_item_dir']);
return $vars;
}
protected function inflectTemplatesVars($vars)
{
$vars['install_item_dir'] = preg_replace('/-templates$/', '', $vars['install_item_dir']);
$vars['install_item_dir'] = preg_replace('/templates-$/', '', $vars['install_item_dir']);
return $vars;
}
protected function inflectCoreVars($vars)
{
$vars['install_item_dir'] = preg_replace('/-providers$/', '', $vars['install_item_dir']);
$vars['install_item_dir'] = preg_replace('/-provider$/', '', $vars['install_item_dir']);
$vars['install_item_dir'] = preg_replace('/-adapter$/', '', $vars['install_item_dir']);
return $vars;
}
protected function inflectModuleVars($vars)
{
$vars['install_item_dir'] = preg_replace('/-module$/', '', $vars['install_item_dir']);
$vars['install_item_dir'] = preg_replace('/module-$/', '', $vars['install_item_dir']);
return $vars;
}
protected function inflectModulesVars($vars)
{
$vars['install_item_dir'] = preg_replace('/-modules$/', '', $vars['install_item_dir']);
$vars['install_item_dir'] = preg_replace('/modules-$/', '', $vars['install_item_dir']);
return $vars;
}
protected function inflectSkinVars($vars)
{
$vars['install_item_dir'] = preg_replace('/-skin$/', '', $vars['install_item_dir']);
$vars['install_item_dir'] = preg_replace('/skin-$/', '', $vars['install_item_dir']);
return $vars;
}
protected function inflectElementVars($vars)
{
$vars['install_item_dir'] = preg_replace('/-elements$/', '', $vars['install_item_dir']);
$vars['install_item_dir'] = preg_replace('/elements-$/', '', $vars['install_item_dir']);
$vars['install_item_dir'] = preg_replace('/-element$/', '', $vars['install_item_dir']);
$vars['install_item_dir'] = preg_replace('/element-$/', '', $vars['install_item_dir']);
return $vars;
}
}
PK ]FR@я1 1 , src/Composer/Installers/EliasisInstaller.phpnu ٘ 'components/{$name}/',
'module' => 'modules/{$name}/',
'plugin' => 'plugins/{$name}/',
'template' => 'templates/{$name}/',
);
}
PK ]FR? ) src/Composer/Installers/MakoInstaller.phpnu ٘ 'app/packages/{$name}/',
);
}
PK ]FR7 / src/Composer/Installers/SiteDirectInstaller.phpnu ٘ 'modules/{$vendor}/{$name}/',
'plugin' => 'plugins/{$vendor}/{$name}/'
);
public function inflectPackageVars($vars)
{
return $this->parseVars($vars);
}
protected function parseVars($vars)
{
$vars['vendor'] = strtolower($vars['vendor']) == 'sitedirect' ? 'SiteDirect' : $vars['vendor'];
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
return $vars;
}
}
PK ]FR - src/Composer/Installers/DokuWikiInstaller.phpnu ٘ 'lib/plugins/{$name}/',
'template' => 'lib/tpl/{$name}/',
);
/**
* Format package name.
*
* For package type dokuwiki-plugin, cut off a trailing '-plugin',
* or leading dokuwiki_ if present.
*
* For package type dokuwiki-template, cut off a trailing '-template' if present.
*
*/
public function inflectPackageVars($vars)
{
if ($vars['type'] === 'dokuwiki-plugin') {
return $this->inflectPluginVars($vars);
}
if ($vars['type'] === 'dokuwiki-template') {
return $this->inflectTemplateVars($vars);
}
return $vars;
}
protected function inflectPluginVars($vars)
{
$vars['name'] = preg_replace('/-plugin$/', '', $vars['name']);
$vars['name'] = preg_replace('/^dokuwiki_?-?/', '', $vars['name']);
return $vars;
}
protected function inflectTemplateVars($vars)
{
$vars['name'] = preg_replace('/-template$/', '', $vars['name']);
$vars['name'] = preg_replace('/^dokuwiki_?-?/', '', $vars['name']);
return $vars;
}
}
PK ]FR84 ( src/Composer/Installers/SMFInstaller.phpnu ٘ 'Sources/{$name}/',
'theme' => 'Themes/{$name}/',
);
}
PK ]FR|X]D . src/Composer/Installers/RoundcubeInstaller.phpnu ٘ 'plugins/{$name}/',
);
/**
* Lowercase name and changes the name to a underscores
*
* @param array $vars
* @return array
*/
public function inflectPackageVars($vars)
{
$vars['name'] = strtolower(str_replace('-', '_', $vars['name']));
return $vars;
}
}
PK ]FRW& & * src/Composer/Installers/CraftInstaller.phpnu ٘ 'craft/plugins/{$name}/',
);
/**
* Strip `craft-` prefix and/or `-plugin` suffix from package names
*
* @param array $vars
*
* @return array
*/
final public function inflectPackageVars($vars)
{
return $this->inflectPluginVars($vars);
}
private function inflectPluginVars($vars)
{
$vars['name'] = preg_replace('/-' . self::NAME_SUFFIX . '$/i', '', $vars['name']);
$vars['name'] = preg_replace('/^' . self::NAME_PREFIX . '-/i', '', $vars['name']);
return $vars;
}
}
PK ]FRb| 2 src/Composer/Installers/PlentymarketsInstaller.phpnu ٘ '{$name}/'
);
/**
* Remove hyphen, "plugin" and format to camelcase
* @param array $vars
*
* @return array
*/
public function inflectPackageVars($vars)
{
$vars['name'] = explode("-", $vars['name']);
foreach ($vars['name'] as $key => $name) {
$vars['name'][$key] = ucfirst($vars['name'][$key]);
if (strcasecmp($name, "Plugin") == 0) {
unset($vars['name'][$key]);
}
}
$vars['name'] = implode("",$vars['name']);
return $vars;
}
}
PK ]FRlκT T . src/Composer/Installers/WordPressInstaller.phpnu ٘ 'wp-content/plugins/{$name}/',
'theme' => 'wp-content/themes/{$name}/',
'muplugin' => 'wp-content/mu-plugins/{$name}/',
'dropin' => 'wp-content/{$name}/',
);
}
PK ]FRidΦ * src/Composer/Installers/YawikInstaller.phpnu ٘ 'module/{$name}/',
);
/**
* Format package name to CamelCase
* @param array $vars
*
* @return array
*/
public function inflectPackageVars($vars)
{
$vars['name'] = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name']));
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
return $vars;
}
}PK ]FR / src/Composer/Installers/PrestashopInstaller.phpnu ٘ 'modules/{$name}/',
'theme' => 'themes/{$name}/',
);
}
PK ]FRKB,c c + src/Composer/Installers/DrupalInstaller.phpnu ٘ 'core/',
'module' => 'modules/{$name}/',
'theme' => 'themes/{$name}/',
'library' => 'libraries/{$name}/',
'profile' => 'profiles/{$name}/',
'database-driver' => 'drivers/lib/Drupal/Driver/Database/{$name}/',
'drush' => 'drush/{$name}/',
'custom-theme' => 'themes/custom/{$name}/',
'custom-module' => 'modules/custom/{$name}/',
'custom-profile' => 'profiles/custom/{$name}/',
'drupal-multisite' => 'sites/{$name}/',
'console' => 'console/{$name}/',
'console-language' => 'console/language/{$name}/',
'config' => 'config/sync/',
);
}
PK ]FRfn n - src/Composer/Installers/ShopwareInstaller.phpnu ٘ 'engine/Shopware/Plugins/Local/Backend/{$name}/',
'core-plugin' => 'engine/Shopware/Plugins/Local/Core/{$name}/',
'frontend-plugin' => 'engine/Shopware/Plugins/Local/Frontend/{$name}/',
'theme' => 'templates/{$name}/',
'plugin' => 'custom/plugins/{$name}/',
'frontend-theme' => 'themes/Frontend/{$name}/',
);
/**
* Transforms the names
* @param array $vars
* @return array
*/
public function inflectPackageVars($vars)
{
if ($vars['type'] === 'shopware-theme') {
return $this->correctThemeName($vars);
}
return $this->correctPluginName($vars);
}
/**
* Changes the name to a camelcased combination of vendor and name
* @param array $vars
* @return array
*/
private function correctPluginName($vars)
{
$camelCasedName = preg_replace_callback('/(-[a-z])/', function ($matches) {
return strtoupper($matches[0][1]);
}, $vars['name']);
$vars['name'] = ucfirst($vars['vendor']) . ucfirst($camelCasedName);
return $vars;
}
/**
* Changes the name to a underscore separated name
* @param array $vars
* @return array
*/
private function correctThemeName($vars)
{
$vars['name'] = str_replace('-', '_', $vars['name']);
return $vars;
}
}
PK ]FR2 * src/Composer/Installers/PortoInstaller.phpnu ٘ 'app/Containers/{$name}/',
);
}
PK ]FRLF F * src/Composer/Installers/WHMCSInstaller.phpnu ٘ 'modules/addons/{$vendor}_{$name}/',
'fraud' => 'modules/fraud/{$vendor}_{$name}/',
'gateways' => 'modules/gateways/{$vendor}_{$name}/',
'notifications' => 'modules/notifications/{$vendor}_{$name}/',
'registrars' => 'modules/registrars/{$vendor}_{$name}/',
'reports' => 'modules/reports/{$vendor}_{$name}/',
'security' => 'modules/security/{$vendor}_{$name}/',
'servers' => 'modules/servers/{$vendor}_{$name}/',
'social' => 'modules/social/{$vendor}_{$name}/',
'support' => 'modules/support/{$vendor}_{$name}/',
'templates' => 'templates/{$vendor}_{$name}/',
'includes' => 'includes/{$vendor}_{$name}/'
);
}
PK ]FRNn3 , src/Composer/Installers/LaravelInstaller.phpnu ٘ 'libraries/{$name}/',
);
}
PK ]FR( + src/Composer/Installers/TheliaInstaller.phpnu ٘ 'local/modules/{$name}/',
'frontoffice-template' => 'templates/frontOffice/{$name}/',
'backoffice-template' => 'templates/backOffice/{$name}/',
'email-template' => 'templates/email/{$name}/',
);
}
PK ]FRɽ] ) src/Composer/Installers/ChefInstaller.phpnu ٘ 'Chef/{$vendor}/{$name}/',
'role' => 'Chef/roles/{$name}/',
);
}
PK ]FR*p ) src/Composer/Installers/ElggInstaller.phpnu ٘ 'mod/{$name}/',
);
}
PK ]FR0nb b - src/Composer/Installers/DolibarrInstaller.phpnu ٘
*/
class DolibarrInstaller extends BaseInstaller
{
//TODO: Add support for scripts and themes
protected $locations = array(
'module' => 'htdocs/custom/{$name}/',
);
}
PK ]FR8} } - src/Composer/Installers/TYPO3CmsInstaller.phpnu ٘
*/
class TYPO3CmsInstaller extends BaseInstaller
{
protected $locations = array(
'extension' => 'typo3conf/ext/{$name}/',
);
}
PK ]FRG * src/Composer/Installers/KirbyInstaller.phpnu ٘ 'site/plugins/{$name}/',
'field' => 'site/fields/{$name}/',
'tag' => 'site/tags/{$name}/'
);
}
PK ]FR2 0 src/Composer/Installers/AnnotateCmsInstaller.phpnu ٘ 'addons/modules/{$name}/',
'component' => 'addons/components/{$name}/',
'service' => 'addons/services/{$name}/',
);
}
PK ]FR!u\ - src/Composer/Installers/BonefishInstaller.phpnu ٘ 'Packages/{$vendor}/{$name}/'
);
}
PK ]FRNÄ + src/Composer/Installers/KohanaInstaller.phpnu ٘ 'modules/{$name}/',
);
}
PK ]FRP7B B + src/Composer/Installers/MajimaInstaller.phpnu ٘ 'plugins/{$name}/',
);
/**
* Transforms the names
* @param array $vars
* @return array
*/
public function inflectPackageVars($vars)
{
return $this->correctPluginName($vars);
}
/**
* Change hyphenated names to camelcase
* @param array $vars
* @return array
*/
private function correctPluginName($vars)
{
$camelCasedName = preg_replace_callback('/(-[a-z])/', function ($matches) {
return strtoupper($matches[0][1]);
}, $vars['name']);
$vars['name'] = ucfirst($camelCasedName);
return $vars;
}
}
PK ]FR
1 1 , src/Composer/Installers/StarbugInstaller.phpnu ٘ 'modules/{$name}/',
'theme' => 'themes/{$name}/',
'custom-module' => 'app/modules/{$name}/',
'custom-theme' => 'app/themes/{$name}/'
);
}
PK ]FRA> 1 src/Composer/Installers/UserFrostingInstaller.phpnu ٘ 'app/sprinkles/{$name}/',
);
}
PK ]FR۳' ' , src/Composer/Installers/OsclassInstaller.phpnu ٘ 'oc-content/plugins/{$name}/',
'theme' => 'oc-content/themes/{$name}/',
'language' => 'oc-content/languages/{$name}/',
);
}
PK ]FR.k k 1 src/Composer/Installers/TastyIgniterInstaller.phpnu ٘ 'extensions/{$vendor}/{$name}/',
'theme' => 'themes/{$name}/',
);
/**
* Format package name.
*
* Cut off leading 'ti-ext-' or 'ti-theme-' if present.
* Strip vendor name of characters that is not alphanumeric or an underscore
*
*/
public function inflectPackageVars($vars)
{
if ($vars['type'] === 'tastyigniter-extension') {
$vars['vendor'] = preg_replace('/[^a-z0-9_]/i', '', $vars['vendor']);
$vars['name'] = preg_replace('/^ti-ext-/', '', $vars['name']);
}
if ($vars['type'] === 'tastyigniter-theme') {
$vars['name'] = preg_replace('/^ti-theme-/', '', $vars['name']);
}
return $vars;
}
}PK ]FRk + src/Composer/Installers/RedaxoInstaller.phpnu ٘ 'redaxo/include/addons/{$name}/',
'bestyle-plugin' => 'redaxo/include/addons/be_style/plugins/{$name}/'
);
}
PK ]FRt , src/Composer/Installers/VanillaInstaller.phpnu ٘ 'plugins/{$name}/',
'theme' => 'themes/{$name}/',
);
}
PK ]FR:T6 / src/Composer/Installers/EzPlatformInstaller.phpnu ٘ 'web/assets/ezplatform/',
'assets' => 'web/assets/ezplatform/{$name}/',
);
}
PK ]FR"wس + src/Composer/Installers/DframeInstaller.phpnu ٘ 'modules/{$vendor}/{$name}/',
);
}
PK ]FRġ( ( % src/Composer/Installers/Installer.phpnu ٘ 'AimeosInstaller',
'asgard' => 'AsgardInstaller',
'attogram' => 'AttogramInstaller',
'agl' => 'AglInstaller',
'annotatecms' => 'AnnotateCmsInstaller',
'bitrix' => 'BitrixInstaller',
'bonefish' => 'BonefishInstaller',
'cakephp' => 'CakePHPInstaller',
'chef' => 'ChefInstaller',
'civicrm' => 'CiviCrmInstaller',
'ccframework' => 'ClanCatsFrameworkInstaller',
'cockpit' => 'CockpitInstaller',
'codeigniter' => 'CodeIgniterInstaller',
'concrete5' => 'Concrete5Installer',
'craft' => 'CraftInstaller',
'croogo' => 'CroogoInstaller',
'dframe' => 'DframeInstaller',
'dokuwiki' => 'DokuWikiInstaller',
'dolibarr' => 'DolibarrInstaller',
'decibel' => 'DecibelInstaller',
'drupal' => 'DrupalInstaller',
'elgg' => 'ElggInstaller',
'eliasis' => 'EliasisInstaller',
'ee3' => 'ExpressionEngineInstaller',
'ee2' => 'ExpressionEngineInstaller',
'ezplatform' => 'EzPlatformInstaller',
'fuel' => 'FuelInstaller',
'fuelphp' => 'FuelphpInstaller',
'grav' => 'GravInstaller',
'hurad' => 'HuradInstaller',
'tastyigniter' => 'TastyIgniterInstaller',
'imagecms' => 'ImageCMSInstaller',
'itop' => 'ItopInstaller',
'joomla' => 'JoomlaInstaller',
'kanboard' => 'KanboardInstaller',
'kirby' => 'KirbyInstaller',
'known' => 'KnownInstaller',
'kodicms' => 'KodiCMSInstaller',
'kohana' => 'KohanaInstaller',
'lms' => 'LanManagementSystemInstaller',
'laravel' => 'LaravelInstaller',
'lavalite' => 'LavaLiteInstaller',
'lithium' => 'LithiumInstaller',
'magento' => 'MagentoInstaller',
'majima' => 'MajimaInstaller',
'mantisbt' => 'MantisBTInstaller',
'mako' => 'MakoInstaller',
'maya' => 'MayaInstaller',
'mautic' => 'MauticInstaller',
'mediawiki' => 'MediaWikiInstaller',
'miaoxing' => 'MiaoxingInstaller',
'microweber' => 'MicroweberInstaller',
'modulework' => 'MODULEWorkInstaller',
'modx' => 'ModxInstaller',
'modxevo' => 'MODXEvoInstaller',
'moodle' => 'MoodleInstaller',
'october' => 'OctoberInstaller',
'ontowiki' => 'OntoWikiInstaller',
'oxid' => 'OxidInstaller',
'osclass' => 'OsclassInstaller',
'pxcms' => 'PxcmsInstaller',
'phpbb' => 'PhpBBInstaller',
'pimcore' => 'PimcoreInstaller',
'piwik' => 'PiwikInstaller',
'plentymarkets'=> 'PlentymarketsInstaller',
'ppi' => 'PPIInstaller',
'puppet' => 'PuppetInstaller',
'radphp' => 'RadPHPInstaller',
'phifty' => 'PhiftyInstaller',
'porto' => 'PortoInstaller',
'processwire' => 'ProcessWireInstaller',
'redaxo' => 'RedaxoInstaller',
'redaxo5' => 'Redaxo5Installer',
'reindex' => 'ReIndexInstaller',
'roundcube' => 'RoundcubeInstaller',
'shopware' => 'ShopwareInstaller',
'sitedirect' => 'SiteDirectInstaller',
'silverstripe' => 'SilverStripeInstaller',
'smf' => 'SMFInstaller',
'starbug' => 'StarbugInstaller',
'sydes' => 'SyDESInstaller',
'sylius' => 'SyliusInstaller',
'symfony1' => 'Symfony1Installer',
'tao' => 'TaoInstaller',
'thelia' => 'TheliaInstaller',
'tusk' => 'TuskInstaller',
'typo3-cms' => 'TYPO3CmsInstaller',
'typo3-flow' => 'TYPO3FlowInstaller',
'userfrosting' => 'UserFrostingInstaller',
'vanilla' => 'VanillaInstaller',
'whmcs' => 'WHMCSInstaller',
'winter' => 'WinterInstaller',
'wolfcms' => 'WolfCMSInstaller',
'wordpress' => 'WordPressInstaller',
'yawik' => 'YawikInstaller',
'zend' => 'ZendInstaller',
'zikula' => 'ZikulaInstaller',
'prestashop' => 'PrestashopInstaller'
);
/**
* Installer constructor.
*
* Disables installers specified in main composer extra installer-disable
* list
*
* @param IOInterface $io
* @param Composer $composer
* @param string $type
* @param Filesystem|null $filesystem
* @param BinaryInstaller|null $binaryInstaller
*/
public function __construct(
IOInterface $io,
Composer $composer,
$type = 'library',
Filesystem $filesystem = null,
BinaryInstaller $binaryInstaller = null
) {
parent::__construct($io, $composer, $type, $filesystem,
$binaryInstaller);
$this->removeDisabledInstallers();
}
/**
* {@inheritDoc}
*/
public function getInstallPath(PackageInterface $package)
{
$type = $package->getType();
$frameworkType = $this->findFrameworkType($type);
if ($frameworkType === false) {
throw new \InvalidArgumentException(
'Sorry the package type of this package is not yet supported.'
);
}
$class = 'Composer\\Installers\\' . $this->supportedTypes[$frameworkType];
$installer = new $class($package, $this->composer, $this->getIO());
return $installer->getInstallPath($package, $frameworkType);
}
public function uninstall(InstalledRepositoryInterface $repo, PackageInterface $package)
{
$installPath = $this->getPackageBasePath($package);
$io = $this->io;
$outputStatus = function () use ($io, $installPath) {
$io->write(sprintf('Deleting %s - %s', $installPath, !file_exists($installPath) ? 'deleted' : 'not deleted'));
};
$promise = parent::uninstall($repo, $package);
// Composer v2 might return a promise here
if ($promise instanceof PromiseInterface) {
return $promise->then($outputStatus);
}
// If not, execute the code right away as parent::uninstall executed synchronously (composer v1, or v2 without async)
$outputStatus();
return null;
}
/**
* {@inheritDoc}
*/
public function supports($packageType)
{
$frameworkType = $this->findFrameworkType($packageType);
if ($frameworkType === false) {
return false;
}
$locationPattern = $this->getLocationPattern($frameworkType);
return preg_match('#' . $frameworkType . '-' . $locationPattern . '#', $packageType, $matches) === 1;
}
/**
* Finds a supported framework type if it exists and returns it
*
* @param string $type
* @return string|false
*/
protected function findFrameworkType($type)
{
krsort($this->supportedTypes);
foreach ($this->supportedTypes as $key => $val) {
if ($key === substr($type, 0, strlen($key))) {
return substr($type, 0, strlen($key));
}
}
return false;
}
/**
* Get the second part of the regular expression to check for support of a
* package type
*
* @param string $frameworkType
* @return string
*/
protected function getLocationPattern($frameworkType)
{
$pattern = false;
if (!empty($this->supportedTypes[$frameworkType])) {
$frameworkClass = 'Composer\\Installers\\' . $this->supportedTypes[$frameworkType];
/** @var BaseInstaller $framework */
$framework = new $frameworkClass(null, $this->composer, $this->getIO());
$locations = array_keys($framework->getLocations());
$pattern = $locations ? '(' . implode('|', $locations) . ')' : false;
}
return $pattern ? : '(\w+)';
}
/**
* Get I/O object
*
* @return IOInterface
*/
private function getIO()
{
return $this->io;
}
/**
* Look for installers set to be disabled in composer's extra config and
* remove them from the list of supported installers.
*
* Globals:
* - true, "all", and "*" - disable all installers.
* - false - enable all installers (useful with
* wikimedia/composer-merge-plugin or similar)
*
* @return void
*/
protected function removeDisabledInstallers()
{
$extra = $this->composer->getPackage()->getExtra();
if (!isset($extra['installer-disable']) || $extra['installer-disable'] === false) {
// No installers are disabled
return;
}
// Get installers to disable
$disable = $extra['installer-disable'];
// Ensure $disabled is an array
if (!is_array($disable)) {
$disable = array($disable);
}
// Check which installers should be disabled
$all = array(true, "all", "*");
$intersect = array_intersect($all, $disable);
if (!empty($intersect)) {
// Disable all installers
$this->supportedTypes = array();
} else {
// Disable specified installers
foreach ($disable as $key => $installer) {
if (is_string($installer) && key_exists($installer, $this->supportedTypes)) {
unset($this->supportedTypes[$installer]);
}
}
}
}
}
PK ]FRW W 1 src/Composer/Installers/SilverStripeInstaller.phpnu ٘ '{$name}/',
'theme' => 'themes/{$name}/',
);
/**
* Return the install path based on package type.
*
* Relies on built-in BaseInstaller behaviour with one exception: silverstripe/framework
* must be installed to 'sapphire' and not 'framework' if the version is <3.0.0
*
* @param PackageInterface $package
* @param string $frameworkType
* @return string
*/
public function getInstallPath(PackageInterface $package, $frameworkType = '')
{
if (
$package->getName() == 'silverstripe/framework'
&& preg_match('/^\d+\.\d+\.\d+/', $package->getVersion())
&& version_compare($package->getVersion(), '2.999.999') < 0
) {
return $this->templatePath($this->locations['module'], array('name' => 'sapphire'));
}
return parent::getInstallPath($package, $frameworkType);
}
}
PK ]FR}ۗ ) src/Composer/Installers/OxidInstaller.phpnu ٘ .+)\/.+/';
protected $locations = array(
'module' => 'modules/{$name}/',
'theme' => 'application/views/{$name}/',
'out' => 'out/{$name}/',
);
/**
* getInstallPath
*
* @param PackageInterface $package
* @param string $frameworkType
* @return string
*/
public function getInstallPath(PackageInterface $package, $frameworkType = '')
{
$installPath = parent::getInstallPath($package, $frameworkType);
$type = $this->package->getType();
if ($type === 'oxid-module') {
$this->prepareVendorDirectory($installPath);
}
return $installPath;
}
/**
* prepareVendorDirectory
*
* Makes sure there is a vendormetadata.php file inside
* the vendor folder if there is a vendor folder.
*
* @param string $installPath
* @return void
*/
protected function prepareVendorDirectory($installPath)
{
$matches = '';
$hasVendorDirectory = preg_match(self::VENDOR_PATTERN, $installPath, $matches);
if (!$hasVendorDirectory) {
return;
}
$vendorDirectory = $matches['vendor'];
$vendorPath = getcwd() . '/modules/' . $vendorDirectory;
if (!file_exists($vendorPath)) {
mkdir($vendorPath, 0755, true);
}
$vendorMetaDataPath = $vendorPath . '/vendormetadata.php';
touch($vendorMetaDataPath);
}
}
PK ]FRwc ( src/Composer/Installers/AglInstaller.phpnu ٘ 'More/{$name}/',
);
/**
* Format package name to CamelCase
*/
public function inflectPackageVars($vars)
{
$vars['name'] = preg_replace_callback('/(?:^|_|-)(.?)/', function ($matches) {
return strtoupper($matches[1]);
}, $vars['name']);
return $vars;
}
}
PK ]FRBq + src/Composer/Installers/JoomlaInstaller.phpnu ٘ 'components/{$name}/',
'module' => 'modules/{$name}/',
'template' => 'templates/{$name}/',
'plugin' => 'plugins/{$name}/',
'library' => 'libraries/{$name}/',
);
// TODO: Add inflector for mod_ and com_ names
}
PK ]FR]%: ) src/Composer/Installers/GravInstaller.phpnu ٘ 'user/plugins/{$name}/',
'theme' => 'user/themes/{$name}/',
);
/**
* Format package name
*
* @param array $vars
*
* @return array
*/
public function inflectPackageVars($vars)
{
$restrictedWords = implode('|', array_keys($this->locations));
$vars['name'] = strtolower($vars['name']);
$vars['name'] = preg_replace('/^(?:grav-)?(?:(?:'.$restrictedWords.')-)?(.*?)(?:-(?:'.$restrictedWords.'))?$/ui',
'$1',
$vars['name']
);
return $vars;
}
}
PK ]FRÚ ) src/Composer/Installers/TuskInstaller.phpnu ٘
*/
class TuskInstaller extends BaseInstaller
{
protected $locations = array(
'task' => '.tusk/tasks/{$name}/',
'command' => '.tusk/commands/{$name}/',
'asset' => 'assets/tusk/{$name}/',
);
}
PK ]FRE3 - src/Composer/Installers/OntoWikiInstaller.phpnu ٘ 'extensions/{$name}/',
'theme' => 'extensions/themes/{$name}/',
'translation' => 'extensions/translations/{$name}/',
);
/**
* Format package name to lower case and remove ".ontowiki" suffix
*/
public function inflectPackageVars($vars)
{
$vars['name'] = strtolower($vars['name']);
$vars['name'] = preg_replace('/.ontowiki$/', '', $vars['name']);
$vars['name'] = preg_replace('/-theme$/', '', $vars['name']);
$vars['name'] = preg_replace('/-translation$/', '', $vars['name']);
return $vars;
}
}
PK ]FR
.. . + src/Composer/Installers/AsgardInstaller.phpnu ٘ 'Modules/{$name}/',
'theme' => 'Themes/{$name}/'
);
/**
* Format package name.
*
* For package type asgard-module, cut off a trailing '-plugin' if present.
*
* For package type asgard-theme, cut off a trailing '-theme' if present.
*
*/
public function inflectPackageVars($vars)
{
if ($vars['type'] === 'asgard-module') {
return $this->inflectPluginVars($vars);
}
if ($vars['type'] === 'asgard-theme') {
return $this->inflectThemeVars($vars);
}
return $vars;
}
protected function inflectPluginVars($vars)
{
$vars['name'] = preg_replace('/-module$/', '', $vars['name']);
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
return $vars;
}
protected function inflectThemeVars($vars)
{
$vars['name'] = preg_replace('/-theme$/', '', $vars['name']);
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
return $vars;
}
}
PK ]FRr - src/Composer/Installers/MiaoxingInstaller.phpnu ٘ 'plugins/{$name}/',
);
}
PK ]FR) o , src/Composer/Installers/LithiumInstaller.phpnu ٘ 'libraries/{$name}/',
'source' => 'libraries/_source/{$name}/',
);
}
PK ]FRMNY$ $ - src/Composer/Installers/ImageCMSInstaller.phpnu ٘ 'templates/{$name}/',
'module' => 'application/modules/{$name}/',
'library' => 'application/libraries/{$name}/',
);
}
PK ]FR' + src/Composer/Installers/AimeosInstaller.phpnu ٘ 'ext/{$name}/',
);
}
PK ]FR]wm6 6 - src/Composer/Installers/Symfony1Installer.phpnu ٘
*/
class Symfony1Installer extends BaseInstaller
{
protected $locations = array(
'plugin' => 'plugins/{$name}/',
);
/**
* Format package name to CamelCase
*/
public function inflectPackageVars($vars)
{
$vars['name'] = preg_replace_callback('/(-[a-z])/', function ($matches) {
return strtoupper($matches[0][1]);
}, $vars['name']);
return $vars;
}
}
PK ]FR , src/Composer/Installers/OctoberInstaller.phpnu ٘ 'modules/{$name}/',
'plugin' => 'plugins/{$vendor}/{$name}/',
'theme' => 'themes/{$vendor}-{$name}/'
);
/**
* Format package name.
*
* For package type october-plugin, cut off a trailing '-plugin' if present.
*
* For package type october-theme, cut off a trailing '-theme' if present.
*
*/
public function inflectPackageVars($vars)
{
if ($vars['type'] === 'october-plugin') {
return $this->inflectPluginVars($vars);
}
if ($vars['type'] === 'october-theme') {
return $this->inflectThemeVars($vars);
}
return $vars;
}
protected function inflectPluginVars($vars)
{
$vars['name'] = preg_replace('/^oc-|-plugin$/', '', $vars['name']);
$vars['vendor'] = preg_replace('/[^a-z0-9_]/i', '', $vars['vendor']);
return $vars;
}
protected function inflectThemeVars($vars)
{
$vars['name'] = preg_replace('/^oc-|-theme$/', '', $vars['name']);
$vars['vendor'] = preg_replace('/[^a-z0-9_]/i', '', $vars['vendor']);
return $vars;
}
}
PK ]FR=?+ + 0 src/Composer/Installers/ProcessWireInstaller.phpnu ٘ 'site/modules/{$name}/',
);
/**
* Format package name to CamelCase
*/
public function inflectPackageVars($vars)
{
$vars['name'] = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name']));
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
return $vars;
}
}
PK ]FRV , src/Composer/Installers/MagentoInstaller.phpnu ٘ 'app/design/frontend/{$name}/',
'skin' => 'skin/frontend/default/{$name}/',
'library' => 'lib/{$name}/',
);
}
PK ]FRL( , src/Composer/Installers/CakePHPInstaller.phpnu ٘ 'Plugin/{$name}/',
);
/**
* Format package name to CamelCase
*/
public function inflectPackageVars($vars)
{
if ($this->matchesCakeVersion('>=', '3.0.0')) {
return $vars;
}
$nameParts = explode('/', $vars['name']);
foreach ($nameParts as &$value) {
$value = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $value));
$value = str_replace(array('-', '_'), ' ', $value);
$value = str_replace(' ', '', ucwords($value));
}
$vars['name'] = implode('/', $nameParts);
return $vars;
}
/**
* Change the default plugin location when cakephp >= 3.0
*/
public function getLocations()
{
if ($this->matchesCakeVersion('>=', '3.0.0')) {
$this->locations['plugin'] = $this->composer->getConfig()->get('vendor-dir') . '/{$vendor}/{$name}/';
}
return $this->locations;
}
/**
* Check if CakePHP version matches against a version
*
* @param string $matcher
* @param string $version
* @return bool
*/
protected function matchesCakeVersion($matcher, $version)
{
$repositoryManager = $this->composer->getRepositoryManager();
if (! $repositoryManager) {
return false;
}
$repos = $repositoryManager->getLocalRepository();
if (!$repos) {
return false;
}
return $repos->findPackage('cakephp/cakephp', new Constraint($matcher, $version)) !== null;
}
}
PK ]FRPb + src/Composer/Installers/RadPHPInstaller.phpnu ٘ 'src/{$name}/'
);
/**
* Format package name to CamelCase
*/
public function inflectPackageVars($vars)
{
$nameParts = explode('/', $vars['name']);
foreach ($nameParts as &$value) {
$value = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $value));
$value = str_replace(array('-', '_'), ' ', $value);
$value = str_replace(' ', '', ucwords($value));
}
$vars['name'] = implode('/', $nameParts);
return $vars;
}
}
PK ]FRYg; - src/Composer/Installers/AttogramInstaller.phpnu ٘ 'modules/{$name}/',
);
}
PK ]FRU , src/Composer/Installers/MODXEvoInstaller.phpnu ٘ 'assets/snippets/{$name}/',
'plugin' => 'assets/plugins/{$name}/',
'module' => 'assets/modules/{$name}/',
'template' => 'assets/templates/{$name}/',
'lib' => 'assets/lib/{$name}/'
);
}
PK ]FRx ) src/Composer/Installers/ModxInstaller.phpnu ٘ 'core/packages/{$name}/'
);
}
PK ]FRef + src/Composer/Installers/WinterInstaller.phpnu ٘ 'modules/{$name}/',
'plugin' => 'plugins/{$vendor}/{$name}/',
'theme' => 'themes/{$name}/'
);
/**
* Format package name.
*
* For package type winter-plugin, cut off a trailing '-plugin' if present.
*
* For package type winter-theme, cut off a trailing '-theme' if present.
*
*/
public function inflectPackageVars($vars)
{
if ($vars['type'] === 'winter-module') {
return $this->inflectModuleVars($vars);
}
if ($vars['type'] === 'winter-plugin') {
return $this->inflectPluginVars($vars);
}
if ($vars['type'] === 'winter-theme') {
return $this->inflectThemeVars($vars);
}
return $vars;
}
protected function inflectModuleVars($vars)
{
$vars['name'] = preg_replace('/^wn-|-module$/', '', $vars['name']);
return $vars;
}
protected function inflectPluginVars($vars)
{
$vars['name'] = preg_replace('/^wn-|-plugin$/', '', $vars['name']);
$vars['vendor'] = preg_replace('/[^a-z0-9_]/i', '', $vars['vendor']);
return $vars;
}
protected function inflectThemeVars($vars)
{
$vars['name'] = preg_replace('/^wn-|-theme$/', '', $vars['name']);
return $vars;
}
}
PK ]FRWA5 5 0 src/Composer/Installers/CodeIgniterInstaller.phpnu ٘ 'application/libraries/{$name}/',
'third-party' => 'application/third_party/{$name}/',
'module' => 'application/modules/{$name}/',
);
}
PK ]FR " src/Composer/Installers/Plugin.phpnu ٘ installer = new Installer($io, $composer);
$composer->getInstallationManager()->addInstaller($this->installer);
}
public function deactivate(Composer $composer, IOInterface $io)
{
$composer->getInstallationManager()->removeInstaller($this->installer);
}
public function uninstall(Composer $composer, IOInterface $io)
{
}
}
PK ]FR9' ( src/Composer/Installers/PPIInstaller.phpnu ٘ 'modules/{$name}/',
);
}
PK ]FRI0 * src/Composer/Installers/PhpBBInstaller.phpnu ٘ 'ext/{$vendor}/{$name}/',
'language' => 'language/{$name}/',
'style' => 'styles/{$name}/',
);
}
PK ]FRYV / src/Composer/Installers/MODULEWorkInstaller.phpnu ٘ 'modules/{$name}/',
);
}
PK ]FRf , src/Composer/Installers/WolfCMSInstaller.phpnu ٘ 'wolf/plugins/{$name}/',
);
}
PK ]FR * src/Composer/Installers/PxcmsInstaller.phpnu ٘ 'app/Modules/{$name}/',
'theme' => 'themes/{$name}/',
);
/**
* Format package name.
*
* @param array $vars
*
* @return array
*/
public function inflectPackageVars($vars)
{
if ($vars['type'] === 'pxcms-module') {
return $this->inflectModuleVars($vars);
}
if ($vars['type'] === 'pxcms-theme') {
return $this->inflectThemeVars($vars);
}
return $vars;
}
/**
* For package type pxcms-module, cut off a trailing '-plugin' if present.
*
* return string
*/
protected function inflectModuleVars($vars)
{
$vars['name'] = str_replace('pxcms-', '', $vars['name']); // strip out pxcms- just incase (legacy)
$vars['name'] = str_replace('module-', '', $vars['name']); // strip out module-
$vars['name'] = preg_replace('/-module$/', '', $vars['name']); // strip out -module
$vars['name'] = str_replace('-', '_', $vars['name']); // make -'s be _'s
$vars['name'] = ucwords($vars['name']); // make module name camelcased
return $vars;
}
/**
* For package type pxcms-module, cut off a trailing '-plugin' if present.
*
* return string
*/
protected function inflectThemeVars($vars)
{
$vars['name'] = str_replace('pxcms-', '', $vars['name']); // strip out pxcms- just incase (legacy)
$vars['name'] = str_replace('theme-', '', $vars['name']); // strip out theme-
$vars['name'] = preg_replace('/-theme$/', '', $vars['name']); // strip out -theme
$vars['name'] = str_replace('-', '_', $vars['name']); // make -'s be _'s
$vars['name'] = ucwords($vars['name']); // make module name camelcased
return $vars;
}
}
PK ]FR[ + src/Composer/Installers/CroogoInstaller.phpnu ٘ 'Plugin/{$name}/',
'theme' => 'View/Themed/{$name}/',
);
/**
* Format package name to CamelCase
*/
public function inflectPackageVars($vars)
{
$vars['name'] = strtolower(str_replace(array('-', '_'), ' ', $vars['name']));
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
return $vars;
}
}
PK ]FR tڙ , src/Composer/Installers/CockpitInstaller.phpnu ٘ 'cockpit/modules/addons/{$name}/',
);
/**
* Format module name.
*
* Strip `module-` prefix from package name.
*
* {@inheritDoc}
*/
public function inflectPackageVars($vars)
{
if ($vars['type'] == 'cockpit-module') {
return $this->inflectModuleVars($vars);
}
return $vars;
}
public function inflectModuleVars($vars)
{
$vars['name'] = ucfirst(preg_replace('/cockpit-/i', '', $vars['name']));
return $vars;
}
}
PK ]FR3 + src/Composer/Installers/BitrixInstaller.phpnu ٘ .`.
* - `bitrix-d7-component` — copy the component to directory `bitrix/components//`.
* - `bitrix-d7-template` — copy the template to directory `bitrix/templates/_`.
*
* You can set custom path to directory with Bitrix kernel in `composer.json`:
*
* ```json
* {
* "extra": {
* "bitrix-dir": "s1/bitrix"
* }
* }
* ```
*
* @author Nik Samokhvalov
* @author Denis Kulichkin
*/
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(' Duplication of packages:');
$this->io->writeError(' Package ' . $oldPath . ' will be called instead package ' . $path . '');
while (true) {
switch ($this->io->ask(' Delete ' . $oldPath . ' [y,n,?]? ', '?')) {
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;
}
}
PK ]FRW[ , src/Composer/Installers/KodiCMSInstaller.phpnu ٘ 'cms/plugins/{$name}/',
'media' => 'cms/media/vendor/{$name}/'
);
}PK ]FR?t> ) src/Composer/Installers/FuelInstaller.phpnu ٘ 'fuel/app/modules/{$name}/',
'package' => 'fuel/packages/{$name}/',
'theme' => 'fuel/app/themes/{$name}/',
);
}
PK ]FRd * src/Composer/Installers/KnownInstaller.phpnu ٘ 'IdnoPlugins/{$name}/',
'theme' => 'Themes/{$name}/',
'console' => 'ConsolePlugins/{$name}/',
);
}
PK ]FR# * src/Composer/Installers/SyDESInstaller.phpnu ٘ 'app/modules/{$name}/',
'theme' => 'themes/{$name}/',
);
/**
* Format module name.
*
* Strip `sydes-` prefix and a trailing '-theme' or '-module' from package name if present.
*
* {@inerhitDoc}
*/
public function inflectPackageVars($vars)
{
if ($vars['type'] == 'sydes-module') {
return $this->inflectModuleVars($vars);
}
if ($vars['type'] === 'sydes-theme') {
return $this->inflectThemeVars($vars);
}
return $vars;
}
public function inflectModuleVars($vars)
{
$vars['name'] = preg_replace('/(^sydes-|-module$)/i', '', $vars['name']);
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
return $vars;
}
protected function inflectThemeVars($vars)
{
$vars['name'] = preg_replace('/(^sydes-|-theme$)/', '', $vars['name']);
$vars['name'] = strtolower($vars['name']);
return $vars;
}
}
PK ]FR * src/Composer/Installers/HuradInstaller.phpnu ٘ 'plugins/{$name}/',
'theme' => 'plugins/{$name}/',
);
/**
* Format package name to CamelCase
*/
public function inflectPackageVars($vars)
{
$nameParts = explode('/', $vars['name']);
foreach ($nameParts as &$value) {
$value = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $value));
$value = str_replace(array('-', '_'), ' ', $value);
$value = str_replace(' ', '', ucwords($value));
}
$vars['name'] = implode('/', $nameParts);
return $vars;
}
}
PK ]FR2Q . src/Composer/Installers/MediaWikiInstaller.phpnu ٘ 'core/',
'extension' => 'extensions/{$name}/',
'skin' => 'skins/{$name}/',
);
/**
* Format package name.
*
* For package type mediawiki-extension, cut off a trailing '-extension' if present and transform
* to CamelCase keeping existing uppercase chars.
*
* For package type mediawiki-skin, cut off a trailing '-skin' if present.
*
*/
public function inflectPackageVars($vars)
{
if ($vars['type'] === 'mediawiki-extension') {
return $this->inflectExtensionVars($vars);
}
if ($vars['type'] === 'mediawiki-skin') {
return $this->inflectSkinVars($vars);
}
return $vars;
}
protected function inflectExtensionVars($vars)
{
$vars['name'] = preg_replace('/-extension$/', '', $vars['name']);
$vars['name'] = str_replace('-', ' ', $vars['name']);
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
return $vars;
}
protected function inflectSkinVars($vars)
{
$vars['name'] = preg_replace('/-skin$/', '', $vars['name']);
return $vars;
}
}
PK ]FRe<0 ) src/Composer/Installers/BaseInstaller.phpnu ٘ composer = $composer;
$this->package = $package;
$this->io = $io;
}
/**
* Return the install path based on package type.
*
* @param PackageInterface $package
* @param string $frameworkType
* @return string
*/
public function getInstallPath(PackageInterface $package, $frameworkType = '')
{
$type = $this->package->getType();
$prettyName = $this->package->getPrettyName();
if (strpos($prettyName, '/') !== false) {
list($vendor, $name) = explode('/', $prettyName);
} else {
$vendor = '';
$name = $prettyName;
}
$availableVars = $this->inflectPackageVars(compact('name', 'vendor', 'type'));
$extra = $package->getExtra();
if (!empty($extra['installer-name'])) {
$availableVars['name'] = $extra['installer-name'];
}
if ($this->composer->getPackage()) {
$extra = $this->composer->getPackage()->getExtra();
if (!empty($extra['installer-paths'])) {
$customPath = $this->mapCustomInstallPaths($extra['installer-paths'], $prettyName, $type, $vendor);
if ($customPath !== false) {
return $this->templatePath($customPath, $availableVars);
}
}
}
$packageType = substr($type, strlen($frameworkType) + 1);
$locations = $this->getLocations();
if (!isset($locations[$packageType])) {
throw new \InvalidArgumentException(sprintf('Package type "%s" is not supported', $type));
}
return $this->templatePath($locations[$packageType], $availableVars);
}
/**
* For an installer to override to modify the vars per installer.
*
* @param array $vars This will normally receive array{name: string, vendor: string, type: string}
* @return array
*/
public function inflectPackageVars($vars)
{
return $vars;
}
/**
* Gets the installer's locations
*
* @return array map of package types => install path
*/
public function getLocations()
{
return $this->locations;
}
/**
* Replace vars in a path
*
* @param string $path
* @param array $vars
* @return string
*/
protected function templatePath($path, array $vars = array())
{
if (strpos($path, '{') !== false) {
extract($vars);
preg_match_all('@\{\$([A-Za-z0-9_]*)\}@i', $path, $matches);
if (!empty($matches[1])) {
foreach ($matches[1] as $var) {
$path = str_replace('{$' . $var . '}', $$var, $path);
}
}
}
return $path;
}
/**
* Search through a passed paths array for a custom install path.
*
* @param array $paths
* @param string $name
* @param string $type
* @param string $vendor = NULL
* @return string|false
*/
protected function mapCustomInstallPaths(array $paths, $name, $type, $vendor = NULL)
{
foreach ($paths as $path => $names) {
$names = (array) $names;
if (in_array($name, $names) || in_array('type:' . $type, $names) || in_array('vendor:' . $vendor, $names)) {
return $path;
}
}
return false;
}
}
PK ]FR . src/Composer/Installers/TYPO3FlowInstaller.phpnu ٘ 'Packages/Application/{$name}/',
'framework' => 'Packages/Framework/{$name}/',
'plugin' => 'Packages/Plugins/{$name}/',
'site' => 'Packages/Sites/{$name}/',
'boilerplate' => 'Packages/Boilerplates/{$name}/',
'build' => 'Build/{$name}/',
);
/**
* Modify the package name to be a TYPO3 Flow style key.
*
* @param array $vars
* @return array
*/
public function inflectPackageVars($vars)
{
$autoload = $this->package->getAutoload();
if (isset($autoload['psr-0']) && is_array($autoload['psr-0'])) {
$namespace = key($autoload['psr-0']);
$vars['name'] = str_replace('\\', '.', $namespace);
}
if (isset($autoload['psr-4']) && is_array($autoload['psr-4'])) {
$namespace = key($autoload['psr-4']);
$vars['name'] = rtrim(str_replace('\\', '.', $namespace), '.');
}
return $vars;
}
}
PK ]FRz , src/Composer/Installers/Redaxo5Installer.phpnu ٘ 'redaxo/src/addons/{$name}/',
'bestyle-plugin' => 'redaxo/src/addons/be_style/plugins/{$name}/'
);
}
PK ]FR + src/Composer/Installers/PhiftyInstaller.phpnu ٘ 'bundles/{$name}/',
'library' => 'libraries/{$name}/',
'framework' => 'frameworks/{$name}/',
);
}
PK ]FRmH H - src/Composer/Installers/MantisBTInstaller.phpnu ٘ 'plugins/{$name}/',
);
/**
* Format package name to CamelCase
*/
public function inflectPackageVars($vars)
{
$vars['name'] = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name']));
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
return $vars;
}
}
PK ]FR,D( ( - src/Composer/Installers/KanboardInstaller.phpnu ٘ 'plugins/{$name}/',
);
}
PK ]FRBgH 5 src/Composer/Installers/ExpressionEngineInstaller.phpnu ٘ 'system/expressionengine/third_party/{$name}/',
'theme' => 'themes/third_party/{$name}/',
);
private $ee3Locations = array(
'addon' => 'system/user/addons/{$name}/',
'theme' => 'themes/user/{$name}/',
);
public function getInstallPath(PackageInterface $package, $frameworkType = '')
{
$version = "{$frameworkType}Locations";
$this->locations = $this->$version;
return parent::getInstallPath($package, $frameworkType);
}
}
PK ]FRC/ / * src/Composer/Installers/VgmcpInstaller.phpnu ٘ 'src/{$vendor}/{$name}/',
'theme' => 'themes/{$name}/'
);
/**
* Format package name.
*
* For package type vgmcp-bundle, cut off a trailing '-bundle' if present.
*
* For package type vgmcp-theme, cut off a trailing '-theme' if present.
*
*/
public function inflectPackageVars($vars)
{
if ($vars['type'] === 'vgmcp-bundle') {
return $this->inflectPluginVars($vars);
}
if ($vars['type'] === 'vgmcp-theme') {
return $this->inflectThemeVars($vars);
}
return $vars;
}
protected function inflectPluginVars($vars)
{
$vars['name'] = preg_replace('/-bundle$/', '', $vars['name']);
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
return $vars;
}
protected function inflectThemeVars($vars)
{
$vars['name'] = preg_replace('/-theme$/', '', $vars['name']);
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
return $vars;
}
}
PK ]FRg{ { .github/workflows/phpstan.ymlnu ٘ name: "PHPStan"
on:
- push
- pull_request
env:
COMPOSER_FLAGS: "--ansi --no-interaction --no-progress --prefer-dist"
SYMFONY_PHPUNIT_VERSION: ""
jobs:
tests:
name: "PHPStan"
runs-on: ubuntu-latest
strategy:
matrix:
php-version:
# pinned to 7.4 because we need PHPUnit 7.5 which does not support PHP 8
- "7.4"
steps:
- name: "Checkout"
uses: "actions/checkout@v2"
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
- name: Get composer cache directory
id: composercache
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
- name: Cache dependencies
uses: actions/cache@v2
with:
path: ${{ steps.composercache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
restore-keys: ${{ runner.os }}-composer-
- name: "Install latest dependencies"
run: "composer update ${{ env.COMPOSER_FLAGS }}"
- name: Run PHPStan
# Locked to phpunit 7.5 here as newer ones have void return types which break inheritance
run: |
composer require --dev phpunit/phpunit:^7.5.20 --with-all-dependencies ${{ env.COMPOSER_FLAGS }}
vendor/bin/phpstan analyse
PK ]FRqw& & .github/workflows/lint.ymlnu ٘ name: "PHP Lint"
on:
- push
- pull_request
jobs:
tests:
name: "Lint"
runs-on: ubuntu-latest
strategy:
matrix:
php-version:
- "5.3"
- "8.0"
steps:
- name: "Checkout"
uses: "actions/checkout@v2"
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
- name: "Lint PHP files"
run: "find src/ -type f -name '*.php' -print0 | xargs -0 -L1 -P4 -- php -l -f"
PK ]FRŗϽ+ + , .github/workflows/continuous-integration.ymlnu ٘ name: "Continuous Integration"
on:
- push
- pull_request
env:
COMPOSER_FLAGS: "--ansi --no-interaction --no-progress --prefer-dist"
SYMFONY_PHPUNIT_REMOVE_RETURN_TYPEHINT: "1"
jobs:
tests:
name: "CI"
runs-on: ubuntu-latest
strategy:
matrix:
php-version:
- "5.3"
- "5.4"
- "5.5"
- "5.6"
- "7.0"
- "7.1"
- "7.2"
- "7.3"
- "7.4"
- "8.0"
- "8.1"
dependencies: [locked]
include:
- php-version: "5.3"
dependencies: lowest
- php-version: "8.1"
dependencies: lowest
steps:
- name: "Checkout"
uses: "actions/checkout@v2"
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
- name: Get composer cache directory
id: composercache
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
- name: Cache dependencies
uses: actions/cache@v2
with:
path: ${{ steps.composercache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
restore-keys: ${{ runner.os }}-composer-
- name: "Handle lowest dependencies update"
if: "contains(matrix.dependencies, 'lowest')"
run: "echo \"COMPOSER_FLAGS=$COMPOSER_FLAGS --prefer-lowest\" >> $GITHUB_ENV"
- name: "Install latest dependencies"
run: |
# Remove PHPStan as it requires a newer PHP
composer remove phpstan/phpstan phpstan/phpstan-phpunit --dev --no-update
composer update ${{ env.COMPOSER_FLAGS }}
- name: "Run tests"
run: "vendor/bin/simple-phpunit --verbose"
PK ]FR÷f/ phpstan.neon.distnu ٘ parameters:
level: 5
paths:
- src
- tests
excludes_analyse:
- tests/Composer/Installers/Test/PolyfillTestCase.php
includes:
- vendor/phpstan/phpstan-phpunit/extension.neon
PK ]FR6& & LICENSEnu ٘ Copyright (c) 2012 Kyle Robinson Young
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished
to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.PK ]FR̊
composer.jsonnu ٘ {
"name": "composer/installers",
"type": "composer-plugin",
"license": "MIT",
"description": "A multi-framework Composer library installer",
"keywords": [
"installer",
"Aimeos",
"AGL",
"AnnotateCms",
"Attogram",
"Bitrix",
"CakePHP",
"Chef",
"Cockpit",
"CodeIgniter",
"concrete5",
"Craft",
"Croogo",
"DokuWiki",
"Dolibarr",
"Drupal",
"Elgg",
"Eliasis",
"ExpressionEngine",
"eZ Platform",
"FuelPHP",
"Grav",
"Hurad",
"ImageCMS",
"iTop",
"Joomla",
"Kanboard",
"Known",
"Kohana",
"Lan Management System",
"Laravel",
"Lavalite",
"Lithium",
"Magento",
"majima",
"Mako",
"MantisBT",
"Mautic",
"Maya",
"MODX",
"MODX Evo",
"MediaWiki",
"Miaoxing",
"OXID",
"osclass",
"MODULEWork",
"Moodle",
"Piwik",
"pxcms",
"phpBB",
"Plentymarkets",
"PPI",
"Puppet",
"Porto",
"ProcessWire",
"RadPHP",
"ReIndex",
"Roundcube",
"shopware",
"SilverStripe",
"SMF",
"Starbug",
"SyDES",
"Sylius",
"symfony",
"TastyIgniter",
"Thelia",
"TYPO3",
"WHMCS",
"WolfCMS",
"WordPress",
"YAWIK",
"Zend",
"Zikula"
],
"homepage": "https://composer.github.io/installers/",
"authors": [
{
"name": "Kyle Robinson Young",
"email": "kyle@dontkry.com",
"homepage": "https://github.com/shama"
}
],
"autoload": {
"psr-4": { "Composer\\Installers\\": "src/Composer/Installers" }
},
"autoload-dev": {
"psr-4": { "Composer\\Installers\\Test\\": "tests/Composer/Installers/Test" }
},
"extra": {
"class": "Composer\\Installers\\Plugin",
"branch-alias": {
"dev-main": "1.x-dev"
}
},
"replace": {
"shama/baton": "*",
"roundcube/plugin-installer": "*"
},
"require": {
"composer-plugin-api": "^1.0 || ^2.0"
},
"require-dev": {
"composer/composer": "1.6.* || ^2.0",
"composer/semver": "^1 || ^3",
"symfony/phpunit-bridge": "^4.2 || ^5",
"phpstan/phpstan": "^0.12.55",
"symfony/process": "^2.3",
"phpstan/phpstan-phpunit": "^0.12.16"
},
"scripts": {
"test": "SYMFONY_PHPUNIT_REMOVE_RETURN_TYPEHINT=1 vendor/bin/simple-phpunit",
"phpstan": "vendor/bin/phpstan analyse"
}
}
PK ]FR7to src/bootstrap.phpnu ٘ PK ]FR^ + src/Composer/Installers/ZikulaInstaller.phpnu ٘ PK ]FR&C<, , + Q src/Composer/Installers/MoodleInstaller.phpnu ٘ PK ]FR]h ) src/Composer/Installers/ZendInstaller.phpnu ٘ PK ]FRM ( / src/Composer/Installers/TaoInstaller.phpnu ٘ PK ]FR ) src/Composer/Installers/MayaInstaller.phpnu ٘ PK ]FRjn n .
src/Composer/Installers/Concrete5Installer.phpnu ٘ PK ]FR>H - src/Composer/Installers/LavaLiteInstaller.phpnu ٘ PK ]FR 1 8 src/Composer/Installers/LanManagementSystemInstaller.phpnu ٘ PK ]FRy* , U src/Composer/Installers/FuelphpInstaller.phpnu ٘ PK ]FRږ + ` src/Composer/Installers/SyliusInstaller.phpnu ٘ PK ]FR_ , ` src/Composer/Installers/CiviCrmInstaller.phpnu ٘ PK ]FRO + _! src/Composer/Installers/PuppetInstaller.phpnu ٘ PK ]FR6B ) c" src/Composer/Installers/ItopInstaller.phpnu ٘ PK ]FR , j# src/Composer/Installers/ReIndexInstaller.phpnu ٘ PK ]FRh0 , $ src/Composer/Installers/PimcoreInstaller.phpnu ٘ PK ]FR/J 6 ' src/Composer/Installers/ClanCatsFrameworkInstaller.phpnu ٘ PK ]FRڃŕ + R( src/Composer/Installers/MauticInstaller.phpnu ٘ PK ]FRg i * B- src/Composer/Installers/PiwikInstaller.phpnu ٘ PK ]FR?`7 , U0 src/Composer/Installers/DecibelInstaller.phpnu ٘ PK ]FR= / k1 src/Composer/Installers/MicroweberInstaller.phpnu ٘ PK ]FR@я1 1 , B src/Composer/Installers/EliasisInstaller.phpnu ٘ PK ]FR? ) 7D src/Composer/Installers/MakoInstaller.phpnu ٘ PK ]FR7 / ;E src/Composer/Installers/SiteDirectInstaller.phpnu ٘ PK ]FR - (H src/Composer/Installers/DokuWikiInstaller.phpnu ٘ PK ]FR84 ( qM src/Composer/Installers/SMFInstaller.phpnu ٘ PK ]FR|X]D . N src/Composer/Installers/RoundcubeInstaller.phpnu ٘ PK ]FRW& & * P src/Composer/Installers/CraftInstaller.phpnu ٘ PK ]FRb| 2 :T src/Composer/Installers/PlentymarketsInstaller.phpnu ٘ PK ]FRlκT T . eW src/Composer/Installers/WordPressInstaller.phpnu ٘ PK ]FRidΦ * Y src/Composer/Installers/YawikInstaller.phpnu ٘ PK ]FR / \ src/Composer/Installers/PrestashopInstaller.phpnu ٘ PK ]FRKB,c c + H] src/Composer/Installers/DrupalInstaller.phpnu ٘ PK ]FRfn n - a src/Composer/Installers/ShopwareInstaller.phpnu ٘ PK ]FR2 * g src/Composer/Installers/PortoInstaller.phpnu ٘ PK ]FRLF F * h src/Composer/Installers/WHMCSInstaller.phpnu ٘ PK ]FRNn3 , {l src/Composer/Installers/LaravelInstaller.phpnu ٘ PK ]FR( + m src/Composer/Installers/TheliaInstaller.phpnu ٘ PK ]FRɽ] ) ao src/Composer/Installers/ChefInstaller.phpnu ٘ PK ]FR*p ) p src/Composer/Installers/ElggInstaller.phpnu ٘ PK ]FR0nb b - q src/Composer/Installers/DolibarrInstaller.phpnu ٘ PK ]FR8} } - Qs src/Composer/Installers/TYPO3CmsInstaller.phpnu ٘ PK ]FRG * +u src/Composer/Installers/KirbyInstaller.phpnu ٘ PK ]FR2 0 v src/Composer/Installers/AnnotateCmsInstaller.phpnu ٘ PK ]FR!u\ - x src/Composer/Installers/BonefishInstaller.phpnu ٘ PK ]FRNÄ + y src/Composer/Installers/KohanaInstaller.phpnu ٘ PK ]FRP7B B + z src/Composer/Installers/MajimaInstaller.phpnu ٘ PK ]FR
1 1 , } src/Composer/Installers/StarbugInstaller.phpnu ٘ PK ]FRA> 1 H src/Composer/Installers/UserFrostingInstaller.phpnu ٘ PK ]FR۳' ' , ^ src/Composer/Installers/OsclassInstaller.phpnu ٘ PK ]FR.k k 1 src/Composer/Installers/TastyIgniterInstaller.phpnu ٘ PK ]FRk + src/Composer/Installers/RedaxoInstaller.phpnu ٘ PK ]FRt , src/Composer/Installers/VanillaInstaller.phpnu ٘ PK ]FR:T6 / D src/Composer/Installers/EzPlatformInstaller.phpnu ٘ PK ]FR"wس + src/Composer/Installers/DframeInstaller.phpnu ٘ PK ]FRġ( ( % src/Composer/Installers/Installer.phpnu ٘ PK ]FRW W 1 src/Composer/Installers/SilverStripeInstaller.phpnu ٘ PK ]FR}ۗ ) u src/Composer/Installers/OxidInstaller.phpnu ٘ PK ]FRwc ( x src/Composer/Installers/AglInstaller.phpnu ٘ PK ]FRBq + src/Composer/Installers/JoomlaInstaller.phpnu ٘ PK ]FR]%: ) src/Composer/Installers/GravInstaller.phpnu ٘ PK ]FRÚ ) src/Composer/Installers/TuskInstaller.phpnu ٘ PK ]FRE3 - src/Composer/Installers/OntoWikiInstaller.phpnu ٘ PK ]FR
.. . + src/Composer/Installers/AsgardInstaller.phpnu ٘ PK ]FRr - \ src/Composer/Installers/MiaoxingInstaller.phpnu ٘ PK ]FR) o , c src/Composer/Installers/LithiumInstaller.phpnu ٘ PK ]FRMNY$ $ - src/Composer/Installers/ImageCMSInstaller.phpnu ٘ PK ]FR' + src/Composer/Installers/AimeosInstaller.phpnu ٘ PK ]FR]wm6 6 - ! src/Composer/Installers/Symfony1Installer.phpnu ٘ PK ]FR , src/Composer/Installers/OctoberInstaller.phpnu ٘ PK ]FR=?+ + 0 src/Composer/Installers/ProcessWireInstaller.phpnu ٘ PK ]FRV , src/Composer/Installers/MagentoInstaller.phpnu ٘ PK ]FRL( , src/Composer/Installers/CakePHPInstaller.phpnu ٘ PK ]FRPb + U src/Composer/Installers/RadPHPInstaller.phpnu ٘ PK ]FRYg; - C src/Composer/Installers/AttogramInstaller.phpnu ٘ PK ]FRU , I src/Composer/Installers/MODXEvoInstaller.phpnu ٘ PK ]FRx ) src/Composer/Installers/ModxInstaller.phpnu ٘ PK ]FRef + src/Composer/Installers/WinterInstaller.phpnu ٘ PK ]FRWA5 5 0 src/Composer/Installers/CodeIgniterInstaller.phpnu ٘ PK ]FR " src/Composer/Installers/Plugin.phpnu ٘ PK ]FR9' ( _ src/Composer/Installers/PPIInstaller.phpnu ٘ PK ]FRI0 * [ src/Composer/Installers/PhpBBInstaller.phpnu ٘ PK ]FRYV / src/Composer/Installers/MODULEWorkInstaller.phpnu ٘ PK ]FRf , src/Composer/Installers/WolfCMSInstaller.phpnu ٘ PK ]FR * src/Composer/Installers/PxcmsInstaller.phpnu ٘ PK ]FR[ + src/Composer/Installers/CroogoInstaller.phpnu ٘ PK ]FR tڙ , X src/Composer/Installers/CockpitInstaller.phpnu ٘ PK ]FR3 + M src/Composer/Installers/BitrixInstaller.phpnu ٘ PK ]FRW[ , Q src/Composer/Installers/KodiCMSInstaller.phpnu ٘ PK ]FR?t> ) src/Composer/Installers/FuelInstaller.phpnu ٘ PK ]FRd * src/Composer/Installers/KnownInstaller.phpnu ٘ PK ]FR# * S! src/Composer/Installers/SyDESInstaller.phpnu ٘ PK ]FR * a& src/Composer/Installers/HuradInstaller.phpnu ٘ PK ]FR2Q . y) src/Composer/Installers/MediaWikiInstaller.phpnu ٘ PK ]FRe<0 ) . src/Composer/Installers/BaseInstaller.phpnu ٘ PK ]FR . -? src/Composer/Installers/TYPO3FlowInstaller.phpnu ٘ PK ]FRz , KD src/Composer/Installers/Redaxo5Installer.phpnu ٘ PK ]FR + E src/Composer/Installers/PhiftyInstaller.phpnu ٘ PK ]FRmH H - G src/Composer/Installers/MantisBTInstaller.phpnu ٘ PK ]FR,D( ( - I src/Composer/Installers/KanboardInstaller.phpnu ٘ PK ]FRBgH 5 0K src/Composer/Installers/ExpressionEngineInstaller.phpnu ٘ PK ]FRC/ / * qN src/Composer/Installers/VgmcpInstaller.phpnu ٘ PK ]FRg{ { S .github/workflows/phpstan.ymlnu ٘ PK ]FRqw& & Y .github/workflows/lint.ymlnu ٘ PK ]FRŗϽ+ + , 2\ .github/workflows/continuous-integration.ymlnu ٘ PK ]FR÷f/ c phpstan.neon.distnu ٘ PK ]FR6& & d LICENSEnu ٘ PK ]FR̊
,i composer.jsonnu ٘ PK l l , Jt