PHP Class Airship\Engine\Continuum\Installer

This facilitates the installation process of a new Cabin, Gadget, or Motif.
Inheritance: use trait SupplierBolt, use trait LogBolt
Afficher le fichier Open project: paragonie/airship Class Usage Examples

Protected Properties

Свойство Type Description
$bypassSecurityAndJustInstall boolean
$continuumLogger Log
$ext
$hail Hail
$localInstallFile InstallFile
$package string
$supplier Supplier
$type string

Méthodes publiques

Méthode Description
__construct ( Hail $hail = null, string $supplier = '', string $package = '' ) Installer constructor.
bypassSecurityAndJustInstall ( boolean $set = false ) : self This is for manual installations and update scripts. It should never be invoked automatically.
clearCache ( ) : boolean We just need to clear the template caches and the cabin data.
download ( array $update = [] ) : InstallFile Download the file from the update server.
easyInstall ( ) : boolean Attempts to download and install in one go.
expandCabinName ( string $cabinName ) : string Is this a special Airship cabin? Return just the name.
getLogContext ( InstallFile $installFile ) : array Get information for logging purposes
getPackageData ( string $minVersion = '' ) : array Get metadata about the package we're installing.
install ( InstallFile $fileInfo ) : boolean Install the file. This is type-specific, so we leave it abstract here.
markPackageInstalled ( InstallFile $install ) : boolean Somewhat self-explanatory. This just sets the 'installed' column in the database to 'TRUE' so our web UI knows that it's installed.
useLocalInstallFile ( string $path, string $version = '' ) : self For CLI usage: Bypass the download process, use a local file instead.
verifyChecksum ( InstallFile $file ) : boolean Verify that the file has not modified since it was stored
verifyMerkleRoot ( InstallFile $file ) : boolean Verifies that the Merkle root exists, matches this package and version, and has the same checksum as the one we calculated.
verifySignature ( InstallFile $file ) : boolean Verify that the signature matches

Méthodes protégées

Méthode Description
getChannel ( string $name ) : Channel Get the channels (cache across all instances of Installer)

Method Details

__construct() public méthode

Installer constructor.
public __construct ( Hail $hail = null, string $supplier = '', string $package = '' )
$hail Hail
$supplier string
$package string

bypassSecurityAndJustInstall() public méthode

This is for manual installations and update scripts. It should never be invoked automatically.
public bypassSecurityAndJustInstall ( boolean $set = false ) : self
$set boolean
Résultat self

clearCache() public méthode

We just need to clear the template caches and the cabin data.
public clearCache ( ) : boolean
Résultat boolean

download() public méthode

Download the file from the update server.
public download ( array $update = [] ) : InstallFile
$update array
Résultat InstallFile

easyInstall() public méthode

Attempts to download and install in one go.
public easyInstall ( ) : boolean
Résultat boolean Was it successful?

expandCabinName() public méthode

Otherwise, return the namespace.
public expandCabinName ( string $cabinName ) : string
$cabinName string
Résultat string

getChannel() protected méthode

Get the channels (cache across all instances of Installer)
protected getChannel ( string $name ) : Channel
$name string
Résultat Channel

getLogContext() public méthode

Get information for logging purposes
public getLogContext ( InstallFile $installFile ) : array
$installFile InstallFile
Résultat array

getPackageData() public méthode

Get metadata about the package we're installing.
public getPackageData ( string $minVersion = '' ) : array
$minVersion string
Résultat array

install() abstract public méthode

Install the file. This is type-specific, so we leave it abstract here.
abstract public install ( InstallFile $fileInfo ) : boolean
$fileInfo InstallFile
Résultat boolean

markPackageInstalled() public méthode

Somewhat self-explanatory. This just sets the 'installed' column in the database to 'TRUE' so our web UI knows that it's installed.
public markPackageInstalled ( InstallFile $install ) : boolean
$install InstallFile
Résultat boolean

useLocalInstallFile() public méthode

For CLI usage: Bypass the download process, use a local file instead.
public useLocalInstallFile ( string $path, string $version = '' ) : self
$path string
$version string
Résultat self

verifyChecksum() public static méthode

Verify that the file has not modified since it was stored
public static verifyChecksum ( InstallFile $file ) : boolean
$file InstallFile
Résultat boolean

verifyMerkleRoot() public méthode

Verifies that the Merkle root exists, matches this package and version, and has the same checksum as the one we calculated.
public verifyMerkleRoot ( InstallFile $file ) : boolean
$file InstallFile
Résultat boolean

verifySignature() public static méthode

Verify that the signature matches
public static verifySignature ( InstallFile $file ) : boolean
$file InstallFile
Résultat boolean

Property Details

$bypassSecurityAndJustInstall protected_oe property

protected bool $bypassSecurityAndJustInstall
Résultat boolean

$continuumLogger protected_oe static_oe property

protected static Log,Airship\Engine\Continuum $continuumLogger
Résultat Log

$ext protected_oe property

protected $ext

$hail protected_oe property

protected Hail $hail
Résultat Hail

$localInstallFile protected_oe property

protected InstallFile $localInstallFile
Résultat InstallFile

$package protected_oe property

protected string $package
Résultat string

$supplier protected_oe property

protected Supplier,Airship\Engine\Continuum $supplier
Résultat Supplier

$type protected_oe property

protected string $type
Résultat string