Skip to content

Commit

Permalink
Merge pull request #26 from my-curiosity/m4-changes
Browse files Browse the repository at this point in the history
Changes for moodle 4/php 8, error corrections
  • Loading branch information
NinaHerrmann authored Jul 3, 2023
2 parents 598fd49 + b9bdfce commit 2fdfd8d
Show file tree
Hide file tree
Showing 44 changed files with 456 additions and 445 deletions.
174 changes: 174 additions & 0 deletions .github/workflows/moodle-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
name: Moodle Plugin CI

on: [push, pull_request]

jobs:
static:
runs-on: ubuntu-latest

strategy:
matrix:
php: ['8.0']
moodle-branch: ['MOODLE_401_STABLE']
database: ['pgsql']

steps:
- name: Start PostgreSQL
run: docker run -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_HOST_AUTH_METHOD=trust -d postgres:14

- name: Check out repository code
uses: actions/checkout@v3
with:
path: plugin

- name: Setup PHP ${{ matrix.php }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
ini-values: max_input_vars=5000
coverage: none

- name: Get composer cache directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT

- name: Composer cache
uses: actions/cache@v3
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: npm cache
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Initialise moodle-plugin-ci
run: |
composer create-project -n --no-dev --prefer-dist moodlehq/moodle-plugin-ci ci ^3
echo $(cd ci/bin; pwd) >> $GITHUB_PATH
echo $(cd ci/vendor/bin; pwd) >> $GITHUB_PATH
sudo locale-gen en_AU.UTF-8
echo "NVM_DIR=$HOME/.nvm" >> $GITHUB_ENV
- name: Install moodle-plugin-ci
run: |
moodle-plugin-ci install --plugin ./plugin --db-host=127.0.0.1 --no-init
env:
DB: ${{ matrix.database }}
MOODLE_BRANCH: ${{ matrix.moodle-branch }}

- name: PHP Lint
if: ${{ always() }}
run: moodle-plugin-ci phplint

- name: PHP Copy/Paste Detector
if: ${{ always() }}
run: moodle-plugin-ci phpcpd

- name: PHP Mess Detector
if: ${{ always() }}
run: moodle-plugin-ci phpmd

- name: Moodle Code Checker
if: ${{ always() }}
run: moodle-plugin-ci codechecker

- name: Moodle PHPDoc Checker
if: ${{ always() }}
run: moodle-plugin-ci phpdoc

- name: Validating
if: ${{ always() }}
run: moodle-plugin-ci validate

- name: Check upgrade savepoints
if: ${{ always() }}
run: moodle-plugin-ci savepoints

- name: Mustache Lint
if: ${{ always() }}
run: moodle-plugin-ci mustache
continue-on-error: true

- name: Grunt
if: ${{ always() }}
run: moodle-plugin-ci grunt

test:
runs-on: ubuntu-latest
needs: static

strategy:
fail-fast: false
matrix:
php: ['8.0']
moodle-branch: ['MOODLE_400_STABLE', 'MOODLE_401_STABLE']
database: ['mariadb', 'pgsql']

steps:
- name: Start MariaDB
if: matrix.database == 'mariadb'
run: docker run -p 3306:3306 -e MYSQL_USER=root -e MYSQL_ALLOW_EMPTY_PASSWORD=true -d mariadb:10

- name: Start PostgreSQL
if: matrix.database == 'pgsql'
run: docker run -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_HOST_AUTH_METHOD=trust -d postgres:14

- name: Check out repository code
uses: actions/checkout@v3
with:
path: plugin

- name: Setup PHP ${{ matrix.php }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
ini-values: max_input_vars=5000
coverage: none

- name: Get composer cache directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Composer cache
uses: actions/cache@v3
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: npm cache
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Initialise moodle-plugin-ci
run: |
composer create-project -n --no-dev --prefer-dist moodlehq/moodle-plugin-ci ci ^3
echo $(cd ci/bin; pwd) >> $GITHUB_PATH
echo $(cd ci/vendor/bin; pwd) >> $GITHUB_PATH
sudo locale-gen en_AU.UTF-8
echo "NVM_DIR=$HOME/.nvm" >> $GITHUB_ENV
- name: Install moodle-plugin-ci
run: |
moodle-plugin-ci install --plugin ./plugin --db-host=127.0.0.1
env:
DB: ${{ matrix.database }}
MOODLE_BRANCH: ${{ matrix.moodle-branch }}

- name: PHPUnit tests
if: ${{ always() }}
run: moodle-plugin-ci phpunit

- name: Behat features
if: ${{ always() }}
run: moodle-plugin-ci behat --profile chrome --auto-rerun 0
60 changes: 0 additions & 60 deletions .gitlab-ci.yml

This file was deleted.

92 changes: 0 additions & 92 deletions .travis.yml

This file was deleted.

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ Moodle provides the following functionality when suspending a user:
The plugin aims to make users that are suspended **anonymous**. Therefore, the following additional functionalities are provided:
- save necessary data in a shadow table to reactivate users when necessary (the table is called: `tool_cleanupusers_archive`),
- hide all other references in the `user` table e.g. `username`, ` firstname`.
- The `username` is set to *Anonym* with the `userid` appended
- The `username` is set to *anonym* with the `userid` appended
(usernames must be unique therefore the id is appended).
- The field `firstname` is set to *Anonym*.
- Consequently, references in e.g. the forum activity merely refer to a user called `Anonym`.
Expand Down
17 changes: 6 additions & 11 deletions classes/archiveduser.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
use \core\session\manager;
/**
* The class collects the necessary information to suspend, delete and activate users.
*
* It can be used in sub-plugins, since the constructor assures that all necessary information is transferred.
*
* @package tool_cleanupusers
Expand Down Expand Up @@ -82,9 +83,9 @@ public function archive_me() {
// Get the current user.
$user = \core_user::get_user($this->id);


// Only apply to users who are not yet suspended, not admins, and to users with correct name
if ($user->suspended == 0 and !is_siteadmin($user) and $user->username == \core_user::clean_field($user->username, 'username')) {
// Only apply to users who are not yet suspended, not admins, and to users with correct name.
if ($user->suspended == 0 && !is_siteadmin($user) && $user->username ==
\core_user::clean_field($user->username, 'username')) {
$transaction = $DB->start_delegated_transaction();
// We are already getting the shadowuser here to keep the original suspended status.
$shadowuser = clone $user;
Expand Down Expand Up @@ -173,7 +174,7 @@ public function delete_me() {

$user = \core_user::get_user($this->id);

if ($user != false and $user->deleted == 0 and !is_siteadmin($user)) {
if ($user && $user->deleted == 0 && !is_siteadmin($user)) {

$transaction = $DB->start_delegated_transaction();

Expand Down Expand Up @@ -228,11 +229,6 @@ private function give_suspended_pseudo_user($id, $timestamp) {
$cloneuser->lastname = '';
$cloneuser->suspended = 1;
$cloneuser->email = '';
$cloneuser->skype = '';
$cloneuser->icq = '';
$cloneuser->msn = '';
$cloneuser->yahoo = '';
$cloneuser->aim = '';
$cloneuser->phone1 = '';
$cloneuser->phone2 = '';
$cloneuser->institution = '';
Expand All @@ -247,7 +243,6 @@ private function give_suspended_pseudo_user($id, $timestamp) {
$cloneuser->currentlogin = 0;
$cloneuser->lastlogin = 0;
$cloneuser->secret = '';
$cloneuser->url = '';
$cloneuser->picture = 0;
$cloneuser->description = '';
$cloneuser->timemodified = '';
Expand All @@ -257,7 +252,7 @@ private function give_suspended_pseudo_user($id, $timestamp) {
$cloneuser->firstnamephonetic = '';
$cloneuser->middlename = '';
$cloneuser->alternatename = '';
$cloneuser->imagealt = '';
$cloneuser->moodlenetprofile = '';

return $cloneuser;
}
Expand Down
Loading

0 comments on commit 2fdfd8d

Please sign in to comment.