This documentation covers Poweradmin 4.0.x and 4.1.x. Some sections are still being expanded.
Upgrading to v3.2.0
Overview
Version 3.2.0 introduces a comprehensive logging system for tracking user and zone changes, enhances the user interface with multiple display options, and improves overall system security through better audit trails.
Upgrade Instructions
- Download latest tarball from GitHub
- Backup your files and database before proceeding
- Replace all files with content from the downloaded archive
- Restore your configuration file (
inc/config.inc.php) from backup - Update database structure based on your database type:
MySQL
CREATE TABLE `log_users`
(
`id` int(11) NOT NULL AUTO_INCREMENT,
`event` varchar(2048) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
`priority` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
CREATE TABLE `log_zones`
(
`id` int(11) NOT NULL AUTO_INCREMENT,
`event` varchar(2048) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
`priority` int(11) NOT NULL,
`zone_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
PostgreSQL
CREATE SEQUENCE log_users_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1;
CREATE TABLE "log_users"
(
"id" integer DEFAULT nextval('log_users_id_seq') NOT NULL,
"event" character varying(2048),
"created_at" timestamp DEFAULT CURRENT_TIMESTAMP,
"priority" integer,
CONSTRAINT "log_users_pkey" PRIMARY KEY ("id")
) WITH (oids = false);
CREATE SEQUENCE log_zones_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1;
CREATE TABLE "log_zones"
(
"id" integer DEFAULT nextval('log_zones_id_seq') NOT NULL,
"event" character varying(2048),
"created_at" timestamp DEFAULT CURRENT_TIMESTAMP,
"priority" integer,
"zone_id" integer,
CONSTRAINT "log_zones_pkey" PRIMARY KEY ("id")
) WITH (oids = false);
SQLite
CREATE TABLE log_users (id integer PRIMARY KEY, event VARCHAR(2048) NOT NULL, created_at timestamp DEFAULT current_timestamp, priority integer NOT NULL);
CREATE TABLE log_zones (id integer PRIMARY KEY, event VARCHAR(2048) NOT NULL, created_at timestamp DEFAULT current_timestamp, priority integer NOT NULL, zone_id integer);
- Add the following new configuration options to your
inc/config.inc.phpfile:
'interface' => [
// ... existing configuration ...
'index_display' => 'cards', // Options: 'cards', 'list' (added in 3.2.0)
// ... existing configuration ...
],
'logging' => [
// ... existing configuration ...
'database_enabled' => false, // Enable logging zone and record changes to the database (added in 3.2.0)
// ... existing configuration ...
],
New Features
Database Logging System
- Comprehensive activity logging for user actions and zone changes
- New tables for storing user and zone logs with timestamps
- Administrative interface for viewing, searching, and filtering logs
- Zone logs include references to specific zones for targeted filtering
- User logs track authentication and user management activities
User Interface Improvements
- Two display modes for the main dashboard:
- 'cards': Modern card-based layout (default)
- 'list': Traditional list view
- New log viewing interfaces for administrators
- Enhanced navigation and user experience
Security Enhancements
- Improved audit trail capabilities for security monitoring
- Better tracking of user authentication attempts
- Detailed logging of zone and record modifications
- Only users with administrative privileges can access log views
Notes
- Database logging is disabled by default. Enable it in the configuration if needed.
- Older logs will not be available after upgrade - only new activity will be logged.
- Regular database maintenance may be needed if logs accumulate in high-traffic environments.
- Consider implementing a log rotation policy for long-term use.