OXID eShop CE  6.1.5
OxidEsales\EshopCommunity\Setup\Controller Class Reference
+ Inheritance diagram for OxidEsales\EshopCommunity\Setup\Controller:
+ Collaboration diagram for OxidEsales\EshopCommunity\Setup\Controller:

Public Member Functions

 __construct ()
 
 systemReq ()
 
 welcome ()
 
 license ()
 
 dbInfo ()
 
 dirsInfo ()
 
 dbConnect ()
 
 dbCreate ()
 
 dirsWrite ()
 
 finish ()
 
 getView ()
 
- Public Member Functions inherited from OxidEsales\EshopCommunity\Setup\Core
 getInstance ($sInstanceName)
 
 __call ($sMethod, $aArgs)
 

Protected Member Functions

 onDirsWriteSetStep ($setup)
 
 setViewOptions ($templateFileName, $titleId, $viewOptions)
 
- Protected Member Functions inherited from OxidEsales\EshopCommunity\Setup\Core
 getClass ($sInstanceName)
 
 getSetupInstance ()
 
 getLanguageInstance ()
 
 getUtilitiesInstance ()
 
 getSessionInstance ()
 
 getDatabaseInstance ()
 
 userDecidedOverwriteDB ()
 
 userDecidedIgnoreDBWarning ()
 

Private Member Functions

 databaseCanBeOverwritten ($database)
 
 formMessageIfDBCanBeOverwritten ($databaseName, $view, $language)
 
 formMessageIfMySqyVersionIsNotRecommended ($view, $language)
 
 formMessageInstallAnyway ($view, $language, $sessionId, $setupStep)
 
 formMessageIgnoreDbVersionNotRecommended ($view, $language, $sessionId, $setupStep, $databaseExists)
 
 installShopData ($database, $demoDataRequired=0)
 
 getModuleStateMapGenerator ($systemRequirementsInfo)
 
 getSystemRequirementsInfo ()
 
 updateSystemRequirementsInfo ($systemRequirementsInfo)
 
 canUpdateHtaccess ()
 
 handleCommandExecutionFailedException ($exception)
 
 convertCommandOutputToHtmlOutput ($commandOutput)
 
 ensureDatabasePresent ($database, $dbName)
 

Private Attributes

 $view = null
 

Additional Inherited Members

- Static Protected Attributes inherited from OxidEsales\EshopCommunity\Setup\Core
static $_aInstances = []
 

Detailed Description

Class holds scripts (controllers) needed to perform shop setup steps

Constructor & Destructor Documentation

◆ __construct()

OxidEsales\EshopCommunity\Setup\Controller::__construct ( )

Controller constructor

Member Function Documentation

◆ canUpdateHtaccess()

OxidEsales\EshopCommunity\Setup\Controller::canUpdateHtaccess ( )
private

Check if htaccess file can be updated.

Returns
bool Returns true in case htaccess file can be updated.

◆ convertCommandOutputToHtmlOutput()

OxidEsales\EshopCommunity\Setup\Controller::convertCommandOutputToHtmlOutput (   $commandOutput)
private
Parameters
string$commandOutput
Returns
string

◆ databaseCanBeOverwritten()

OxidEsales\EshopCommunity\Setup\Controller::databaseCanBeOverwritten (   $database)
private

Check if database can be safely overwritten.

Parameters
\OxidEsales\EshopCommunity\Setup\Database$databasedatabase instance used to connect to DB
Returns
bool

◆ dbConnect()

OxidEsales\EshopCommunity\Setup\Controller::dbConnect ( )

Testing database connection

Functionality is tested via: Acceptance/Frontend/ShopSetUpTest.php::testSetupRedirectsToDatabaseEntryPageWhenNotAllFieldsAreFilled Acceptance/Frontend/ShopSetUpTest.php::testSetupRedirectsToDatabaseEntryPageWhenDatabaseUserDoesNotHaveAccess Acceptance/Frontend/ShopSetUpTest.php::testSetupRedirectsToDatabaseEntryPageWhenDatabaseUserIsValidButCantCreateDatabase Acceptance/Frontend/ShopSetUpTest.php::testUserIsNotifiedIfAValidDatabaseAlreadyExistsBeforeTryingToOverwriteIt

◆ dbCreate()

OxidEsales\EshopCommunity\Setup\Controller::dbCreate ( )

Creating database

