lernpad/zapi

ZApi for some hidden project

Installs: 48

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

Type:symfony-bundle

dev-master 2019-07-04 09:40 UTC

This package is not auto-updated.

Last update: 2024-05-03 08:42:25 UTC


README

Step 1: Download ZApiBundle using composer

Require the bundle with composer:

$ composer require lernpad/zapi dev-master

Step 2: Getting Started

require __DIR__.'/vendor/autoload.php';

use Lernpad\ZApi\ClientProtocol;
use Lernpad\ZApi\Exception\TimeoutException;
use Lernpad\ZApi\Model\StatusMsg;
use Lernpad\ZApi\Model\UserMsg;
use Lernpad\ZApi\Model\EventMsg;
use Symfony\Component\Validator\Exception\ValidatorException;

$authUser = new UserMsg();
$authUser->setLogin(2);
$authUser->setPassword('PhnOpwAS');

// Client Api service
$cp = new ClientProtocol();
$cp->connect('10.10.10.10', 1234, $authUser);

//--- Try to create new User
$newUser = new UserMsg();
$newUser->setLogin(1068);
$newUser->setPassword('12345678');
$newUser->setGroup(0);
$newUser->setName('Ivan Urgant');
$newUser->setEnabled(true);

$status = StatusMsg::statusError;
try {
    $status = $cp->userCreate($newUser);
    echo "new user status(".$status.",".StatusMsg::getName($status).")\n";
} catch (\ZMQSocketException $e) {
    // ...
} catch (ValidatorException $e) {
    // ...
} catch (TimeoutException $e) {
    // ...
}

Check if User exists

$user = new UserMsg();
$status = $cp->userGet($login, $user);
echo "get user status(".$status.",".StatusMsg::getName($status).")\n";

Try to get EventCalendar

$events = $cp->eventsGet();
/* @var $item EventMsg */
foreach ($events as $item) {
    echo $item->getDatetime().",".$item->getTitle()."\n";
}

Change User password

$status = $cp->userPassword($login, "foobar");
echo "password status(".$status.",".StatusMsg::getName($status).")\n";

Change User service

$status = $cp->userService($login, new \DateTime('+3 month'));
echo "service status(".$status.",".StatusMsg::getName($status).")\n";

Get version of application

$appId = 1;
$result = $cp->versionGet($appId);
$code = $result['status']->getCode();
$ver = $result['version'];
echo "service status(".$code.",".StatusMsg::getName($code).")\n";
/* @var $ver VersionMsg */
echo "version " . $ver->getMajor() . '.' . $ver->getMinor() . '.' . $ver->getPatch() . " URL: " . $ver->getLink() . "\n";