Joomla Environment Stats
In order to better understand our install base and end user environments, a plugin has been created to send those stats back to a Joomla controlled central server. No worries though, no identifying data is captured at any point, and we only keep the data last sent to us.
Build Status
Requirements
- PHP 7.0+
- PDO with MySQL support
- MySQL
- Composer
- Apache with mod_rewrite enabled and configured to allow the .htaccess file to be read
Installation
- Clone this repo on your web server
- Create a database on your MySQL server
- Copy
etc/config.dist.jsontoetc/config.jsonand fill in your database credentials - Run the
composer installcommand to install all dependencies - Run the
bin/stats installcommand to create the application's database
Additional Configuration
The DisplayControllerGet optionally supports several additional configuration values which affect the application's behavior, to include:
- Caching - The
joomla/cachepackage is used to provide a PSR-6 compliant caching API to store data. The supported configuration values are under thecachekey in the configuration and include:enabled- Is the cache enabled?lifetime- The lifetime (in seconds) of the cache dataadapter- The cache adapter to use; the currently supported values can be found in the CacheServiceProvider
- Raw Data Access - The API supports requesting the raw, unfiltered API data by sending a
Joomla-Rawheader with the API request. The value of this must match thestats.rawdataconfiguration key.
Additionally, the application behavior is affected by the following configuration settings:
- Error Reporting - The
errorReportingconfiguration key can be set to a valid bitmask to be passed into theerror_reporting()function - Logging - The application's logging levels can be fine tuned by adjusting the
logconfiguration keys:log.level- The default logging level to use for all application loggerslog.application- The logging level to use specifically for themonolog.handler.applicationlogger; defaults to thelog.levelvaluelog.database- The logging level to use specifically for themonolog.handler.databaselogger; defaults to thelog.levelvalue (Note: ifdatabase.debugis set to true then this level will ALWAYS correspond to the debug level)



