Manage QCDR PHP Token Permission and Preserve PHP Code Across Downgrades

Manage PHP Tokens ACL separate from entitlement, blocked create/edit/duplicate/save when denied, Max-to-lower-tier preservation, and reactivation after access returns.

This guide follows the accepted QC Dynamic Replacer 1.1.05 implementation and applies to Max / All Access; Joomla ACL administrators. Where older manuals or walkthrough wording differs from the current source or the accepted keyless-entitlement behavior, the current implementation takes precedence.

Before You Begin

  • Use least privilege: PHP Tokens require both Max/All Access and the dedicated Manage PHP Tokens ACL.
  • Test dynamic data in the exact Joomla context that provides the requested record/user/menu/article.
  • Treat PHP as trusted server-side code; QCDR does not sandbox it.

Step-by-Step Workflow

  1. Open Tokens and choose Create Token.
  2. Enter a stable Token name beginning with a letter and using lowercase letters/numbers/dots/underscores/hyphens.
  3. Add a Friendly name/description and keep the Token Draft or Disabled while building.
  4. Choose the output type and configure its purpose-built fields.
  5. Add targeting/schedule/technical gates only when the use case requires them.
  6. Save and test the {token.name} placeholder on a controlled frontend page.
  7. Enable the Token after output, targeting, tier, and dependency behavior are verified.

QCDR Joomla Permission Reference

ActionWhat it controls
core.manage / core.adminBaseline Administrator component access/inheritance.
Manage SettingsChange installation-wide QCDR settings.
Manage LicenseUse entitlement/license-management actions.
Manage RulesCreate and maintain Rules.
Manage TokensCreate and maintain non-PHP Tokens.
Manage PHP TokensIndependently author/modify PHP Tokens; required in addition to Max/All Access.
Test RulesLaunch authorized private Preview and Rule Health.
Run DiscoveryLaunch private Discovery / Click It, Change It sessions and Draft Rule handoff.
Use WorkspaceOpen the frontend Dynamic Replacer Workspace readiness dashboard.

Manage PHP Tokens ACL separate from entitlement

QCDR 1.1.05 uses the current keyless Authorized-Domain entitlement model. Basic remains the fallback feature set, while paid Pro/Max and All Access are resolved from the normalized Authorized Domain rather than a customer-entered current license key. The one-time 30-Day Max Preview starts only when an authorized administrator explicitly selects Start 30-Day Max Preview; installation, navigation, Refresh Entitlement, frontend requests, and the Scheduled Task do not consume an untouched preview. Base tier and Effective tier remain separate so All Access or Preview can temporarily elevate capability without rewriting the underlying product state. Upgraded sites can still show a Legacy License Key, but clearing it is a compatibility cleanup action and must preserve Rules, Tokens, settings, preview history, and current Authorized-Domain state.

For Manage QCDR PHP Token Permission and Preserve PHP Code Across Downgrades, evaluate this against the exact frontend request that matters. A saved QCDR item can be valid in Administrator yet remain inactive because a different eligibility gate, dependency, permission, cache layer, or runtime safety boundary correctly prevents transformation. Keeping those concerns separate makes both testing and later support much easier.

Blocked create/edit/duplicate/save when denied

QCDR 1.1.05 uses the current keyless Authorized-Domain entitlement model. Basic remains the fallback feature set, while paid Pro/Max and All Access are resolved from the normalized Authorized Domain rather than a customer-entered current license key. The one-time 30-Day Max Preview starts only when an authorized administrator explicitly selects Start 30-Day Max Preview; installation, navigation, Refresh Entitlement, frontend requests, and the Scheduled Task do not consume an untouched preview. Base tier and Effective tier remain separate so All Access or Preview can temporarily elevate capability without rewriting the underlying product state. Upgraded sites can still show a Legacy License Key, but clearing it is a compatibility cleanup action and must preserve Rules, Tokens, settings, preview history, and current Authorized-Domain state.

For Manage QCDR PHP Token Permission and Preserve PHP Code Across Downgrades, evaluate this against the exact frontend request that matters. A saved QCDR item can be valid in Administrator yet remain inactive because a different eligibility gate, dependency, permission, cache layer, or runtime safety boundary correctly prevents transformation. Keeping those concerns separate makes both testing and later support much easier.

Max-to-lower-tier preservation

