/**
  * Create all transport files necessary for the build
  *
  * @param int $mode - MODE_BOOTSTRAP, MODE_EXPORT, MODE_REMOVE
  */
 public function createTransportFiles($mode = MODE_BOOTSTRAP)
 {
     ElementAdapter::createTransportFiles($this->helpers, $mode);
     ResourceAdapter::createTransportFiles($this->helpers, $mode);
     SystemSettingAdapter::createTransportFiles($this->helpers, $mode);
     SystemEventAdapter::createTransportFiles($this->helpers, $mode);
     MenuAdapter::createTransportFiles($this->helpers, $mode);
     ContextAdapter::createTransportFiles($this->helpers, $mode);
     ContextSettingAdapter::createTransportFiles($this->helpers, $mode);
     if (is_dir($this->myPaths['targetBuild'] . 'subpackages')) {
         $this->helpers->sendLog(modX::LOG_LEVEL_INFO, "\n    " . $this->modx->lexicon('mc_processing_subpackages'));
         $o = new SubpackageAdapter();
         $o->createSubpackages($this->modx, $this->helpers, $this->myPaths['targetBuild'], $mode);
     }
 }
Ejemplo n.º 2
0
 /**
  * Exports Resources from MODX to build files
  * Removes objects if $mode == MODE_REMOVE
  *
  * @param $modx modX - $modx->object
  * @param $helpers Helpers - $helpers object
  * @param $props array - $scriptProperties array
  * @param int $mode - MODX_BOOTSTRAP, MODE_EXPORT, MODE_REMOVE
  */
 static function exportResources(&$modx, &$helpers, $props, $mode = MODE_EXPORT)
 {
     /* @var $modx modX */
     /* @var $helpers Helpers */
     $objects = array();
     /* Add resources from exportResources array in the project config file
        to $this->myObjects array */
     $helpers->sendLog(modX::LOG_LEVEL_INFO, "\n" . $helpers->modx->lexicon('mc_processing_resources'));
     $byId = $modx->getOption('getResourcesById', $props, false);
     $method = $byId ? 'ID' : 'pagetitle';
     $resources = $modx->getOption('exportResources', $props, array());
     if (!empty($resources)) {
         foreach ($resources as $resource) {
             if ($byId) {
                 $resObject = $modx->getObject('modResource', $resource);
             } else {
                 $resObject = $modx->getObject('modResource', array('pagetitle' => trim($resource)));
             }
             if ($resObject) {
                 $objects[] = $resObject;
             } else {
                 $helpers->sendLog(modX::LOG_LEVEL_ERROR, '[Resource Adapter] ' . $helpers->modx->lexicon('mc_could_not_get_resource_with_method') . ' ' . $method . ': ' . $resource);
             }
         }
     }
     /* if $parents is set in project config, add children (and optionally parent
        to  $resources array */
     $parents = $modx->getOption('parents', $props, array());
     $includeParents = $modx->getOption('includeParents', $props, false);
     if (!empty($parents)) {
         foreach ($parents as $parentResource) {
             if ($byId) {
                 $parentObj = $modx->getObject('modResource', $parentResource);
             } else {
                 $parentObj = $modx->getObject('modResource', array('pagetitle' => $parentResource));
             }
             if ($parentObj) {
                 if ($includeParents) {
                     $objects[] = $parentObj;
                 }
                 $children = $parentObj->getMany('Children');
                 if (!empty($children)) {
                     $objects = array_merge($objects, $children);
                 }
             }
         }
     }
     if (!empty($objects)) {
         /* @var $object modResource */
         $dryRun = $props['dryRun'];
         foreach ($objects as $object) {
             $fields = $object->toArray();
             $a = new ResourceAdapter($modx, $helpers, $fields, $mode);
             if ($mode == MODE_REMOVE) {
                 $a->remove();
             } elseif ($mode == MODE_EXPORT) {
                 $content = $object->getContent();
                 $a->createCodeFile(true, $content, $mode, $dryRun);
                 if (isset($fields['properties']) && !empty($fields['properties'])) {
                     $a->writePropertiesFile($a->getName(), $fields['properties'], MODE_EXPORT);
                 }
             }
         }
     } else {
         $helpers->sendLog(modX::LOG_LEVEL_ERROR, '[ResourceAdapter] ' . $helpers->modx->lexicon('mc_no_resources_found'));
     }
 }