/**
  * @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;
 }