Skip to content

bug: pass bool (not int) to api_plugin_register_hook() $enable - #92

Merged
TheWitness merged 1 commit into
developfrom
fix/register-hook-enable-bool
Oct 8, 2026
Merged

TheWitness merged 1 commit into
developfrom
fix/register-hook-enable-bool

Conversation

@TheWitness

Copy link
Copy Markdown
Member

Summary

Cacti 1.3 (develop) types the 5th argument of api_plugin_register_hook() as a strict bool $enable (lib/plugins.php). This plugin's hook (re-)registration calls passed the integer 1 instead of true.

Today that only coerces because the calling file does not declare strict_types. The moment declare(strict_types=1) is added to that file (an ongoing hardening direction across the plugin fleet), those calls would throw:

Uncaught TypeError: api_plugin_register_hook(): Argument #5 ($enable) must be of type bool, int given

which fatals the plugin management page on load — exactly what happened in plugin_routerconfigs (fixed in Cacti/plugin_routerconfigs#188).

Change

Pass true instead of 1 (and false for any 0) at every api_plugin_register_hook() call site. Type-only correctness fix — no behavior change. php -l clean.

api_plugin_register_realm() is not affected (its trailing argument is typed mixed, not bool).

Cacti 1.3 types api_plugin_register_hook() 5th arg as bool enable. These calls passed int 1, which only coerces while the file lacks declare(strict_types=1); pass true so they stay type-correct. php -l clean.
@TheWitness
TheWitness requested review from bmfmancini and xmacan and a balanced review from Copilot October 8, 2026 18:50

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The focused type correction is complete and preserves existing behavior.

0 open findings

What changed in this PR

Updates hook re-registration for compatibility with Cacti 1.3’s strict boolean parameter.

Changes:

  • Replaces integer enable flags with true.
  • Documents the compatibility fix.
File Description
setup.php Uses boolean hook enable arguments.
CHANGELOG.md Records the type-correctness fix.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@TheWitness
TheWitness merged commit 809d56d into develop Oct 8, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants