Schoolbooth Photo Manager
Secure photo downloads with access codes and portal interface
by IKAP Systems · github.com/awebbtx/production_schoolbooth_wp_plugin
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/awebbtx/production_schoolbooth_wp_plugin/archive/refs/heads/main.zip=== Schoolbooth Photo Manager === Contributors: ikapsystems Tags: photo download, secure downloads, access codes Requires at least: 5.6 Tested up to: 6.0 Stable tag: 3.2.2 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html
Secure photo downloads with access codes and portal interface.
Description
This plugin provides:
- Secure photo downloads with access codes
- Download portal interface
- Download limits per image
- Automatic image expiration
- Access-code based photo portals
- One-click page creation
- Bulk download/delete options
- Signed REST API for app uploads
Installation
- Upload the plugin files to the /wp-content/plugins/schoolbooth-photo-manager directory
- Activate the plugin through the Plugins menu in WordPress
- Configure settings under Settings > Photo Downloads
- Use the [schoolbooth_download_portal] shortcode or create a page automatically
GitHub Installation / Updates
Install from GitHub Releases using the ZIP asset for the version you want.
- Repository: https://github.com/Awebbtx/Production_SchoolBooth_WP_plugin
- Releases: https://github.com/Awebbtx/Production_SchoolBooth_WP_plugin/releases
For manual installs in wp-admin:
- Download the release ZIP named schoolbooth-photo-manager-vX.Y.Z.zip.
- In WordPress admin, go to Plugins > Add New > Upload Plugin.
- Upload the ZIP and click Install Now.
- Click Activate Plugin.
For updates, always use the newest release ZIP from the Releases page. Do not upload source-code ZIPs generated by GitHub's "Source code (zip)" links.
Shared Hosting / Bluehost Deployment Note
On some shared hosts (including Bluehost and similar providers), ModSecurity or other WAF layers may block app enrollment or image upload requests with HTTP 403/406.
If this occurs, ask hosting support to keep WAF enabled globally and apply a narrow path-based exception for POST requests to these plugin API routes:
- /wp-json/schoolbooth/v1/enroll
- /wp-json/schoolbooth/v1/ingest
- /wp-json/pta-schoolbooth/v1/enroll (legacy compatibility)
- /wp-json/pta-schoolbooth/v1/ingest (legacy compatibility)
- /wp-json/nbpta/v1/enroll (legacy compatibility)
- /wp-json/nbpta/v1/ingest (legacy compatibility)
Also ask support to confirm request-body limits are sufficient for base64 image payloads used by API uploads.
Changelog
3.2.2
- Fixed activation warning "generated unexpected output" by removing UTF-8 BOM bytes from all PHP files.
- Packaging hardening to ensure clean WordPress extraction and activation.
3.2.1
- Fixed activation failures by making setup checks non-fatal and surfacing warnings in wp-admin.
- Automatically regenerates an invalid/too-short shared secret during activation.
3.0.2
- Rebranding cleanup for Schoolbooth naming
- API namespace and settings naming alignment
- Production-focused packaging updates
3.0.0
- Complete redesign with portal interface
- Added bulk download/delete options
- Improved security
- Better error handling
- Added expiration countdown display