QuestionThemeInstaller

Extends\LimeSurvey\ExtensionInstaller\ExtensionInstaller

Base class for different extension installers.

All extension have this in common:

  • Upload ZIP file or grab files from web (e.g. git repo)
  • Read config.xml
  • If config.xml is valid and the extension compatible with current version of LimeSurvey, then -- Copy files to correct folder (depends on extension type) -- Insert database row (depends on extension type)
package

Default

Methods

When installation procedure was not completed, abort changes.

abort(): void
inherited

Order the file fetcher to fetch files.

fetchFiles(): void
inherited
Throws
\Exception

Get the configuration from temp dir.

getConfig(): \ExtensionConfig|null
inherited

Before an extension is installed, we need to read the config file. That's why the extension if fetched into a temp folder first.

Response

\ExtensionConfig|null

Returns absolute path of folder inside $destdir that has config.xml in it.

getXmlFolder(string $dir): string|null

Arguments

$dir

string

Root dir of question theme

Response

string|null

Folder as string if config.xml is found; otherwise null

Install extension, which includes moving files from temp dir to final dir, and creating the necessary database changes.

install(): void
inheritedabstract

setFileFetcher

setFileFetcher(\LimeSurvey\ExtensionInstaller\FileFetcher $fileFetcher): void
inherited

Uninstall the extension.

uninstall(): void
inheritedabstract

Update extension.

update(): void
inheritedabstract

Properties

Class responsible for fetching files from source.

fileFetcher :\LimeSurvey\ExtensionInstaller\FileFetcher
inherited