All add-ons currently require PHP 7.4 or greater.

On July 4th 2024 PHP 8.2 will be the new minimum requirement for all add-ons. Expect any add-on released after that date to require 8.2 or greater. Some releases may not immediately take advantage of 8.x specific features in PHP, which means you might, be able to continue using new releases in PHP 7.4, however, if you experience an error the first thing you should do is update to PHP 8.2 then create a support ticket if the error persists.

Please read about the changes to BoldMinded add-on licensing.

Ticket: Errors when deleting entries

Status Resolved
Add-on / Version Speedy 1.7.0
Severity
EE Version 5.4.3

Louis

Jun 06, 2023

When I delete entries that are cached I get the following errors:

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 511

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 512

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 511

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 512

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 511

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 512

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 511

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 512

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 511

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 512

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 511

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 512

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 511

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 512

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 511

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 512

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 511

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 512

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 511

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 512

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 511

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 512

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 511

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 512

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 511

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 512

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 511

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 512

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 511

    Severity: E_NOTICE

Notice
Trying to get property 'username' of non-object

user/addons/speedy/Service/CacheBreaker.php, line 512

    Severity: E_NOTICE

Warning
Cannot modify header information - headers already sent by (output started at ee/legacy/core/Exceptions.php:120)

ee/legacy/core/Input.php, line 265

    Severity: E_WARNING

Warning
Cannot modify header information - headers already sent by (output started at ee/legacy/core/Exceptions.php:120)

ee/legacy/libraries/Functions.php, line 393

    Severity: E_WARNING
#1

BoldMinded (Brian)

Could you be more specific… you get that error inside the control panel when deleting entries or deleting some other way?

#2

BoldMinded (Brian)

Also, I no longer support EE 5, you’ll need to upgrade to 6, or preferably 7.

#3

Louis

Hi Brian, I know EE5 is not supported any more but I’m trying to upgrade to EE6 and EE7 so I have to update all add-ons that still support EE5 to a version that later supports EE6 and EE7. I just notices the error so I thought I just tell you.

The error occurs inside the control panel when deleting entries.

#4

BoldMinded (Brian)

I think I have a fix for this if you want to patch your version.

diff --git a/addons/speedy/Service/CacheBreaker.php b/addons/speedy/Service/CacheBreaker.php
index 8bed38f..24252d8 100644
--- a/addons/speedy/Service/CacheBreaker.php
+++ b/addons/speedy/Service/CacheBreaker.php
@@ -512,28 +512,28 @@ private function buildSettingVariables(ChannelEntry $entry)
         // @todo: This would be a great place for an extension hook
         // @todo: Add url_prefix
 
-        $entry_date = $entry->entry_date;
-        if ($entry_date instanceof \DateTime) {
-            $entry_date = $entry_date->getTimestamp();
+        $entryDate = $entry->entry_date;
+        if ($entryDate instanceof \DateTime) {
+            $entryDate = $entryDate->getTimestamp();
         }
 
-        $edit_date = $entry->edit_date;
-        if ($edit_date instanceof \DateTime) {
-            $edit_date = $edit_date->getTimestamp();
+        $editDate = $entry->edit_date;
+        if ($editDate instanceof \DateTime) {
+            $editDate = $editDate->getTimestamp();
         }
 
         return [
-            '{entry_id}'        => $entry->entry_id,
-            '{channel_id}'      => $entry->channel_id,
-            '{author_id}'       => $entry->author_id,
-            '{title}'           => $entry->title,
-            '{url_title}'       => $entry->url_title,
-            '{entry_date}'      => $entry_date,
-            '{edit_date}'       => $edit_date,
-            '{channel_title}'   => $entry->Channel->channel_title,
-            '{channel_name}'    => $entry->Channel->channel_name,
-            '{username}'        => $entry->Author->username,
-            '{author_username}' => $entry->Author->username,
+            '{entry_id}'        => $entry->entry_id ?? '',
+            '{channel_id}'      => $entry->channel_id ?? '',
+            '{author_id}'       => $entry->author_id ?? '',
+            '{title}'           => $entry->title ?? '',
+            '{url_title}'       => $entry->url_title ?? '',
+            '{entry_date}'      => $entryDate,
+            '{edit_date}'       => $editDate,
+            '{channel_title}'   => $entry->Channel->channel_title ?? '',
+            '{channel_name}'    => $entry->Channel->channel_name ?? '',
+            '{username}'        => $entry->Author->username ?? '',
+            '{author_username}' => $entry->Author->username ?? '',
         ];
     }
#5

Louis

After upgrading from ee 5 to 6 and updating the add-on code again its working. If a specific ee 5 issue.

Login to reply