$sources = ['build' => $root . '_build/', 'data' => $root . '_build/data/', 'plugins' => $root . 'core/components/' . PKG_NAME_LOWER . '/elements/plugins/', 'docs' => $root . 'docs/', 'resolvers' => $root . '_build/resolvers/', 'validators' => $root . '_build/validators/', 'core' => ['components/slackify/']]; $signature = join('-', [PKG_NAME_LOWER, PKG_VERSION, PKG_RELEASE]); $directory = $root . '_packages/'; //$directory = __DIR__ . '/../../../core/packages/'; // local place $filename = $directory . $signature . '.transport.zip'; if (file_exists($filename)) { unlink($filename); } if (file_exists($directory . $signature) && is_dir($directory . $signature)) { $cacheManager = $xpdo->getCacheManager(); if ($cacheManager) { $cacheManager->deleteTree($directory . $signature, true, false, []); } } $package = new xPDOTransport($xpdo, $signature, $directory); $namespace = new modNamespace($xpdo); $namespace->fromArray(['id' => PKG_NAME_LOWER, 'name' => PKG_NAME_LOWER, 'path' => '{core_path}components/' . PKG_NAME_LOWER . '/']); $package->put($namespace, [xPDOTransport::UNIQUE_KEY => 'name', xPDOTransport::PRESERVE_KEYS => true, xPDOTransport::UPDATE_OBJECT => true, xPDOTransport::RESOLVE_FILES => true, xPDOTransport::RESOLVE_PHP => true, xPDOTransport::NATIVE_KEY => PKG_NAME_LOWER, 'namespace' => PKG_NAME_LOWER, 'package' => 'modx', 'resolve' => null, 'validate' => null]); $settings = (include $sources['data'] . 'transport.settings.php'); foreach ($settings as $setting) { $package->put($setting, [xPDOTransport::UNIQUE_KEY => 'key', xPDOTransport::PRESERVE_KEYS => true, xPDOTransport::UPDATE_OBJECT => true, 'class' => 'modSystemSetting', 'resolve' => null, 'validate' => null, 'package' => 'modx']); } $validators = []; array_push($validators, ['type' => 'php', 'source' => $sources['validators'] . 'validate.phpversion.php']); $resolvers = []; foreach ($sources['core'] as $file) { $directory = dirname($file); array_push($resolvers, ['type' => 'file', 'source' => $root . 'core/' . $file, 'target' => "return MODX_CORE_PATH . '{$directory}/';"]); } array_push($resolvers, ['type' => 'php', 'source' => $sources['resolvers'] . 'resolve.extension.php'], ['type' => 'php', 'source' => $sources['resolvers'] . 'resolve.settings.php']); $category = new modCategory($xpdo);
/** * @return void */ public function logManagerAction() { $this->modx->logManagerAction('namespace_remove', 'modNamespace', $this->namespace->get('name')); }