UpdateManager
        
        Update manager
    
    
 class System\Classes\UpdateManager
Handles the CMS install and update process.
Traits
| Trait | Description | 
|---|---|
                        
                            Singleton
                        
                     | 
                    Singleton trait.  | 
                
Properties
protected $baseDirectory : string
Application base path.
            
            
            
                protected
            
            
            $disableCoreUpdates
            
                :
                                                            bool
                                                                        
                        = false
                    
                            
        
        
        If set to true, core updates will not be downloaded or extracted.
protected $key : string
Secure API Key
            
            
            
                protected
            
            
            $messages
            
                :
                                                            array
                                                                        
                        = []
                    
                            
        
        
        An array of messages returned by migrations / seeders. Returned at the end of the update process.
protected $migrator : Illuminate\Database\Migrations\Migrator
protected $notesOutput : Illuminate\Console\OutputStyle
protected $pluginManager : System\Classes\PluginManager
protected $productCache : array
Cache of gateway products
protected $repository : Illuminate\Database\Migrations\DatabaseMigrationRepository
protected $secret : string
Secure API Secret
protected $tempDirectory : string
A temporary working directory.
protected $themeManager : Cms\Classes\ThemeManager
protected $versionManager : System\Classes\VersionManager
Methods
public bindContainerObjects ()
These objects are "soft singletons" and may be lost when the IoC container reboots. This provides a way to rebuild for the purposes of unit testing.
            
            
            
                public
            
                        
            check (boolean $force = false)
                            : int
                    
        
        Checks for new updates and returns the amount of unapplied updates.
Only requests from the server at a set interval (retry timer).
| Property | Type | Description | 
|---|---|---|
| $force | boolean | 
                                     boolean 
                                    Ignore the retry timer.  | 
                            
Number of unapplied updates.
public downloadCore (string $hash) : void
Downloads the core from the update server.
| Property | Type | Description | 
|---|---|---|
| $hash | string | 
                                     string 
                                    Expected file hash.  | 
                            
            
            
            
                public
            
                        
            downloadPlugin (string $name, string $hash, boolean $installation = false)
                            : self
                    
        
        Downloads a plugin from the update server.
| Property | Type | Description | 
|---|---|---|
| $name | string | 
                                     string 
                                    Plugin name.  | 
                            
| $hash | string | 
                                     string 
                                    Expected file hash.  | 
                            
| $installation | boolean | 
                                     boolean 
                                    Indicates whether this is a plugin installation request.  | 
                            
public downloadTheme (string $name, string $hash) : self
Downloads a theme from the update server.
| Property | Type | Description | 
|---|---|---|
| $name | string | 
                                     string 
                                    Theme name.  | 
                            
| $hash | string | 
                                     string 
                                    Expected file hash.  | 
                            
public extractCore () : void
Extracts the core after it has been downloaded.
public extractPlugin ($name, $hash)
Extracts a plugin after it has been downloaded.
| Property | Type | Description | 
|---|---|---|
| $name | mixed | 
                                     mixed 
                                    
                                 | 
                            
| $hash | mixed | 
                                     mixed 
                                    
                                 | 
                            
public extractTheme ($name, $hash)
Extracts a theme after it has been downloaded.
| Property | Type | Description | 
|---|---|---|
| $name | mixed | 
                                     mixed 
                                    
                                 | 
                            
| $hash | mixed | 
                                     mixed 
                                    
                                 | 
                            
            
            
            
                public
            
                        
            getBuildNumberManually (boolean $detailed = false)
                            : array
                    
        
        Determines build number from source manifest.
This will return an array with the following information:
- 
build: The build number we determined was most likely the build installed. - 
modified: Whether we detected any modifications between the installed build and the manifest. - 
confident: Whether we are at least 60% sure that this is the installed build. More modifications to to the code = less confidence. - 
changes: If $detailed is true, this will include the list of files modified, created and deleted. 
| Property | Type | Description | 
|---|---|---|
| $detailed | boolean | 
                                     boolean 
                                    If true, the list of files modified, added and deleted will be included in the result.  | 
                            
public getHash () : string
Returns the currently installed system hash.
public getMigrationTableName () : string
public migrateModule (string $module) : self
Run migrations on a single module
| Property | Type | Description | 
|---|---|---|
| $module | string | 
                                     string 
                                    Module name  | 
                            
