Hide Sieve form section when managesieve plugin is not active

Add GitHub Actions workflows for PHP CodeSniffer and PHP Lint (8.2/8.3/8.4).
This commit is contained in:
Laurent Dinclaux
2026-02-10 23:21:55 +11:00
parent b9e16f186d
commit c86f38672a
3 changed files with 55 additions and 4 deletions

24
.github/workflows/php-lint.yml vendored Normal file
View File

@@ -0,0 +1,24 @@
name: PHP Lint
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
lint:
runs-on: ubuntu-latest
strategy:
matrix:
php-version: ['8.2', '8.3', '8.4']
steps:
- uses: actions/checkout@v4
- name: Setup PHP ${{ matrix.php-version }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
- name: Lint PHP files
run: find . -name '*.php' -not -path './vendor/*' -exec php -l {} + | (! grep -v "No syntax errors")

25
.github/workflows/phpcs.yml vendored Normal file
View File

@@ -0,0 +1,25 @@
name: PHP CodeSniffer
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
phpcs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
tools: composer
- name: Install dependencies
run: composer config allow-plugins.roundcube/plugin-installer true && composer install --prefer-dist --no-progress
- name: Run PHP CodeSniffer
run: composer phpcs

View File

@@ -713,10 +713,12 @@ class IdentSwitchForm
'name' => $this->plugin->gettext('form.smtp.caption'),
'content' => $this->get_smtp_fields($record),
];
if ($rc->plugins->get_plugin('managesieve')) {
$args['form']['ident_switch.sieve'] = [
'name' => $this->plugin->gettext('form.sieve.caption'),
'content' => $this->get_sieve_fields($record),
];
}
if (!$rc->config->get('ident_switch.check_mail', true)) {
// Admin disabled background mail checking
} elseif ($rc->plugins->get_plugin('newmail_notifier')) {