当前位置: 首页>>代码示例>>PHP>>正文


PHP modPackageBuilder::createPackage方法代码示例

本文整理汇总了PHP中modPackageBuilder::createPackage方法的典型用法代码示例。如果您正苦于以下问题:PHP modPackageBuilder::createPackage方法的具体用法?PHP modPackageBuilder::createPackage怎么用?PHP modPackageBuilder::createPackage使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在modPackageBuilder的用法示例。


在下文中一共展示了modPackageBuilder::createPackage方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: dirname

$root = dirname(dirname(__FILE__)) . '/';
$sources = array('root' => $root, 'build' => $root . '_build/', 'data' => $root . '_build/data/', 'resolvers' => $root . '_build/resolvers/', 'chunks' => $root . 'core/components/' . PKG_NAME_LOWER . '/chunks/', 'lexicon' => $root . 'core/components/' . PKG_NAME_LOWER . '/lexicon/', 'docs' => $root . 'core/components/' . PKG_NAME_LOWER . '/docs/', 'elements' => $root . 'core/components/' . PKG_NAME_LOWER . '/elements/', 'source_assets' => $root . 'assets/components/' . PKG_NAME_LOWER, 'source_core' => $root . 'core/components/' . PKG_NAME_LOWER);
unset($root);
/* override with your own defines here (see build.config.sample.php) */
require_once $sources['build'] . 'build.config.php';
require_once MODX_CORE_PATH . 'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('mgr');
echo '<pre>';
/* used for nice formatting of log messages */
$modx->setLogLevel(modX::LOG_LEVEL_INFO);
$modx->setLogTarget('ECHO');
$modx->loadClass('transport.modPackageBuilder', '', false, true);
$builder = new modPackageBuilder($modx);
$builder->directory = dirname(dirname(__FILE__)) . '/_package/';
$builder->createPackage(PKG_EXTRA_NAME, PKG_VERSION, PKG_RELEASE);
$builder->registerNamespace(PKG_NAME_LOWER, false, true, '{core_path}components/' . PKG_NAME_LOWER . '/');
//-- CREATE THE CATEGORY OBJECT
$category = $modx->newObject('modCategory');
$category->set('id', 1);
$category->set('category', PKG_NAME);
/* add snippets */
$modx->log(modX::LOG_LEVEL_INFO, 'Packaging in snippets...');
$snippets = (include $sources['data'] . 'transport.snippets.php');
if (empty($snippets)) {
    $modx->log(modX::LOG_LEVEL_ERROR, 'Could not package in snippets.');
}
$category->addMany($snippets);
/* add chunks */
$chunks = (include $sources['data'] . 'transport.chunks.php');
if (is_array($chunks)) {
开发者ID:jpdevries,项目名称:mxCalendar,代码行数:31,代码来源:build.transport.php

示例2: dirname

unset($root); /* save memory */

require_once dirname(dirname(dirname(__FILE__))) . '/core/config/config.inc.php';

define('MODX_CONFIG_KEY','config');

require_once MODX_CORE_PATH . 'model/modx/modx.class.php';

$modx= new modX();
$modx->initialize('mgr');
$modx->setLogLevel(modX::LOG_LEVEL_INFO);
$modx->setLogTarget(XPDO_CLI_MODE ? 'ECHO' : 'HTML');

$modx->loadClass('transport.modPackageBuilder','',false, true);
$builder = new modPackageBuilder($modx);
$builder->createPackage('visioncart', '0.6.1', 'rc4');
$builder->registerNamespace('visioncart', false, true, '{core_path}components/visioncart/');
 
// Add system settings
require_once(dirname(__FILE__).'/builder.systemsettings.php');

// Add system settings
require_once(dirname(__FILE__).'/builder.plugins.php');

// Add categories+snippets+chunks and create file vehicle
require_once(dirname(__FILE__).'/builder.categories.php');

// Add files to the category vehicle and put the category vehicle into the builder
require_once(dirname(__FILE__).'/builder.files.php');

// Add modMenu and modAction
开发者ID:rtripault,项目名称:VisionCart,代码行数:31,代码来源:build.transport.php

示例3: dirname

$root = dirname(dirname(__FILE__)) . '/';
$sources = array('root' => $root, 'build' => $root . '_build/', 'data' => $root . '_build/data/', 'resolvers' => $root . '_build/resolvers/', 'chunks' => $root . 'core/components/' . PKG_NAME_LOWER . '/elements/chunks/', 'snippets' => $root . 'core/components/' . PKG_NAME_LOWER . '/elements/snippets/', 'plugins' => $root . 'core/components/' . PKG_NAME_LOWER . '/elements/plugins/', 'lexicon' => $root . 'core/components/' . PKG_NAME_LOWER . '/lexicon/', 'docs' => $root . 'core/components/' . PKG_NAME_LOWER . '/docs/', 'pages' => $root . 'core/components/' . PKG_NAME_LOWER . '/elements/pages/', 'source_assets' => $root . 'assets/components/' . PKG_NAME_LOWER, 'source_core' => $root . 'core/components/' . PKG_NAME_LOWER);
unset($root);
require_once MODX_CORE_PATH . 'model/modx/modx.class.php';
require_once $sources['build'] . '/includes/functions.php';
$modx = new modX();
$modx->initialize('mgr');
$modx->setLogLevel(modX::LOG_LEVEL_INFO);
$modx->setLogTarget('ECHO');
$modx->getService('error', 'error.modError');
$modx->loadClass('transport.modPackageBuilder', '', false, true);
if (!XPDO_CLI_MODE) {
    echo '<pre>';
}
$builder = new modPackageBuilder($modx);
$builder->createPackage(PKG_NAME_LOWER, PKG_VERSION, PKG_RELEASE);
$builder->registerNamespace(PKG_NAME_LOWER, false, true, PKG_NAMESPACE_PATH);
$modx->log(modX::LOG_LEVEL_INFO, 'Created Transport Package and Namespace.');
/* load system settings */
if (defined('BUILD_SETTING_UPDATE')) {
    $settings = (include $sources['data'] . 'transport.settings.php');
    if (!is_array($settings)) {
        $modx->log(modX::LOG_LEVEL_ERROR, 'Could not package in settings.');
    } else {
        $attributes = array(xPDOTransport::UNIQUE_KEY => 'key', xPDOTransport::PRESERVE_KEYS => true, xPDOTransport::UPDATE_OBJECT => BUILD_SETTING_UPDATE);
        foreach ($settings as $setting) {
            $vehicle = $builder->createVehicle($setting, $attributes);
            $builder->putVehicle($vehicle);
        }
        $modx->log(modX::LOG_LEVEL_INFO, 'Packaged in ' . count($settings) . ' System Settings.');
    }
开发者ID:Homchenkokostya,项目名称:simpleUpdater,代码行数:31,代码来源:build.transport.php

示例4: modPackageBuilder

 $modx->log(modX::LOG_LEVEL_INFO, "assets_path=" . $assets_path);
 $modx->log(modX::LOG_LEVEL_INFO, "manager_path=" . $manager_path);
 $modx->log(modX::LOG_LEVEL_INFO, "base_path=" . $base_path);
 $modx->loadClass('transport.modPackageBuilder', '', false, true);
 $builder = new modPackageBuilder($modx);
 /** @var modWorkspace $workspace */
 $workspace = $modx->getObject('modWorkspace', 1);
 if (!$workspace) {
     $modx->log(modX::LOG_LEVEL_FATAL, "no workspace!");
 }
 if (!defined('PKG_NAME')) {
     define('PKG_NAME', $modx->getOption('http_host', $options, 'cloud_import'));
 }
 define('PKG_VERSION', strftime("%y%m%d.%H%M.%S", $startTime));
 define('PKG_RELEASE', $modxVersion);
 $package = $builder->createPackage(PKG_NAME, PKG_VERSION, PKG_RELEASE);
 /* Defines the classes to extract (also used for truncation) */
 $classes = array('modAccessAction', 'modAccessActionDom', 'modAccessCategory', 'modAccessContext', 'modAccessElement', 'modAccessMenu', 'modAccessPermission', 'modAccessPolicy', 'modAccessPolicyTemplate', 'modAccessPolicyTemplateGroup', 'modAccessResource', 'modAccessResourceGroup', 'modAccessTemplateVar', 'modAction', 'modActionDom', 'modActionField', 'modActiveUser', 'modCategory', 'modCategoryClosure', 'modChunk', 'modClassMap', 'modContentType', 'modContext', 'modContextResource', 'modContextSetting', 'modElementPropertySet', 'modEvent', 'modFormCustomizationProfile', 'modFormCustomizationProfileUserGroup', 'modFormCustomizationSet', 'modLexiconEntry', 'modManagerLog', 'modMenu', 'modNamespace', 'modPlugin', 'modPluginEvent', 'modPropertySet', 'modResource', 'modResourceGroup', 'modResourceGroupResource', 'modSession', 'modSnippet', 'modSystemSetting', 'modTemplate', 'modTemplateVar', 'modTemplateVarResource', 'modTemplateVarResourceGroup', 'modTemplateVarTemplate', 'modUser', 'modUserProfile', 'modUserGroup', 'modUserGroupMember', 'modUserGroupRole', 'modUserMessage', 'modUserSetting', 'modWorkspace', 'registry.db.modDbRegisterMessage', 'registry.db.modDbRegisterTopic', 'registry.db.modDbRegisterQueue', 'transport.modTransportProvider', 'transport.modTransportPackage');
 if (version_compare($modxVersion, '2.2.0', '>=')) {
     array_push($classes, 'modDashboard', 'modDashboardWidget', 'modDashboardWidgetPlacement', 'sources.modAccessMediaSource', 'sources.modMediaSource', 'sources.modMediaSourceElement', 'sources.modMediaSourceContext');
 }
 $attributes = array('vehicle_class' => 'xPDOFileVehicle');
 /* get all files from the components directory */
 $modx->log(modX::LOG_LEVEL_INFO, "Packaging " . MODX_CORE_PATH . 'components');
 $package->put(array('source' => MODX_CORE_PATH . 'components', 'target' => 'return MODX_CORE_PATH;'), array('vehicle_class' => 'xPDOFileVehicle'));
 /* get all files from the assets directory */
 $modx->log(modX::LOG_LEVEL_INFO, "Packaging " . MODX_BASE_PATH . 'assets');
 $package->put(array('source' => MODX_BASE_PATH . 'assets', 'target' => 'return MODX_BASE_PATH;'), array('vehicle_class' => 'xPDOFileVehicle'));
 /* get all files from the manager/components directory */
 $modx->log(modX::LOG_LEVEL_INFO, "Packaging " . MODX_MANAGER_PATH . 'components');
 $package->put(array('source' => MODX_MANAGER_PATH . 'components', 'target' => 'return MODX_MANAGER_PATH;'), array('vehicle_class' => 'xPDOFileVehicle'));
开发者ID:Tramp1357,项目名称:atlasorg,代码行数:31,代码来源:vapor.php

示例5: explode

$mtime = explode(" ", $mtime);
$mtime = $mtime[1] + $mtime[0];
$tstart = $mtime;
set_time_limit(0);
$root = dirname(dirname(__FILE__)) . '/';
$sources = array('root' => $root, 'build' => $root . '_build/', 'elements' => $root . 'core/components/debugtoolbar/elements/', 'data' => $root . '_build/data/', 'source_core' => $root . 'core/components/debugtoolbar', 'source_assets' => $root . 'assets/components/debugtoolbar');
unset($root);
require_once dirname(__FILE__) . '/build.config.php';
require_once MODX_CORE_PATH . 'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('mgr');
$modx->setLogLevel(modX::LOG_LEVEL_INFO);
$modx->setLogTarget(XPDO_CLI_MODE ? 'ECHO' : 'HTML');
$modx->loadClass('transport.modPackageBuilder', '', false, true);
$builder = new modPackageBuilder($modx);
$builder->createPackage('debugtoolbar', '0.1', 'alpha');
$builder->registerNamespace('debugtoolbar', false, true, '{core_path}components/debugtoolbar/');
$settings = (include $sources['data'] . 'transport.settings.php');
$attributes = array(xPDOTransport::UNIQUE_KEY => 'key', xPDOTransport::PRESERVE_KEYS => true, xPDOTransport::UPDATE_OBJECT => false);
foreach ($settings as $setting) {
    $vehicle = $builder->createVehicle($setting, $attributes);
    $builder->putVehicle($vehicle);
}
unset($settings, $setting, $attributes);
$category = $modx->newObject('modCategory');
$category->set('category', 'DebugToolbar');
$plugins = (include $sources['data'] . 'transport.plugins.php');
if (!is_array($plugins)) {
    $modx->log(modX::LOG_LEVEL_FATAL, 'Adding plugins failed.');
}
$attributes = array(xPDOTransport::UNIQUE_KEY => 'name', xPDOTransport::PRESERVE_KEYS => false, xPDOTransport::UPDATE_OBJECT => true, xPDOTransport::RELATED_OBJECTS => true, xPDOTransport::RELATED_OBJECT_ATTRIBUTES => array('PluginEvents' => array(xPDOTransport::PRESERVE_KEYS => true, xPDOTransport::UPDATE_OBJECT => false, xPDOTransport::UNIQUE_KEY => array('pluginid', 'event'))));
开发者ID:bonzaza,项目名称:DebugToolbar,代码行数:31,代码来源:build.transport.php

示例6: array

define('MODX_ROOT', $root);
$sources = array('root' => $root, 'build' => $root . '_build/', 'data' => $root . '_build/data/', 'resolvers' => $root . '_build/resolvers/', 'validators' => $root . '_build/validators/', 'subpackages' => $root . '_build/subpackages/', 'chunks' => $root . 'core/components/' . PKG_ABBR . '/elements/chunks/', 'snippets' => $root . 'core/components/' . PKG_ABBR . '/elements/snippets/', 'plugins' => $root . 'core/components/' . PKG_ABBR . '/elements/plugins/', 'lexicon' => $root . 'core/components/' . PKG_ABBR . '/lexicon/', 'docs' => $root . 'core/components/' . PKG_ABBR . '/docs/', 'pages' => $root . 'core/components/' . PKG_ABBR . '/elements/pages/', 'source_assets' => $root . 'assets/components/' . PKG_ABBR, 'source_core' => $root . 'core/components/' . PKG_ABBR);
unset($root);
/* override with your own defines here (see build.config.sample.php) */
require_once $sources['build'] . '/build.config.php';
require_once MODX_CORE_PATH . 'model/modx/modx.class.php';
require_once $sources['build'] . '/includes/functions.php';
$modx = new modX();
$modx->initialize('mgr');
echo '<pre>';
/* used for nice formatting of log messages */
$modx->setLogLevel(modX::LOG_LEVEL_INFO);
$modx->setLogTarget('ECHO');
$modx->loadClass('transport.modPackageBuilder', '', false, true);
$builder = new modPackageBuilder($modx);
$builder->createPackage(PKG_ABBR, PKG_VERSION, PKG_RELEASE);
$builder->registerNamespace(PKG_ABBR, false, true, '{core_path}components/' . PKG_ABBR . '/');
$modx->log(modX::LOG_LEVEL_INFO, 'Created Transport Package and Namespace.');
/* create category */
$category = $modx->newObject('modCategory');
$category->set('id', 1);
$category->set('category', PKG_NAME);
/* add subpackages */
$success = (include $sources['data'] . 'transport.subpackages.php');
if (!$success) {
    $modx->log(modX::LOG_LEVEL_FATAL, 'Adding subpackages failed.');
}
$modx->log(modX::LOG_LEVEL_INFO, 'Added in subpackages.');
flush();
unset($success);
/* add chunks */
开发者ID:doksec,项目名称:formz,代码行数:31,代码来源:build.transport.php

示例7: dirname

/* get rid of time limit */
set_time_limit(0);
$root = dirname(dirname(__FILE__)) . '/';
$sources = array('root' => $root, 'build' => $root . '_build/', 'data' => $root . '_build/data/', 'docs' => $root . 'core/components/wayfinder/docs/', 'source_core' => $root . 'core/components/wayfinder');
/* override with your own defines here (see build.config.sample.php) */
require_once $sources['build'] . 'build.config.php';
require_once MODX_CORE_PATH . 'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('mgr');
echo '<pre>';
/* used for nice formatting of log messages */
$modx->setLogLevel(modX::LOG_LEVEL_INFO);
$modx->setLogTarget('ECHO');
$modx->loadClass('transport.modPackageBuilder', '', false, true);
$builder = new modPackageBuilder($modx);
$builder->createPackage('wayfinder', '2.1.1', 'rc1');
$builder->registerNamespace('wayfinder', false, true, '{core_path}components/wayfinder/');
/* get the source from the actual snippet in your database
 * [alternative] you could also manually create the object, grabbing the source
 * from a file
 */
$c = $modx->newObject('modSnippet');
$c->set('id', 1);
$c->set('name', 'Wayfinder');
$c->set('description', 'Wayfinder for MODx Revolution 2.0.0-beta-5 and later.');
$c->set('snippet', file_get_contents($sources['source_core'] . '/wayfinder.snippet.php'));
$c->set('category', 0);
$properties = (include $sources['data'] . 'properties.inc.php');
$c->setProperties($properties, true);
$attributes = array(xPDOTransport::UNIQUE_KEY => 'name', xPDOTransport::PRESERVE_KEYS => false, xPDOTransport::UPDATE_OBJECT => true);
$vehicle = $builder->createVehicle($c, $attributes);
开发者ID:Bruno17,项目名称:Wayfinder,代码行数:31,代码来源:build.transport.php

示例8: dirname

require_once dirname(__FILE__) . '/build.config.php';
require_once MODX_CORE_PATH . 'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('mgr');
$modx->setDebug(false);
$modx->setLogLevel(modX::LOG_LEVEL_INFO);
echo '<pre>';
$modx->setLogTarget('ECHO');
error_reporting(E_ALL);
ini_set('display_errors', true);
$name = 'provisioner';
$version = '1.1.0';
$release = 'pl';
$modx->loadClass('transport.modPackageBuilder', '', false, true);
$builder = new modPackageBuilder($modx);
$builder->createPackage($name, $version, $release);
$builder->registerNamespace('provisioner', false, true, '{core_path}components/provisioner/');
$base = dirname(dirname(__FILE__)) . '/';
$sources = array('root' => $base, 'assets' => $base . 'assets/components/provisioner/', 'docs' => $base . 'assets/components/provisioner/docs/', 'core' => $base . 'core/components/provisioner/', 'lexicon' => $base . 'core/components/provisioner/lexicon/', 'model' => $base . 'core/components/provisioner/model/', 'templates' => $base . 'core/components/provisioner/templates/', 'build' => $base . '_build/', 'data' => $base . '_build/data/', 'resolvers' => $base . '_build/resolvers/', 'source_core' => $base . 'core/components/provisioner', 'source_assets' => $base . 'assets/components/provisioner');
unset($base);
$vehicles = array();
/* ACTIONS */
$menu = (require_once $sources['data'] . 'actions.data.php');
if (!$menu) {
    $modx->log(xPDO::LOG_LEVEL_FATAL, 'Menu not found!');
}
$attr = array(xPDOTransport::PRESERVE_KEYS => true, xPDOTransport::UPDATE_OBJECT => true, xPDOTransport::UNIQUE_KEY => 'text', xPDOTransport::RELATED_OBJECTS => true, xPDOTransport::RELATED_OBJECT_ATTRIBUTES => array('Action' => array(xPDOTransport::PRESERVE_KEYS => false, xPDOTransport::UPDATE_OBJECT => true, xPDOTransport::UNIQUE_KEY => array('namespace', 'controller'))));
$vehicle = $builder->createVehicle($menu, $attr);
$vehicles[] = $vehicle;
/* SETTINGS */
require_once $sources['data'] . 'settings.data.php';
开发者ID:DarWiM,项目名称:provisoner,代码行数:31,代码来源:build.transport.php

示例9: modPackageBuilder

/**
 * @package modx
 * @subpackage processors.workspace.builder
 */
$modx->lexicon->load('workspace', 'package_builder');
if (!$modx->hasPermission('package_builder')) {
    return $modx->error->failure($modx->lexicon('permission_denied'));
}
$_PACKAGE =& $_SESSION['modx.pb'];
/* load the modPackageBuilder class and get an instance */
$modx->log(MODX_LOG_LEVEL_INFO, 'Loading package builder.');
$modx->loadClass('transport.modPackageBuilder', '', false, true);
$builder = new modPackageBuilder($modx);
/* create a new package */
$modx->log(MODX_LOG_LEVEL_INFO, 'Creating a new package: ' . $_PACKAGE['name'] . '-' . $_PACKAGE['version'] . '-' . $_PACKAGE['release']);
$builder->createPackage($_PACKAGE['name'], $_PACKAGE['version'], $_PACKAGE['release']);
$builder->registerNamespace($_PACKAGE['namespace'], $_PACKAGE['autoselects']);
/* define some locations for file resources */
$sources = array('root' => dirname(dirname(__FILE__)) . '/', 'assets' => dirname(dirname(__FILE__)) . '/assets/');
/* set up some default attributes that define install behavior */
$attributes = array(xPDOTransport::UNIQUE_KEY => 'name', xPDOTransport::PRESERVE_KEYS => false, xPDOTransport::UPDATE_OBJECT => true, xPDOTransport::RESOLVE_FILES => true, xPDOTransport::RESOLVE_PHP => true);
$modx->log(modX::LOG_LEVEL_INFO, 'Loading vehicles into package.');
foreach ($_PACKAGE['vehicles'] as $vehicle) {
    $c = $modx->getObject($vehicle['class_key'], $vehicle['object']);
    if ($c == null) {
        continue;
    }
    if (!isset($vehicle['attributes'])) {
        $vehicle['attributes'] = array();
    }
    $attr = array_merge($attributes, $vehicle['attributes']);
开发者ID:JoeBlow,项目名称:revolution,代码行数:31,代码来源:build.php

示例10: dirname

$mtime = $mtime[1] + $mtime[0];
$tstart = $mtime;
set_time_limit(0);
$root = dirname(dirname(__FILE__)) . '/';
$sources = array('root' => $root, 'build' => $root . '_build/', 'lexicon' => $root . '_build/lexicon/', 'resolvers' => $root . '_build/resolvers/', 'data' => $root . '_build/data/', 'source_core' => $root . 'core/components/xflickr', 'source_assets' => $root . 'assets/components/xflickr', 'docs' => $root . 'core/components/xflickr/docs/');
unset($root);
/* override with your own defines here (see build.config.sample.php) */
require_once dirname(__FILE__) . '/build.config.php';
require_once MODX_CORE_PATH . 'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('mgr');
$modx->setLogLevel(MODX_LOG_LEVEL_INFO);
$modx->setLogTarget(XPDO_CLI_MODE ? 'ECHO' : 'HTML');
$modx->loadClass('transport.modPackageBuilder', '', false, true);
$builder = new modPackageBuilder($modx);
$builder->createPackage('xflickr', '0.1', 'alpha1');
$builder->registerNamespace('xflickr', false, true, '{core_path}components/xflickr/');
/* load action/menu */
$menu = (include $sources['data'] . 'transport.menu.php');
$vehicle = $builder->createVehicle($menu, array(XPDO_TRANSPORT_PRESERVE_KEYS => true, XPDO_TRANSPORT_UPDATE_OBJECT => true, XPDO_TRANSPORT_UNIQUE_KEY => 'text', XPDO_TRANSPORT_RELATED_OBJECTS => true, XPDO_TRANSPORT_RELATED_OBJECT_ATTRIBUTES => array('Action' => array(XPDO_TRANSPORT_PRESERVE_KEYS => false, XPDO_TRANSPORT_UPDATE_OBJECT => true, XPDO_TRANSPORT_UNIQUE_KEY => array('namespace', 'controller')))));
$builder->putVehicle($vehicle);
unset($vehicle, $action);
/* load system settings */
$settings = array();
include_once $sources['data'] . 'transport.settings.php';
$attributes = array(XPDO_TRANSPORT_UNIQUE_KEY => 'key', XPDO_TRANSPORT_PRESERVE_KEYS => true, XPDO_TRANSPORT_UPDATE_OBJECT => false);
foreach ($settings as $setting) {
    $vehicle = $builder->createVehicle($setting, $attributes);
    $builder->putVehicle($vehicle);
}
unset($settings, $setting, $attributes);
开发者ID:ChrstnMgcn,项目名称:xflickr,代码行数:31,代码来源:build.transport.php

示例11: build

 /**
  * Unified build script: build a MODX transport package from files contained
  * inside $pkg_root_dir
  *
  * @param string $pkg_root_dir path to local package root (w trailing slash)
  *
  * @throws Exception
  */
 public function build($pkg_root_dir)
 {
     $pkg_root_dir = self::get_dir($pkg_root_dir);
     $this->build_prep($pkg_root_dir);
     $this->config['is_build'] = true;
     // TODO
     $this->config['force_static'] = false;
     // TODO
     $required = array('package_name', 'namespace', 'version', 'release');
     foreach ($required as $k) {
         if (!$this->get($k)) {
             throw new Exception('Missing required configuration parameter: ' . $k);
         }
     }
     $this->modx->log(modX::LOG_LEVEL_INFO, 'Beginning build of package "' . $this->get('package_name') . '"');
     $this->modx->loadClass('transport.modPackageBuilder', '', false, true);
     $builder = new modPackageBuilder($this->modx);
     $sanitized_package_name = $this->get('package_name');
     $builder->createPackage($sanitized_package_name, $this->get('version'), $this->get('release'));
     $builder->registerNamespace($this->get('namespace'), false, true, '{core_path}components/' . $this->get('namespace') . '/');
     // Tests (Validators): this is run BEFORE your package code is in place
     // so you cannot reference/include package files from your validator! They won't exist when the code is run.
     $validator_file = $this->get_core_path($pkg_root_dir) . rtrim($this->get('validators_dir'), '/') . '/install.php';
     if (file_exists($validator_file)) {
         $this->modx->log(modX::LOG_LEVEL_INFO, 'Packaging validator ' . $validator_file);
         $config = $this->config;
         $config['source'] = $validator_file;
         $validator_attributes = array('vehicle_class' => 'xPDOScriptVehicle', 'source' => $validator_file, xPDOTransport::ABORT_INSTALL_ON_VEHICLE_FAIL => $this->get('abort_install_on_fail'));
         $vehicle = $builder->createVehicle($config, $validator_attributes);
         $builder->putVehicle($vehicle);
     } else {
         $this->modx->log(modX::LOG_LEVEL_DEBUG, 'No validator detected at ' . $validator_file);
     }
     $Category = $this->modx->newObject('modCategory');
     $Category->set('category', $this->get('category'));
     // Import Elements
     $chunks = self::_get_elements('modChunk', $pkg_root_dir);
     $plugins = self::_get_elements('modPlugin', $pkg_root_dir);
     $snippets = self::_get_elements('modSnippet', $pkg_root_dir);
     $tvs = self::_get_elements('modTemplateVar', $pkg_root_dir);
     $templates = self::_get_elements('modTemplate', $pkg_root_dir);
     if ($chunks) {
         $Category->addMany($chunks);
     }
     if ($plugins) {
         $Category->addMany($plugins);
     }
     if ($snippets) {
         $Category->addMany($snippets);
     }
     if ($templates) {
         $Category->addMany($templates);
     }
     if ($tvs) {
         $Category->addMany($tvs);
     }
     // TODO: skip this if there are no elements
     //if (empty($chunks) && empty($plugins) && empty($snippets) && empty($templates) && empty($tvs)) {
     $build_attributes = array();
     $build_attributes = $this->get_build_attributes($Category, 'modCategory');
     $this->modx->log(modX::LOG_LEVEL_DEBUG, 'build_attributes for ' . $Category->_class . "\n" . print_r($build_attributes, true));
     $vehicle = $builder->createVehicle($Category, $build_attributes);
     //}
     //$builder->putVehicle($vehicle);
     // Files...: TODO: these need their own builder
     // We package these from the temporary copies inside of repoman's cache.
     // Assets
     if (file_exists($this->build_assets_path) && is_dir($this->build_assets_path)) {
         $this->modx->log(modX::LOG_LEVEL_INFO, 'Packing assets from ' . $this->build_assets_path);
         $vehicle->resolve('file', array('source' => rtrim($this->build_assets_path, '/'), 'target' => "return MODX_ASSETS_PATH . 'components/';"));
     }
     // Core
     if (file_exists($this->build_core_path) && is_dir($this->build_core_path)) {
         $this->modx->log(modX::LOG_LEVEL_INFO, 'Packing core files from ' . $this->build_core_path);
         $vehicle->resolve('file', array('source' => rtrim($this->build_core_path, '/'), 'target' => "return MODX_CORE_PATH . 'components/';"));
     }
     $builder->putVehicle($vehicle);
     // Migrations: we attach our all-purpose resolver to handle migrations
     $config = $this->config;
     $config['source'] = dirname(__FILE__) . '/resolver.php';
     $attributes = array('vehicle_class' => 'xPDOScriptVehicle');
     $vehicle = $builder->createVehicle($config, $attributes);
     $builder->putVehicle($vehicle);
     // Add Version Setting
     $repoman_version_build_attributes = array(xPDOTransport::UNIQUE_KEY => 'key', xPDOTransport::PRESERVE_KEYS => true, xPDOTransport::UPDATE_OBJECT => true);
     $VersionSetting = $this->modx->newObject('modSystemSetting');
     $VersionSetting->set('key', $this->get('namespace') . '.version');
     $VersionSetting->set('value', $this->get('version'));
     $VersionSetting->set('xtype', 'textfield');
     $VersionSetting->set('namespace', $this->get('namespace'));
     $VersionSetting->set('area', $this->get('namespace') . ':default');
     $vehicle = $builder->createVehicle($VersionSetting, $repoman_version_build_attributes);
//.........这里部分代码省略.........
开发者ID:carnevlu,项目名称:repoman,代码行数:101,代码来源:repoman.class.php

示例12: dirname

$root = dirname(dirname(__FILE__)) . '/';
$sources = array('root' => $root, 'build' => $root . '_build/', 'resolvers' => $root . '_build/resolvers/', 'data' => $root . '_build/data/', 'source_core' => $root . 'core/components/churchevents/', 'lexicon' => $root . 'core/components/churchevents/lexicon/', 'source_assets' => $root . 'assets/components/churchevents/', 'docs' => $root . 'core/components/churchevents/docs/');
unset($root);
/* save memory */
require_once dirname(__FILE__) . '/build.config.php';
// The MODx class:
require_once MODX_CORE_PATH . 'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('mgr');
$modx->setLogLevel(modX::LOG_LEVEL_INFO);
$modx->setLogTarget(XPDO_CLI_MODE ? 'ECHO' : 'HTML');
/* Okay, it's time for the meat. Let's first off use $modx->loadClass to load the modPackageBuilder class. Then we'll instantiate an instance of it, and create a package.
*/
$modx->loadClass('transport.modPackageBuilder', '', false, true);
$builder = new modPackageBuilder($modx);
$builder->createPackage('churchevents', '0.3', 'beta2');
//name, version, and release
$builder->registerNamespace('churchevents', false, true, '{core_path}components/churchevents/');
// create system settings:
$settings = array();
$settings['churchevents.allowRequests'] = $modx->newObject('modSystemSetting');
$settings['churchevents.allowRequests']->fromArray(array('key' => 'churchevents.allowRequests', 'value' => false, 'xtype' => 'combo-boolean', 'namespace' => 'churchevents', 'area' => 'ChurchEvents'), '', true, true);
$attributes = array(xPDOTransport::UNIQUE_KEY => 'key', xPDOTransport::PRESERVE_KEYS => true, xPDOTransport::UPDATE_OBJECT => false);
if (!is_array($settings)) {
    $modx->log(modX::LOG_LEVEL_FATAL, 'Adding settings failed.');
}
foreach ($settings as $setting) {
    $vehicle = $builder->createVehicle($setting, $attributes);
    $builder->putVehicle($vehicle);
}
$modx->log(modX::LOG_LEVEL_INFO, 'Packaged in ' . count($settings) . ' system settings.');
开发者ID:vgrish,项目名称:CMPGenerator,代码行数:31,代码来源:build.transport.php

示例13: dirname

);

unset($root); // save memory

require_once dirname(__FILE__) . '/build.config.php';

require_once MODX_CORE_PATH . 'model/modx/modx.class.php';

$modx= new modX();
$modx->initialize('mgr');
$modx->setLogLevel(modX::LOG_LEVEL_INFO);
$modx->setLogTarget(XPDO_CLI_MODE ? 'ECHO' : 'HTML');

$modx->loadClass('transport.modPackageBuilder','',false, true);
$builder = new modPackageBuilder($modx);
$builder->createPackage('modmobile','0.1','alpha');
//$builder->registerNamespace('modmobile',false,true,'{core_path}components/modmobile/');

/* create category */
$category= $modx->newObject('modCategory');
$category->set('id',1);
$category->set('category','modMobile');

include $sources['data'].'transport.plugins.php';
$category->addMany($plugins);

/* create category vehicle */
$attr = array(
    xPDOTransport::UNIQUE_KEY => 'category',
    xPDOTransport::PRESERVE_KEYS => false,
    xPDOTransport::UPDATE_OBJECT => true,
开发者ID:neoneddy,项目名称:modMobile,代码行数:31,代码来源:transport.php

示例14: process

 public function process()
 {
     //$startTime = microtime(true);
     try {
         $vaporOptions = array('excludeExtraTablePrefix' => array(), 'excludeExtraTables' => array(), 'excludeFiles' => array(MODX_BASE_PATH . 'vapor', MODX_BASE_PATH . 'phpmyadmin', MODX_BASE_PATH . 'assets', MODX_BASE_PATH . 'core'));
         if (is_readable(VAPOR_DIR . 'config.php')) {
             $vaporConfigOptions = @(include VAPOR_DIR . 'config.php');
             if (is_array($vaporConfigOptions)) {
                 $vaporOptions = array_merge($vaporOptions, $vaporConfigOptions);
             }
         }
         if (!XPDO_CLI_MODE && !ini_get('safe_mode')) {
             set_time_limit(0);
         }
         $options = array('log_level' => xPDO::LOG_LEVEL_INFO, 'log_target' => array('target' => 'FILE', 'options' => array('filename' => 'vapor-' . strftime('%Y%m%dT%H%M%S', $this->getProperty('startTime')) . '.log')), xPDO::OPT_CACHE_DB => false, xPDO::OPT_SETUP => true);
         $modx = new modX('', $options);
         $modx->setLogTarget($options['log_target']);
         $modx->setLogLevel($options['log_level']);
         $modx->setOption(xPDO::OPT_CACHE_DB, false);
         $modx->setOption(xPDO::OPT_SETUP, true);
         $modx->setDebug(-1);
         $modx->startTime = $this->getProperty('startTime');
         $modx->getVersionData();
         $modxVersion = $modx->version['full_version'];
         if (version_compare($modxVersion, '2.2.1-pl', '>=')) {
             $modx->initialize('mgr', $options);
         } else {
             $modx->initialize('mgr');
         }
         /*$modx->setLogTarget($options['log_target']);
           $modx->setLogLevel($options['log_level']);*/
         $modx->setOption(xPDO::OPT_CACHE_DB, false);
         $modx->setOption(xPDO::OPT_SETUP, true);
         $modx->setDebug(-1);
         $modxDatabase = $modx->getOption('dbname', $options, $modx->getOption('database', $options));
         $modxTablePrefix = $modx->getOption('table_prefix', $options, '');
         $core_path = realpath($modx->getOption('core_path', $options, MODX_CORE_PATH)) . '/';
         $assets_path = realpath($modx->getOption('assets_path', $options, MODX_ASSETS_PATH)) . '/';
         $manager_path = realpath($modx->getOption('manager_path', $options, MODX_MANAGER_PATH)) . '/';
         $base_path = realpath($modx->getOption('base_path', $options, MODX_BASE_PATH)) . '/';
         $modx->log(modX::LOG_LEVEL_INFO, "core_path=" . $core_path);
         $modx->log(modX::LOG_LEVEL_INFO, "assets_path=" . $assets_path);
         $modx->log(modX::LOG_LEVEL_INFO, "manager_path=" . $manager_path);
         $modx->log(modX::LOG_LEVEL_INFO, "base_path=" . $base_path);
         $modx->loadClass('transport.modPackageBuilder', '', false, true);
         $builder = new modPackageBuilder($modx);
         /** @var modWorkspace $workspace */
         $workspace = $modx->getObject('modWorkspace', 1);
         if (!$workspace) {
             $modx->log(modX::LOG_LEVEL_FATAL, "no workspace!");
         }
         $package = $builder->createPackage(PKG_NAME, PKG_VERSION, PKG_RELEASE);
         /* Defines the classes to extract (also used for truncation) */
         $classes = $this->getClassesList();
         $attributes = array('vehicle_class' => 'xPDOFileVehicle');
         /* get all files from the components directory */
         /*$modx->log(modX::LOG_LEVEL_INFO, "Packaging " . MODX_CORE_PATH . 'components');
           $package->put(
               array(
                   'source' => MODX_CORE_PATH . 'components',
                   'target' => 'return MODX_CORE_PATH;'
               ),
               array(
                   'vehicle_class' => 'xPDOFileVehicle'
               )
           );*/
         /* get all files from the assets directory */
         /*$modx->log(modX::LOG_LEVEL_INFO, "Packaging " . MODX_BASE_PATH . 'assets');
           $package->put(
               array(
                   'source' => MODX_BASE_PATH . 'assets',
                   'target' => 'return MODX_BASE_PATH;'
               ),
               array(
                   'vehicle_class' => 'xPDOFileVehicle'
               )
           );*/
         /* get all files from the manager/components directory */
         /*$modx->log(modX::LOG_LEVEL_INFO, "Packaging " . MODX_MANAGER_PATH . 'components');
           $package->put(
               array(
                   'source' => MODX_MANAGER_PATH . 'components',
                   'target' => 'return MODX_MANAGER_PATH;'
               ),
               array(
                   'vehicle_class' => 'xPDOFileVehicle'
               )
           );*/
         /* find other files/directories in the MODX_BASE_PATH */
         $excludes = array('_build', 'setup', 'assets', 'ht.access', 'index.php', 'config.core.php', dirname(MODX_CORE_PATH) . '/' === MODX_BASE_PATH ? basename(MODX_CORE_PATH) : 'core', dirname(MODX_CONNECTORS_PATH) . '/' === MODX_BASE_PATH ? basename(MODX_CONNECTORS_PATH) : 'connectors', dirname(MODX_MANAGER_PATH) . '/' === MODX_BASE_PATH ? basename(MODX_MANAGER_PATH) : 'manager');
         if (isset($vaporOptions['excludeFiles']) && is_array($vaporOptions['excludeFiles'])) {
             $excludes = array_unique($excludes + $vaporOptions['excludeFiles']);
         }
         /*if ($dh = opendir(MODX_BASE_PATH)) {
           $includes = array();
           while (($file = readdir($dh)) !== false) {
               /* ignore files/dirs starting with . or matching an exclude */
         /*if (strpos($file, '.') === 0 || in_array(strtolower($file), $excludes)) {
                       continue;
                   }
//.........这里部分代码省略.........
开发者ID:Tramp1357,项目名称:atlasorg,代码行数:101,代码来源:create.class.php


注:本文中的modPackageBuilder::createPackage方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。