Installer

The extension installer is a special feature designed to allow WHMCS user to install extensions without the need for FTP upload. Developers can make their add-on packages easy to install, just by including a .XML which passes instructions to the installer function to define where the files should be placed.

Types that can be installed:

  • Module add-on
  • Templates which has the .xml manifest
  • CMSE widgets
  • WHMCS widgets which has the .xml manifest
  • Files to specified destinations eg: template .css, language files

 

The files must be in a folder and the folder is compiled as a .zip archive

Upload the .zip package and click Install Extension

The installer function looks for the .xml manifest and parses it for instructions. The first instruction read is the type="" attribute which defines what extension type is to installed and therefore places the package in the relative directory.

Types supported are

  • whmcsaddon
  • whmcstemplate
  • language
  • file
  • cmsewidget
  • whmcswidget
  • admintemplate
  • whmcsmodule
  • whmcsasset

installer

 

Extension installation complete.

Notifications will be displayed once the installation is succesfull and complete. If an error occurs due to missing file(s), the notice of the missing file will be printed and the installation will be aborted.

Files are determined as missing if they are declared in the manifest but not found in the package. If there are files and folder included but not declared in the manifest, those items will be deleted so it is important that all files and folders are declared.

installer-complete

 

The manifest format:

See the developer section for more details

<?xml version="1.0" encoding="utf-8"?>
<extension version="1.0" type="whmcsaddon">
<name>CMSE Framework For WHMCS</name>
<version>1.0</version>
<creationDate>03/24/19</creationDate>
<author>CMSenergizer.com</author>
<authorEmail>mail@cmsenergizer.com</authorEmail>
<authorUrl>http://www.cmsenergizer.com</authorUrl>
<copyright>CMSEnergizer.com</copyright>
<license>EULA</license>

<files>
<file>cmseframework.php</file>
<file>cmseframework.xml</file>
<file>functions.php</file>
<file>hooks.php</file>
<file>index.html</file>
<file>_copyfiles</file>
<file>assets</file>
<file>lang</file>
<file>lib</file>
<file>templates</file>
</files>

</extension>