Download the PHP package multnomah-county-it/libilsws without Composer
On this page you can find all versions of the php package multnomah-county-it/libilsws. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download multnomah-county-it/libilsws
More information about multnomah-county-it/libilsws
Files in multnomah-county-it/libilsws
Package libilsws
Short Description PHP package to support use of the SirsiDynix Symphony Web Services API (ILSWS)
License GPL-3.0-or-later
Informations about the package libilsws
LibILSWS
PHP package to support use of the SirsiDynix Symphony Web Services API (ILSWS) for patron functions
John Houser [email protected]
Design Goals
- Validate all inputs to public functions
- Produce clean, clear error messages
- Prevent or replace SirsiDynix error messages (which are sometimes obscure) as much as possible
- Provide easy, high-level functions for creating, modifying, searching for, and authenticating patrons
- Provide code examples for all functions
- Support easy reconfiguration without code changes to mirror changes to the Symphony configuration
- Support patron registrations or updates of any valid Symphony patron field without code changes
- Allow easy adaptation by other libraries
Public Functions
Low-level
These functions can be used with any valid ILSWS access point. They will throw exceptions on error.
- connect ()
- send_get($url, $token, $params)
- send_query($url, $token, $query_json, $query_type)
Convenience Functions
These functions correspond with ILSWS access points, but they valididate all inputs and will throw exceptions if presented with inappropriate inputs.
- authenticate_patron($token, $patron_id, $password)
- change_barcode($token, $patron_key, $patron_id, $options)
Options array may include: role, client_id - change_item_library($token, $item_key, $library)
- change_patron_password($token, $json, $options)
Options array may include: role, client_id - delete_patron($token, $patron_key)
- describe_bib($token)
- describe_item($token)
- describe_patron($token)
- get_expiration($days)
- get_policy($token, $policy_key)
- search_patron($token, $index, $search, $params)
- search_patron_alt_id($token, $alt_id, $count)
- search_patron_id($token, $patron_id, $count)
- transit_item($token, $item_key, $new_library, $working_library)
- untransit_item($token, $item_id)
- update_patron_activity($token, $patron_id)
High-level
These functions offer functionality not directly supported by ILSWS by performing multiple queries or by combining, manipulating or evaluating data from the Symphony system.
- authenticate_patron_id($token, $patron_id, $password)
- check_duplicate($token, $index1, $search1, $index2, $search2)
- email_template($patron, $to, $from, $subject, $template)
- get_bib($token, $bib_key, $field_list)
- get_bib_circ_info($token, $bib_key)
- get_bib_marc($token, $bib_key)
- get_call_number($token, $call_key, $field_list)
- get_catalog_indexes($token)
- get_hold($token, $hold_key)
- get_item($token, $item_key, $field_list)
- get_item_circ_info($token, $item_key)
- get_library_paging_list($token, $library_key)
- get_patron_attributes($token, $patron_key)
- get_patron_checkouts($token, $patron_key, $include_fields)
- get_patron_indexes($token)
- prepare_search($terms)
- register_patron($patron, $token, $addr_num, $options)
Options array may include: role, client_id, template, subject - reset_patron_password($token, $patron_id, $url, $email)
Optional: email - search_authenticate($token, $index, $search, $password)
- search_bib($token, $index, $value, $params)
Params array may include: q, ct, rw, j, includeFields - update_patron($patron, $token, $patron_key, $addr_num)
- update_patron_activeid($token, $patron_key, $patron_id, $option)
Option may be: a, i, d - update_phone_list($phone_list, $token, $patron_key, $options)
Options array may include: role, client_id
Date and Telephone Number Formats
For the convenience of developers, the code library accepts dates in the following formats, wherever a date is accepted as a parameter: YYYYMMDD, YYYY-MM-DD, YYYY/MM/DD, MM-DD-YYYY, or MM/DD/YYYY.
The validation rules for telephone numbers are currently set to expect a string of digits with no punctuation. However, it would be easy to modify the validation rules at the top of any public function to accept punctuation in telephone numbers.
Examples
Initialize and Connect to ILSWS
Search for a Patron
Get Patron Attributes
Register New Patron
Update Patron Record
Search for bibliographic records
Notes on the includeFields parameter:
- To include MARC data by tag, add a bib item. For example, to get the 650 tag, subfield a, add:
bib{650_a}
- To get a call number or any item from the item record, you must include a callList item. For example, add
callList{callNumber}
- To get any field from the item record, you must include an itemList entry within the callList item. For example, to get a barcode, add
callList{itemList{barcode}}
More Information
See the libilsws.yaml.sample file for field definitions and documentation of the YAML configuration options.
For a complete set of code examples see the example scripts in the test
directory.
Warning: the test scripts may make real changes to the configured Symphony system. Do not use on a production system without carefully reviewing what they do!
All versions of libilsws with dependencies
curl/curl Version >=2.3
symfony/yaml Version ~4||~5.4||~6
twig/twig Version ^3.0
phpmailer/phpmailer Version ^6.9