Library Gate Register releases
Free WordPress plugin for library gate management — QR/barcode student entry/exit tracking
by Your Library · github.com/qmgcwlibrary-sketch/libtrack-pro
Install
The author publishes release zips, so WP-CLI can install straight from GitHub:
wp plugin install https://github.com/qmgcwlibrary-sketch/libtrack-pro/releases/download/v2.3.0/libtrack-pro-v2.3.0.zipReadme
LibTrack Pro — Library Gate Register
Free, open-source WordPress plugin for campus library gate management. QR/barcode student entry-exit tracking, multi-gate schedules, full-screen kiosk display, shift management, and rich analytics reports.
Version: 2.3.5 | Requires WordPress: 5.8+ | Requires PHP: 7.4+ | License: GPLv2
Developed by T.C. Thirunavukkarasu, College Librarian, Quaid-E-Millath Government College for Women (Autonomous), Chennai. Released free for all libraries worldwide.
Table of Contents
- Features
- Requirements
- Installation
- Quick Start
- Shortcodes
- Kiosk Setup
- CSV Import Format
- Security Notes
- Contributing
- Changelog
- License
Features
| Category | What it does |
|---|---|
| Gate Management | Multiple campuses, multiple gates per campus, open/close time schedules, auto-close exits at gate closing time |
| Student Master | Registration number, name, photo, gender, degree, course, year, shift, email, mobile — bulk import via CSV |
| QR / Barcode Scan | Camera-based (QR, Code-128, Code-39, EAN-13, Data Matrix) + USB hardware scanner + manual fallback |
| Entry / Exit Logic | Smart toggle — last action determines next type; visit duration calculated on exit |
| Full-Screen Kiosk | Cinematic dark-mode display, live clock, animated student card with avatar, rotating side panels (quotes, new arrivals, notices, live stats, leaderboard) |
| Shifts | Morning / Evening / Night or custom; shift-wise traffic reports |
| Reports & Analytics | Daily traffic, monthly trend, gate comparison, heatmap, gender breakdown, exam vs normal period, month-over-month, student attendance |
| Leaderboard | Monthly and all-time top visitors shown on kiosk |
| Backup & Restore | One-click ZIP backup, scheduled auto-backup, chunked restore — safe on large databases |
| Circulation | Basic book issue/return tracking with due-date management |
| Koha Import | Direct CSV import from Koha ILS patron exports |
Requirements
- WordPress 5.8 or later
- PHP 7.4 or later (8.0+ recommended)
- MySQL 5.7+ or MariaDB 10.3+
- PHP
ZipArchiveextension (for backup/restore) - PHP
GDorImagickextension (for QR code generation)
Installation
From GitHub (ZIP)
- Download
libtrack-pro-v2.3.5-release.zipfrom the Releases page. - In WordPress admin go to Plugins → Add New → Upload Plugin.
- Upload the ZIP and click Install Now, then Activate.
- Go to LibTrack → Gates and create your first gate.
- Go to LibTrack → Students and import or add your students.
From Source
cd wp-content/plugins/
git clone https://github.com/YOUR-USERNAME/library-gate-register.git
Then activate the plugin in Plugins → Installed Plugins.
Quick Start
- Create a Gate — LibTrack → Gates → Add Gate. Set campus name, gate name, and open/close times.
- Import Students — LibTrack → Students → Bulk Import CSV (see format below), or add individually.
- Open the Kiosk — Add
[lgr_kiosk gate_id="1"]to any WordPress page, then open it full-screen on your library display. - Scan — Students tap their card or the librarian scans the QR. Entry/exit is toggled automatically.
- Reports — LibTrack → Reports → choose date range, gate, or period type.
Shortcodes
| Shortcode | Description | Capability required |
|---|---|---|
[lgr_kiosk gate_id="1"] |
Full-screen kiosk display for a specific gate | None (public page) |
[lgr_scanner gate_id="1"] |
Embedded scan widget for admin use on a page | manage_options |
Note: The scanner shortcode requires the user to be logged in as an administrator. It is intended for staff-only pages, not public-facing ones.
Kiosk Setup
- Create a dedicated WordPress page (e.g. "Library Kiosk").
- Add
[lgr_kiosk gate_id="X"]whereXis your gate ID (visible in LibTrack → Gates). - In LibTrack → Kiosk Settings, generate a Kiosk Token for the device. Copy it.
- Open the kiosk page on your display device and append
?lgr_token=YOUR_TOKENthe first time. The token is stored locally from that point on. - Press F11 for full-screen. The kiosk auto-refreshes and handles offline queuing if the network drops.
CSV Import Format
The student import accepts CSV with the following columns (header row required):
| Column | Required | Notes |
|---|---|---|
cardnumber |
✓ | Unique registration/card number |
surname |
✓ | Family name |
firstname |
Given name | |
othernames |
Middle name / initials | |
gender |
Male or Female |
|
dateofbirth |
YYYY-MM-DD or DD/MM/YYYY |
|
dateenrolled |
YYYY-MM-DD |
|
dateexpiry |
YYYY-MM-DD |
|
categorycode |
Degree / member type code | |
sort1 |
Course / programme | |
sort2 |
Year / batch | |
shift |
Morning / Evening / Night | |
email |
||
phone |
||
branchcode |
Campus / branch |
Koha ILS patron export CSVs are accepted directly without column remapping.
Security Notes
- Backup files are protected from direct web access (
.htaccess+index.phpguard written automatically). Use a backup folder insidewp-content/uploads/or outside the web root entirely. - Kiosk tokens are stored as SHA-256 hashes. The raw token is shown once on generation; it cannot be recovered, only revoked. Tokens older than 30 days without activity are flagged in the admin.
- Student photos accept only JPEG, PNG, and WebP — SVG is explicitly blocked.
- The scanner shortcode requires
manage_options. Do not embed it on public pages. - All database queries use
$wpdb->prepare(). All admin output is escaped withesc_html()/esc_attr().
Contributing
Pull requests are welcome. Please:
- Fork the repository and create a feature branch (
git checkout -b feature/my-change). - Follow WordPress Coding Standards.
- Test against WordPress 5.8+ and PHP 7.4+.
- Open a PR with a clear description of what changed and why.
Bug reports and feature requests via GitHub Issues.
Changelog
See CHANGELOG.md for the full version history.
Latest — v2.3.5 (2026-08-17)
- Security: 6 vulnerabilities fixed (shortcode auth, SVG XSS, rate limiting, bulk delete CSRF, backup exposure, token tracking)
- Performance: All
DATE()WHERE predicates replaced with SARGable range predicates; composite indexes added - Data integrity: All scan writes and CSV imports wrapped in database transactions
- WP.org compliance:
uninstall.php, text domain, output escaping,trailingslashit()
License
GPLv2 or later. See LICENSE file.
Developed with ❤️ for libraries everywhere by T.C. Thirunavukkarasu, College Librarian, Quaid-E-Millath Government College for Women (Autonomous), Chennai, India.
Read the full README on GitHub →
Releases
Active-site estimate ≈20 comes from the median of recent superseded releases. Method.