0.1.0 2024-09-28 09:36 UTC

This package is auto-updated.

Last update: 2024-12-24 08:59:37 UTC


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.