public requestChangelog ()
Returns the latest changelog information.
public requestPluginContent (string $name) : array
Looks up content for a plugin from the update server.
| Property | Type | Description | 
|---|---|---|
| $name | string | 
                                     string 
                                    Plugin name.  | 
                            
Content for the plugin.
public requestPluginDetails (string $name) : array
Looks up a plugin from the update server.
| Property | Type | Description | 
|---|---|---|
| $name | string | 
                                     string 
                                    Plugin name.  | 
                            
Details about the plugin.
            
            
            
                public
            
                        
            requestPopularProducts ($type = null)
                    
        
        Returns popular themes found on the marketplace.
| Property | Type | Description | 
|---|---|---|
| $type | mixed | 
                                     mixed 
                                    
                                 | 
                            
            
            
            
                public
            
                        
            requestProductDetails ($codes, $type = null)
                    
        
        | Property | Type | Description | 
|---|---|---|
| $codes | mixed | 
                                     mixed 
                                    
                                 | 
                            
| $type | mixed | 
                                     mixed 
                                    
                                 | 
                            
public requestProjectDetails (string $projectId) : array
Requests details about a project based on its identifier.
| Property | Type | Description | 
|---|---|---|
| $projectId | string | 
                                     string 
                                    
                                 | 
                            
            
            
            
                public
            
                        
            requestServerData (string $uri, array $postData = [])
                            : array
                    
        
        Contacts the update server for a response.
| Property | Type | Description | 
|---|---|---|
| $uri | string | 
                                     string 
                                    Gateway API URI  | 
                            
| $postData | array | 
                                     array 
                                    Extra post data  | 
                            
            
            
            
                public
            
                        
            requestServerFile (string $uri, string $fileCode, string $expectedHash, array $postData = [])
                            : void
                    
        
        Downloads a file from the update server.
| Property | Type | Description | 
|---|---|---|
| $uri | string | 
                                     string 
                                    Gateway API URI  | 
                            
| $fileCode | string | 
                                     string 
                                    A unique code for saving the file.  | 
                            
| $expectedHash | string | 
                                     string 
                                    The expected file hash of the file.  | 
                            
| $postData | array | 
                                     array 
                                    Extra post data  | 
                            
public requestThemeDetails (string $name) : array
Looks up a theme from the update server.
| Property | Type | Description | 
|---|---|---|
| $name | string | 
                                     string 
                                    Theme name.  | 
                            
Details about the theme.
            
            
            
                public
            
                        
            requestUpdateList (boolean $force = false)
                            : array
                    
        
        Requests an update list used for checking for new updates.
| Property | Type | Description | 
|---|---|---|
| $force | boolean | 
                                     boolean 
                                    Request application and plugins hash list regardless of version.  | 
                            
            
            
            
                public
            
                        
            rollbackPlugin (string $name, string $stopOnVersion = null)
                            : self
                    
        
        Rollback an existing plugin
| Property | Type | Description | 
|---|---|---|
| $name | string | 
                                     string 
                                    Plugin name.  | 
                            
| $stopOnVersion | string | 
                                     string 
                                    If this parameter is specified, the process stops once the provided version number is reached  | 
                            
public seedModule (string $module) : self
Run seeds on a module
| Property | Type | Description | 
|---|---|---|
| $module | string | 
                                     string 
                                    Module name  | 
                            
            
            
            
                public
            
                        
            setBuild (string $build, string $hash = null, boolean $modified = false)
                            : void
                    
        
        Sets the build number and hash
| Property | Type | Description | 
|---|---|---|
| $build | string | 
                                     string 
                                    
                                 | 
                            
| $hash | string | 
                                     string 
                                    
                                 | 
                            
| $modified | boolean | 
                                     boolean 
                                    
                                 | 
                            
            
            
            
                public
            
                        
            setBuildNumberManually (boolean $detailed = false)
                            : void
                    
        
        Sets the build number in the database.
| Property | Type | Description | 
|---|---|---|
| $detailed | boolean | 
                                     boolean 
                                    If true, the list of files modified, added and deleted will be included in the result.  | 
                            
