Exemplo n.º 1
0
function modcategory_populate_category_children(modCategory &$object)
{
    $children = $object->getMany('Children', null, false);
    if ($children) {
        foreach ($children as &$child) {
            if ($child->get('id') == $object->get('id')) {
                continue;
            }
            modcategory_populate_category_children($child);
        }
    }
}
Exemplo n.º 2
0
$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);
$category->fromArray(['id' => 1, 'category' => PKG_NAME, 'parent' => 0]);
$plugins = (include $sources['data'] . 'transport.plugins.php');
if (is_array($plugins)) {
    $category->addMany($plugins, 'Plugins');
}
$package->put($category, [xPDOTransport::UNIQUE_KEY => 'category', xPDOTransport::PRESERVE_KEYS => false, xPDOTransport::UPDATE_OBJECT => true, xPDOTransport::ABORT_INSTALL_ON_VEHICLE_FAIL => true, xPDOTransport::RELATED_OBJECTS => true, xPDOTransport::RELATED_OBJECT_ATTRIBUTES => ['Plugins' => [xPDOTransport::UNIQUE_KEY => 'name', xPDOTransport::PRESERVE_KEYS => false, xPDOTransport::UPDATE_OBJECT => false, xPDOTransport::RELATED_OBJECTS => true], 'PluginEvents' => [xPDOTransport::UNIQUE_KEY => ['pluginid', 'event'], xPDOTransport::PRESERVE_KEYS => true, xPDOTransport::UPDATE_OBJECT => false, xPDOTransport::RELATED_OBJECTS => true]], xPDOTransport::NATIVE_KEY => true, 'package' => 'modx', 'validate' => $validators, 'resolve' => $resolvers]);
$package->setAttribute('changelog', file_get_contents($sources['docs'] . 'changelog.txt'));
$package->setAttribute('license', file_get_contents($sources['docs'] . 'license.txt'));
$package->setAttribute('readme', file_get_contents($sources['docs'] . 'readme.txt'));
$package->setAttribute('requires', ['php' => '>=5.4']);
$package->setAttribute('setup-options', ['source' => $sources['build'] . 'setup.options.php']);
if ($package->pack()) {
    $xpdo->log(xPDO::LOG_LEVEL_INFO, "Package built");
}
Exemplo n.º 3
0
 /**
  * @param modCategory $category
  *
  * @return array
  */
 protected function _prepareCategoryRow(modCategory $category)
 {
     $type = $this->getProperty('type');
     $row = array('id' => $category->get('id'), 'name' => $category->get('category'), 'categories' => (int) $category->get('categories'), 'elements' => (int) $category->get('elements'));
     $row['type'] = 'category';
     $row['permissions'] = $this->_permissions;
     return $row;
 }