CMSB v3.82 Beta (Improved UI, Menu Count Badges, & .env support)

16 posts by 4 authors in: Forums > CMS Builder
Last Post: about an hour ago   (RSS)

Hi All, 

We've just released beta 4 here: https://interactivetools.com/download/

It has the following updates since beta 2: 

Changes from v3.82 Beta 2 (build 3012) to Beta 4 (build 3016)

Bug Fixes

- Developer Console > Shell: Fixed directory browser popup not working on servers with open_basedir restrictions (added @ error suppression to is_dir() check)
- Viewer Functions: Fixed "Undefined array key" warnings for listPageOrder and _filenameFields when accessing schemas missing these keys
- Image Processing: Fixed Imagick error handling - now gracefully falls back to GD when Imagick can't open a file (wrapped in try/catch for ImagickException)
- Plugin Names: Fixed display of plugin names containing <br> tags (now properly rendered in plugin list instead of escaped)
- Database Restore: Changed elapsed time display from "X seconds" to "M:SS" format for better readability
- Backup/Restore: Added @ error suppression for temp file cleanup to prevent warnings
- ZenDB Assert: Relaxed table/column name validation - now allows names starting with numbers (changed regex from ^[a-zA-Z_] to ^[\w-]+)
- Settings: Changed missing settings file error from throwing Exception to die() for cleaner error display
- Schema Functions: Fixed schema saving to only include list-page fields for multi/category menu types (not single or link types)
- Database Editor: Cast _indent to integer when saving to prevent type issues

Improvements

- Example Cron Plugin: Complete rewrite with improved documentation, and clearer usage instructions
- Image Functions: Added detailed docblock explaining JPEG EXIF orientation fix (what it does and why)
- Schema Functions: Added comprehensive docblock for saveSchema() explaining all processing steps
- Schema Functions: Now auto-removes menuOrder once table exists in menu cache (cleanup of temp placement data)

Send over any other issues you find, and/or we'll likely release this version mid-late next week.

Thanks!

Dave Edis - Senior Developer
interactivetools.com

Hey, Dave.

Beta 4 looks great from here!

~ Deborah

Hi Deborah, 

Okay, fantastic.  Thanks for checking things over.  Appreciate it!

Dave Edis - Senior Developer
interactivetools.com

With CMSB 3.82, the AI Schema Exporter plugin throws:

Error: Call to undefined method Itools\Cmsb\Schema::tables()

The Schema class method was renamed from getTableNames() to tables() in 3.82. The plugin needed to be updated to use the new method name and it works perfectly again.

Thanks,

Kenny H

By Dave - about an hour ago - edited: about an hour ago

Hi All, 

We've just released the official v3.82 here:https://interactivetools.com/download/

It has the following updates since beta 4: 

Changes from v3.82 Beta 4 (build 3016) to Release (build 3021)

New Features

Independent Preview Button Controls

  • Split Preview into List and Modify controls: Previously Preview was a single checkbox that controlled both List Page and Modify Page buttons together.
  • Automatic upgrade: Existing schemas automatically migrate from the old _disablePreview flag, preserving your current preview button behavior.

Improvements

Upload Error Messages

  • Better upload failure diagnostics: Previously, upload failures showed generic "unknown error" messages on HTTP errors. Now shows specific HTTP error codes (403, 503, etc.) with helpful context.
  • ModSecurity detection: When ModSecurity or resource limits block uploads, you'll now see "HTTP 503 (Service Unavailable) - Upload blocked by ModSecurity or resource limit" instead of a cryptic error.
  • All upload errors now log detailed information to browser console for debugging.

PHP Configuration Files & Detection

  • Clearer documentation: Rewrote headers in .htaccess, .user.ini, and php.ini to better explain what each file does and when it's used.
  • More accurate .htaccess detection: Added multiple detection markers (HTTP_X_CMSB_HTACCESS and others) because we discovered .htaccess could be parsed even when PHP settings were being ignored.
  • Now correctly reports whether .htaccess is actually being used under Admin > General > Server Info > Web Server, and PHP.

Server Info Page (Admin > General > Server Info)

  • Better application stack visualization: Added "Control Panel" as its own section to show the full hosting stack: OS → Control Panel (cPanel, Plesk, etc.) → Web Server → PHP. Makes it easier to diagnose hosting-related issues.
  • Friendlier PHP Handler names: Now shows descriptive names from phpinfo() like "Apache 2.0 Handler" or "FPM/FastCGI" instead of technical abbreviations.
  • Recent Changes: Shows relative .env file path when setting changed to using those
  • Cleaned up display: removed "CMS Directory" line (not useful), fixed 4 unclosed <ul> tags.

Error Logging

  • Reduced noise: Filtered out CMSB_* diagnostic markers from error logs (these are only used for server detection, not needed in logs).
  • Fixed some false positives causing redaction patterns in logs when it wasn't needed

Developer Experience

  • Better missing vendor/ error messages: When vendor directory is missing (e.g., fresh git clone), now shows clear message: "vendor/ directory not found. Run: composer update"
  • Improved directory scanning error handling with clearer messages when directories are missing.

Code Quality

  • Reorganized and added comprehensive PHPDocs for upload functions (1,200+ lines of improved documentation).
  • Enhanced getRecords() PHPDoc: reorganized options into logical groups, clarified leftJoin syntax, improved examples.
  • Added type hints throughout.
  • Updated Composer dependencies to latest versions.

Thanks to everyone for your help testing!  Feel free to post a new thread or email if you find any other issues.

Dave Edis - Senior Developer
interactivetools.com