Version 2 (modified by MK, 12 years ago)

--

Dodaje konto użytkownika systemu.

Definicja parametrów:

#!php
<?php

/**
  * Dodaje konto użytkownika systemu.
  *
  * @param array $data - Tablica z parametrami. Poniżej obsługiwane klucze.
  * @param $data['firnam'] String - Imię (parametr wymagany)
  * @param $data['lasnam'] String - Nazwisko (parametr wymagany)
  * @param $data['usrnam'] String - Nazwa użytkownika (parametr wymagany)
  * @param $data['passwd'] String - Hasło (parametr wymagany)
  * @param $data['initls'] String - Inicjały
  * @param $data['e_mail'] String - Adres email
  * @param $data['phone_'] String - Numer telefonu
  * @param $data['iphone'] String - Numer telefonu - wewnętrzny
  * @param $data['room__'] String - Pokój
  * @param $data['semail'] String - Stopka dla wysyłanej wiadomości email
  * @param $data['commen'] String - Informacje dodatkowe
  * @param $data['contid'] Int - ID kontrahenta (contacts.contid). Należy wypełnić jeżeli użytkownik jest kontrahentem.
  * @param $data['orunid'] Int - ID jednostki organizacyjnej (organization_units.orunid). Użytkownik zostanie przypisany do podanej jednostki.
  *
  * @access public
  * @return int
  * @throws Exception, UserRightsException
  * @since 1.5.0
  */
int createUserAccount(array data);

?>

Przykłady wywołań:


// Plik MyService.php umieszczony w apps/edokumenty.
// MyService.php
<?php

define('EDOK_API_LOGIN', 'developer');
define('EDOK_API_PASSWORD', 'developer');
define('DEFAULT_ENTITY_SYMBOL', 'demo');

require_once('./classes/eDokumentyApi/EDokApiClient.inc');

$options = array(
    'location' => 'http://{host}:{port}/eDokumentyApi.php',
    "uri" => "eDokumentyAPI",
    'encoding'=>'UTF-8'
);
        
$client = new EDokApiClient(NULL, $options);
$client->setUser(EDOK_API_LOGIN);
$client->setPass(md5(EDOK_API_PASSWORD));
$header = new SoapHeader('eDokumentyAPI', 'entity_symbol', DEFAULT_ENTITY_SYMBOL);
$client->__setSoapHeaders($header);

$organizationUnit = array();

try {
    $data = array(
        'usrnam' => 'jtest',
        'firnam' => 'Jan',
        'lasnam' => 'Testowy',
        'passwd' => 'test12345',
        'initls' => 'JT',
    );
    $usr_id = $client->createUserAccount($data);
    var_dump($usr_id);
    if (!$usr_id) exit(1);
    
    $grp_data = $client->getGroup(array('grpnam' => 'Pracownicy'));
    var_dump($grp_data);

    $res = $client->addUserToGroup($usr_id, $grp_data['grp_id']);

    $data = array(
        'orunsm' => 'TJ',
        'ndenam' => 'Testowa Jednostka',
        'ndetpe' => 'ORGCELL',
    );
    $parent_id = $client->createOrganizationUnit($data);
    var_dump($parent_id);
    if (!$parent_id) exit(1);
    
    $data = array(
        'orunsm' => 'TS',
        'ndenam' => 'Testowe Stanowisko',
        'ndetpe' => 'POST',
        'prn_id' => $parent_id,
    );
    $orunid = $client->createOrganizationUnit($data);
    var_dump($orunid);
    if (!$orunid) exit(1);
    
    $client->assignUserToOrganizationUnit($usr_id, $orunid);
    
} catch(SoapFault $fault) {   
    var_dump($fault);
    
    if ($fault->faultcode < 100) {
        trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR);
    }
}

?>