The Master Controller includes a lightweight PHP-based web interface for real-time monitoring and administrative tasks.

Overview

The web interface is located in the server/trunk/httpd/ directory and is designed to run on a standard web server (e.g., Apache or Nginx) with PHP support.

It is not currently included in the Docker images.

Key Components

  • Log Viewer (logView.php): Provides a live-updating view of access events and system logs. It uses AJAX to poll the server for the latest database entries.
  • Badge Query (queryBadge.php): Allows administrators to scan a card and immediately see the associated user and their permissions.
  • Latest Read (getLatestRead.php): A backend endpoint that returns the most recent card presentation data in a format suitable for the dashboard.
  • Company Selection (chooseCompany.php): Supports multi-tenancy environments where different companies share the same esctl infrastructure.

Technical Architecture

The frontend uses jQuery to handle asynchronous updates, ensuring that the dashboard remains responsive without requiring full page reloads.

Configuration

The web interface is configured via variables.php. You must set the following parameters to match your Master Controller environment:

  • MySQL database credentials.
  • LDAP connection details (if using the badge query tool).
  • Path to the esctl log files.

Integration

The web interface communicates directly with the same MySQL/MariaDB database used by the esctl-node.pl service, providing a unified view of the entire environment.