Skip to content

v1.6.21

Choose a tag to compare

@mastacontrola mastacontrola released this 30 Aug 21:25
· 11 commits to main since this release
388940a

The eight bundled reports follow ReportManagement into FOG\Pages.

Required by fogproject#1528,
which bucketed the last 52 flat-namespace core classes — pages, hooks, reports
and events — out of lib/ and into src/{Pages,Hooks,Reports,Events}.

What breaks without this

The only core class these plugins name by its flat spelling moved:
\FOG\ReportManagement is now \FOG\Pages\ReportManagement. Eight report
classes extend it, so on a server running that core they fatal with
Class "FOG\ReportManagement" not found the moment someone opens the report.

Core's autoloader refuses the flat spelling and logs the correct FQCN rather
than resolving it, so the failure names its own fix — but it is still a
failure, and it is a whole report page.

plugin report
ldap LDAP
location Location
ou OU
subnetgroup Subnet Group
taskstateedit Task State Edit
tasktypeedit Task Type Edit
windowskey Windows Key
wolbroadcast WOL Broadcast

Why the existing gate stayed green through it

tests/core-references-are-qualified.test.php did not catch this and cannot.
It is a syntax gate: it asks whether a class reference carries a leading
backslash, not whether the name resolves. It deliberately holds no copy of
core's class list, so that it runs without a fogproject checkout beside it.
Worth knowing before trusting it as coverage for a core rename.

bin/qualify-core-references.php

Loses its lib/{pages,hooks,reports,events} pass, which read the directories
the move emptied. Its src/ walk already maps these classes, and maps them to
the bucketed FQCN a plugin actually has to write — whereas the retired pass
ran afterwards and overwrote each entry with the flat spelling. Running the
tool against the moved core tree now reports nothing left to rewrite, which is
how the eight edits above were checked.

Upgrade notes

Pair this with a core that carries fogproject#1528. On an older core the
qualified name does not resolve, so these reports need the matching core —
FOG_PLUGINS_VERSION in System.php is bumped to v1.6.21 alongside it.