From 561a86b385da2c7d9da1c01a0f8e4300db04352f Mon Sep 17 00:00:00 2001 From: onli <onli@paskuda.biz> Date: Thu, 13 May 2021 14:43:55 +0200 Subject: [PATCH] php 8 compat fixes for media property page --- include/functions_images.inc.php | 16 ++++++++-------- templates/2k11/admin/media_items.tpl | 14 +++++++------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/include/functions_images.inc.php b/include/functions_images.inc.php index be458385..8053f000 100644 --- a/include/functions_images.inc.php +++ b/include/functions_images.inc.php @@ -2692,7 +2692,7 @@ function serendipity_showPropertyForm(&$new_media, $keywordsPerBlock = 3, $is_ed $show[$idx]['image_id'] = $media['image_id']; serendipity_prepareMedia($show[$idx]); - if (!is_array($props['base_metadata'])) { + if (!is_array($props['base_metadata'] ?? null)) { $show[$idx]['metadata'] =& serendipity_getMetaData($show[$idx]['realfile'], $show[$idx]['header']); } else { $show[$idx]['metadata'] = $props['base_metadata']; @@ -2707,7 +2707,7 @@ function serendipity_showPropertyForm(&$new_media, $keywordsPerBlock = 3, $is_ed 'keywordsPerBlock' => $keywordsPerBlock, 'keywords' => $keywords, 'dprops' => $dprops, - 'case_add' => is_array($new_media[0]['created_thumbnail']) // created_thumbnail is only set when viewing properties after adding an image + 'case_add' => is_array($new_media[0]['created_thumbnail'] ?? null) // created_thumbnail is only set when viewing properties after adding an image ); return serendipity_showMedia( @@ -2794,9 +2794,9 @@ function serendipity_parseMediaProperties(&$dprops, &$keywords, &$media, &$props if (!$is_edit) { $type = 'readonly'; } - $val = serendipity_mediaTypeCast($parts[0], $props['base_property'][$parts[0]], true); + $val = serendipity_mediaTypeCast($parts[0], $props['base_property'][$parts[0]] ?? null, true); - $propkey = serendipity_specialchars($parts[0]) . $idx; + $propkey = serendipity_specialchars($parts[0]) . ($idx ?? ''); $media['base_property'][$propkey] = array( 'label' => serendipity_specialchars(defined('MEDIA_PROPERTY_' . strtoupper($parts[0])) ? constant('MEDIA_PROPERTY_' . strtoupper($parts[0])) : $parts[0]), @@ -2805,7 +2805,7 @@ function serendipity_parseMediaProperties(&$dprops, &$keywords, &$media, &$props 'title' => serendipity_specialchars($parts[0]) ); - if (!is_array($GLOBALS['IPTC'])) { + if (!is_array($GLOBALS['IPTC'] ?? null)) { // Your templates config.inc.php or any of the language files can declare this variable, // if you want to use other default settings for this. No interface ability to declare this // yet, sorry. @@ -3273,9 +3273,9 @@ function serendipity_showMedia(&$file, &$paths, $url = '', $manage = false, $lin 'token' => serendipity_setFormToken(), 'form_hidden' => $form_hidden, 'blimit_path' => empty($smarty_vars['limit_path']) ? '' : basename($smarty_vars['limit_path']), - 'only_path' => $serendipity['GET']['only_path'], - 'only_filename' => $serendipity['GET']['only_filename'], - 'sortorder' => $serendipity['GET']['sortorder'], + 'only_path' => $serendipity['GET']['only_path'] ?? null, + 'only_filename' => $serendipity['GET']['only_filename'] ?? null, + 'sortorder' => $serendipity['GET']['sortorder'] ?? null, 'keywords_selected' => $serendipity['GET']['keywords'] ?? null, 'filter' => $serendipity['GET']['filter'] ?? ['fileCategory' => null], 'sort_order' => $order_fields, diff --git a/templates/2k11/admin/media_items.tpl b/templates/2k11/admin/media_items.tpl index e5cc8e77..b3875a89 100644 --- a/templates/2k11/admin/media_items.tpl +++ b/templates/2k11/admin/media_items.tpl @@ -2,7 +2,7 @@ {if NOT $media.manage} {* ML got called for inserting media *} {if $file.is_image AND $file.full_thumb} - {if $media.textarea || $media.htmltarget} + {if (isset($media.textarea) && $media.textarea) || (isset($media.htmltarget) && $media.htmltarget)} {$link="?serendipity[adminModule]=images&serendipity[adminAction]=choose&serendipity[fid]={$file.id}&serendipity[textarea]={$media.textarea}&serendipity[noBanner]=true&serendipity[noSidebar]=true&serendipity[noFooter]=true&serendipity[filename_only]={$media.filename_only}&serendipity[htmltarget]={$media.htmltarget}"} {else} {if $file.url} @@ -73,7 +73,7 @@ {/if} {/if} - <h3 title="{$file.realname}">{$file.realname|truncate:50:"…":true}{if $file.orderkey != ''}: {$file.orderkey|escape}{/if}</h3> + <h3 title="{$file.realname}">{$file.realname|truncate:50:"…":true}{if (isset($file.orderkey) && $file.orderkey != '')}: {$file.orderkey|escape}{/if}</h3> {if $file.authorid != 0}<span class="author block_level">{$file.authorname}</span>{/if} </header> @@ -87,12 +87,12 @@ <br /> {if NOT $media.manage} {* we need a link to go to the next step when inserting into an entry *} - <a {if $media.manage AND $media.multiperm}class="media_fullsize"{/if} href="{$link}" title="{$CONST.MEDIA_FULLSIZE}: {$file.realname}" data-pwidth="{$file.popupWidth}" data-pheight="{$file.popupHeight}"> + <a {if $media.manage AND $media.multiperm}class="media_fullsize"{/if} href="{if isset($link)}{$link}{/if}" title="{$CONST.MEDIA_FULLSIZE}: {$file.realname}" data-pwidth="{$file.popupWidth}" data-pheight="{$file.popupHeight}"> {$CONST.VIDEO} </a> {/if} {else} - <a {if $media.manage AND $media.multiperm}class="media_fullsize"{/if} href="{$link}" title="{$CONST.MEDIA_FULLSIZE}: {$file.realname}" data-pwidth="{$file.popupWidth}" data-pheight="{$file.popupHeight}"> + <a {if $media.manage AND $media.multiperm}class="media_fullsize"{/if} href="{if isset($link)}{$link}{/if}" title="{$CONST.MEDIA_FULLSIZE}: {$file.realname}" data-pwidth="{$file.popupWidth}" data-pheight="{$file.popupHeight}"> {* even files that are not images get aplaceholder image from the backend *} <img src="{$img_src}" title="{$img_title}" alt="{$img_alt}"> </a> @@ -210,10 +210,10 @@ <label for="newDir{$file@key}">{$CONST.FILTER_DIRECTORY}</label> <input type="hidden" name="serendipity[oldDir][{$file@key}]" value="{$file.path|escape}"> <select id="newDir{$file@key}" name="serendipity[newDir][{$file@key}]"> - <option{if ($file.path == $folder.relpath)} selected{/if} value="">{$CONST.BASE_DIRECTORY}</option> + <option{if (isset($folder) && $file.path == $folder.relpath)} selected{/if} value="">{$CONST.BASE_DIRECTORY}</option> {foreach $media.paths AS $folder} - <option{if ($file.path == $folder.relpath)} selected{/if} value="{$folder.relpath}">{' '|str_repeat:($folder.depth*2)}{$folder.name}</option> + <option{if ($file.path == $folder.relpath)} selected{/if} value="{$folder.relpath}">{' '|str_repeat:($folder.depth*2)}{if isset($folder.name)}{$folder.name}{/if}</option> {/foreach} </select> @@ -228,7 +228,7 @@ <ul class="clearfix plainList"> {foreach $file.base_keywords AS $keyword_cells} {foreach $keyword_cells AS $keyword} - {if $keyword.name} + {if isset($keyword.name) and $keyword.name} <li> <input id="mediaKeyword{$keyword.name}{$file@key}" name="serendipity[mediaKeywords][{$file@key}][{$keyword.name}]" type="checkbox" value="true"{if $keyword.selected} checked="checked"{/if}>