$xg_snippet->setProperties($properties); $category->addMany($xg_snippet); /* create XPhoto snippet */ $xph_snippet = $modx->newObject('modSnippet'); $xph_snippet->set('id', 1); $xph_snippet->set('name', 'XPhoto'); $xph_snippet->set('description', 'Display single flickr photo with additional information.'); $xph_snippet->set('snippet', file_get_contents($sources['source_core'] . '/snippet.xphoto.php')); $properties = (include $sources['data'] . 'properties.xphoto.inc.php'); $xph_snippet->setProperties($properties); $category->addMany($xph_snippet); /* create category vehicle */ $attr = array(XPDO_TRANSPORT_UNIQUE_KEY => 'category', XPDO_TRANSPORT_PRESERVE_KEYS => false, XPDO_TRANSPORT_UPDATE_OBJECT => true, XPDO_TRANSPORT_RELATED_OBJECTS => true, XPDO_TRANSPORT_RELATED_OBJECT_ATTRIBUTES => array('Snippets' => array(XPDO_TRANSPORT_PRESERVE_KEYS => false, XPDO_TRANSPORT_UPDATE_OBJECT => true, XPDO_TRANSPORT_UNIQUE_KEY => 'name'))); $vehicle = $builder->createVehicle($category, $attr); $vehicle->resolve('file', array('source' => $sources['source_core'], 'target' => "return MODX_CORE_PATH . 'components/';")); $vehicle->resolve('file', array('source' => $sources['source_assets'], 'target' => "return MODX_ASSETS_PATH . 'components/';")); $vehicle->resolve('php', array('source' => $sources['resolvers'] . 'setupoptions.resolver.php')); $builder->putVehicle($vehicle); /* load lexicon strings */ $builder->buildLexicon($sources['lexicon']); /* now pack in the license file, readme and setup options */ $builder->setPackageAttributes(array('license' => file_get_contents($sources['docs'] . 'license.txt'), 'readme' => file_get_contents($sources['docs'] . 'readme.txt'), 'setup-options' => array('source' => $sources['build'] . 'setup.options.php'))); $builder->pack(); $mtime = microtime(); $mtime = explode(" ", $mtime); $mtime = $mtime[1] + $mtime[0]; $tend = $mtime; $totalTime = $tend - $tstart; $totalTime = sprintf("%2.4f s", $totalTime); $modx->log(MODX_LOG_LEVEL_INFO, "\n<br />Package Built.<br />\nExecution time: {$totalTime}\n"); exit;