From 28c199c7aada5e0c047e7423811da2cfbb1abcef Mon Sep 17 00:00:00 2001 From: onli Date: Thu, 13 May 2021 17:57:07 +0200 Subject: [PATCH] php8 compat fixes for groups section --- include/admin/groups.inc.php | 23 +++++++++++++++++------ include/functions_config.inc.php | 4 ++-- templates/2k11/admin/groups.inc.tpl | 4 ++-- 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/include/admin/groups.inc.php b/include/admin/groups.inc.php index b8094e29..2acd5626 100644 --- a/include/admin/groups.inc.php +++ b/include/admin/groups.inc.php @@ -22,9 +22,10 @@ if (isset($_POST['DELETE_YES']) && serendipity_checkFormToken()) { if (isset($_POST['SAVE_NEW']) && serendipity_checkFormToken()) { $serendipity['POST']['group'] = serendipity_addGroup($serendipity['POST']['name']); $perms = serendipity_getAllPermissionNames(); - serendipity_updateGroupConfig($serendipity['POST']['group'], $perms, $serendipity['POST'], false, $serendipity['POST']['forbidden_plugins'], $serendipity['POST']['forbidden_hooks']); + serendipity_updateGroupConfig($serendipity['POST']['group'], $perms, $serendipity['POST'], false, $serendipity['POST']['forbidden_plugins'] ?? null, $serendipity['POST']['forbidden_hooks'] ?? null); $data['save_new'] = true; $data['group_id'] = $serendipity['POST']['group']; + $group = serendipity_fetchGroup($serendipity['POST']['group']); $data['group'] = $group; } @@ -70,11 +71,11 @@ if ($serendipity['GET']['adminAction'] == 'edit' || isset($_POST['NEW']) || $ser $data['from'] = $from; $allusers = serendipity_fetchUsers(); - $users = serendipity_getGroupUsers($from['id']); + $users = serendipity_getGroupUsers($from['id'] ?? null); $selected = array(); foreach((array)$users AS $user) { - $selected[$user['id']] = true; + $selected[$user['id'] ?? null] = true; } $data['selected'] = $selected; $data['allusers'] = $allusers; @@ -84,9 +85,15 @@ if ($serendipity['GET']['adminAction'] == 'edit' || isset($_POST['NEW']) || $ser $data['perms'] = $perms; foreach($perms AS $perm => $userlevels) { if (defined('PERMISSION_' . strtoupper($perm))) { - list($name, $note) = explode(":", constant('PERMISSION_' . strtoupper($perm))); - $data['perms'][$perm]['permission_name'] = $name; - $data['perms'][$perm]['permission_note'] = $note; + if (stripos(':', constant('PERMISSION_' . strtoupper($perm))) !== false) { + list($name, $note) = explode(":", constant('PERMISSION_' . strtoupper($perm))); + $data['perms'][$perm]['permission_name'] = $name; + $data['perms'][$perm]['permission_note'] = $note; + } else { + # in case a permission has not the right value, that it misses the : + $data['perms'][$perm]['permission_name'] = constant('PERMISSION_' . strtoupper($perm)); + $data['perms'][$perm]['permission_note'] = ''; + } } else { $data['perms'][$perm]['permission_name'] = $perm; } @@ -130,6 +137,10 @@ if (! isset($data['save_new'])) { $data['save_new'] = null; } if (! isset($data['save_edit'])) { $data['save_edit'] = null; } if (! isset($data['edit'])) { $data['edit'] = null; } if (! isset($data['new'])) { $data['new'] = null; } +if (! isset($data['start'])) { $data['start'] = null; } +if (! isset($data['indent'])) { $data['indent'] = ''; } +if (! isset($data['in_indent'])) { $data['in_indent'] = false; } +if (! isset($data['enablePluginACL'])) { $data['enablePluginACL'] = null; } echo serendipity_smarty_show('admin/groups.inc.tpl', $data); diff --git a/include/functions_config.inc.php b/include/functions_config.inc.php index 342bbce7..059f4e6f 100644 --- a/include/functions_config.inc.php +++ b/include/functions_config.inc.php @@ -1630,7 +1630,7 @@ function serendipity_updateGroupConfig($groupid, &$perms, &$values, $isNewPriv = } $storage =& serendipity_fetchGroup($groupid); - + serendipity_db_query("DELETE FROM {$serendipity['dbPrefix']}groupconfig WHERE id = " . (int)$groupid); foreach ($perms AS $perm => $userlevels) { if (substr($perm, 0, 2) == 'f_') { @@ -1688,7 +1688,7 @@ function serendipity_updateGroupConfig($groupid, &$perms, &$values, $isNewPriv = serendipity_db_query("UPDATE {$serendipity['dbPrefix']}groups SET name = '" . serendipity_db_escape_string($values['name']) . "' WHERE id = " . (int)$groupid); - if (is_array($values['members'])) { + if (is_array($values['members'] ?? null)) { serendipity_db_query("DELETE FROM {$serendipity['dbPrefix']}authorgroups WHERE groupid = " . (int)$groupid); foreach($values['members'] AS $member) { serendipity_db_query( diff --git a/templates/2k11/admin/groups.inc.tpl b/templates/2k11/admin/groups.inc.tpl index f2d23989..07e4926f 100644 --- a/templates/2k11/admin/groups.inc.tpl +++ b/templates/2k11/admin/groups.inc.tpl @@ -38,7 +38,7 @@
{$CONST.GROUP_NAME_DESC} - +
@@ -80,7 +80,7 @@
[{$perm.permission_name|escape}]: {(isset($from.{$perm@key}) && $from.{$perm@key} == "true") ? $CONST.YES : $CONST.NO}
{else}
- +
{/if}