Contents

October\Rain\Installer\Console\OctoberInstall

Overview

OctoberInstall is a console command to install October CMS

This sets up October for the first time. It will prompt the user for several configuration items, including application URL and database config, and then perform a database migration.

Extends
  • Illuminate\Console\Command
  • Symfony\Component\Console\Command\Command
Implements
  • Symfony\Component\Console\Command\SignalableCommandInterface

Protected Properties

protected string $name

name is the console command name

protected string $description

description is the console command description

protected int $keyRetries

keyRetries counts license key attempts before giving up

protected array $userConfig

userConfig is a temporary store of user input config values

Show inherited protected properties

Inherited Protected Properties

  • $laravel - The Laravel application instance. (defined in Illuminate\Console\Command)
  • $signature - The name and signature of the console command. (defined in Illuminate\Console\Command)
  • $help - The console command help text. (defined in Illuminate\Console\Command)
  • $hidden - Indicates whether the command should be shown in the Artisan command list. (defined in Illuminate\Console\Command)
  • $isolated - Indicates whether only one instance of the command can run at any given time. (defined in Illuminate\Console\Command)
  • $isolatedExitCode - The default exit code for isolated commands. (defined in Illuminate\Console\Command)
  • $aliases - The console command name aliases. (defined in Illuminate\Console\Command)
  • $components - The console components factory. (defined in Illuminate\Console\Command)
  • $input - The input interface implementation. (defined in Illuminate\Console\Command)
  • $output - The output interface implementation. (defined in Illuminate\Console\Command)
  • $verbosity - The default verbosity of output commands. (defined in Illuminate\Console\Command)
  • $verbosityMap - The mapping between human-readable verbosity levels and Symfony's OutputInterface. (defined in Illuminate\Console\Command)
  • $signals - The signal registrar instance. (defined in Illuminate\Console\Command)
  • $macros - The registered string macros. (defined in Illuminate\Console\Command)

Public Methods

public getAvailableLocales()

public getAvailableLocales(): void

getAvailableLocales returns available system locales

public getLang()

public getLang($key, $vars = []): void

public getUpdateWantVersion()

public getUpdateWantVersion(): void

public handle()

public handle(): void

handle executes the console command

Show inherited public methods