Functionality is tested via: Acceptance/Frontend/ShopSetUpTest.php::testSetupRedirectsToDatabaseEntryPageWhenDatabaseUserIsValidButCantCreateDatabase Acceptance/Frontend/ShopSetUpTest.php::testUserIsNotifiedIfAValidDatabaseAlreadyExistsBeforeTryingToOverwriteIt Acceptance/Frontend/ShopSetUpTest.php::testSetupRedirectsToDatabaseEntryPageWhenSetupSqlFileIsMissing Acceptance/Frontend/ShopSetUpTest.php::testSetupRedirectsToDatabaseEntryPageWhenSetupSqlFileHasSyntaxError Acceptance/Frontend/ShopSetUpTest.php::testSetupShowsErrorMessageWhenMigrationFileContainsSyntaxErrors Acceptance/Frontend/ShopSetUpTest.php::testSetupShowsErrorMessageWhenMigrationExecutableIsMissing Acceptance/Frontend/ShopSetUpTest.php::testSetupShowsErrorMessageWhenViewRegenerationReturnsErrorCode Acceptance/Frontend/ShopSetUpTest.php::testSetupShowsErrorMessageWhenViewsRegenerationExecutableIsMissing

◆ dbInfo()

OxidEsales\EshopCommunity\Setup\Controller::dbInfo ( )

DB info entry page

Functionality is tested via: Acceptance/Frontend/ShopSetUpTest.php::testSetupRedirectsToWelcomeScreenInCaseLicenseIsNotCheckedAsAgreed

◆ dirsInfo()

OxidEsales\EshopCommunity\Setup\Controller::dirsInfo ( )

Setup paths info entry page

◆ dirsWrite()

OxidEsales\EshopCommunity\Setup\Controller::dirsWrite ( )

Writing config info

Functionality is tested via: Acceptance/Frontend/ShopSetUpTest.php::testSetupRedirectsToDirInfoEntryPageWhenNotAllFieldsAreFilled Acceptance/Frontend/ShopSetUpTest.php::testSetupRedirectsToDirInfoEntryPageWhenPasswordIsTooShort Acceptance/Frontend/ShopSetUpTest.php::testSetupRedirectsToDirInfoEntryPageWhenPasswordDoesNotMatch Acceptance/Frontend/ShopSetUpTest.php::testSetupRedirectsToDirInfoEntryPageWhenInvalidEmailUsed Acceptance/Frontend/ShopSetUpTest.php::testSetupRedirectsToDirInfoEntryPageWhenSetupCantFindConfigFile

◆ ensureDatabasePresent()

OxidEsales\EshopCommunity\Setup\Controller::ensureDatabasePresent (   $database,
  $dbName 
)
private

Ensure the database is available

Exceptions

◆ finish()

OxidEsales\EshopCommunity\Setup\Controller::finish ( )

Final setup step

◆ formMessageIfDBCanBeOverwritten()

OxidEsales\EshopCommunity\Setup\Controller::formMessageIfDBCanBeOverwritten (   $databaseName,
  $view,
  $language 
)
private

Show warning-question if database with same name already exists.

Parameters
string$databaseNamename of database to check if exist
\OxidEsales\EshopCommunity\Setup\View$viewto set parameters for template
\OxidEsales\EshopCommunity\Setup\Language$languageto translate text

◆ formMessageIfMySqyVersionIsNotRecommended()

OxidEsales\EshopCommunity\Setup\Controller::formMessageIfMySqyVersionIsNotRecommended (   $view,
  $language 
)
private

Show warning-question if MySQL version does meet minimal requirements, but is neither recommended nor supported.

Parameters
\OxidEsales\EshopCommunity\Setup\View$viewto set parameters for template
\OxidEsales\EshopCommunity\Setup\Language$languageto translate text

◆ formMessageIgnoreDbVersionNotRecommended()

OxidEsales\EshopCommunity\Setup\Controller::formMessageIgnoreDbVersionNotRecommended (   $view,
  $language,
  $sessionId,
  $setupStep,
  $databaseExists 
)
private

Show a message and a link to continue installation process, not regarding errors and warnings

Parameters
\OxidEsales\EshopCommunity\Setup\View$viewto set parameters for template
\OxidEsales\EshopCommunity\Setup\Language$languageto translate text
string$sessionId
string$setupStepwhere to redirect if chose to rewrite database
bool$databaseExistsDatabase already exists

◆ formMessageInstallAnyway()

