Airship\Engine\Continuum\Updaters\Motif::install PHP Method

install() protected method

If we get to this point: 1. We know the signature is signed by the supplier. 2. The hash was checked into Keyggdrasil, which was independently vouched for by our peers.
protected install ( UpdateInfo $info, UpdateFile $file )
$info UpdateInfo (part of definition but not used here)
$file UpdateFile
    protected function install(UpdateInfo $info, UpdateFile $file)
    {
        if (!$file->hashMatches($info->getChecksum())) {
            throw new CouldNotUpdate(\__('Checksum mismatched'));
        }
        // Let's open the update package:
        $path = $file->getPath();
        $zip = new \ZipArchive();
        $res = $zip->open($path);
        if ($res !== true) {
            throw new MotifZipFailed(\__("ZIP Error: %s", "default", $res));
        }
        $dir = \implode(DIRECTORY_SEPARATOR, [ROOT, 'Motifs', $this->supplier->getName(), $this->name]);
        // Extract the new files to the current directory
        if (!$zip->extractTo($dir)) {
            throw new CouldNotUpdate();
        }
        // Make sure we update the version info. in the DB cache:
        $this->updateDBRecord('Motif', $info);
        self::$continuumLogger->store(LogLevel::INFO, 'Motif update installed', $this->getLogContext($info, $file));
    }