Inherited Public Methods

  • __call() - Dynamically handle calls to the class. (defined in Illuminate\Console\Command)
  • __callStatic() - Dynamically handle calls to the class. (defined in Illuminate\Console\Command)
  • __construct() - Create a new console command instance. (defined in Illuminate\Console\Command)
  • addArgument() - Adds an argument. (defined in Symfony\Component\Console\Command\Command)
  • addOption() - Adds an option. (defined in Symfony\Component\Console\Command\Command)
  • addUsage() - Add a command usage example, it'll be prefixed with the command name. (defined in Symfony\Component\Console\Command\Command)
  • alert() - Write a string in an alert box. (defined in Illuminate\Console\Command)
  • anticipate() - Prompt the user for input with auto completion. (defined in Illuminate\Console\Command)
  • argument() - Get the value of a command argument. (defined in Illuminate\Console\Command)
  • arguments() - Get all of the arguments passed to the command. (defined in Illuminate\Console\Command)
  • ask() - Prompt the user for input. (defined in Illuminate\Console\Command)
  • askWithCompletion() - Prompt the user for input with auto completion. (defined in Illuminate\Console\Command)
  • call() - Call another console command. (defined in Illuminate\Console\Command)
  • callSilent() - Call another console command without output. (defined in Illuminate\Console\Command)
  • callSilently() - Call another console command without output. (defined in Illuminate\Console\Command)
  • choice() - Give the user a single choice from an array of answers. (defined in Illuminate\Console\Command)
  • comment() - Write a string as comment output. (defined in Illuminate\Console\Command)
  • complete() - Supplies suggestions when resolving possible completion options for input (e.g. option or argument). (defined in Symfony\Component\Console\Command\Command)
  • confirm() - Confirm a question with the user. (defined in Illuminate\Console\Command)
  • error() - Write a string as error output. (defined in Illuminate\Console\Command)
  • fail() - Fail the command manually. (defined in Illuminate\Console\Command)
  • flushMacros() - Flush the existing macros. (defined in Illuminate\Console\Command)
  • getAliases() - Returns the aliases for the command. (defined in Symfony\Component\Console\Command\Command)
  • getApplication() - Gets the application instance for this command. (defined in Symfony\Component\Console\Command\Command)
  • getCode() - Gets the code that is executed by the command. (defined in Symfony\Component\Console\Command\Command)
  • getDefinition() - Gets the InputDefinition attached to this Command. (defined in Symfony\Component\Console\Command\Command)
  • getDescription() - Returns the description for the command. (defined in Symfony\Component\Console\Command\Command)
  • getHelp() - Returns the help for the command. (defined in Symfony\Component\Console\Command\Command)
  • getHelper() - Gets a helper instance by name. (defined in Symfony\Component\Console\Command\Command)
  • getHelperSet() - Gets the helper set. (defined in Symfony\Component\Console\Command\Command)
  • getLaravel() - Get the Laravel application instance. (defined in Illuminate\Console\Command)
  • getName() - Returns the command name. (defined in Symfony\Component\Console\Command\Command)
  • getNativeDefinition() - Gets the InputDefinition to be used to create representations of this Command. (defined in Symfony\Component\Console\Command\Command)
  • getOutput() - Get the output implementation. (defined in Illuminate\Console\Command)
  • getProcessedHelp() - Returns the processed help for the command replacing the %command.name% and. (defined in Symfony\Component\Console\Command\Command)
  • getSubscribedSignals() - (defined in Symfony\Component\Console\Command\Command)
  • getSynopsis() - Returns the synopsis for the command. (defined in Symfony\Component\Console\Command\Command)
  • getUsages() - Returns alternative usages of the command. (defined in Symfony\Component\Console\Command\Command)
  • handleSignal() - (defined in Symfony\Component\Console\Command\Command)
  • hasArgument() - Determine if the given argument is present. (defined in Illuminate\Console\Command)
  • hasMacro() - Checks if macro is registered. (defined in Illuminate\Console\Command)
  • hasOption() - Determine whether the option is defined in the command signature. (defined in Illuminate\Console\Command)
  • ignoreValidationErrors() - Ignores validation errors. (defined in Symfony\Component\Console\Command\Command)
  • info() - Write a string as information output. (defined in Illuminate\Console\Command)
  • input() - Retrieve the command's input as a CommandInput instance or retrieve an input item. (defined in Illuminate\Console\Command)
  • isEnabled() - Checks whether the command is enabled or not in the current environment. (defined in Symfony\Component\Console\Command\Command)
  • isHidden() - {@inheritdoc}. (defined in Illuminate\Console\Command)
  • line() - Write a string as standard output. (defined in Illuminate\Console\Command)
  • macro() - Register a custom macro. (defined in Illuminate\Console\Command)
  • mergeApplicationDefinition() - Merges the application definition with the command definition. (defined in Symfony\Component\Console\Command\Command)
  • mixin() - Mix another object into the class. (defined in Illuminate\Console\Command)
  • newLine() - Write a blank line. (defined in Illuminate\Console\Command)
  • option() - Get the value of a command option. (defined in Illuminate\Console\Command)
  • options() - Get all of the options passed to the command. (defined in Illuminate\Console\Command)
  • outputComponents() - Get the output component factory implementation. (defined in Illuminate\Console\Command)
  • question() - Write a string as question output. (defined in Illuminate\Console\Command)
  • run() - Run the console command. (defined in Illuminate\Console\Command)
  • secret() - Prompt the user for input but hide the answer from the console. (defined in Illuminate\Console\Command)
  • setAliases() - Sets the aliases for the command. (defined in Symfony\Component\Console\Command\Command)
  • setApplication() - (defined in Symfony\Component\Console\Command\Command)
  • setCode() - Sets the code to execute when running this command. (defined in Symfony\Component\Console\Command\Command)
  • setDefinition() - Sets an array of argument and option instances. (defined in Symfony\Component\Console\Command\Command)
  • setDescription() - Sets the description for the command. (defined in Symfony\Component\Console\Command\Command)
  • setHelp() - Sets the help for the command. (defined in Symfony\Component\Console\Command\Command)
  • setHelperSet() - (defined in Symfony\Component\Console\Command\Command)
  • setHidden() - {@inheritdoc}. (defined in Illuminate\Console\Command)
  • setInput() - Set the input interface implementation. (defined in Illuminate\Console\Command)
  • setLaravel() - Set the Laravel application instance. (defined in Illuminate\Console\Command)
  • setName() - Sets the name of the command. (defined in Symfony\Component\Console\Command\Command)
  • setOutput() - Set the output interface implementation. (defined in Illuminate\Console\Command)
  • setProcessTitle() - Sets the process title of the command. (defined in Symfony\Component\Console\Command\Command)
  • table() - Format input to textual table. (defined in Illuminate\Console\Command)
  • trap() - Define a callback to be run when the given signal(s) occurs. (defined in Illuminate\Console\Command)
  • untrap() - Untrap signal handlers set within the command's handler. (defined in Illuminate\Console\Command)
  • warn() - Write a string as warning output. (defined in Illuminate\Console\Command)
  • withProgressBar() - Execute a given callback while advancing a progress bar. (defined in Illuminate\Console\Command)

