dopetalk

Technology => SMF Forum Code Modifications => Topic started by: Chip on May 30, 2021, 01:49:30 PM

Title: PHP 7.4 issues and their code changes
Post by: Chip on May 30, 2021, 01:49:30 PM
The following changes were made and tested in a PHP 7.4 system (make backups of the files first !):

mod: Post and PM Inline Attachments   5.10

error:
Code: [Select]
8192: The behavior of unparenthesized expressions containing both '.' and '+'/'-' will change in PHP 8: '+'/'-' will take a higher precedence
File: /var/www/html/Sources/Subs-InlineAttachmentsAdmin.php
Line: 292

in ./Sources/Subs-InlineAttachmentsAdmin.php:

find:
Code: [Select]
<input type="hidden" name="count2" value="' . $context['ila_completed'] + ($count - $start). '" />
replace:
Code: [Select]
<input type="hidden" name="count2" value="' . ($context['ila_completed'] + ($count - $start)). '" />


mod: Advanced Reputation System   1.8.3 (originates from install.xml)

error:
Code: [Select]
8192: Unparenthesized `a ? b : c ? d : e` is deprecated. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)`
File: /var/www/html/Themes/default/Display.template.php
Line: 50

in ./Themes/default/Display.template.php:

find:
Code: [Select]
<input type="radio" name="type" value="disagree"', !$context['can_neg_rep'] ? ' disabled="disabled"' : !$context['can_pos_rep'] ? ' checked="checked"' : '', ' /> ', $txt['karma_disagree'], '
replace:
Code: [Select]
<input type="radio" name="type" value="disagree"', (!$context['can_neg_rep'] ? ' disabled="disabled"' : !$context['can_pos_rep']) ? ' checked="checked"' : '', ' /> ', $txt['karma_disagree'], '


mod: Resize Attached Images   (final)

error:
Code: [Select]
8: Trying to access array offset on value of type bool
File: /var/www/html/Sources/Subs-Post.php
Line: 2322

in ./Sources/Subs-Post.php:

find:
Code: [Select]
                if (!empty($size['mime']))
                        $mime = $size['mime'];
                elseif (isset($validImageTypes[$size[2]]))
                        $mime = 'image/' . $validImageTypes[$size[2]];
                else
                        $mime = '';

replace:
Code: [Select]
                if (!empty($size['mime']))
                        $mime = $size['mime'];
                elseif  ($size != false) {
                                if (isset($validImageTypes[$size[2]]))
                                $mime = 'image/' . $validImageTypes[$size[2]];
                                else
                                        $mime = '';
                        }
                else
                        $mime = '';
SimplePortal 2.3.6 © 2008-2014, SimplePortal