Classes, interfaces and traits

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)
« More »

ExtensionUpdater

« More »

ExtensionUpdaterServiceLocator

« More »

FileFetcher

Fetch files for the ExtensionInstaller to install.

Fetching files can happen in different ways:

  • Upload ZIP
  • wget ZIP from a URL
  • Enter git repo
  • Etc. Each method is its own subclass of this class. Each extension type can support a number of different file fetch methods.
« More »

FileFetcherUploadZip

Extension file fetcher for upload ZIP file.

Must work for all extension types: plugins, theme, question theme, etc.

« More »

GitVersionFetcher

« More »

PluginInstaller

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)
« More »

PluginUpdater

« More »

QuestionThemeInstaller

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)
« More »

RESTVersionFetcher

« More »

ThemeUpdater

« More »

VersionFetcher

« More »

VersionFetcherServiceLocator

Central Yii component to add and retrieve version fetcher strategies.

« More »