From c2955cd5bb8addecf77233fc05337d5030b93589 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jer=C3=B4me=20Bakker?= Date: Mon, 3 Jun 2024 15:08:06 +0200 Subject: [PATCH] chore: support Elgg 6 --- .github/workflows/phpunit.yml | 9 +++++++-- README.md | 1 + classes/ColdTrick/TestPanel/EmailHandler.php | 2 +- lib/functions.php | 14 ++++++++------ views/default/plugins/test_panel/settings.php | 5 ++--- 5 files changed, 19 insertions(+), 12 deletions(-) diff --git a/.github/workflows/phpunit.yml b/.github/workflows/phpunit.yml index 67fe092..3e4e60a 100644 --- a/.github/workflows/phpunit.yml +++ b/.github/workflows/phpunit.yml @@ -3,6 +3,11 @@ name: PHPUnit Plugin Tests on: [push, pull_request] jobs: - lint: - name: Run PHPUnit test suites + phpunit5: + name: Run PHPUnit test suites - Elgg 5 uses: ColdTrick/.github/.github/workflows/phpunit.yml@master + phpunit6: + name: Run PHPUnit test suites - Elgg 6 + uses: ColdTrick/.github/.github/workflows/phpunit.yml@master + with: + elgg_major_version: 6 diff --git a/README.md b/README.md index b487cde..1dcb1ba 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ Test Panel ========== ![Elgg 5.0](https://img.shields.io/badge/Elgg-5.0-green.svg) +![Elgg 6.0](https://img.shields.io/badge/Elgg-6.0-green.svg) ![Lint Checks](https://github.com/ColdTrick/test_panel/actions/workflows/lint.yml/badge.svg?event=push) [![Latest Stable Version](https://poser.pugx.org/coldtrick/test_panel/v/stable.svg)](https://packagist.org/packages/coldtrick/test_panel) [![License](https://poser.pugx.org/coldtrick/test_panel/license.svg)](https://packagist.org/packages/coldtrick/test_panel) diff --git a/classes/ColdTrick/TestPanel/EmailHandler.php b/classes/ColdTrick/TestPanel/EmailHandler.php index e65dcd5..e5942fb 100644 --- a/classes/ColdTrick/TestPanel/EmailHandler.php +++ b/classes/ColdTrick/TestPanel/EmailHandler.php @@ -40,7 +40,7 @@ public static function validate(\Elgg\Event $event): ?bool { } $allowed_emails = test_panel_get_panel_members_email_addresses(); - if (empty($allowed_emails) || !is_array($allowed_emails)) { + if (empty($allowed_emails)) { // nobody is allowed (shouldn't happen) return false; } diff --git a/lib/functions.php b/lib/functions.php index ab49747..c8ca445 100644 --- a/lib/functions.php +++ b/lib/functions.php @@ -3,6 +3,8 @@ * All helper functions are bundled here */ +use Elgg\Database\MetadataTable; +use Elgg\Database\RelationshipsTable; use Elgg\Database\Select; /** @@ -41,12 +43,12 @@ function test_panel_get_panel_members_email_addresses(): array { $result = []; - $select = Select::fromTable('metadata', 'md'); - $select->select('md.value'); - $select->joinEntitiesTable('md', 'entity_guid', 'inner', 'e'); + $select = Select::fromTable(MetadataTable::TABLE_NAME, 'md'); + $select->select("{$select->getTableAlias()}.value"); + $select->joinEntitiesTable($select->getTableAlias(), 'entity_guid', 'inner', 'e'); $select->joinMetadataTable('e', 'guid', null, 'inner', 'mda'); $select->andWhere($select->compare('e.type', '=', 'user', ELGG_VALUE_STRING)); - $select->andWhere($select->compare('md.name', '=', 'email', ELGG_VALUE_STRING)); + $select->andWhere($select->compare("{$select->getTableAlias()}.name", '=', 'email', ELGG_VALUE_STRING)); // admins $ands = $select->merge([ @@ -57,12 +59,12 @@ function test_panel_get_panel_members_email_addresses(): array { // or group member $group_guids = test_panel_get_group_guids(); if (!empty($group_guids)) { - $group_members = $select->subquery('entity_relationships'); + $group_members = $select->subquery(RelationshipsTable::TABLE_NAME); $group_members->select('guid_one') ->where($select->compare('relationship', '=', 'member', ELGG_VALUE_STRING)) ->andWhere($select->compare('guid_two', 'in', $group_guids, ELGG_VALUE_GUID)); - $or = $select->compare('md.entity_guid', 'in', $group_members->getSQL()); + $or = $select->compare("{$select->getTableAlias()}.entity_guid", 'in', $group_members->getSQL()); $ands = $select->merge([$ands, $or], 'OR'); } diff --git a/views/default/plugins/test_panel/settings.php b/views/default/plugins/test_panel/settings.php index 9245b66..5404a8f 100644 --- a/views/default/plugins/test_panel/settings.php +++ b/views/default/plugins/test_panel/settings.php @@ -26,8 +26,7 @@ 'switch' => true, ]); -$title = elgg_echo('test_panel:settings:message'); - +// message to non-test members $content = elgg_view_field([ '#type' => 'text', '#label' => elgg_echo('test_panel:settings:message_title'), @@ -42,4 +41,4 @@ 'value' => $plugin->message_content ?? elgg_echo('limited_access'), ]); -echo elgg_view_module('info', $title, $content); +echo elgg_view_module('info', elgg_echo('test_panel:settings:message'), $content);