Protected Methods

protected addModulesToGitignore()

protected addModulesToGitignore($gitignore): void

protected checkDatabase()

protected checkDatabase($type, $host, $port, $name, $user, $pass): void

checkDatabase validates the supplied database configuration

protected checkDatabaseFromConfig()

protected checkDatabaseFromConfig($driver): void

checkDatabaseFromConfig validates the supplied database config and throws an exception if something is wrong

protected checkEnvWritable()

protected checkEnvWritable(): void

checkEnvWritable checks to see if the app can write to the .env file

protected checkSqliteFile()

protected checkSqliteFile($filename): void

validateSqliteFile will establish the SQLite engine

protected composerRequireCore()

protected composerRequireCore($composer, $want = null): void

composerRequireString returns the composer require string for installing dependencies

protected encodeEnvVar()

protected encodeEnvVar($value): void

encodeEnvVar for compatibility with certain characters

protected getComposerUrl()

protected getComposerUrl($withProtocol = true): string 

getComposerUrl returns the endpoint for composer

protected getEnvVar()

protected getEnvVar($key, $default = null): void

getEnvVar specifically from installer specified values. This is needed since the writing to the environment file may not update the values from env()

protected getKeyLength()

protected getKeyLength($cipher): int 

getKeyLength returns the supported length of a key for a cipher

protected getOptions()

protected getOptions(): void

getOptions get the console command options

protected getRandomKey()

protected getRandomKey(): string 

getRandomKey generates a random application key

protected handleNonInteractive()

protected handleNonInteractive(): void

handleNonInteractive processes the install without any prompts

protected injectJsonToFile()

protected injectJsonToFile($filename, $jsonArr, $merge = false): void 

injectJsonToFile merges a JSON array in to an existing JSON file. Merging is useful for preserving array values.

protected mergeRecursive()

protected mergeRecursive($array1, $array2): void

mergeRecursive substitutes the native PHP array_merge_recursive to be more config friendly. Scalar values are replaced instead of being merged in to their own new array.

protected outputFailedOutro()

protected outputFailedOutro(): void

outputFailedOutro displays the failure message

protected outputIntro()

protected outputIntro(): void

outputIntro displays the introduction output

protected outputLanguageTable()

protected outputLanguageTable(): void

outputLanguageTable displays a 2 column table with the available locales

protected outputNonInteractive()

protected outputNonInteractive(): void

outputNonInteractive displays fallback commands for non-interactive environments

protected outputOutro()

protected outputOutro(): void

outputOutro displays the credits output

protected processWantString()

protected processWantString($version): void

processWantString ensures a valid want version is supplied

protected refreshEnvVars()

protected refreshEnvVars(): void

refreshEnvVars will reload defined environment variables

protected setComposerAuth()

protected setComposerAuth($email, $projectKey): void

setComposerAuth configures authentication for composer and October CMS

protected setDemoContent()

protected setDemoContent($confirm = true): void

setDemoContent instructs the system to install demo content or not

protected setEnvVar()

protected setEnvVar($key, $value): void

setEnvVar writes an environment variable to disk

protected setEnvVars()

protected setEnvVars($vars): void

setEnvVars sets multiple environment variables

protected setupApplicationUrls()

protected setupApplicationUrls(): void

