diff --git a/ting.admin.inc b/ting.admin.inc index b4bc2c5..c0e5fdc 100644 --- a/ting.admin.inc +++ b/ting.admin.inc @@ -39,7 +39,7 @@ function ting_admin_ting_settings($form_state) { '#type' => 'textfield', '#title' => t('Scan service URL'), '#description' => t('URL to the Ting scan webservice, e.g. http://openscan.addi.dk/2.0/'), - '#required' => TRUE, + '#required' => FALSE, '#default_value' => variable_get('ting_scan_url', ''), ); @@ -47,7 +47,7 @@ function ting_admin_ting_settings($form_state) { '#type' => 'textfield', '#title' => t('Spell service URL'), '#description' => t('URL to the Ting spell webservice, e.g. http://openspell.addi.dk/1.2/'), - '#required' => TRUE, + '#required' => FALSE, '#default_value' => variable_get('ting_spell_url', ''), ); @@ -55,7 +55,7 @@ function ting_admin_ting_settings($form_state) { '#type' => 'textfield', '#title' => t('Recommendation service URL'), '#description' => t('URL to the Ting recommendation webservice (Andre der har lånt...) , e.g. http://openadhl.addi.dk/1.1/'), - '#required' => TRUE, + '#required' => FALSE, '#default_value' => variable_get('ting_recommendation_url', ''), ); diff --git a/ting.client.inc b/ting.client.inc index eea534b..f95c51d 100644 --- a/ting.client.inc +++ b/ting.client.inc @@ -46,10 +46,16 @@ function ting_get_object($object_id, $collection = FALSE, $with_relations = FALS // Build request request and set object id. $request = ting_get_request_factory()->getObjectRequest(); + if (!is_object($request)) { + return NULL; + } if ($collection) { // If this is a collection we need to do a collection request, which is // a search request. $request = ting_get_request_factory()->getCollectionRequest(); + if (!is_object($request)) { + return NULL; + } $request->setAllObjects(FALSE); } $request->setObjectId($object_id); @@ -166,6 +172,9 @@ function ting_get_objects($ids) { $query_chunks = array_chunk($query, 50); foreach ($query_chunks as $query_chunk) { $request = ting_get_request_factory()->getSearchRequest(); + if (!is_object($request)) { + return NULL; + } if ($agency) { $request->setAgency($agency); } @@ -226,6 +235,9 @@ function ting_get_objects($ids) { */ function ting_do_search($query, $page = 1, $results_per_page = 10, $options = array()) { $request = ting_get_request_factory()->getSearchRequest(); + if (!is_object($request)) { + return NULL; + } $request->setQuery($query); if ($agency = variable_get('ting_agency', FALSE)) { $request->setAgency($agency); @@ -584,6 +596,9 @@ function _ting_cache_update_relations_status($object, $with_relations = FALSE) { */ function ting_get_object_recommendations($isbn, $num_results = 10) { $request = ting_get_request_factory()->getObjectRecommendationRequest(); + if (!is_object($request)) { + return FALSE; + } $request->setIsbn($isbn); $request->setNumResults($num_results); return ting_execute($request); @@ -620,9 +635,6 @@ function ting_get_request_factory() { $urls = array(); foreach ($url_variables as $name => $setting) { $urls[$name] = variable_get($setting, FALSE); - if (!$urls[$name]) { - throw new TingClientException('No Ting webservice url defined for ' . $name); - } } $request_factory = new TingClientRequestFactory($urls); @@ -735,6 +747,10 @@ function ting_get_client() { */ function ting_do_scan($query, $phrase = 'anyIndexes', $num_results = 10) { $request = ting_get_request_factory()->getScanRequest(); + if (!is_object($request)) { + return FALSE; + } + $request->setField('phrase.' . $phrase); $request->setLower($query); $request = ting_add_agency($request); @@ -772,6 +788,9 @@ function ting_add_agency(TingClientScanRequest $request) { */ function ting_get_spell_suggestions($word, $num_results = 10) { $request = ting_get_request_factory()->getSpellRequest(); + if (!is_object($request)) { + return FALSE; + } $request->setWord($word); $request->setNumResults($num_results); return ting_execute($request);