Funkcja publikuje daną teczkę pod wskazaną jednostką organizacyjną. Jednostka musi być oznaczona jako "Repozytorium". W przypadku jeśli wskazana teczka zawiera pod teczki procesem można sterować poprzez parametr publish_all - domyślnie publikuje wszystkie pod teczki.
Definicja parametrów:
<?php /** * Publikuje teczkę w danym dziale (repozytorium). * * @param array $data - Tablica z parametrami. Poniżej obsługiwane klucze. * @param $data['doss_symbol'] String - Symbol teczki (dossiers_list.dossmb) * @param $data['doss_name'] String - Nazwa teczki (dossiers_list.ndenam)) * @param $data['dos_id'] Int - ID teczki (dossiers_list.dos_id) - parametr zamienny z doss_symbol i doss_name * @param $data['org_unit_symbol'] String - Symbol stanowiska na którym ma być opublikowana teczka (organization_units.orunsm) * @param $data['org_unit_name'] String - Nazwa stanowiska (organization_units.ndenam) * @param $data['orunid'] Int - ID stanowiska (organization_units.orunid) - parametr zamienny z org_unit_symbol i org_unit_name * @param $data['publish_all'] Int - Wartość 1 lub 0 - 1 - publikuje wszystkie teczki podrzędne względem wskazanej (wartość domyślna), 0 - publikuje tylko wskazaną * * @access public * @return array dsexid - ID wyciagu (doss_extract_list.dsexid) * @throws Exception, UserRightsException * @since 1.5.0 */ int publishDossier(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); $prc_id = NULL; try { $data = array( 'doss_symbol' => 60, 'org_unit_symbol' => 'C' ); $dsexid = $client->publishDossier($data); var_dump($dsexid); } catch(SoapFault $fault) { var_dump($fault); if ($fault->faultcode < 100) { trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR); } } ?>