/ojs-sdk

SDK package for the OJS

Primary LanguagePHPGNU General Public License v3.0GPL-3.0

Test Status

OJS-SDK

SDK package for the OJS

Install

composer require librecodecoop/ojs-sdk

Configure

OJS installed in the same server is necessary. Inform the path of OJS for all dependencies and the login URL if you need make login and get a user token after login.

Environment Suggested value Usage
OJS_VERSION 3_2_1-1 Setup development environment with Docker
DB_PASSWD root Setup development environment with Docker
OJS_WEB_BASEDIR /app/ojs For make all
OJS_LOGIN_URL http://localhost/ojs/index.php/journal/login/signIn Only for login

How to use?

  • Create or update user:
use OjsSdk\Services\OJSService\Users\OJSUserService;

$OjsClient = new OJSUserService();
$return = $OjsClient->createUpdateUser([
    'username'       => 'jhonusername',
    'password'       => '123password',
    'email'          => 'jhon.doe@test.coop',
    'mailingAddress' => 'Street 55',
    'locales'        => ['en_US'],
    'groups'         => [1], // administrator
    'givenName'      => ['en_US' => 'Jhon'],
    'familyName'     => ['en_US' => 'Doe'],
    'phone'          => '+123456789',
    'lattes'         => 'https://lattes.com'
]);
  • changePassword
use OjsSdk\Services\OJSService\Users\OJSUserService;

$OjsClient = new OJSUserService();
$OjsClient->changePassword('jhonusername', '123password');
  • getUniqueUsername
use OjsSdk\Services\OJSService\Users\OJSUserService;

$OjsClient = new OJSUserService();
$uniqueUsername = $OjsClient->getUniqueUsername('jhonusername', '123password');
  • Login
use OjsSdk\Services\OJSService\Users\OJSUserService;

$OjsClient = new OJSUserService();
$loginResponse = $OjsClient->login('jhonusername', '123password');

Make anyfing

The method OjsProvider::getApplication(); make all necessary to use all classes of OJS.

For more informations see OJSUserServiceTest.php or OJSUserService.php.

Development

Use Docker for create a development environment.

If you don't use Docker, read the entrypoint.sh and Dockerfile.

Running tests:

composer test