QCDR 1.1.05 uses the current keyless Authorized-Domain entitlement model. Basic remains the fallback feature set, while paid Pro/Max and All Access are resolved from the normalized Authorized Domain rather than a customer-entered current license key. The one-time 30-Day Max Preview starts only when an authorized administrator explicitly selects Start 30-Day Max Preview; installation, navigation, Refresh Entitlement, frontend requests, and the Scheduled Task do not consume an untouched preview. Base tier and Effective tier remain separate so All Access or Preview can temporarily elevate capability without rewriting the underlying product state. Upgraded sites can still show a Legacy License Key, but clearing it is a compatibility cleanup action and must preserve Rules, Tokens, settings, preview history, and current Authorized-Domain state.

And reactivation after access returns

QCDR 1.1.05 uses the current keyless Authorized-Domain entitlement model. Basic remains the fallback feature set, while paid Pro/Max and All Access are resolved from the normalized Authorized Domain rather than a customer-entered current license key. The one-time 30-Day Max Preview starts only when an authorized administrator explicitly selects Start 30-Day Max Preview; installation, navigation, Refresh Entitlement, frontend requests, and the Scheduled Task do not consume an untouched preview. Base tier and Effective tier remain separate so All Access or Preview can temporarily elevate capability without rewriting the underlying product state. Upgraded sites can still show a Legacy License Key, but clearing it is a compatibility cleanup action and must preserve Rules, Tokens, settings, preview history, and current Authorized-Domain state.

How This Fits into QCDR

Dynamic/PHP Tokens run inside the Joomla request context. Access checks, targeting, execution mode, and failure behavior matter as much as the code/value itself.

The safest operating pattern is to keep configuration narrow, use QCDR’s private diagnostics before broad activation when your tier permits them, and preserve Joomla Administrator as the recovery surface. Because QCDR changes the rendered response rather than source files, a correctly disabled or bypassed runtime path should expose the underlying Joomla output again without requiring a source-file rollback.

Verify the Result

  • Status shows the expected Base and Effective tiers for the normalized domain.
  • Entitlement Revalidation is healthy and hourly unless the article is specifically diagnosing that task.
  • The Token resolves where it is eligible and preserves authored content where it is intentionally unavailable.
  • Reference/dependency behavior is understood before deleting or downgrading a Token.
  • The current account has Manage PHP Tokens and the Effective tier permits PHP.
  • Normal production error mode is Hide unless a temporary sanitized diagnostic is intentionally active.
  • The delegated user can perform only the intended QCDR actions.

Common Mistakes to Avoid

  • Assuming an unavailable Token should become an empty string; QCDR often preserves the original placeholder or Rule match intentionally.
  • Treating PHP Tokens as sandboxed snippets or granting Manage PHP Tokens more broadly than necessary.
  • Changing several gates at once during troubleshooting, which makes the actual cause difficult to identify.
  • Testing only while signed in as Super User when ordinary users/guests are the intended audience.
  • Skipping a recovery plan before enabling a site-wide HTML, JavaScript, protected-area, or PHP-backed change.

Troubleshooting

  • If nothing changes, confirm the package-owned System plugin is enabled, the relevant Live Processing switch is on, and the item is eligible for the current Effective tier.
  • If targeting appears wrong, inspect page/menu/URL, extension, audience, schedule, IP, technical conditions, and protected-region behavior as separate gates.
  • If a Token-backed Rule preserves the original match, troubleshoot the Token dependency/readiness before changing the Find value.
  • If behavior differs between browsers/users, clear or bypass relevant Joomla/full-page/CDN caches and compare request context.
  • If private Preview/Discovery fails, start a fresh authorized same-site session and confirm the Joomla ACL action as well as the product tier.

Operational Best Practice

Make runtime changes deliberately: use a narrow scope first, keep broad Rules Draft or Disabled until tested, preserve the independent Rule/Token emergency switches, and record the QCDR version plus the exact Rule/Token and affected URL when handing a problem to another administrator. For high-impact HTML, protected-region, JavaScript, dynamic-data, or PHP work, test representative anonymous and authenticated requests and review caching before expanding scope.


Community Discussion

Want to compare workflows, share practical examples, or discuss how other administrators use this QCDR feature? Visit the QC Dynamic Replacer Community. For private support, bug reports, account-specific entitlement problems, or feature requests, use the QuantaCade support system.