Description of the plugin

Signed-off-by: Valentin Popov <info@valentineus.link>
This commit is contained in:
Valentin Popov 2018-06-11 11:58:13 +04:00
parent 7d3c303af8
commit bb3d858da5
Signed by: Valentin Popov
GPG Key ID: 269A00ACA90A8EA3

120
README.md
View File

@ -0,0 +1,120 @@
# Advanced API administration management
The plug-in extends and complements the system API for managing administrators.
Main library is well documented and tested.
Can be used by third-party developers for development.
In addition, the plugin adds functions for
[Web services](https://docs.moodle.org/dev/Web_services)
that interact with the list of administrators.
For documentation on Web services, see Moodle:
`https://example.domain/admin/webservice/documentation.php`
## Installation
Get the installation package in any of the available methods:
* [GitHub Releases](https://github.com/valentineus/moodle-tool_apisiteadmins/releases).
* [Compilation from the source code](#build).
In Moodle in the administration panel go to the "Plugins" section and make a
standard installation of the plug-in.
## Testing
* Perform the installation of `PHPUnit` and configure the test environment.
Use the
[official guide](https://docs.moodle.org/dev/PHPUnit#Installation_of_PHPUnit_via_Composer)
for detailed information.
* To run the plugin test, use the following commands:
```bash
# Run all tests
php vendor/bin/phpunit --testdox --group tool_apisiteadmins
# Or running individual tests
php vendor/bin/phpunit --testdox tool_apisiteadmins_api_testcase admin/tool/apisiteadmins/tests/api_test.php
php vendor/bin/phpunit --testdox tool_apisiteadmins_external_testcase admin/tool/apisiteadmins/tests/external_test.php
```
## Build
Self-assembly package is as follows:
* Clone the repository:
```bash
git clone https://github.com/valentineus/moodle-tool_apisiteadmins.git apisiteadmins
```
* Run the build script:
```bash
cd ./apisiteadmins
/bin/sh build.sh
```
## API
### tool_apisiteadmins::add_user( $userid ) ⇒`Boolean`
Adds a user to the list of administrators.
| Param | Type | Description |
| ------- | -------- | -------------- |
| $userid | `Number` | System user ID |
Example:
```php
require_once($CFG->dirroot . "/admin/tool/apisiteadmins/lib.php");
$userid = 2;
tool_apisiteadmins::add_user($userid);
// result: true
```
### tool_apisiteadmins::remove_user( $userid ) ⇒`Boolean`
Removes a user from the list of administrators.
| Param | Type | Description |
| ------- | -------- | -------------- |
| $userid | `Number` | System user ID |
Example:
```php
require_once($CFG->dirroot . "/admin/tool/apisiteadmins/lib.php");
$userid = 2;
tool_apisiteadmins::remove_user($userid);
// result: true
```
### tool_apisiteadmins::set_main( $userid ) ⇒`Boolean`
Registers the user as the primary administrator.
| Param | Type | Description |
| ------- | -------- | -------------- |
| $userid | `Number` | System user ID |
Example:
```php
require_once($CFG->dirroot . "/admin/tool/apisiteadmins/lib.php");
$userid = 2;
tool_apisiteadmins::set_main($userid);
// result: true
```
## License
<img height="256px" alt="GNU Banner" src="https://www.gnu.org/graphics/runfreegnu.png" />
[GNU GPLv3](LICENSE.txt).
Copyright (c)
[Valentin Popov](mailto:info@valentineus.link).