OxidEsales\EshopCommunity\Setup\Controller::formMessageInstallAnyway (   $view,
  $language,
  $sessionId,
  $setupStep 
)
private

Show a message and a link to continue installation process, not regarding errors and warnings

Parameters
\OxidEsales\EshopCommunity\Setup\View$viewto set parameters for template
\OxidEsales\EshopCommunity\Setup\Language$languageto translate text
string$sessionId
string$setupStepwhere to redirect if chose to rewrite database

◆ getModuleStateMapGenerator()

OxidEsales\EshopCommunity\Setup\Controller::getModuleStateMapGenerator (   $systemRequirementsInfo)
private

Getter for ModuleStateMapGenerator.

Returns an instance of ModuleStateMapGenerator which has all necessary functions predefined:

  • StateHtmlClassConverterFunction to convert module state to HTML class attribute for setup page;
  • ModuleNameTranslateFunction to translate requirement module id to it's full name;
  • ModuleGroupNameTranslateFunction to translate requirement module group id to it's full name.
Parameters
array$systemRequirementsInfo
Returns
ModuleStateMapGenerator

◆ getSystemRequirementsInfo()

OxidEsales\EshopCommunity\Setup\Controller::getSystemRequirementsInfo ( )
private

Get updated array in the same format as provided by SystemRequirements::getSystemInfo.

Returns
array Updated SystemRequirementsInfo array.

◆ getView()

OxidEsales\EshopCommunity\Setup\Controller::getView ( )

Returns View object

Returns
\OxidEsales\EshopCommunity\Setup\View

◆ handleCommandExecutionFailedException()

OxidEsales\EshopCommunity\Setup\Controller::handleCommandExecutionFailedException (   $exception)
private
Parameters
CommandExecutionFailedException$exception

◆ installShopData()

OxidEsales\EshopCommunity\Setup\Controller::installShopData (   $database,
  $demoDataRequired = 0 
)
private

Installs demo data or initial, dependent on parameter

Parameters
\OxidEsales\EshopCommunity\Setup\Database$database
int$demoDataRequired
Exceptions
SetupControllerExitException

◆ license()

OxidEsales\EshopCommunity\Setup\Controller::license ( )

License confirmation page

◆ onDirsWriteSetStep()

OxidEsales\EshopCommunity\Setup\Controller::onDirsWriteSetStep (   $setup)
protected
Parameters
\OxidEsales\EshopCommunity\Setup\Setup$setup

◆ setViewOptions()

OxidEsales\EshopCommunity\Setup\Controller::setViewOptions (   $templateFileName,
  $titleId,
  $viewOptions 
)
protected

Allows to set all necessary view information with single method call.

Parameters
string$templateFileNameFile name of template which will be used to pass in the context data.
string$titleIdTitle Id which will be used in the template.
array$viewOptionsAn array containing all view elements to be used inside a template.

◆ systemReq()

OxidEsales\EshopCommunity\Setup\Controller::systemReq ( )

First page with system requirements check

Functionality is tested via: Acceptance/Frontend/ShopSetUpTest.php::testSystemRequirementsPageCanContinueWithSetup Acceptance/Frontend/ShopSetUpTest.php::testSystemRequirementsPageShowsTranslatedModuleNames Acceptance/Frontend/ShopSetUpTest.php::testSystemRequirementsPageShowsTranslatedModuleGroupNames Acceptance/Frontend/ShopSetUpTest.php::testSystemRequirementsContainsProperModuleStateHtmlClassNames Acceptance/Frontend/ShopSetUpTest.php::testInstallShopCantContinueDueToHtaccessProblem

◆ updateSystemRequirementsInfo()

OxidEsales\EshopCommunity\Setup\Controller::updateSystemRequirementsInfo (   $systemRequirementsInfo)
private

Modify given array of format SystemRequirements::getSystemInfo with exceptional cases.

ATM it is a bit tricky to include these changes due to the way SystemRequirements are constructed.

Parameters
array$systemRequirementsInfoAn array taken from SystemRequirements::getSystemInfo.
Returns
array An array in the same format as provided in SystemRequirements::getSystemInfo.

◆ welcome()

OxidEsales\EshopCommunity\Setup\Controller::welcome ( )

Welcome page

Member Data Documentation

◆ $view

OxidEsales\EshopCommunity\Setup\Controller::$view = null
private

The documentation for this class was generated from the following file: