Opened 5 years ago

Closed 5 years ago

Last modified 4 years ago

#13406 closed Patch - Bug Fix (fixed)

Patches to fix php count warnings with PHP 7.2

Reported by: daraden Owned by: Stuart Auchterlonie
Priority: minor Milestone: 30.1
Component: Plugin - MythWeb Version: Master Head
Severity: low Keywords:
Cc: Ticket locked: no

Description

These patches are to resolve count() warnings when using PHP 7.2. Changes just check if the object is not null before calling the count function, otherwise the count variable is set to 0.

link to PHP manual noting the count() behavior as an incompatible change in PHP 7.2https://secure.php.net/manual/en/migration72.incompatible.php

Attachments (2)

mythcount.patch (926 bytes) - added by daraden 5 years ago.
mythtv php bindings count patch
mythwebcount.patch (2.5 KB) - added by daraden 5 years ago.
fixed typo in mythwebcount.patch

Download all attachments as: .zip

Change History (12)

Changed 5 years ago by daraden

Attachment: mythcount.patch added

mythtv php bindings count patch

comment:1 Changed 5 years ago by Peter Bennett

See also #13324, #13290

comment:2 Changed 5 years ago by Stuart Auchterlonie

Milestone: needs_triage30.1
Status: newaccepted

Needs backporting to fixes/29 and fixes/30

comment:3 Changed 5 years ago by hobbes1069

Don't know if it's the right way but I "fixed" this on Fedora using the following:

iff --git a/modules/tv/tmpl/default/detail.php b/modules/tv/tmpl/default/detail.php
index f6d1faa9..4975f415 100644
--- a/modules/tv/tmpl/default/detail.php
+++ b/modules/tv/tmpl/default/detail.php
@@ -842,7 +842,7 @@
             }
             echo '            </ul>';
         }
-        if (count($program->jobs['queue'])) {
+        if (is_array($program->jobs['queue']) && count($program->jobs['queue'])) {
             echo t('Queued jobs'), ':',
                  '            <ul class="-queued">';
             foreach ($program->jobs['queue'] as $job) {
@@ -856,7 +856,7 @@
             }
             echo '            </ul>';
         }
-        if (count($program->jobs['done'])) {
+        if (is_array($program->jobs['done']) && count($program->jobs['done'])) {
             echo t('Recently completed jobs'), ':',
                  '            <ul class="-done">';
             foreach ($program->jobs['done'] as $job) {

comment:4 Changed 5 years ago by hobbes1069

Would it be safe to apply the two patches to v30? I would like to fix this for Fedora / RPM Fusion.

Changed 5 years ago by daraden

Attachment: mythwebcount.patch added

fixed typo in mythwebcount.patch

comment:5 Changed 5 years ago by daraden

Should work fine with v30(patches are working on my 29 backend). files the patches modify are listed as last modified 2 or more years ago.

comment:6 Changed 5 years ago by jr3us

The count error also affects the file Mythbackend.php as follows:

Warning at /usr/share/mythtv/bindings/php/MythBackend.php, line 194: NoTrans: count(): Parameter must be an array or an object that implements Countable!!

Version 0, edited 5 years ago by jr3us (next)

comment:7 Changed 5 years ago by Richard Shaw <hobbes1069@…>

In c04a650ee/mythweb:

Fix php7.2 count warnings in mythweb.

This only fixes the mythweb portion of this bug. The MythBackend?.php
file still needs to be fixed in the mythtv repository.

Refs #13406.

Signed-off-by: David Hampton <mythtv@…>

comment:8 Changed 5 years ago by David Hampton <mythtv@…>

In 7e2e51d1d/mythweb:

Fix php7.2 count warnings in mythweb Schedule.php.

This only fixes the mythweb portion of this bug. The MythBackend?.php
file still needs to be fixed in the mythtv repository.

Adapted from a fix by daraden.

Refs #13406.

comment:9 Changed 5 years ago by David Hampton <mythtv@…>

Resolution: fixed
Status: acceptedclosed

In dc87fada5/mythtv:

Fix php7.2 count warnings in MythBackend? bindings.

The mythweb portion of this bug was fixed in a separate commit.

Adapted from a fix by daraden.

Fixes #13406.

comment:10 Changed 4 years ago by David Hampton <mythtv@…>

In 7a8752dc0f/mythtv:

Fix php7.2 count warnings in MythBackend? bindings.

The mythweb portion of this bug was fixed in a separate commit.

Adapted from a fix by daraden.

Fixes #13406.

(cherry picked from commit dc87fada554f8b200bf8b67ce51174936b429a04)

Note: See TracTickets for help on using tickets.