public setNotesOutput (Illuminate\Console\Command $output) : self
Sets an output stream for writing notes.
| Property | Type | Description | 
|---|---|---|
| $output | Illuminate\Console\Command | 
                                     Illuminate\Console\Command 
                                    
                                 | 
                            
public setSecurity (string $key, string $secret)
Set the API security for all transmissions.
| Property | Type | Description | 
|---|---|---|
| $key | string | 
                                     string 
                                    API Key  | 
                            
| $secret | string | 
                                     string 
                                    API Secret  | 
                            
public uninstall () : self
Roll back all modules and plugins.
public update () : self
Creates the migration table and updates
public updatePlugin (string $name) : self
Runs update on a single plugin
| Property | Type | Description | 
|---|---|---|
| $name | string | 
                                     string 
                                    Plugin name.  | 
                            
protected addMessage (string | object $class, string | array $message) : void
Adds a message from a specific migration or seeder.
| Property | Type | Description | 
|---|---|---|
| $class | string | object | 
                                     string | object 
                                    
                                 | 
                            
| $message | string | array | 
                                     string | array 
                                    
                                 | 
                            
protected applyHttpAttributes (Http $http, array $postData) : void
Modifies the Network HTTP object with common attributes.
| Property | Type | Description | 
|---|---|---|
| $http | Http | 
                                     Http 
                                    Network object  | 
                            
| $postData | array | 
                                     array 
                                    Post data  | 
                            
protected cacheProductDetail ($type, $code, $data)
| Property | Type | Description | 
|---|---|---|
| $type | mixed | 
                                     mixed 
                                    
                                 | 
                            
| $code | mixed | 
                                     mixed 
                                    
                                 | 
                            
| $data | mixed | 
                                     mixed 
                                    
                                 | 
                            
protected createNonce () : int
Create a nonce based on millisecond time
protected createServerUrl (string $uri) : string
Create a complete gateway server URL from supplied URI
| Property | Type | Description | 
|---|---|---|
| $uri | string | 
                                     string 
                                    URI  | 
                            
URL
protected createSignature ($data, $secret) : string
Create a unique signature for transmission.
| Property | Type | Description | 
|---|---|---|
| $data | mixed | 
                                     mixed 
                                    
                                 | 
                            
| $secret | mixed | 
                                     mixed 
                                    
                                 | 
                            
protected getFilePath (string $fileCode) : string
Calculates a file path for a file code
| Property | Type | Description | 
|---|---|---|
| $fileCode | string | 
                                     string 
                                    A unique file code  | 
                            
Full path on the disk
protected init ()
Initialize this singleton.
protected loadProductDetailCache ()
            
            
            
                protected
            
                        
            out (string $message, boolean $newline = false)
                            : static
                    
        
        Writes output to the console.
| Property | Type | Description | 
|---|---|---|
| $message | string | 
                                     string 
                                    
                                 | 
                            
| $newline | boolean | 
                                     boolean 
                                    
                                 | 
                            
protected printMessages () : void
Prints collated messages from the migrations and seeders
protected saveProductDetailCache ()
protected write (Illuminate\Console\View\Components\Component $component, array $arguments) : static
Writes output to the console using a Laravel CLI View component.
| Property | Type | Description | 
|---|---|---|
| $component | Illuminate\Console\View\Components\Component | 
                                     Illuminate\Console\View\Components\Component 
                                    
                                 | 
                            
| $arguments | array | 
                                     array 
                                    
                                 | 
                            
inherited public __clone ()
inherited public __wakeup ()
            
                            
                    inherited
                
            
            
                public
            
                            
                    static
                
                                        
                    final
                
            
            forgetInstance ($container = null)
                            : void
                    
                    Forget this singleton's instance if it exists
| Property | Type | Description | 
|---|---|---|
| $container | mixed | 
                                     mixed 
                                    
                                 | 
                            
            
                            
                    inherited
                
            
            
                public
            
                            
                    static
                
                                        
                    final
                
            
            instance ($container = null)
                            : static
                    
                    Create a new instance of this singleton.
| Property | Type | Description | 
|---|---|---|
| $container | mixed | 
                                     mixed 
                                    
                                 | 
                            
inherited protected final __construct ()
Constructor.