setupApplicationUrls asks for URL based configuration

protected setupDatabase()

protected setupDatabase($driver): void

setupDatabase sets up a SQL based database

protected setupDatabaseConfig()

protected setupDatabaseConfig(): void

setupDatabaseConfig requests the database engine

protected setupDatabaseSqlite()

protected setupDatabaseSqlite(): void

setupDatabaseSqlite sets up the SQLite database engine

protected setupDemoTheme()

protected setupDemoTheme(): void

protected setupEncryptionKey()

protected setupEncryptionKey(): void

setupEncryptionKey sets the application encryption key if not set already

protected setupInstallOctober()

protected setupInstallOctober(): void

setupInstallOctober installs October CMS using composer

protected setupLanguage()

protected setupLanguage(): void

setupLanguage asks the user their language preference

protected setupLicenseKey()

protected setupLicenseKey(): void

setupLicenseKey asks for the license key

protected setupMigrateDatabase()

protected setupMigrateDatabase(): void

setupMigrateDatabase migrates the database

protected setupSetProject()

protected setupSetProject($licenseKey): void

Show inherited protected methods

Inherited Protected Methods

  • afterPromptingForMissingArguments() - Perform actions after the user was prompted for missing arguments. (defined in Illuminate\Console\Command)
  • commandIsolationMutex() - Get a command isolation mutex instance for the command. (defined in Illuminate\Console\Command)
  • configure() - Configures the current command. (defined in Symfony\Component\Console\Command\Command)
  • configureDefaults() - Configure argument/option defaults that can't be expressed as static signature. (defined in Illuminate\Console\Command)
  • configureFromAttributes() - Configure the command from class attributes. (defined in Illuminate\Console\Command)
  • configureIsolation() - Configure the console command for isolation. (defined in Illuminate\Console\Command)
  • configurePrompts() - Configure the prompt fallbacks. (defined in Illuminate\Console\Command)
  • configureUsageFromAttribute() - Configure usage examples for the command from class attributes. (defined in Illuminate\Console\Command)
  • configureUsingFluentDefinition() - Configure the console command using a fluent definition. (defined in Illuminate\Console\Command)
  • context() - Get all of the context passed to the command. (defined in Illuminate\Console\Command)
  • createInputFromArguments() - Create an input instance from the given arguments. (defined in Illuminate\Console\Command)
  • didReceiveOptions() - Whether the input contains any options that differ from the default values. (defined in Illuminate\Console\Command)
  • execute() - Execute the console command. (defined in Illuminate\Console\Command)
  • getArguments() - Get the console command arguments. (defined in Illuminate\Console\Command)
  • getPromptValidatorInstance() - Get the validator instance that should be used to validate prompts. (defined in Illuminate\Console\Command)
  • initialize() - Initializes the command after the input has been bound and before the input. (defined in Symfony\Component\Console\Command\Command)
  • interact() - Interact with the user before validating the input. (defined in Illuminate\Console\Command)
  • parseVerbosity() - Get the verbosity level in terms of Symfony's OutputInterface level. (defined in Illuminate\Console\Command)
  • promptForMissingArguments() - Prompt the user for any missing arguments. (defined in Illuminate\Console\Command)
  • promptForMissingArgumentsUsing() - Prompt for missing input arguments using the returned questions. (defined in Illuminate\Console\Command)
  • promptUntilValid() - Prompt the user until the given validation callback passes. (defined in Illuminate\Console\Command)
  • resolveCommand() - Resolve the console command instance for the given command. (defined in Illuminate\Console\Command)
  • restorePrompts() - Restore the prompts output. (defined in Illuminate\Console\Command)
  • runCommand() - Run the given console command. (defined in Illuminate\Console\Command)
  • setVerbosity() - Set the verbosity level. (defined in Illuminate\Console\Command)
  • specifyParameters() - Specify the arguments and options on the command. (defined in Illuminate\Console\Command)
  • validatePrompt() - Validate the given prompt value using the validator. (defined in Illuminate\Console\Command)
  • validationAttributes() - Get the validation attributes that should be used during prompt validation. (defined in Illuminate\Console\Command)
  • validationMessages() - Get the validation messages that should be used during prompt validation. (defined in Illuminate\Console\Command)