public function process()
    {
        parent::process();
        try {
            $this->profile = Teleport::loadProfile($this->profile);

            $this->getMODX($this->profile);

            $this->tpl = $this->loadTpl($this->tpl);

            $this->package = $this->createPackage($this->getName(), $this->getVersion(), $this->getSequence());

            if (isset($this->tpl['attributes'])) {
                foreach ($this->tpl['attributes'] as $attribute => $attributeValue) {
                    if (is_array($attributeValue) && isset($attributeValue['sourceType']) && isset($attributeValue['source'])) {
                        switch ($attributeValue['sourceType']) {
                            case 'fileContent':
                                $attributeValue = file_get_contents($attributeValue['source']);
                                break;
                        }
                    }
                    $this->package->setAttribute($attribute, $attributeValue);
                }
            }

            foreach ($this->tpl['vehicles'] as $vehicle) {
                $this->createVehicles($vehicle);
            }

            if (!$this->package->pack()) {
                throw new ActionException($this, "Error packing {$this->package->signature}.transport.zip");
            }
            $this->request->log("Successfully extracted {$this->package->signature}.transport.zip from instance {$this->profile->code}");
            if ($this->target && $this->push) {
                if (!$this->push($this->package->path . $this->package->signature . '.transport.zip', $this->target . $this->package->signature . '.transport.zip')) {
                    throw new ActionException($this, "Error pushing {$this->package->signature}.transport.zip to {$this->target}");
                }

                if (!$this->preserveWorkspace && $this->modx->getCacheManager()) {
                    $this->modx->cacheManager->deleteTree($this->package->path . $this->package->signature);
                    @unlink($this->package->path . $this->package->signature . '.transport.zip');
                }

                $this->request->log("Successfully pushed {$this->package->signature}.transport.zip to {$this->target}");
                $this->request->log("{$this->target}{$this->package->signature}.transport.zip", false);
            } else {
                $this->request->log("{$this->package->path}{$this->package->signature}.transport.zip", false);
            }
        } catch (\Exception $e) {
            throw new ActionException($this, "Error Extracting snapshot: " . $e->getMessage(), $e);
        }
    }
public function process()
    {
        parent::process();
        try {
            $this->profile = Teleport::loadProfile($this->profile);

            $this->getMODX($this->profile);

            $this->tpl = $this->loadTpl($this->tpl);

            $this->package = $this->createPackage($this->getName(), $this->getVersion(), $this->getSequence());

            if (isset($this->tpl['attributes'])) {
                foreach ($this->tpl['attributes'] as $attribute => $attributeValue) {
                    if (is_array($attributeValue) && isset($attributeValue['sourceType']) && isset($attributeValue['source'])) {
                        switch ($attributeValue['sourceType']) {
                            case 'fileContent':
                                $attributeValue = file_get_contents($attributeValue['source']);
                                break;
                        }
                    }
                    $this->package->setAttribute($attribute, $attributeValue);
                }
            }

            foreach ($this->tpl['vehicles'] as $vehicle) {
                $this->createVehicles($vehicle);
            }

            if (!$this->package->pack()) {
                throw new ActionException($this, "Error packing {$this->package->signature}.transport.zip");
            }
            $this->request->log("Successfully extracted {$this->package->signature}.transport.zip from instance {$this->profile->code}");
            if ($this->target && $this->push) {
                if (!$this->push($this->package->path . $this->package->signature . '.transport.zip', $this->target . $this->package->signature . '.transport.zip')) {
                    throw new ActionException($this, "Error pushing {$this->package->signature}.transport.zip to {$this->target}");
                }

                if (!$this->preserveWorkspace && $this->modx->getCacheManager()) {
                    $this->modx->cacheManager->deleteTree($this->package->path . $this->package->signature);
                    @unlink($this->package->path . $this->package->signature . '.transport.zip');
                }

                $this->request->log("Successfully pushed {$this->package->signature}.transport.zip to {$this->target}");
                $this->request->log("{$this->target}{$this->package->signature}.transport.zip", false);
            } else {
                $this->request->log("{$this->package->path}{$this->package->signature}.transport.zip", false);
            }
        } catch (\Exception $e) {
            throw new ActionException($this, "Error Extracting snapshot: " . $e->getMessage(), $e);
        }
    }
public function process ( ) { parent :: process ( ) ; try { $ this -> profile = Teleport :: loadProfile ( $ this -> profile ) ; $ this -> getMODX ( $ this -> profile ) ; $ this -> tpl = $ this -> loadTpl ( $ this -> tpl ) ; $ this -> package = $ this -> createPackage ( $ this -> getName ( ) , $ this -> getVersion ( ) , $ this -> getSequence ( ) ) ; if ( isset ( $ this -> tpl [ 'attributes' ] ) ) { foreach ( $ this -> tpl [ 'attributes' ] as $ attribute => $ attributeValue ) { if ( is_array ( $ attributeValue ) && isset ( $ attributeValue [ 'sourceType' ] ) && isset ( $ attributeValue [ 'source' ] ) ) { switch ( $ attributeValue [ 'sourceType' ] ) { case 'fileContent' : $ attributeValue = file_get_contents ( $ attributeValue [ 'source' ] ) ; break ; } } $ this -> package -> setAttribute ( $ attribute , $ attributeValue ) ; } } foreach ( $ this -> tpl [ 'vehicles' ] as $ vehicle ) { $ this -> createVehicles ( $ vehicle ) ; } if ( ! $ this -> package -> pack ( ) ) { throw new ActionException ( $ this , "Error packing {$this->package->signature}.transport.zip" ) ; } $ this -> request -> log ( "Successfully extracted {$this->package->signature}.transport.zip from instance {$this->profile->code}" ) ; if ( $ this -> target && $ this -> push ) { if ( ! $ this -> push ( $ this -> package -> path . $ this -> package -> signature . '.transport.zip' , $ this -> target . $ this -> package -> signature . '.transport.zip' ) ) { throw new ActionException ( $ this , "Error pushing {$this->package->signature}.transport.zip to {$this->target}" ) ; } if ( ! $ this -> preserveWorkspace && $ this -> modx -> getCacheManager ( ) ) { $ this -> modx -> cacheManager -> deleteTree ( $ this -> package -> path . $ this -> package -> signature ) ; @ unlink ( $ this -> package -> path . $ this -> package -> signature . '.transport.zip' ) ; } $ this -> request -> log ( "Successfully pushed {$this->package->signature}.transport.zip to {$this->target}" ) ; $ this -> request -> log ( "{$this->target}{$this->package->signature}.transport.zip" , false ) ; } else { $ this -> request -> log ( "{$this->package->path}{$this->package->signature}.transport.zip" , false ) ; } } catch ( \ Exception $ e ) { throw new ActionException ( $ this , "Error Extracting snapshot: " . $ e -> getMessage ( ) , $ e ) ; } }
Process the Extract action.

@throws ActionException If an error is encountered during processing.
Process the Extract action .