Opened 14 months ago

Closed 7 months ago

Last modified 2 months 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 14 months ago.
mythtv php bindings count patch
mythwebcount.patch (2.5 KB) - added by daraden 13 months ago.
fixed typo in mythwebcount.patch

Download all attachments as: .zip

Change History (12)

Changed 14 months ago by daraden

Attachment: mythcount.patch added

mythtv php bindings count patch

comment:1 Changed 13 months ago by Peter Bennett

See also #13324, #13290

comment:2 Changed 13 months ago by Stuart Auchterlonie

Milestone: needs_triage30.1
Status: newaccepted

Needs backporting to fixes/29 and fixes/30

comment:3 Changed 13 months 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 13 months 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 13 months ago by daraden

Attachment: mythwebcount.patch added

fixed typo in mythwebcount.patch

comment:5 Changed 13 months 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 11 months ago by jr3us

Per the following thread in the forum ( https://forum.mythtv.org/viewtopic.php?p=13823#p13823 ) 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!!

Last edited 11 months ago by jr3us (previous) (diff)

comment:7 Changed 7 months 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 7 months 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 7 months 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 2 months 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.