Support

Admin Tools

#43256 Delete inactive users scheduled task fails in Admin Tools 7.8.9

Posted in ‘Admin Tools for Joomla!’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

Joomla! version
6.0.4 Stable
PHP version
8.3.14
Admin Tools version
7.8.9

Latest post by nicholas on Thursday, 06 August 2026 04:17 CDT

[email protected]
Hi, I stumbled on a issue on my local installation and I used Cursor AI to find the cause, this is what it found:

Problem: When I run the task manually from System -> Scheduled Tasks, it shows Last Exit Code 0, but no inactive users are deleted.

In the scheduler log (administrator/logs/joomla_scheduler.php), the task starts but does not finish: Running task#04 'Delete inactive users'

Running the task via CLI shows the real error: Call to undefined method stdClass::get() in plugins/task/admintools/src/Extension/SubTask/DeleteInactiveUsers.php (line 47)

Cause: Joomla passes task params as a stdClass object, but this handler calls $params->get('deleteinactive_groups', []), which only works on a Registry object.

Other Admin Tools task handlers (for example CacheCleaner and RemoveOldLogEntries) use property access instead.

Current problematic code: $params = $event->getArgument('params') ?: (new Registry()); $groups = $params->get('deleteinactive_groups', []);

Suggested fix: $params = $event->getArgument('params') ?: (new \stdClass()); $filtertype = (int) ($params->deleteinactive ?? 1); $days = (int) ($params->deleteinactive_days ?? 0); $groups = $params->deleteinactive_groups ?? [];

Local test: After this change, the task completed successfully via CLI and deleted the users that matched the configured criteria. The SQL logic itself appears fine; the task fails before it runs because of the params handling bug.

Please let me know if you need the full CLI stack trace or a patch file.

Thanks

nicholas
Akeeba Staff
Manager

This is a case of me fixing a bug and remembering that I fixed it, but accidentally reintroducing the bug implementing a different feature.

It turns out that I remembered correctly fixing this bug. It was on March 21st, 2022. That's why my first reaction when I saw that issue was "that was fixed ages ago, which version does he even run".

The bug was reintroduced April 8th, 2026 when I added the optional User Group filter. That's what you hit.

I will fix it for the next version of the software and I will definitely be adding a regression test for this.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

Support Information

Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!