/** * @param GitPackageConfigResource $resource */ private function updateResource($resource) { $res = $this->modx->runProcessor('resource/update', $resource->toArray()); $resObject = $res->getObject(); $colObject = $this->modx->getObject('CollectionSetting', array('collection' => $resObject['id'])); if ($resObject && isset($resObject['id'])) { /** @var modResource $modResource */ $modResource = $this->modx->getObject('modResource', array('id' => $resObject['id'])); if ($modResource) { $this->resourceMap[$modResource->pagetitle] = $modResource->id; $tvs = $resource->getTvs(); foreach ($tvs as $tv) { $modResource->setTVValue($tv['name'], $tv['value']); } } // Set the correct Collections template for a resource, if specified if ($colObject) { $others = $resource->getOthers(); foreach ($others as $other) { if ($other['name'] == 'collections') { $colObject->set('template', $other['value']); $colObject->save(); } } } // Set the properties field with ContentBlocks JSON formatting, if specified $properties = $resource->getProperties(); if ($properties) { $modResource->set('properties', null); $modResource->set('properties', $properties); $modResource->save(); } } }
/** * @param GitPackageConfigResource $resource */ private function updateResource($resource) { $res = $this->modx->runProcessor('resource/update', $resource->toArray()); $resObject = $res->getObject(); if ($resObject && isset($resObject['id'])) { /** @var modResource $modResource */ $modResource = $this->modx->getObject('modResource', array('id' => $resObject['id'])); if ($modResource) { $this->resourceMap[$modResource->pagetitle] = $modResource->id; $tvs = $resource->getTvs(); foreach ($tvs as $tv) { $modResource->setTVValue($tv['name'], $tv['value']); } } } }
/** * Parse and validate resources array * @param $resources Array * @return bool */ private function setResources($resources) { foreach ($resources as $resource) { $p = new GitPackageConfigResource($this->modx, $this); if ($p->fromArray($resource) == false) { return false; } $this->resources[] = $p; } return true; }