schubwerk / core
0.1.0
2024-09-28 09:36 UTC
Requires
README
Core Tracking Library for Inclusion in CMS plugins for Schubwerk Tracker
Compatibility
- PHP7.4-PHP8.3
Installation
FIXME: not yet working; needs register on packagist
composer require schubwerk/core
Overview
- Your CMS integration needs to serve the tracking Javascript
- Create a controller which calls the forwarder (does geocoding and hashing)
- The tracking JS points to this controller
Implementation
When settings are saved, do the initial tracking.js download
Integrate the JS code into your page, pointing to the local tracking.js
try {
(new Downloader(
$schubwerkBaseUrl
$apiKey,
$tempDir,
$publicAssetsBaseDir
))->download();
} catch (DownloadException $e) {
add_settings_error( 'general', 'settings_updated', $e->getMessage(), 'error' );
}
Implement a controller which calls the forwarder
(new Forwarder(
$schubwerkBaseUrl
$apiKey,
$tempDir,
$publicAssetsBaseDir,
'YourCms/' . $cmsVersion . '; SchubwerkTracking/' . PLUGIN_VERSION) // Server Agent
)->forwardServerInput($_SERVER['REMOTE_ADDR'], $event);
You can also use forwardRequest
for a better integration into a request framework such as Symfony.