From 85066e66227d6ba47b1a4ff75728bb3b32d94a56 Mon Sep 17 00:00:00 2001 From: Rui Francisco Date: Fri, 25 Jul 2014 08:29:44 +0100 Subject: [PATCH] Drupal module for EDS --- Drupal module Setup.docx | Bin 0 -> 458312 bytes ebsco/css/ebsco.css | 431 +++++++ ebsco/ebsco.info | 8 + ebsco/ebsco.module | 1036 +++++++++++++++++ ebsco/images/ajax_loading.gif | Bin 0 -> 1849 bytes ebsco/images/sprites_32.png | Bin 0 -> 6714 bytes ebsco/js/ebsco.js | 186 +++ ebsco/lib/EBSCOAPI.php | 629 ++++++++++ ebsco/lib/EBSCOConnector.php | 432 +++++++ ebsco/lib/EBSCODocument.php | 788 +++++++++++++ ebsco/lib/EBSCORecord.php | 398 +++++++ ebsco/lib/EBSCOResponse.php | 547 +++++++++ ebsco/lib/sanitizer.class.php | 444 +++++++ ebsco/templates/ebsco-advanced-search.tpl.php | 44 + ebsco/templates/ebsco-basic-search.tpl.php | 27 + ebsco/templates/ebsco-result.tpl.php | 134 +++ ebsco/templates/ebsco-results.tpl.php | 143 +++ ebsco/templates/ebsco-side-facets.tpl.php | 149 +++ 18 files changed, 5396 insertions(+) create mode 100644 Drupal module Setup.docx create mode 100644 ebsco/css/ebsco.css create mode 100644 ebsco/ebsco.info create mode 100644 ebsco/ebsco.module create mode 100644 ebsco/images/ajax_loading.gif create mode 100644 ebsco/images/sprites_32.png create mode 100644 ebsco/js/ebsco.js create mode 100644 ebsco/lib/EBSCOAPI.php create mode 100644 ebsco/lib/EBSCOConnector.php create mode 100644 ebsco/lib/EBSCODocument.php create mode 100644 ebsco/lib/EBSCORecord.php create mode 100644 ebsco/lib/EBSCOResponse.php create mode 100644 ebsco/lib/sanitizer.class.php create mode 100644 ebsco/templates/ebsco-advanced-search.tpl.php create mode 100644 ebsco/templates/ebsco-basic-search.tpl.php create mode 100644 ebsco/templates/ebsco-result.tpl.php create mode 100644 ebsco/templates/ebsco-results.tpl.php create mode 100644 ebsco/templates/ebsco-side-facets.tpl.php diff --git a/Drupal module Setup.docx b/Drupal module Setup.docx new file mode 100644 index 0000000000000000000000000000000000000000..a39b22c428688d26e5e4858708ff61aa5d209b8f GIT binary patch literal 458312 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

;w9^quz? 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 X div { + border-bottom: 1px solid #CCCCCC; +} + +#ebsco-sort-form label, +#ebsco-sort-form .form-item { + display: inline-block !important; +} + +#ebsco-sort-form .form-item:first-child { + float: right; +} + +#ebsco-sort-form .form-item:last-child { + float: left; +} + +/** Advanced search form ***/ + +.ebsco-advanced ._advanced-row { + border: 0 none; + padding: 0; + margin: 10px; + top: 5px; +} + +.ebsco-advanced #edit-rows { + margin-bottom: 20px; +} + +.ebsco-advanced ._advanced-row .fieldset-wrapper { + margin: 0 !important; + padding: 0; +} + +.ebsco-advanced .form-item-group0-lookfor label { + display: inline-block; + text-align: right; + width: 100px; +} +.ebsco-advanced .form-type-radio label { + display: inline-block; + text-align: left; + width: 90%; +} + +.ebsco-advanced #edit-add-row { + border: 0 none; + padding: 0; + margin: 10px; + top: 5px; +} + +.ebsco-advanced #edit-add-row .fieldset-wrapper { + margin-top: 5px; +} + +.ebsco-advanced #edit-links { + margin-bottom: 20px; + text-align: center; +} + +.ebsco-advanced #edit-links .fieldset-wrapper { + margin-top: 10px; +} + +.ebsco-advanced #edit-limiters { + width: 99%; +} + +.ebsco-advanced #edit-modes { + width: 49%; + float: left; +} + +.ebsco-advanced #edit-modes { + width: 49%; + float: left; +} + + +.ebsco-advanced #edit-expanders { + width: 49%; + float: right; +} + +.ebsco-advanced #edit-limiters label { + font-weight: normal; +} + +.ebsco-advanced #edit-limiters .form-type-select label { + display: block; +} + +.ebsco-advanced #edit-limiters hr { + margin: 15px 0; + height: 1px; + background-color: #CCCCCC; + color: #CCCCCC; + border: 0 none; +} + +.dateSlider { + width: 150px; + display: inline-block !important; + margin: 0 10px; +} + + +/** Icons ***/ + +.icon { + background: url("../images/sprites_32.png") no-repeat top left; + height: 32px; + line-height: 32px; + display: inline-block; + padding: 0 0 0 36px !important; +} + +.icon.ebook { + background-position: 0 0; +} + +.icon.html { + background-position: 0 -42px; +} + +.icon.pdf { + background-position: 0 -84px; +} + +.icon13 { + background: url("../images/sprites_32.png") no-repeat top left; + padding-left: 18px !important; + width: 13px; + height: 13px; +} + +.icon13.collapsed { + background-position: 0 -126px; +} + +.icon13.expanded { + background-position: 0 -149px; +} + +.icon16 { + background: url("../images/sprites_32.png") no-repeat top left; + padding-left: 21px !important; + width: 16px; + height: 16px; + display: inline-block; +} + +.icon16.tick { + background-position: 0 -171px; +} diff --git a/ebsco/ebsco.info b/ebsco/ebsco.info new file mode 100644 index 0000000..5dd95e0 --- /dev/null +++ b/ebsco/ebsco.info @@ -0,0 +1,8 @@ +name = EBSCO Discovery Service +description = Full-text articles and eBooks from EBSCOhost Discovery Service +core = 7.x + +configure = admin/config/search/ebsco + +stylesheets[screen][] = css/ebsco.css +scripts[] = js/ebsco.js \ No newline at end of file diff --git a/ebsco/ebsco.module b/ebsco/ebsco.module new file mode 100644 index 0000000..cada084 --- /dev/null +++ b/ebsco/ebsco.module @@ -0,0 +1,1036 @@ +'. t("Full-text articles and eBooks from EBSCOhost Discovery Services") .''; + $output .= '

'. t("EBSCO Discovery Service provides users with an easy, yet powerful means of accessing all of + an institution's information resources through a single search.") .'

'; + $output .= '

'. t("This is achieved by harvesting metadata from both internal (library) and external (database vendors) sources, + and creating a pre-indexed service of unprecedented size and speed.") .'

'; + $output .= '

'. t("Although the resulting collection can be massive in size and scope, the fact that it is indexed locally + (on the EBSCOhost® servers) allows for exceptionally fast search response times.") .'

'; + $output .= '

'. t("As no two institutions are the same, EBSCO Discovery Service offers a vast array of customization options with + regard to both the underlying collection of metadata as well as the front-end delivery of search results. + All of this functionality is based upon the powerful EBSCOhost search experience familiar to researchers worldwide.") .'

'; + break; + } + return $output; +} + + +/** + * Implements hook_theme(). + */ +function ebsco_theme() { + $themes = array( + 'ebsco_result' => array( + 'template' => 'templates/ebsco-result' + ), + 'ebsco_results' => array( + 'template' => 'templates/ebsco-results' + ), + 'ebsco_side_facets' => array( + 'template' => 'templates/ebsco-side-facets' + ), + 'ebsco_basic_search' => array( + 'template' => 'templates/ebsco-basic-search' + ), + 'ebsco_advanced_search' => array( + 'template' => 'templates/ebsco-advanced-search' + ) + ); + return $themes; +} + + +/** + * Implements hook_permission(). + * + * Since the access to our new custom pages will be granted based on + * special permissions, we need to define what those permissions are here. + * This ensures that they are available to enable on the user role + * administration pages. + */ +function ebsco_permission() { + return array( + 'administer ebsco' => array( + 'title' => t('Administer EBSCO') + ), + 'use ebsco' => array( + 'title' => t('Use EBSCO') + ) + ); +} + + +/** + * Implements hook_admin(). + * + */ +function ebsco_admin() { + $form = array(); + + $form['ebsco_credentials'] = array( + '#type' => 'fieldset', + '#title' => t('API credentials') + ); + + $form['ebsco_credentials']['ebsco_password'] = array( + '#type' => 'textfield', + '#title' => t('Password'), + '#default_value' => variable_get('ebsco_password'), + '#size' => 50, + '#description' => t("The API password."), + '#required' => TRUE + ); + + $form['ebsco_credentials']['ebsco_user'] = array( + '#type' => 'textfield', + '#title' => t('User Id'), + '#default_value' => variable_get('ebsco_user'), + '#size' => 50, + '#description' => t("The API User Id."), + '#required' => TRUE + ); + + $form['ebsco_credentials']['ebsco_profile'] = array( + '#type' => 'textfield', + '#title' => t('Profile Id'), + '#default_value' => variable_get('ebsco_profile'), + '#size' => 50, + '#description' => t("The API Profile Id."), + '#required' => TRUE + ); + + $form['ebsco_credentials']['ebsco_interface'] = array( + '#type' => 'textfield', + '#title' => t('Interface Id'), + '#size' => 50, + '#description' => t("The API Interface Id."), + '#required' => FALSE + ); + + $form['ebsco_credentials']['ebsco_organization'] = array( + '#type' => 'textfield', + '#title' => t('Organization Id'), + '#size' => 50, + '#description' => t("The API Organization Id."), + '#required' => FALSE + ); + + $form['ebsco_credentials']['ebsco_guest'] = array( + '#type' => 'radios', + '#title' => t('Guest ?'), + '#default_value' => variable_get('ebsco_guest', 0), + '#description' => t("The Guest session."), + '#options' => array(t('No'), t('Yes')), + '#required' => TRUE + ); + + $form['ebsco_general'] = array( + '#type' => 'fieldset', + '#title' => t('General Settings') + ); + + $form['ebsco_general']['ebsco_default_limit'] = array( + '#type' => 'select', + '#title' => t('Default limit'), + '#default_value' => variable_get('ebsco_default_limit', 10), + '#description' => t("Default number of results per page."), + '#options' => EBSCODocument::limit_options(), + '#required' => TRUE + ); + + $form['ebsco_general']['ebsco_default_sort'] = array( + '#type' => 'select', + '#title' => t('Default sort'), + '#default_value' => variable_get('ebsco_default_sort', 'relevance'), + '#description' => t("Default sorting option."), + '#options' => EBSCODocument::sort_options(), + '#required' => TRUE + ); + + $form['ebsco_general']['ebsco_default_amount'] = array( + '#type' => 'select', + '#title' => t('Default detail level'), + '#default_value' => variable_get('ebsco_default_amount', 'detailed'), + '#description' => t("Default level of data detail."), + '#options' => EBSCODocument::amount_options(), + '#required' => TRUE + ); + + $form['ebsco_general']['ebsco_default_mode'] = array( + '#type' => 'select', + '#title' => t('Default search mode'), + '#default_value' => variable_get('ebsco_default_mode', 'all'), + '#description' => t("Default search mode."), + '#options' => EBSCODocument::mode_options(), + '#required' => TRUE + ); + + return system_settings_form($form); +} + + +/** + * Implements hook_menu(). + */ +function ebsco_menu() { + // Ths is a route + $items['ebsco/results'] = array( + 'title' => 'EBSCO Results', + 'page callback' => 'ebsco_results_page', + 'access callback' => true, + 'type' => MENU_CALLBACK + ); + + $items['ebsco/result'] = array( + 'title' => 'EBSCO Record', + 'page callback' => 'ebsco_result_page', + 'access callback' => true, + 'type' => MENU_CALLBACK + ); + + $items['ebsco/pdf'] = array( + 'title' => 'EBSCO Record', + 'page callback' => 'ebsco_pdf_page', + 'access callback' => true, + 'type' => MENU_CALLBACK + ); + + $items['ebsco/fulltext'] = array( + 'title' => 'EBSCO Record', + 'page callback' => 'ebsco_fulltext_page', + 'access callback' => true, + 'type' => MENU_CALLBACK + ); + + $items['ebsco/advanced'] = array( + 'title' => 'EBSCO advanced search', + 'page callback' => 'ebsco_advanced_search_page', + 'access callback' => true, + 'type' => MENU_CALLBACK + ); + + $items['admin/config/search/ebsco'] = array( + 'title' => 'EBSCO settings', + 'description' => 'Configure EBSCO Service.', + 'page callback' => 'drupal_get_form', + 'page arguments' => array('ebsco_admin'), + 'access arguments' => array('administer ebsco'), + 'type' => MENU_NORMAL_ITEM + ); + + return $items; +} + + +/** +* Implements hook_block_info(). +*/ +function ebsco_block_info() { + $blocks['ebsco_main'] = array( + 'info' => t('EBSCO Search Form'), + 'cache' => DRUPAL_CACHE_PER_PAGE + ); + + $blocks['ebsco_facets'] = array( + 'info' => t('EBSCO Narrow Search'), + 'cache' => DRUPAL_CACHE_PER_PAGE + ); + + return $blocks; +} + + +/** +* Implements hook_block_view(). +* +* Prepares the content of the block. +*/ +function ebsco_block_view($delta = '') { + $params = $_GET; + switch ($delta) { + case 'ebsco_main': + $reject = isset($params['q']) && strpos('ebsco/advanced', $params['q']) !== false; + return array( + 'content' => $reject ? '' : ebsco_basic_search_block() + ); + break; + + case 'ebsco_facets': + $reject = isset($params['q']) && strpos('ebsco/advanced', $params['q']) !== false; + $reject = $reject || (isset($params['edit']) && strpos('ebsco/results', $params['q']) !== false); + $reject = $reject || (isset($params['q']) && strpos('ebsco/result', $params['q']) !== false); + return array( + 'content' => $reject ? '' : ebsco_side_facets_block() + ); + break; + } +} + + +/****************************************************** + * Page callbacks + ******************************************************/ + + +function ebsco_results_page() { + return theme('ebsco_results'); +} + + +function ebsco_result_page() { + $is_xhr = !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest'; + if ($is_xhr) { + print theme('ebsco_result'); + return true; + } else { + return theme('ebsco_result'); + } +} + + +function ebsco_fulltext_page() { + $is_xhr = !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest'; + if (user_is_logged_in()) { + if ($is_xhr) { + print theme('ebsco_result'); + return true; + } else { + return theme('ebsco_result'); + } + } else { + $_SESSION['EBSCO']['redirect'] = drupal_get_destination(); + if ($is_xhr) { + echo ""; + return; + } else { + drupal_goto('user'); + } + } +} + + +function ebsco_pdf_page() { + global $Document; + $params = $_REQUEST; + + if (user_is_logged_in()) { + if (empty($Document)) { + $Document = new EBSCODocument(); + } + $Document->retrieve(); + $record = $Document->record(); + drupal_goto($record->pdf_link); + } else { + $_SESSION['EBSCO']['redirect'] = drupal_get_destination(); + drupal_goto('user'); + } +} + + +function ebsco_advanced_search_page() { + return theme('ebsco_advanced_search'); +} + + +function ebsco_basic_search_block() { + return theme('ebsco_basic_search'); +} + + +function ebsco_side_facets_block() { + return theme('ebsco_side_facets'); +} + + + +/****************************************************** + * Form builders, form handlers and templates handlers + ******************************************************/ + + +/** + * Form builder; Output a sort form for the search results. + * + * @ingroup forms + */ +function ebsco_sort_form() { + $params = $_REQUEST; + + $form = array( + '#attributes' => array('class' => 'sort-form'), + '#method' => 'get' + ); + + $options = EBSCODocument::amount_options(); + $values = array_values($options); + $default_value = isset($params['amount']) ? $params['amount'] : $values[0]; + $form['mode'] = array( + '#id' => 'ebsco-amount', + '#type' => 'select', + '#title' => t('Page options'), + '#default_value' => $default_value, + '#options' => $options, + '#attributes' => array('class' => array('form-select', '_jump_menu')) + ); + + $options = EBSCODocument::sort_options(); + $values = array_values($options); + $default_value = isset($params['sort']) ? $params['sort'] : $values[0]; + $form['sort'] = array( + '#id' => 'ebsco-sort', + '#type' => 'select', + '#title' => t('Sort'), + '#default_value' => $default_value, + '#options' => $options, + '#attributes' => array('class' => array('form-select', '_jump_menu')) + ); + + return $form; +} + + +/** + * Form builder; Output a search form for the search block's search box. + * + * @ingroup forms + */ +function ebsco_basic_search_form() { + $params = $_REQUEST; + + $form = array( + '#attributes' => array('class' => 'search-form'), + '#action' => url('ebsco/results'), + '#method' => 'get' + ); + + $form['basic']['q'] = array( + '#type' => 'hidden', + '#default_value' => 'ebsco/results' + ); + + $default_value = isset($params['lookfor']) ? $params['lookfor'] : ''; + $form['basic']['lookfor'] = array( + '#id' => 'ebsco-basic-search-lookfor', + '#type' => 'textfield', + '#size' => 40, + '#default_value' => $default_value, + '#attributes' => array('title' => t('Enter the terms you wish to search for.')), + ); + + $default_value = isset($params['type']) ? $params['type'] : ''; + $form['basic']['type'] = array( + '#id' => 'ebsco-basic-search-type', + '#type' => 'select', + '#options' => EBSCODocument::basic_search_type_options(), + '#default_value' => $default_value + ); + + $form['basic']['submit'] = array( + '#id' => 'ebsco-basic-search-submit', + '#type' => 'submit', + '#value' => t('Search') + ); + + $link = url('ebsco/advanced'); + $form['basic']['links'] = array( + '#type' => 'fieldset', + '#value' => "
" . t('Advanced search') . "" + ); + + $form['basic']['offscreen'] = array( + '#type' => 'container' + ); + + if (isset($params['filter'])) { + foreach($params['filter'] as $key => $value) { + $form['basic']['offscreen']['group'.$key]['filter[]'] = array( + '#id' => 'ebsco-basic-search-filter' . $key, + '#type' => 'checkbox', + '#default_value' => $value, // doesn't work + '#attributes' => array('checked' => 'checked', 'value' => $value) + + ); + } + + $form['basic']['remember'] = array( + '#type' => 'checkbox', + '#title' => t('Retain my current filters'), + '#prefix' => '
', + '#default_value' => true + ); + } + + return $form; +} + +/** + * Form builder; Output a search form for the search block's search box. + * + * @ingroup forms + */ +function ebsco_advanced_search_form() { + global $Document; + $params = $_REQUEST; + + if (isset($params['edit']) && !empty($params['edit'])) { + $query = $_SESSION['EBSCO']['last-search']['query']; + parse_str($query, $new_params); + $params = $_REQUEST = array_merge($_REQUEST, $new_params); + } + $counter = isset($params['group']) ? count($params['group']) : 3; + + $form = array( + '#attributes' => array('class' => 'search-form'), + '#action' => url('ebsco/advanced') + ); + + $form['advanced'] = array( + '#type' => 'fieldset', + '#title' => t('Advanced Search'), + '#collapsible' => false, + '#collapsed' => false + ); + + $form['advanced']['rows'] = array( + '#type' => 'fieldset', + '#title' => '' + ); + + for ($i = 0; $i < $counter; $i++) { + $form['advanced']['rows']['group' . $i] = array( + '#type' => 'fieldset', + '#tree' => true, + '#attributes' => array('class' => array('_advanced-row')) + ); + + $default_value = isset($params['group'][$i]['bool']) ? $params['group'][$i]['bool'] : ''; + if ($i > 0) { + $form['advanced']['rows']['group' . $i]['bool'] = array( + '#id' => 'ebsco-advanced-search-bool' . $i, + '#type' => 'select', + '#default_value' => $default_value, + '#options' => EBSCODocument::bool_options() + ); + } else { + $form['advanced']['rows']['group' . $i]['bool'] = array( + '#id' => 'ebsco-advanced-search-bool' . $i, + '#type' => 'hidden', + '#default_value' => 'AND' + ); + } + + $title = $i == 0 ? t('Search for :') : ''; + $default_value = isset($params['group'][$i]['lookfor']) ? $params['group'][$i]['lookfor'] : ''; + $form['advanced']['rows']['group' . $i]['lookfor'] = array( + '#id' => 'ebsco-advanced-search-lookfor' . $i, + '#type' => 'textfield', + '#size' => 30, + '#default_value' => $default_value, + '#title' => $title, + '#attributes' => array('title' => t('Enter the terms you wish to search for.')) + ); + + $default_value = isset($params['group'][$i]['type']) ? $params['group'][$i]['type'] : ''; + $form['advanced']['rows']['group' . $i]['type'] = array( + '#id' => 'ebsco-advanced-search-type' . $i, + '#type' => 'select', + '#default_value' => $default_value, + '#title' => t('in'), + '#options' => EBSCODocument::advanced_search_type_options() + ); + + if ($i > 2) { + $form['advanced']['rows']['group' . $i]['remove'] = array( + '#markup' => '' + ); + } + } + + $form['advanced']['rows']['add_row'] = array( + '#type' => 'fieldset', + '#value' => "". t('Add Search Field') . "" + ); + + $items = array( + array( + 'url' => url('ebsco/results'), + 'title' => t('Basic search') + ), + array( + 'url' => url('ebsco/advanced'), + 'title' => t('Advanced search') + ) + ); + $links = array(); + foreach ($items as $item) { + $links[] = "{$item['title']}"; + } + $form['advanced']['links'] = array( + '#type' => 'fieldset', + '#value' => implode(' | ', $links) + ); + + $form['advanced']['modes'] = array( + '#type' => 'fieldset', + '#title' => t('Search modes') + ); + + $form['advanced']['modes']['mode'] = array( + '#type' => 'radios', + '#default_value' => 'all', + '#options' => EBSCODocument::mode_options() + ); + + $expanders = $Document->expanders(); + $limiters = $Document->limiters(); + $options = array('' => true); + foreach($expanders as $key => $expander) { + $options[$expander['Action']] = true; + } + foreach($limiters as $key => $limiter) { + if (!empty($limiter['Values'])) { + $options[$limiter['Id']] = true; + foreach($limiter['Values'] as $value) { + $options[str_replace('value', $value['Value'], $value['Action'])] = true; + } + } else { + $options[str_replace('value', 'y', $limiter['Action'])] = true; + } + } + + $form['advanced']['expanders'] = array( + '#type' => 'fieldset', + '#title' => t('Expand results') + ); + + $form['advanced']['limiters'] = array( + '#type' => 'fieldset', + '#title' => t('Limit results') + ); + + $children = array(); + foreach($expanders as $key => $expander) { + $element = array( + '#type' => 'checkbox', + '#id' => 'ebsco-advanced-search-expander' . $key, + '#title' => $expander['Label'], + '#title_display' => 'after', + '#name' => 'filter[]', + '#attributes' => array('value' => $expander['Action']), + '#checked' => $expander['selected'] + ); + $element['#children'] = ($key != 0) ? '
' : ''; + $element['#children'] .= theme('checkbox', array('element' => $element)); + + $children[] = theme('form_element', array('element' => $element)); + + } + + $form['advanced']['expanders']['filter'] = array( + '#type' => 'checkboxes', + '#validated' => true, + '#options' => $options, + '#children' => implode('', $children) + ); + + $checkboxes = $selects = $dates = array(); + foreach($limiters as $key => $limiter) { + if ($limiter['Type'] == 'text' || $limiter['Type'] == 'select') { + $element = array( + '#type' => 'checkbox', + '#id' => 'ebsco-advanced-search-limiter' . $limiter['Id'], + '#title' => $limiter['Label'], + '#title_display' => 'after', + '#name' => 'filter[]', + '#attributes' => array('value' => str_replace('value', 'y', $limiter['Action'])), + '#checked' => $limiter['selected'] + + ); + $element['#children'] = ($key != 0) ? '
' : ''; + if (!isset($element['#children'])) + {$element['#children']="";} + $element['#children'] .= theme('checkbox', array('element' => $element)); + $checkboxes[] = theme('form_element', array('element' => $element)); + } else if ($limiter['Type'] == 'multiselectvalue') { + $opts = array('' => t('All')); + foreach($limiter['Values'] as $value) { + $opts[$value['Action']] = $value['Value']; + } + $element = array( + '#type' => 'select', + '#multiple' => true, + '#size' => 4, + '#id' => 'ebsco-advanced-search-limiter' . $limiter['Id'], + '#title' => $limiter['Label'], + '#name' => 'filter[]', + '#options' => $opts, + '#default_value' => $limiter['selected'], // empty value means "All" + '#value' => $limiter['selected'], + '#attributes' => array('class' => array('multiselectvalue'), 'multiple' => 'multiple') + ); + $element['#children'] = theme('select', array('element' => $element)); + $selects[] = theme('form_element', array('element' => $element)); + } else if ($limiter['Type'] == 'ymrange') { + $value = $limiter['selected'] ? $limiter['selected'] : ''; + $displayValue = str_replace(array('addlimiter(DT1:', '-1/2013-1)'), array('', ''), $value); + $element = array( + '#type' => 'textfield', + '#id' => $limiter['Id'], + '#title' => $limiter['Label'], + '#value' => $displayValue, + '#name' => $limiter['Id'], + '#autocomplete_path' => null, + '#attributes' => array('size' => 4, 'maxlength' => 4, 'class' => array('yearbox')) + ); + $element['#children'] = theme('textfield', array('element' => $element)); + $element['#children'] .= ''; + $element['#children'] .= '
'; + $dates[] = theme('form_element', array('element' => $element)); + } + } + + $form['advanced']['limiters']['checkboxes'] = array( + '#type' => 'checkboxes', + '#validated' => true, + '#options' => $options, + '#children' => implode('', $checkboxes), + ); + + $form['advanced']['limiters']['dates'] = array( + '#type' => 'container', + '#validated' => true, + '#prefix' => '
', + '#children' => implode('', $dates) + ); + + $form['advanced']['limiters']['selects'] = array( + '#type' => 'container', + '#prefix' => '
', + '#validated' => true, + '#children' => implode('', $selects) + ); + + $form['advanced']['submit'] = array( + '#id' => 'ebsco-advanced-search-submit', + '#type' => 'submit', + '#value' => t('Search') + ); + + $form['advanced']['clear'] = array( + '#markup' => '' + ); + + return $form; +} + + +/** + * Form validation handler for ebsco_basic_search_form(). + * + * @see ebsco_basic_search_form_submit() + */ +function ebsco_basic_search_form_validate($form, &$form_state) { + $params = $form_state['values']; + if (empty($params['lookfor'])) { + form_set_error('lookfor', t('Please enter some keywords.')); + } +} + + +/** + * Form validation handler for ebsco_advanced_search_form(). + * + * @see ebsco_advanced_search_form_submit() + */ +function ebsco_advanced_search_form_validate($form, &$form_state) { + $params = $form_state['values']; + if (empty($params['group0']['lookfor']) && + empty($params['group1']['lookfor']) && + empty($params['group2']['lookfor'])) { + form_set_error('group0][lookfor', t('Please enter some keywords.')); + } +} + + +/** + * Form submission handler for ebsco_basic_search_form(). + * + * @see ebsco_basic_search_form_validate() + */ +function ebsco_basic_search_form_submit($form, &$form_state) { + $params = $form_state['values']; + $allowed_keys = array('lookfor', 'type'); + foreach($params as $key => $value) { + if (!in_array($key, $allowed_keys)) { + unset($params[$key]); + } + } + $form_state['rebuild'] = false; + $form_state['redirect'] = array('ebsco/results', array('query' => $params)); +} + + +/** + * Form submission handler for ebsco_advanced_search_form(). + * + * @see ebsco_advanced_search_form_validate() + */ +function ebsco_advanced_search_form_submit($form, &$form_state) { + $params = $_REQUEST; + $new_params = array(); + $allowed_keys = array('filter', 'mode'); + + foreach($params as $key => $value) { + if (!(in_array($key, $allowed_keys) || strpos($key, 'group') !== false)) { + unset($params[$key]); + } else { + if ($key == 'filter') { + foreach($value as $k => $v) { + if (empty($v)) { + unset($params[$key][$k]); + } + } + } else if (empty($value)) { + unset($params[$key]); + } + } + } + + foreach($params as $key => $value) { + if (strpos($key, 'group') !== false) { + $new_params['group'][] = $value; + unset($params[$key]); + } + } + $params = array_merge($params, $new_params); + + $form_state['rebuild'] = false; + $form_state['redirect'] = array('ebsco/results', array('query' => $params)); +} + + +/** + * Process variables for ebsco-results.tpl.php. + * + * @see ebsco-results.tpl.php + */ +function template_preprocess_ebsco_results(&$variables) { + global $Document; + $params = $_REQUEST; + + $_SESSION['EBSCO']['redirect'] = drupal_get_destination(); + if (empty($Document)) { + $Document = new EBSCODocument(); + } + + $title = !empty($params['lookfor']) ? ' - ' . $params['lookfor'] : ''; + drupal_set_title('Search results' . $title); + + $Document->search(); + + $variables['records'] = $Document->records(); + $variables['record_start'] = $Document->record_start(); + $variables['record_end'] = $Document->record_end(); + $variables['record_count'] = $Document->record_count(); + $variables['search_view'] = $Document->search_view(); + $variables['search_time'] = $Document->search_time(); + $variables['lookfor'] = ''; + if (isset($params['lookfor'])) { + $variables['lookfor'] = $params['lookfor']; + } else if (isset($params['group'])) { + $types = EBSCODocument::basic_search_type_options(); + foreach ($params['group'] as $key => $group) { + if (!empty($group['lookfor'])) { + $pre = $key == 0 ? '' : " {$group['bool']} "; + $variables['lookfor'] .= $pre . $types[$group['type']] . ':' . $group['lookfor']; + } + } + } + $variables['pager'] = $Document->pager(); + + $v1=drupal_get_form('ebsco_sort_form'); + $variables['sort_form'] = drupal_render($v1); + + // Save data needed by scroller in Detailed view page + $Document->search_write(); +} + + +/** + * Process variables for ebsco-basic-search.tpl.php. + * + * @see ebsco-basic-search.tpl.php + */ +function template_preprocess_ebsco_basic_search(&$variables) { + global $Document; + $params = $_REQUEST; + + if (empty($Document)) { + $Document = new EBSCODocument(); + } + + $variables['search_view'] = $Document->search_view(); + $variables['lookfor'] = ''; + if (isset($params['lookfor'])) { + $variables['lookfor'] = $params['lookfor']; + } else if (isset($params['group'])) { + $types = EBSCODocument::basic_search_type_options(); + foreach ($params['group'] as $key => $group) { + if (!empty($group['lookfor'])) { + $pre = $key == 0 ? '' : " {$group['bool']} "; + $variables['lookfor'] .= $pre . $types[$group['type']] . ':' . $group['lookfor']; + } + } + } + $v1=drupal_get_form('ebsco_basic_search_form'); + $variables['search_form'] = drupal_render($v1); +} + + +/** + * Process variables for ebsco-advanced-search.tpl.php. + * + * @see ebsco-advanced-search.tpl.php + */ +function template_preprocess_ebsco_advanced_search(&$variables) { + drupal_add_library('system','ui.slider'); + global $Document; + $params = $_REQUEST; + + if (empty($Document)) { + $Document = new EBSCODocument(); + } + $Document->info(); + + $v1=drupal_get_form('ebsco_advanced_search_form'); + $variables['search_form'] = drupal_render($v1); +} + + +/** + * Process variables for ebsco-result.tpl.php. + * + * @see ebsco-result.tpl.php + */ +function template_preprocess_ebsco_result(&$variables) { + $params = $_REQUEST; + $params['op'] = isset($params['op']) ? $params['op'] : 'Next'; + + $_SESSION['EBSCO']['redirect'] = drupal_get_destination(); + if (empty($Document)) { + $Document = new EBSCODocument(); + } + $Document->retrieve(); + $record = $Document->record(); + + $variables['record'] = $record; + $lastSearch = isset($params['id']) ? $Document->search_read($params['id'], $params['op']) : ''; + $variables['last_search'] = $lastSearch; + + drupal_set_title($record->title); +} + + +/** + * Process variables for ebsco-side-facets.tpl.php. + * + * @see ebsco-side-facets.tpl.php + */ +function template_preprocess_ebsco_side_facets(&$variables) { + global $Document; + + if (empty($Document)) { + $Document = new EBSCODocument(); + } + $Document->info(); + + $variables['record_count'] = $Document->record_count(); + $variables['expanders'] = $Document->expanders(); + $variables['limiters'] = $Document->limiters(); + $variables['facets'] = $Document->facets(); + $variables['filters'] = $Document->filters(); // applied facets, limiters or expanders + $variables['search_params'] = $Document->search_params(); // hidden parameters + $variables['link_search_params'] = $Document->link_search_params(); // hidden parameters +} + + + +/****************************************** + * View Helpers + ******************************************/ + +/** + * Returns an URL without the given filter parameter + * + * @return string + */ +function remove_filter_link($filter) +{ + $params = $_REQUEST; + if (isset($params['filter'])) { + foreach($params['filter'] as $key => $value) { + if ($value == $filter['action']) { + unset($params['filter'][$key]); + } + } + } + return url('ebsco/results', array('query' => $params)); +} + + +/** + * Performs a regex and replaces any url's with links containing themselves as the text + * + * @return string + */ +function auto_link($string) +{ + $linkedString = preg_replace_callback( + "/\b(https?):\/\/([-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|]*)\b/i", + create_function( + '$matches', + 'return "".($matches[0])."";' + ), + $string + ); + return $linkedString; +} \ No newline at end of file diff --git a/ebsco/images/ajax_loading.gif b/ebsco/images/ajax_loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..d42f72c723644bbf8cf8d6e1b7ff0bea7ddd305a GIT binary patch literal 1849 zcma*odr%wI9tZGc_iT2vk7P+x3@LU(2yGIQCcHvgYTblq0THkTesI znR7n#{hi;OjP2?A&1ME-pkE;9;lqaz1T8KudOV)_`T6wp^p=(uf2Fv%SSFK=kB@u3 zUZGGpJUk2l(CKv5)z$vpzrP~?FHUK&nD<(COPZ{Et0m?db93z;^X^U7=d1QWkq-bw z_z#PGNam*Pcq+w^mln54i-h<~s=yrqB!o6eBrwd4{B{&hHR9I{{bQLC?)mG!al!d3 z<_YADRELlGj+H!fNocrRe7`?$gk5?^y3^@6pC85jwesu>G6*{Wrto)mL5D?z)j-L++&!SNH!MDuhyZ1*)jGIdEgHH>qdP6}DTp>kJ!bZd!oke!Q0J5vRHHSl&=?=ft+HzcfBB?ZKg#rgtngf(C zDL)0I;%QR6Z_49x&crpS#vVCUpEoP)gxevZsOEytw5Vq|*bf39%i#K5VVMGzL^=13 zR-}G|UaU(m68*HWc{(R=BrQG$CK$N`HcDv@S=IAWm(o~Np>ZF8X|_V%3_!1*u`vm}?t+-#K2Qs= zlXouK&f(YJG|lD7kLqye?NcYji#s*HOSm|xQ~{R)Ao3VZxwQ7l4$VQO;kkhWM?7Tq zV7I5-(5BO!(yinIf+@AjEfNKCk>b~u*83@)>qu(a3nA*y_1a7za7?y8mYaN9Z=br4iilUPLeBE8>z7SjUY!R@qdmA$~nkLiZ z9qy{OsKf4~y1^q+D*!YY&=vr^tMUUJQrx*Do>dYDlPO!l`DoZR5vApf95=i4Lz;yXc(}m~6Zh#oS@fHF;-MHT+t;8_YoNLuk zSUE;16g_GThjJ{n2e=qnXWb70jIOhk#;lMy!K4=hr0tBKfB(rz4e z+1U)aJZHl#TYU{%(($JI!F!<+%Jp+Jdk!#Y(|CzO!nka;h@9x_wBI_{i{tgbHY(SI zVOYV2N)E%tOc-CGkW(0fy>Or+s~>c2t0?1P8+jRZNqDzxRf7dRy(%%W_#a<6{e3caEW8DdD|KsdZBw z(K6nRmw&K{D1uvtp&1a;%;nPiAvOlI0*Zq9*kdsS7JEd^O*1FLwTe{>9&A}oMlrlF z`pQPbaQ2zQZ_j_#qk8qy|9IetJFQG!>l{9_AvsafGtVRnQr)xR?bImN4qo-#?gP`}S)0UYaWY9t`6HQwY4B_($TWNu`l?!*nIBy_|7=pQc9cnFU zs%%oO^oje|8ddh7^1-E9_|T~KBxydL{KcW06CqFQ?Ym3~cb^|wPx?lUyCBD|_nRZU zsA}@ctKd0_^(q#G?{G;+$w=8-md|N>W6e5@3AT19SLRCCSyG z=oV%uMus5!Ry9PhrZMnpmb0lXJuACSOl2|krLXzwsrVsNe(8N);u`z?E#W-RKNi9E z;z;dGgCSKfqEhya^?xWt|DBmvWexQ%SfTtu(C0Mdv9@(g3WttPh3GsE1Niv~Ituk; zXltbvX7Jn^Z4>QMtd0~JELrW+CaT^$N~khm@~tceYLLGjk=3uK@XnOQ1!btG^Pus9 zYDnDM@%;wTR-(h+ec@l>g6c`Cs7=j$FkqTfajDLuzmAAh_qHK0!$~G+eL?P46^V2( gTVr?dnQ{(H{Ie1a9NS3OKPMyDfF?Qc5iPGj047fkWdHyG literal 0 HcmV?d00001 diff --git a/ebsco/images/sprites_32.png b/ebsco/images/sprites_32.png new file mode 100644 index 0000000000000000000000000000000000000000..c837d77fa05c816921a6754ff1b8ce88fff4f743 GIT binary patch literal 6714 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 V0GmG8|MNFTQ&ksMqx?ARe*k+!AqD^d literal 0 HcmV?d00001 diff --git a/ebsco/js/ebsco.js b/ebsco/js/ebsco.js new file mode 100644 index 0000000..26b37ca --- /dev/null +++ b/ebsco/js/ebsco.js @@ -0,0 +1,186 @@ +/* + * The EBSCO module javascript + **/ +(function ($) { + $(document).ready(function () { + + // + var updatePublishDateSlider = function () { + var from = parseInt($('#DT1').val()); + var min = 1000; + + if (!from || from < min) { + from = min; + } + + // and keep the max at 1 years from now + var max = (new Date()).getFullYear() + 1; + var to = max; + + // update the slider with the new min/max/values + $('#ebsco-advanced-search-sliderDT1').slider('option', { + min: min, max: max, values: [from, to] + }); + }; + + + /* + * Self executing function + **/ + var onLoad = function () { + // EBSCO/Search : Expand limiters + $('._more_limiters').live('click', function (event) { + $("#moreLimiters").hide(); + $("#limitersHidden").removeClass("offscreen"); + }); + + // Search : Collapse limiters + $('._less_limiters').live('click', function (event) { + $("#moreLimiters").show(); + $("#limitersHidden").addClass("offscreen"); + }); + + // EBSCO/Search : Collapse / expand facets + $('.expandable').live('click', function (event) { + var span = $(this).find('dt span'), + id = $(this).attr('id').replace('facet-',''); + if (span.length > 0) { + if (span.hasClass('collapsed')) { + $('#narrowGroupHidden_' + id).show(); + span.removeClass('collapsed'); + span.addClass('expanded'); + } else if (span.hasClass('expanded')) { + $('#narrowGroupHidden_' + id).hide(); + span.removeClass('expanded'); + span.addClass('collapsed'); + } + } else if ($(this).attr('href')) { + var dl = $(this).parents('dl'), + id = dl.attr('id').replace('narrowGroupHidden_', ''), + span = $('#facet-' + id).find('dt span'); + dl.hide(); + span.removeClass('expanded'); + span.addClass('collapsed'); + } + }); + + // EBSCO/Search : Less facets + $('._less_facets').live('click', function (event) { + var id = $(this).attr('id').replace('less-facets-',''); + var dl = $('#facet-' + id); + dl.trigger('click'); + }); + + // Search : Ajax request the Record action + $('._record_link').live('click', function (event) { + var element = $(this); + var position = element.position(); + event.preventDefault(); + $('#spinner').show(); + $("#spinner").offset({left:event.pageX - 18,top:event.pageY - 18}); + + $.get(element.attr('href'), function (data) { + $('#main').html(data); + $('#spinner').hide(); + }); + }); + + // Advanced Search : Add a new search term + $('._add_row').live('click', function (event) { + event.preventDefault(); + var newSearch = $('#advanced-row-template').html(); + var rows = $('._advanced-row'); + if (rows) { + // Find the index of the next row + var index = rows.length - 1; // one row is the template itself, so don't count it + // Replace NN string with the index number + newSearch = newSearch.replace(/NN/g, index); + lastSearch = $('#edit-add-row'); + lastSearch.before(newSearch); + } + }); + + // Advanced Search : Delete an advanced search row + $('._delete_row').live('click', function (event) { + event.preventDefault(); + $(this).parents('._advanced-row').remove(); + }); + + // Advanced Search : Reset the form fields to default values + $('.ebsco-advanced input[name="reset"]').live('click', function (event) { + event.preventDefault(); + $('#ebsco-advanced-search-form').find('input, select').each(function (index) { + var type = this.type; + switch(type) { + case 'text': + $(this).val(''); + break; + case 'checkbox': + $(this).attr('checked', ''); + break; + case 'select-multiple': + $(this).children('option').each(function (index) { + $(this).attr('selected', ''); + }); + break; + case 'select-one': + $(this).children('option').each(function (index) { + $(this).attr('selected', ''); + }); + // for IE + $(this).children('option:first').attr('selected', 'selected'); + break; + case 'radio': + $(this).attr('checked', ''); + $(this).parent().siblings().first().children('input:first').attr('checked', 'checked'); + break; + } + }); + }); + + // Auto submit the seelct boxes with '_jump_menu' class + $('._jump_menu').live('change', function (event) { + var name = $(this).attr('id').replace('ebsco-', ''), + value = $(this).attr('value'), + url = $('#ebsco-sort-form').attr('action'); + url += "&" + name + "=" + value; + window.location.href = url; + }); + + // Retain search filters checkbox functionality + $('#edit-remember').live('click', function (event) { + $("#ebsco-basic-search-form :input[type='checkbox'][name^='filter[']").attr('checked', $(this).attr('checked')); + }); + + // Advanced Search : handle 'Date Published from' limiter + // Create the UI slider (if slider function is defined) + if(typeof $("#ebsco-advanced-search-sliderDT1").slider == 'function') { + + $('#ebsco-advanced-search-sliderDT1').slider({ + range: true, + min: 0, max: 9999, values: [0, 9999], + slide: function (event, ui) { + $('#DT1').val(ui.values[0]); + if(ui.values[0] == 1000) { + $('#ebsco-advanced-search-limiterDT1').val(''); + } else { + $('#ebsco-advanced-search-limiterDT1').val('addlimiter(DT1:' + ui.values[0] + '-1/2013-1)'); + } + } + }); + + // initialize the slider with the original values + // in the text boxes + updatePublishDateSlider(); + + // when user enters values into the boxes + // the slider needs to be updated too + $('#DT1').change(function(){ + updatePublishDateSlider(); + }); + } + }(); + + +}); +})(jQuery); diff --git a/ebsco/lib/EBSCOAPI.php b/ebsco/lib/EBSCOAPI.php new file mode 100644 index 0000000..52bf5d8 --- /dev/null +++ b/ebsco/lib/EBSCOAPI.php @@ -0,0 +1,629 @@ + '', + 'AllFields' => '', + 'Abstract' => 'AB', + 'Author' => 'AU', + 'Source' => 'SO', + 'Subject' => 'SU', + 'Title' => 'TI' + ); + + + /** + * EBSCO sort options + * @global array + */ + private static $sort_options = array( + 'relevance', + 'date', + 'date2', + 'source' + ); + + + /** + * VuFind sort types mapped to EBSCO sort types + * used for urls in Search results / Detailed view + * @global array + */ + private static $mapped_sort_options = array( + '' => 'relevance', + 'relevance' => 'relevance', + 'subject' => 'date', + 'date' => 'date2', + 'date_asc' => 'date2', + 'date_desc' => 'date', + 'callnumber' => 'date', + 'author' => 'author', + 'title' => 'date' + ); + + + /** + * Constructor + * + * + * @param array config + * + * @access public + */ + public function __construct($config) + { + $this->config = $config; + } + + /** + * Setter / Getter for authentication token + * + * @param string The authentication token + * + * @return string or none + * @access public + */ + public function authenticationToken($token = null) + { + if (empty($token)) { + $token = $this->readSession('authenticationToken'); + return !empty($token) ? $token : $this->authenticationToken; + } else { + $this->authenticationToken = $token; + $this->writeSession('authenticationToken', $token); + } + } + + + /** + * Setter / Getter for session token + * + * @param string The session token + * + * @return string or none + * @access public + */ + public function sessionToken($token = null) + { + if (empty($token)) { + $token = $this->readSession('sessionToken'); + return !empty($token) ? $token : $this->sessionToken; + } else { + $this->sessionToken = $token; + $this->writeSession('sessionToken', $token); + } + } + + + /** + * Getter for isGuest + * + * @param string 'y' or 'n' + * + * @return string or none + * @access public + */ + public function isGuest($boolean = null) + { + if (empty($boolean)) { + return $this->readSession('isGuest'); + } else { + $this->writeSession('isGuest', $boolean); + } + } + + + /** + * Create a new EBSCOConnector object or reuse an existing one + * + * @param none + * + * @return EBSCOConnector object + * @access public + */ + public function connector() + { + if (empty($this->connector)) { + $this->connector = new EBSCOConnector($this->config); + } + return $this->connector; + } + + + /** + * Create a new EBSCOResponse object + * + * @param object $response + * + * @return EBSCOResponse object + * @access public + */ + public function response($response) + { + $responseObj = new EBSCOResponse($response); + return $responseObj; + } + + + /** + * Request authentication and session tokens, then send the API request. + * Retry the request if authentication errors occur + * + * @param string $action The EBSCOConnector method name + * @param array $params The parameters of the HTTP request + * @param integer $attempts The number of retries + * + * @return object SimpleXml DOM or PEAR Error + * @access protected + */ + protected function request($action, $params = null, $attempts = 5) + { + $authenticationToken = $this->authenticationToken(); + $sessionToken = $this->sessionToken(); + + // If authentication token is missing then the session token is missing too, so get both tokens + // If session token is missing then the authentication token may be invalid, so get both tokens + if (empty($authenticationToken) || empty($sessionToken)) { + $result = $this->apiAuthenticationAndSessionToken(); + if ($this->isError($result)) { + // Any error should terminate the request immediately + // in order to prevent infinite recursion + return $result; + } + } + + // Any change of the isGuest should request a new session + // (and don't terminate the current request if there was an error during the session request + // since it's not that important) + if ($this->isGuest() != $this->connector()->isGuest()) { + $this->apiSessionToken(); + } + + $headers = array( + 'x-authenticationToken' => $this->authenticationToken(), + 'x-sessionToken' => $this->sessionToken() + ); + + $response = call_user_func_array(array($this->connector(), "request{$action}"), array($params, $headers)); + if ($this->isError($response)) { + // Retry the request if there were authentication errors + $code = $response->getCode(); + switch ($code) { + // If authentication token is invalid then the session token is invalid too, so get both tokens + // If session token is invalid then the authentication token may be invalid too, so get both tokens + case EBSCOConnector::EDS_AUTH_TOKEN_INVALID: + $result = $this->apiAuthenticationToken(); + if ($this->isError($result)) { + // Any error should terminate the request immediately + // in order to prevent infinite recursion + return $result; + } + if ($attempts > 0) { + $result = $this->request($action, $params, --$attempts); + } + break; + case EBSCOConnector::EDS_SESSION_TOKEN_INVALID: + $result = $this->apiAuthenticationAndSessionToken(); + if ($this->isError($result)) { + // Any error should terminate the request immediately + // in order to prevent infinite recursion + return $result; + } + if ($attempts > 0) { + $result = $this->request($action, $params, --$attempts); + } + break; + default: + $result = $this->handleError($response); + break; + } + } else { + $result = $this->response($response)->result(); + } + + return $result; + } + + + /** + * Wrapper for authentication API call + * + * @param none + * + * @access public + */ + public function apiAuthenticationToken() + { + $response = $this->connector()->requestAuthenticationToken(); + + if ($this->isError($response)) { + return $response; + } else { + $result = $this->response($response)->result(); + if (isset($result['authenticationToken'])) { + $this->authenticationToken($result['authenticationToken']); + return $result['authenticationToken']; + } else { + return new EBSCOException("No authentication token was found in the response."); + } + } + } + + + /** + * Wrapper for session API call + * + * @param none + * + * @access public + */ + public function apiSessionToken() + { + // Add authentication tokens to headers + $headers = array( + 'x-authenticationToken' => $this->authenticationToken() + ); + + $response = $this->connector()->requestSessionToken($headers); + + // Raise the exception so that any code running this method should exit immediately + if ($this->isError($response)) { + return $response; + } else { + $result = $this->response($response)->result(); + if (is_string($result)) { + $this->sessionToken($result); + return $result; + } else { + return new EBSCOException("No session token was found in the response."); + } + } + } + + + /** + * Initialize the authentication and session tokens + * + * @param none + * + * @access public + */ + public function apiAuthenticationAndSessionToken() + { + $authenticationToken = $this->apiAuthenticationToken(); + if ($this->isError($authenticationToken)) { + // An authentication error should terminate the request immediately + return $authenticationToken; + } + + $sessionToken = $this->apiSessionToken(); + if ($this->isError($sessionToken)) { + // A session error should terminate the request immediately + return $sessionToken; + } + + // We don't have to return anything, both tokens can be accessed using the getters + return true; + } + + + /** + * Wrapper for search API call + * + * @param array $search The search terms + * @param array $filters The facet filters + * @param string $start The page to start with + * @param string $limit The number of records to return + * @param string $sortBy The value to be used by for sorting + * @param string $amount The amount of data to be returned + * @param string $mode The search mode + * + * @throws object PEAR Error + * @return array An array of query results + * @access public + */ + public function apiSearch($search, $filters, + $start = 1, $limit = 10, $sortBy = 'relevance', $amount = 'detailed', $mode = 'all' + ) { + $query = array(); + + // Basic search + if(!empty($search['lookfor'])) { + $lookfor = $search['lookfor']; + $type = isset($search['index']) && !empty($search['index']) ? $search['index'] : 'AllFields'; + + // escape some characters from lookfor term + $term = str_replace(array(',', ':', '(', ')'), array('\,', '\:', '\(', '\)'), $lookfor); + // replace multiple consecutive empty spaces with one empty space + $term = preg_replace("/\s+/", ' ', $term); + + // search terms + // Complex search term + if (preg_match('/(.*) (AND|OR) (.*)/i', $term)) { + $query['query'] = $term; + } else { + $tag = self::$search_tags[$type]; + $op = 'AND'; + $query_str = implode(',', array($op, $tag)); + $query_str = implode(($tag ? ':' : ''), array($query_str, $term)); + $query['query-1'] = $query_str; + } + + // Advanced search + } else if(!empty($search['group'])) { + + $counter = 1; + foreach ($search['group'] as $group) { + $type = $group['type']; + if (isset($group['lookfor'])) { + $term = $group['lookfor']; + $op = $group['bool']; + $tag = $type && isset(self::$search_tags[$type]) ? self::$search_tags[$type] : ''; + + // escape some characters from lookfor term + $term = str_replace(array(',', ':', '(', ')'), array('\,', '\:', '\(', '\)'), $term); + // replace multiple consecutive empty spaces with one empty space + $term = preg_replace("/\s+/", ' ', $term); + if (!empty($term)) { + $query_str = implode(',', array($op, $tag)); + $query_str = implode(($tag ? ':' : ''), array($query_str, $term)); + $query["query-$counter"] = $query_str; + $counter++; + } + } + } + + // No search term, return an empty array + } else { + $results = array( + 'recordCount' => 0, + 'numFound' => 0, + 'start' => 0, + 'documents' => array(), + 'facets' => array() + ); + return $results; + } + + // Add filters + $limiters = array(); $expanders = array(); $facets = array(); + foreach ($filters as $filter) { + if (preg_match('/addlimiter/', $filter)) { + list($action, $str) = explode('(', $filter, 2); + $field_and_value = substr($str, 0, -1); // e.g. FT:y or GZ:Student Research, Projects and Publications + list($field, $value) = explode(':', $field_and_value, 2); + $limiters[$field][] = $value; + } else if (preg_match('/addexpander/', $filter)) { + list($action, $str) = explode('(', $filter, 2); + $field = substr($str, 0, -1); // expanders don't have value + $expanders[] = $field; + } else if (preg_match('/addfacetfilter/', $filter)) { + list($action, $str) = explode('(', $filter, 2); + $field_and_value = substr($str, 0, -1); // e.g. ZG:FRANCE + list($field, $value) = explode(':', $field_and_value, 2); + $facets[$field][] = $field_and_value; + } + } + if (!empty($limiters)) { + foreach($limiters as $field => $limiter) { + $query['limiter'][] = $field . ':' . implode(',', $limiter); // e.g. LA99:English,French,German + } + } + if (!empty($expanders)) { + $query['expander'] = implode(',', $expanders); // e.g. fulltext, thesaurus + } + if (!empty($facets)) { + $groupId = 1; + foreach($facets as $field => $facet) { + $query['facetfilter'][] = $groupId . ',' . implode(',', $facet); // e.g. 1,DE:Math,DE:History + $groupId += 1; + } + } + + // Add the sort option + $sortBy = in_array($sortBy, self::$sort_options) ? $sortBy : self::$mapped_sort_options[$sortBy]; + + // Add the HTTP query params + $params = array( + // Specifies the sort. Valid options are: + // relevance, date, date2 + // date = Date descending + // date2 = Date ascending + 'sort' => $sortBy, + // Specifies the search mode. Valid options are: + // bool, any, all, smart + 'searchmode' => $mode, + // Specifies the amount of data to return with the response + // Valid options are: + // title: Title only + // brief: Title + Source, Subjects + // detailed: Brief + full abstract + 'view' => $amount, + /// Specifies whether or not to include facets + 'includefacets' => 'y', + 'resultsperpage' => $limit, + 'pagenumber' => $start, + // Specifies whether or not to include highlighting in the search results + 'highlight' => 'y' + ); + + $params = array_merge($params, $query); + + $result = $this->request('Search', $params); + return $result; + } + + + /** + * Wrapper for retrieve API call + * + * @param array $an The accession number + * @param string $start The short database name + * + * @throws object PEAR Error + * @return array An associative array of data + * @access public + */ + public function apiRetrieve($an, $db) + { + // Add the HTTP query params + $params = array( + 'an' => $an, + 'dbid' => $db, + 'highlight' => 'y' + ); + + $result = $this->request('Retrieve', $params); + return $result; + } + + + /** + * Wrapper for info API call + * + * @throws object PEAR Error + * @return array An associative array of data + * @access public + */ + public function apiInfo() + { + if ($result = $this->readSession('info')) { + return $result; + } + + $result = $this->request('Info'); + if(!$this->isError($result)) { + $this->writeSession('info', $result); + } + return $result; + } + + + /** + * Handle a PEAR_Error. Return : + * - if the error is critical : an associative array with the current error message + * - if the error is not critical : the error message + * + * @param Pear_Error $exception + * + * @return array or the Pear_Error exception + * @access protected + */ + private function handleError($error) { + $errorCode = $error->getCode(); + switch($errorCode) { + // This kind of error was generated by user , so display it to user + case EBSCOConnector::EDS_INVALID_ARGUMENT_VALUE: + // Any other errors are system errors, don't display them to user + default: + $errorMessage = 'An error occurred when getting the data.'; + break; + } + $result = array( + 'errors' => $errorMessage, + 'recordCount' => 0, + 'numFound' => 0, + 'start' => 0, + 'documents' => array(), + 'facets' => array() + ); + return $result; + } + + + /** + * Store the given object into session + * + * @param string $key The key used for reading the value + * @param object $value The object stored in session + * + * @return none + * @access protected + */ + protected function writeSession($key, $value) + { + if(!empty($key) && !empty($value)) { + $_SESSION['EBSCO'][$key] = $value; + } + } + + + /** + * Read from session the object having the given key + * + * @param string $key The key used for reading the object + * + * @return object + * @access protected + */ + protected function readSession($key) + { + $value = isset($_SESSION['EBSCO'][$key]) ? $_SESSION['EBSCO'][$key] : ''; + return $value; + } + + + /** + * Check if given object is an EBSCOException object + * + * @param object $object + * + * @return boolean + * @access protected + */ + protected function isError($object) + { + return is_a($object, 'EBSCOException'); + } + +} + + +?> \ No newline at end of file diff --git a/ebsco/lib/EBSCOConnector.php b/ebsco/lib/EBSCOConnector.php new file mode 100644 index 0000000..477b53a --- /dev/null +++ b/ebsco/lib/EBSCOConnector.php @@ -0,0 +1,432 @@ +password = $config['password']; + $this->userId = $config['user']; + $this->interfaceId = $config['interface']; + $this->profileId = $config['profile']; + $this->orgId = $config['organization']; + $this->isGuest = user_is_logged_in() ? 'n' : 'y'; + $this->logAPIRequests = ($config['log'] == 1); + if ($this->logAPIRequests) { + $writer = new Zend_Log_Writer_Stream('php://output'); + $this->logger = new Zend_Log($writer); + } + } + + + /** + * Public getter for private isGuest + * + * @param none + * + * @return string isGuest + * @access public + */ + public function isGuest() + { + return $this->isGuest; + } + + + /** + * Request the authentication token + * + * @param none + * + * @return object SimpleXml or PEAR_Error + * @access public + */ + public function requestAuthenticationToken() + { + $url = self::$authentication_end_point . '/UIDAuth'; + + // Add the body of the request + $params =<< + {$this->userId} + {$this->password} + {$this->interfaceId} + +BODY; + + $response = $this->request($url, $params, array(), 'POST'); + return $response; + } + + + /** + * Request the session token + * + * @param array $headers Authentication token + * + * @return object SimpleXml or PEAR_Error + * @access public + */ + public function requestSessionToken($headers) + { + $url = self::$end_point . '/CreateSession'; + + // Add the HTTP query params + $params = array( + 'profile' => $this->profileId, + 'org' => $this->orgId, + 'guest' => $this->isGuest + ); + + $response = $this->request($url, $params, $headers); + return $response; + } + + + /** + * Request the search records + * + * @param array $params Search specific parameters + * @param array $headers Authentication and session tokens + * + * @return object SimpleXml or PEAR_Error + * @access public + */ + public function requestSearch($params, $headers) + { + $url = self::$end_point . '/Search'; + + $response = $this->request($url, $params, $headers); + return $response; + } + + + /** + * Request a specific record + * + * @param array $params Retrieve specific parameters + * @param array $headers Authentication and session tokens + * + * @return object SimpleXml or PEAR_Error + * @access public + */ + public function requestRetrieve($params, $headers) + { + $url = self::$end_point . '/Retrieve'; + + $response = $this->request($url, $params, $headers); + return $response; + } + + + /** + * Request the info data + * + * @param null $params Not used + * @param array $headers Authentication and session tokens + * + * @return object SimpleXml or PEAR_Error + * @access public + */ + public function requestInfo($params, $headers) + { + $url = self::$end_point . '/Info'; + + $response = $this->request($url, $params, $headers); + return $response; + } + + + /** + * Send an HTTP request and inspect the response + * + * @param string $url The url of the HTTP request + * @param array $params The parameters of the HTTP request + * @param array $headers The headers of the HTTP request + * @param array $body The body of the HTTP request + * @param string $method The HTTP method, default is 'GET' + * + * @return object SimpleXml or PEAR_Error + * @access protected + */ + protected function request($url, $params, $headers = array(), $method = 'GET') + { + $xml = false; + $return = false; + $data = null; + + if (!empty($params)) { + // Arrays of parameters are used only for GET requests + if (is_array($params)) { + $query = http_build_query($params, '', '&'); + $query = preg_replace('/\%5B\d+\%5D/', '', $query); + $url = $url . '?' . $query; + // String parameters are used only for POST requests + } else { + $data = $params; + $headers = array_merge( + array('content-type' => 'text/xml'), + $headers + ); + } + } + + $options = array( + 'headers' => $headers, + 'method' => $method, + 'data' => $data + ); + + // Send the request + try { + $response = drupal_http_request($url, $options); +//print_r($response); + $code = $response->code; + switch ($code) { + case self::HTTP_OK: + $xml_str = $response->data; + try { + $xml = simplexml_load_string($xml_str); + $return = $xml; + } catch(Exception $e) { + $return = new EBSCOException($xml); + } + break; + + case self::HTTP_BAD_REQUEST: + $xml_str = $response->data; + try { + $xml = simplexml_load_string($xml_str); + + // If the response is an API error + $isError = isset($xml->ErrorNumber) || isset($xml->ErrorCode); + if ($isError) { + $error = ''; $code = 0; + if (isset($xml->DetailedErrorDescription) && !empty($xml->DetailedErrorDescription)) { + $error = (string) $xml->DetailedErrorDescription; + } else if (isset($xml->ErrorDescription)) { + $error = (string) $xml->ErrorDescription; + } else if (isset($xml->Reason)) { + $error = (string) $xml->Reason; + } + if (isset($xml->ErrorNumber)) { + $code = (integer) $xml->ErrorNumber; + } else if (isset($xml->ErrorCode)) { + $code = (integer) $xml->ErrorCode; + } + $return = new EBSCOException($error, $code); + } else { + $return = new EBSCOException("HTTP {$code} : The request could not be understood + by the server due to malformed syntax. Modify your search before retrying."); + } + } catch (Exception $e) { + $return = new EBSCOException($xml); + } + break; + + case self::HTTP_NOT_FOUND: + $return = new EBSCOException("HTTP {$code} : The resource you are looking for might + have been removed, had its name changed, or is temporarily unavailable."); + break; + + case self::HTTP_INTERNAL_SERVER_ERROR: + $return = new EBSCOException("HTTP {$code} : The server encountered an unexpected condition + which prevented it from fulfilling the request."); + break; + + default: + $return = new EBSCOException("HTTP {$code} : Unexpected HTTP error."); + break; + } + } catch (Exception $e) { + $return = new EBSCOException($response); + } + + // Log any error + /*if ($this->logAPIRequests) { + // $client = both the HTTP request and response + // $response = only the HTTP response + $message = $this->toString($client); // or $this->toString($response) + $this->logger->log($message, Zend_Log::ERR); + }*/ + + return $return; + } + + + /* + * Capture the output of print_r into a string + * + * @param object Any object + * @access private + */ + private function toString($object) + { + ob_start(); + print_r($object); + return ob_get_clean(); + } + + +} + + +?> \ No newline at end of file diff --git a/ebsco/lib/EBSCODocument.php b/ebsco/lib/EBSCODocument.php new file mode 100644 index 0000000..7165a7f --- /dev/null +++ b/ebsco/lib/EBSCODocument.php @@ -0,0 +1,788 @@ + 10, + 20 => 20, + 30 => 30, + 40 => 40, + 50 => 50 + ); + + /** + * Sort options + * global array + */ + private static $sort_options = array( + 'relevance' => 'Relevance', + 'date_desc' => 'Date Descending', + 'date_asc' => 'Date Ascending' + ); + + /** + * Amount options + * global array + */ + private static $amount_options = array( + 'detailed' => 'Detailed', + 'brief' => 'Brief', + 'title' => 'Title Only' + ); + + /** + * Bool options + * global array + */ + private static $bool_options = array( + 'AND' => 'All terms', + 'OR' => 'Any terms', + 'NOT' => 'No terms' + ); + + /** + * Search mode options + * global array + */ + private static $mode_options = array( + 'all' => 'All search terms', + 'bool' => 'Boolean / Phrase', + 'any' => 'Any search terms', + 'smart' => 'SmartText Searching' + ); + + /** + * Basic search type options + * global array + */ + private static $basic_search_type_options = array( + 'AllFields' => 'All Text', + 'Title' => 'Title', + 'Author' => 'Author', + 'Subject' => 'Subject terms', + 'Source' => 'Source', + 'Abstract' => 'Abstract' + ); + + /** + * Advanced search type options + * global array + */ + private static $advanced_search_type_options = array( + 'AllFields' => 'All Text', + 'Title' => 'Title', + 'Author' => 'Author', + 'Subject' => 'Subject terms' + ); + + + /** + * Constructor. + * + * @param array $data Raw data from the EBSCO search representing the record. + */ + public function __construct($params = null) + { + $this->eds = new EBSCOAPI(array( + 'password' => variable_get('ebsco_password'), + 'user' => variable_get('ebsco_user'), + 'profile' => variable_get('ebsco_profile'), + 'interface' => variable_get('ebsco_interface'), + 'organization' => variable_get('ebsco_organization'), + 'guest' => variable_get('ebsco_guest'), + 'log' => variable_get('ebsco_log') + )); + + $this->params = $params ? $params : $_REQUEST; + $this->limit = variable_get('ebsco_default_limit') ? variable_get('ebsco_default_limit') : $this->limit; + } + + + /** + * Perform the API Info call + * + * @return array + */ + public function info() + { + $this->info = $this->eds->apiInfo(); + return $this->info; + } + + + /** + * Perform the API Retrieve call + * + * @return array + */ + public function retrieve() + { + list($an, $db) = isset($this->params['id']) ? explode('|', $this->params['id'], 2) : array(null, null); + $this->result = $this->eds->apiRetrieve($an, $db); + + return $this->result; + } + + + /** + * Perform the API Search call + * + * @return array + */ + public function search() + { + $search = array(); + + if (isset($this->params['lookfor']) && isset($this->params['type'])) { + $search = array( + 'lookfor' => $this->params['lookfor'], + 'index' => $this->params['type'] + ); + } else if (isset($this->params['group'])) { + $search = $this->params; + } else { + return array(); + } + + $filter = isset($this->params['filter']) ? $this->params['filter'] : array(); + $page = isset($this->params['page']) ? $this->params['page'] + 1 : 1; + $limit = $this->limit; + $sort = isset($this->params['sort']) ? $this->params['sort'] : 'relevance'; + $amount = isset($this->params['amount']) ? $this->params['amount'] : 'detailed'; + $mode = isset($this->params['mode']) ? $this->params['mode'] : 'all'; + + $this->results = $this->eds->apiSearch($search, $filter, $page, $limit, $sort, $amount, $mode); + + if (isset($this->results['start'])) { + $this->results['start'] = $limit * ($page - 1); + } + + return $this->results; + } + + + /** + * Get the EBSCORecord model for the result + * + ** @return array + */ + public function record() + { + if (empty($this->record) && !(empty($this->result))) { + $this->record = new EBSCORecord($this->result); + } + + return $this->record; + } + + + /** + * Get the EBSCORecord models array from results array + * + ** @return array + */ + public function records() + { + if (empty($this->records) && !(empty($this->results))) { + foreach($this->results['documents'] as $result) { + $this->records[] = new EBSCORecord($result); + } + } + + return $this->records; + } + + + /** + * Get the pagination HTML string + * + ** @return HTML string + */ + public function pager() + { + $pager = null; + if ($this->has_records()) { + pager_default_initialize($this->record_count() / $this->limit, 1); + $pager = theme('pager', array('tags' => null, 'quantity' => self::$page_links)); + $pager = preg_replace('/
  • (.*)<\/li>/', '', $pager); + } + return $pager; + } + + + /******************************************************** + * + * Getters (class methods) + * + ********************************************************/ + + + /** + * Getter for sort options + * @return array + */ + public static function limit_options() + { + return self::$limit_options; + } + + + /** + * Getter for sort options + * @return array + */ + public static function sort_options() + { + return self::$sort_options; + } + + + /** + * Getter for amount options + * @return array + */ + public static function amount_options() + { + return self::$amount_options; + } + + + /** + * Getter for boolean options + * @return array + */ + public static function bool_options() + { + return self::$bool_options; + } + + + /** + * Getter for search mode options + * @return array + */ + public static function mode_options() + { + return self::$mode_options; + } + + + /** + * Getter for Basic search type options + * @return array + */ + public static function basic_search_type_options() + { + return self::$basic_search_type_options; + } + + + /** + * Getter for Advanced search type options + * @return array + */ + public static function advanced_search_type_options() + { + return self::$advanced_search_type_options; + } + + + /******************************************************** + * + * Helper methods + * + ********************************************************/ + + + /** + * Get the expanders. + * + * @return array + */ + public function expanders() + { + $actions = array(); + $filters = $this->filters(); + foreach($filters as $filter) { + $actions[] = $filter['action']; + } + + $expanders = isset($this->info['expanders']) ? $this->info['expanders'] : array(); + foreach($expanders as $key => $expander) { + if (in_array($expander['Action'], $actions)) { + $expanders[$key]['selected'] = true; + } + } + + return $expanders; + } + + + /** + * Get the facets. + * + * @return array + */ + public function facets() + { + $actions = array(); + foreach($this->filters as $filter) { + $actions[] = $filter['action']; + } + + $facets = isset($this->results['facets']) ? $this->results['facets'] : array(); + foreach($facets as $key => $cluster) { + foreach($cluster['Values'] as $k => $facet) { + $is_applied = false; + if (in_array($facet['Action'], $actions)) { + $is_applied = true; + } + $facets[$key]['Values'][$k]['applied'] = $is_applied; + } + } + + return $facets; + } + + + /** + * Get the filters. + * + * @return array + */ + public function filters() + { + if (!empty($_REQUEST['filter'])) { + $labels = array(); + foreach($this->info['limiters'] as $limiter) { + $labels[$limiter['Id']] = $limiter['Label']; + } + $this->filters = array(); + foreach($_REQUEST['filter'] as $filter) { + if (!empty($filter)) { + $temp = str_replace(array('addfacetfilter(', 'addlimiter(', 'addexpander('), array('', '', ''), $filter); + if (substr($temp, -1, 1) == ')') { + $temp = substr($temp, 0, -1); + } + // Do not display addfacetfilter, addlimiter or addexpander strings + if (preg_match('/\:/', $filter)) { + list($field, $value) = explode(':', $temp, 2); + $displayField = isset($labels[$field]) ? $labels[$field] : $field; + $displayValue = $value == 'y' ? 'yes' : $value; + } else if (preg_match('/addexpander/', $filter)) { + $field = $temp; + $value = 'y'; + $displayField = isset($labels[$field]) ? $labels[$field] : $field; + $displayValue = 'yes'; + } else { + $field = $value = $displayField = $displayValue = $filter; + } + + $this->filters[] = array( + 'field' => $field, + 'value' => $value, + 'action' => $filter, + 'displayField' => $displayField, + 'displayValue' => $displayValue, + ); + } + } + } + return $this->filters; + } + + + /** + * Get the limiters. + * + * @return array + */ + public function limiters() + { + $actions = array(); $ids = array(); + $filters = $this->filters(); + foreach($filters as $filter) { + $actions[] = $filter['action']; + $ids[] = $filter['field']; + } + + $limiters = isset($this->info['limiters']) ? $this->info['limiters'] : array(); + foreach($limiters as $key => $cluster) { + // multi select limiter + if (!empty($cluster['Values'])) { + foreach($cluster['Values'] as $limiter) { + $action = $limiter['Action']; + if (in_array($action, $actions)) { + $limiters[$key]['selected'][] = $limiter['Action']; + } + } + // date limiter + } else if ($cluster['Type'] == 'ymrange') { + $id = $cluster['Id']; + if (($k = array_search($id, $ids)) !== false) { + $limiters[$key]['selected'] = $filters[$k]['action']; + } + // other limiters + } else { + $action = str_replace('value', 'y', $cluster['Action']); + if (in_array($action, $actions)) { + $limiters[$key]['selected'] = true; + } + } + } + + return $limiters; + } + + + /** + * Get the total number of records. + * + * @return integer + */ + public function record_count() + { + return !empty($this->results) ? $this->results['recordCount'] : 0; + } + + + /** + * Get the number of end record. + * + * @return integer + */ + public function record_end() + { + $count = !empty($this->results) ? count($this->results['documents']) : 0; + $start = !empty($this->results) ? $this->results['start'] : 0; + return $start + $count; + } + + + /** + * Get the number of start record. + * + * @return integer + */ + public function record_start() + { + return !empty($this->results) ? $this->results['start'] + 1 : 0; + } + + + /** + * Get the search time + * + * @return decimal number + */ + public function search_time() + { + return !empty($this->results) && + isset($this->results['searchTime']) ? $this->results['searchTime'] : 0; + } + + + /** + * Get the search view : basic or advanced + * + * @return string + */ + public function search_view() + { + if (isset($_REQUEST['group'])) { + return 'advanced'; + } else { + return 'basic'; + } + } + + + /** + * Hidden params used by UpdateForm + * + * @return array + */ + public function search_params() + { + $params = $this->link_search_params(); + // filter the params that have same values as sidebar checkboxes, otherwise they will produce duplicates + $not_allowed_values = array( + 'addexpander(thesaurus)', + 'addexpander(fulltext)', + 'addlimiter(FT:y)', + 'addlimiter(RV:y)', + 'addlimiter(SO:y)' + ); + + $params = $this->array_filter_recursive($params, function($item) use($not_allowed_values) { + return !($item && in_array($item, $not_allowed_values)); + }); + + return array_filter($params); + } + + + /** + * Hidden params used by UpdateForm + * + * @return array + */ + public function link_search_params() + { + // filter the page parameter + $not_allowed_keys = array('page', 'ui', 'has_js', 'op', 'submit', 'form_id', 'form_build_id'); + + $query=""; + if(isset($_SERVER['QUERY_STRING'])) + {$query = urldecode($_SERVER['QUERY_STRING']);} + parse_str($query, $params); + + $params = $this->array_unset_recursive($params, $not_allowed_keys); + + return $params; + } + + + /** + * Check if there are records in results array + * + ** @return boolean + */ + public function has_records() + { + return !empty($this->results) && !empty($this->results['documents']); + } + + + /** + * Create the last search data + * + * @return void + */ + public function search_create($query = null) + { + $last_search = array(); + if (!empty($this->results)) { + $results_identifiers = array(); + foreach($this->results['documents'] as $result) { + $results_identifiers[] = $result['id']; + } + $last_search['query'] = $query ? $query : $_SERVER['QUERY_STRING']; + $last_search['records'] = serialize($results_identifiers); + $last_search['count'] = $this->record_count(); + } + + return $last_search; + } + + + /** + * Save last search data in session + * + * @return void + */ + public function search_write($query = null) + { + $_SESSION['EBSCO']['last-search'] = $this->search_create($query); + } + + + /** + * Load last search data from session + * + * @return array + */ + public function search_read($id = null, $op = null) + { + $params = array(); + $lastSearch = $_SESSION['EBSCO']['last-search']; + if ($lastSearch) { + $lastSearch['records'] = unserialize($lastSearch['records']); + if ($id) { + parse_str($lastSearch['query'], $params); + $params['page'] = (int) (isset($params['page']) ? $params['page'] : 0); + $index = array_search($id, $lastSearch['records']); + + // if this is not the first scroll and if this is not a page refresh + if (isset($lastSearch['current']) && $lastSearch['current'] != $id) { + // if we change page + if (($op == 'Next' && $index % $this->limit === 0) || + ($op == 'Previous' && $index % $this->limit === 9)) { + $params['page'] = ($op == 'Next') ? $params['page'] + 1 : $params['page'] - 1; + $query = drupal_http_build_query($params); + $lastSearch['query'] = $_SESSION['EBSCO']['last-search']['query'] = $query; + } + } + $start = $params['page']; + + if (count($lastSearch['records']) > 10) { + $records = array_slice($lastSearch['records'], $index - $index % $this->limit, $this->limit); + } else { + $records = $lastSearch['records']; + } + + if (!isset($lastSearch['records'][$index + 1])) { + $params['page'] += 1; + $driver = new EBSCODocument($params); + $driver->search(); + $query = drupal_http_build_query($params); + $newSearch = $driver->search_create($query); + $newSearch['records'] = unserialize($newSearch['records']); + $lastSearch['records'] = array_merge($lastSearch['records'], $newSearch['records']); + $_SESSION['EBSCO']['last-search']['records'] = serialize($lastSearch['records']); + if ($op == 'Next') { + $lastSearch['previous'] = isset($records[8]) ? $records[8] : ''; + } + $lastSearch['next'] = isset($newSearch['records'][0]) ? $newSearch['records'][0] : ''; + } else { + $lastSearch['next'] = $lastSearch['records'][$index + 1]; + } + + if (!isset($lastSearch['records'][$index - 1])) { + if ($params['page'] > 0) { + $params['page'] -= 1; + $driver = new EBSCODocument($params); + $driver->search(); + $query = drupal_http_build_query($params); + $newSearch = $driver->search_create($query); + $newSearch['records'] = unserialize($newSearch['records']); + $lastSearch['records'] = array_merge($lastSearch['records'], $newSearch['records']); + $_SESSION['EBSCO']['last-search']['records'] = serialize($lastSearch['records']); + $lastSearch['previous'] = isset($newSearch['records'][9]) ? $newSearch['records'][9] : ''; + if ($op == 'Previous') { + $lastSearch['next'] = isset($records[1]) ? $records[1] : ''; + } + } else { + $lastSearch['previous'] = ''; + } + } else { + $lastSearch['previous'] = $lastSearch['records'][$index - 1]; + } + + $lastSearch['current_index'] = $start * $this->limit + $index % $this->limit + 1; + $lastSearch['current'] = $id; + } + } + + $_SESSION['EBSCO']['last-search']['current'] = $id; + return $lastSearch; + } + + + /** + * A recursive array_filter + * + * @return array + */ + private function array_filter_recursive($input, $callback = null) + { + foreach ($input as &$value) { + if (is_array($value)) { + $value = $this->array_filter_recursive($value, $callback); + } + } + return array_filter($input, $callback); + } + + + /** + * Recursive filter an array using the given $keys + * + * @return array + */ + private function array_unset_recursive($input, $keys) { + foreach($keys as $key) { + if (isset($input[$key])) { + unset($input[$key]); + } + } + + if (is_array($input)) { + foreach ($input as $key => $value) { + $input[$key] = is_array($value) ? $this->array_unset_recursive($value, $keys) : $value; + } + } + + return array_filter($input); + } +} diff --git a/ebsco/lib/EBSCORecord.php b/ebsco/lib/EBSCORecord.php new file mode 100644 index 0000000..be7c0a4 --- /dev/null +++ b/ebsco/lib/EBSCORecord.php @@ -0,0 +1,398 @@ +data = $data; + $this->record_id = $this->record_id(); + $this->result_id = $this->result_id(); + $this->title = $this->title(); + $this->summary = $this->summary(); + $this->authors = $this->authors(); + $this->subjects = $this->subjects(); + $this->custom_links = $this->custom_links(); + $this->db_label = $this->db_label(); + $this->full_text_availability = $this->full_text_availability(); + $this->full_text = $this->full_text(); + $this->items = $this->items(); + $this->p_link = $this->p_link(); + $this->publication_type = $this->publication_type(); + $this->pdf_availability = $this->pdf_availability(); + $this->pdf_link = $this->pdf_link(); + $this->small_thumb_link = $this->thumb_link(); + $this->medium_thumb_link = $this->thumb_link('medium'); + $this->source = $this->source(); + $this->access_level = $this->access_level(); + } + + + /******************************************************** + * + * Getters + * + ********************************************************/ + + + /** + * Get the summary of the record. + * + * @return string + */ + public function access_level() + { + return isset($this->data['AccessLevel']) ? + $this->data['AccessLevel'] : ''; + } + + + /** + * Get the summary of the record. + * + * @return string + */ + public function summary() + { + return isset($this->data['Items']['Abstract']) ? + $this->data['Items']['Abstract']['Data'] : ''; + } + + + /** + * Get the authors of the record. + * + * @return string + */ + public function authors() + { + return isset($this->data['Items']['Author']) ? + $this->data['Items']['Author']['Data'] : ''; + } + + + /** + * Get the custom links of the record. + * + * @return array + */ + public function custom_links() + { + return isset($this->data['CustomLinks']) ? + $this->data['CustomLinks'] : array(); + } + + + /** + * Get the database label of the record. + * + * @return string + */ + public function db_label() + { + return isset($this->data['DbLabel']) ? + $this->data['DbLabel'] : ''; + } + + + /** + * Get the full text availability of the record. + * + * @return boolean + */ + public function full_text() + { + return isset($this->data['FullText']) && + isset($this->data['FullText']['Value']) ? $this->data['FullText']['Value'] : ''; + } + + + /** + * Get the full text availability of the record. + * + * @return boolean + */ + public function full_text_availability() + { + return isset($this->data['FullText']) && + $this->data['FullText']['Availability']; + } + + + /** + * Get the items of the record. + * + * @return array + */ + public function items() + { + return isset($this->data['Items']) ? $this->data['Items'] : array(); + } + + + /** + * Get the external url of the record. + * + * @return string + */ + public function p_link() + { + return isset($this->data['PLink']) ? $this->data['PLink'] : ''; + } + + + /** + * Get the publication type of the record. + * + * @return string + */ + public function publication_type() + { + return isset($this->data['PubType']) ? $this->data['PubType'] : ''; + } + + + /** + * Get the PDF availability of the record. + * + * @return boolean + */ + public function pdf_availability() + { + return isset($this->data['FullText']) && + isset($this->data['FullText']['Links']) && + isset($this->data['FullText']['Links']['pdflink']) && + $this->data['FullText']['Links']['pdflink']; + } + + + /** + * Get the PDF url of the record. + * + * @return string + */ + public function pdf_link() + { + return isset($this->data['FullText']) && + isset($this->data['FullText']['Links']) && + isset($this->data['FullText']['Links']['pdflink']) ? + $this->data['FullText']['Links']['pdflink'] : + ''; + } + + + /** + * Get the result id of the record. + * + * @return integer + */ + public function result_id() + { + return isset($this->data['ResultId']) ? + $this->data['ResultId'] : ''; + } + + + /** + * Get the subject data of the record. + * + * @return string + */ + public function subjects() + { + return isset($this->data['Items']['Subject']) ? + $this->data['Items']['Subject']['Data'] : ''; + } + + + /** + * Return a URL to a thumbnail preview of the record, if available; false + * otherwise. + * + * @param string $size Size of thumbnail (small, medium or large -- small is + * default). + * + * @return string + */ + public function thumb_link($size = 'small') + { + $imageInfo = isset($this->data['ImageInfo']) ? $this->data['ImageInfo'] : ''; + if ($imageInfo && isset($imageInfo['thumb'])) { + switch ($size) { + case 'large': + case 'medium': + return $imageInfo['medium']; + break; + + case 'small': + default: + return $imageInfo['thumb']; + break; + } + } + return false; + } + + + /** + * Get the title of the record. + * + * @return string + */ + public function title() + { + return isset($this->data['Items']['Title']) ? + $this->data['Items']['Title']['Data'] : ''; + } + + + /** + * Get the source of the record. + * + * @return string + */ + public function source() + { + return isset($this->data['Items']['TitleSource']) ? + $this->data['Items']['TitleSource']['Data'] : ''; + } + + + /** + * Return the identifier of this record within the EBSCO databases + * + * @return string Unique identifier. + */ + public function record_id() + { + return isset($this->data['id']) ? + $this->data['id'] : ''; + } + +} diff --git a/ebsco/lib/EBSCOResponse.php b/ebsco/lib/EBSCOResponse.php new file mode 100644 index 0000000..1eb3413 --- /dev/null +++ b/ebsco/lib/EBSCOResponse.php @@ -0,0 +1,547 @@ +response = $response; + } + + + /** + * Returns the XML as an associative array of data + * + * @param none + * + * @return array An associative array of data + * @access public + */ + public function result() + { + if (!empty($this->response->AuthToken)) { + return $this->buildAuthenticationToken(); + } else if (!empty($this->response->SessionToken)) { + return (string) $this->response->SessionToken; + } else if (!empty($this->response->SearchResult)) { + return $this->buildSearch(); + } else if(!empty($this->response->Record)) { + return $this->buildRetrieve(); + } else if(!empty($this->response->AvailableSearchCriteria)) { + return $this->buildInfo(); + } else { // Should not happen, it may be an exception + return $this->response; + } + } + + + /** + * Parse the SimpleXml object when an AuthenticationToken API call was executed + * + * @param none + * + * @return array An associative array of data + * @access private + */ + private function buildAuthenticationToken() + { + $token = (string) $this->response->AuthToken; + $timeout = (integer) $this->response->AuthTimeout; + + $result = array( + 'authenticationToken' => $token, + 'authenticationTimeout' => $timeout + ); + + return $result; + } + + /** + * Parse a SimpleXml object and + * return it as an associative array + * + * @param none + * + * @return array An associative array of data + * @access private + */ + private function buildSearch() + { + $hits = (integer) $this->response->SearchResult->Statistics->TotalHits; + $searchTime = (integer) $this->response->SearchResult->Statistics->TotalSearchTime / 1000; + $records = array(); + $facets = array(); + if ($hits > 0) { + $records = $this->buildRecords(); + $facets = $this->buildFacets(); + } + + $results = array( + 'recordCount' => $hits, + 'searchTime' => $searchTime, + 'numFound' => $hits, + 'start' => 0, + 'documents' => $records, + 'facets' => $facets + ); + + return $results; + } + + + /** + * Parse a SimpleXml object and + * return it as an associative array + * + * @param none + * + * @return array An associative array of data + * @access private + */ + private function buildRecords() + { + $results = array(); + + $records = $this->response->SearchResult->Data->Records->Record; + foreach ($records as $record) { + $result = array(); + + $result['ResultId'] = $record->ResultId ? (integer) $record->ResultId : ''; + $result['DbId'] = $record->Header->DbId ? (string) $record->Header->DbId : ''; + $result['DbLabel'] = $record->Header->DbLabel ? (string) $record->Header->DbLabel : ''; + $result['An'] = $record->Header->An ? (string) $record->Header->An : ''; + $result['PubType'] = $record->Header->PubType ? (string) $record->Header->PubType : ''; + $result['AccessLevel'] = $record->Header->AccessLevel ? (string) $record->Header->AccessLevel : ''; + $result['id'] = $result['An'] . '|' . $result['DbId']; + $result['PLink'] = $record->PLink ? (string) $record->PLink : ''; + if (!empty($record->ImageInfo->CoverArt)) { + foreach ($record->ImageInfo->CoverArt as $image) { + $size = (string) $image->Size; + $target = (string) $image->Target; + $result['ImageInfo'][$size] = $target; + } + } else { + $result['ImageInfo'] = ''; + } + + if ($record->FullText) { + $availability = (integer) $record->FullText->Text->Availability == 1; + $links = array(); + //RF 2012-12-18 + if (isset($record->FullText->Links)) + { + foreach ($record->FullText->Links->Link as $link) { + $type = (string) $link->Type; + $url = (string) $link->Url; + // If we have an empty url when type is pdflink then just return something so + // that the UI check for empty string will pass. + $url = empty($url) && $type == 'pdflink' ? 'http://content.ebscohost.com' : $url; + $links[$type] = $url; + } + } + $result['FullText'] = array( + 'Availability' => $availability, + 'Links' => $links + ); + } + + if ($record->CustomLinks) { + $result['CustomLinks'] = array(); + foreach ($record->CustomLinks->CustomLink as $customLink) { + $category = $customLink->Category ? (string) $customLink->Category : ''; + $icon = $customLink->Icon ? (string) $customLink->Icon : ''; + $mouseOverText = $customLink->MouseOverText ? (string) $customLink->MouseOverText : ''; + $name = $customLink->Name ? (string) $customLink->Name : ''; + $text = $customLink->Text ? (string) $customLink->Text : ''; + $url = $customLink->Url ? (string) $customLink->Url : ''; + $result['CustomLinks'][] = array( + 'Category' => $category, + 'Icon' => $icon, + 'MouseOverText' => $mouseOverText, + 'Name' => $name, + 'Text' => $text, + 'Url' => $url + ); + } + } + + if($record->Items) { + $result['Items'] = array(); + foreach ($record->Items->Item as $item) { + $name = $item->Name ? (string) $item->Name : ''; + $label = $item->Label ? (string) $item->Label : ''; + $group = $item->Group ? (string) $item->Group : ''; + $data = $item->Data ? (string) $item->Data : ''; + $result['Items'][$name] = array( + 'Name' => $name, + 'Label' => $label, + 'Group' => $group, + 'Data' => $this->toHTML($data, $group) + ); + } + } + + $results[] = $result; + } + + return $results; + } + + + /** + * Parse a SimpleXml object and + * return it as an associative array + * + * @param none + * + * @return array An associative array of data + * @access private + */ + private function buildFacets() + { + $results = array(); + + $facets = $this->response->SearchResult->AvailableFacets->AvailableFacet; + foreach ($facets as $facet) { + $values = array(); + foreach ($facet->AvailableFacetValues->AvailableFacetValue as $value) { + $this_value = (string) $value->Value; + $this_value = str_replace(array('\(','\)'), array('(', ')'), $this_value); + $this_action = (string) $value->AddAction; + $this_action = str_replace(array('\(','\)'), array('(', ')'), $this_action); + $values[] = array( + 'Value' => $this_value, + 'Action' => $this_action, + 'Count' => (string) $value->Count + ); + } + $id = (string) $facet->Id; + $label = (string) $facet->Label; + if (!empty($label)) { + $results[] = array( + 'Id' => $id, + 'Label' => $label, + 'Values' => $values, + 'isApplied' => false + ); + } + } + + return $results; + } + + + /** + * Parse a SimpleXml object and + * return it as an associative array + * + * @param none + * + * @return array An associative array of data + * @access private + */ + private function buildInfo() + { + // Sort options + $elements = $this->response->AvailableSearchCriteria->AvailableSorts->AvailableSort; + $sort = array(); + foreach ($elements as $element) { + $sort[] = array( + 'Id' => (string) $element->Id, + 'Label' => (string) $element->Label, + 'Action' => (string) $element->AddAction + ); + } + + // Search fields + $elements = $this->response->AvailableSearchCriteria->AvailableSearchFields->AvailableSearchField; + $tags = array(); + foreach ($elements as $element) { + $tags[] = array( + 'Label' => (string) $element->Label, + 'Code' => (string) $element->FieldCode + ); + } + + // Expanders + $elements = $this->response->AvailableSearchCriteria->AvailableExpanders->AvailableExpander; + $expanders = array(); + foreach ($elements as $element) { + $expanders[] = array( + 'Id' => (string) $element->Id, + 'Label' => (string) $element->Label, + 'Action' => (string) $element->AddAction, + 'selected' => false // Added because of the checkboxes + ); + } + + // Limiters + $elements = $this->response->AvailableSearchCriteria->AvailableLimiters->AvailableLimiter; + $limiters = array(); + $values = array(); + foreach ($elements as $element) { + if ($element->LimiterValues) { + $items = $element->LimiterValues->LimiterValue; + foreach($items as $item) { + $values[] = array( + 'Value' => (string) $item->Value, + 'Action' => (string) $item->AddAction, + 'selected' => false // Added because of the checkboxes + ); + } + } + $limiters[] = array( + 'Id' => (string) $element->Id, + 'Label' => (string) $element->Label, + 'Action' => (string) $element->AddAction, + 'Type' => (string) $element->Type, + 'Values' => $values, + 'selected' => false + ); + } + + $result = array( + 'sort' => $sort, + 'tags' => $tags, + 'expanders' => $expanders, + 'limiters' => $limiters + ); + + return $result; + } + + + /** + * Parse a SimpleXml object and + * return it as an associative array + * + * @param none + * + * @return array An associative array of data + * @access private + */ + private function buildRetrieve() + { + $record = $this->response->Record; + if ($record) { + $record = $record[0]; // there is only one record + } + + $result = array(); + $result['DbId'] = $record->Header->DbId ? (string) $record->Header->DbId : ''; + $result['DbLabel'] = $record->Header->DbLabel ? (string) $record->Header->DbLabel : ''; + $result['An'] = $record->Header->An ? (string) $record->Header->An : ''; + $result['id'] = $result['An'] . '|' . $result['DbId']; + $result['PubType'] = $record->Header->PubType ? (string) $record->Header->PubType : ''; + $result['AccessLevel'] = $record->Header->AccessLevel ? (string) $record->Header->AccessLevel : ''; + $result['PLink'] = $record->PLink ? (string) $record->PLink : ''; + if (!empty($record->ImageInfo->CoverArt)) { + foreach ($record->ImageInfo->CoverArt as $image) { + $size = (string) $image->Size; + $target = (string) $image->Target; + $result['ImageInfo'][$size] = $target; + } + } else { + $result['ImageInfo'] = ''; + } + if ($record->FullText) { + $availability = (integer) ($record->FullText->Text->Availability) == 1; + $links = array(); + foreach ($record->FullText->Links->Link as $link) { + $type = (string) $link->Type; + $url = (string) $link->Url; + // If we have an empty url when type is pdflink then just return something so + // that the UI check for empty string will pass. + $url = empty($url) && $type == 'pdflink' ? 'http://content.ebscohost.com' : $url; + $links[$type] = $url; + } + $value = $this->toHTML($record->FullText->Text->Value); + $result['FullText'] = array( + 'Availability' => $availability, + 'Links' => $links, + 'Value' => $value + ); + } + + if ($record->CustomLinks) { + $result['CustomLinks'] = array(); + foreach ($record->CustomLinks->CustomLink as $customLink) { + $category = $customLink->Category ? (string) $customLink->Category : ''; + $icon = $customLink->Icon ? (string) $customLink->Icon : ''; + $mouseOverText = $customLink->MouseOverText ? (string) $customLink->MouseOverText : ''; + $name = $customLink->Name ? (string) $customLink->Name : ''; + $text = $customLink->Text ? (string) $customLink->Text : ''; + $url = $customLink->Url ? (string) $customLink->Url : ''; + $result['CustomLinks'][] = array( + 'Category' => $category, + 'Icon' => $icon, + 'MouseOverText' => $mouseOverText, + 'Name' => $name, + 'Text' => $text, + 'Url' => $url + ); + } + } + + if($record->Items) { + $result['Items'] = array(); + foreach ($record->Items->Item as $item) { + $name = $item->Name ? (string) $item->Name : ''; + $label = $item->Label ? (string) $item->Label : ''; + $group = $item->Group ? (string) $item->Group : ''; + $data = $item->Data ? (string) $item->Data : ''; + $result['Items'][$name] = array( + 'Name' => $name, + 'Label' => $label, + 'Group' => $group, + 'Data' => $this->toHTML($data, $group) + ); + } + } + + return $result; + } + + + /** + * Parse a SimpleXml element and + * return it's inner XML as an HTML string + * + * @param SimpleXml $element A SimpleXml DOM + * + * @return string The HTML string + * @access protected + */ + private function toHTML($data, $group = null) + { + // Any group can be added here, but we only use Au (Author) + // Other groups, not present here, won't be transformed to HTML links + $allowed_searchlink_groups = array('au'); + + // Map xml tags to the HTML tags + // This is just a small list, the total number of xml tags is far more greater + $xml_to_html_tags = array( + ' ' ' ' '' => '', // Temporary bug fix + ' '', + ' ' ' ' ' ' ' '

    ' ' ' ' '', + ' ' ' ' ' '

    ' ' ' ' ' '

    ' ' ' ' ' ' ' 'Author', + 'su' => 'Subject' + ); + + // The XML data is XML escaped, let's unescape html entities (e.g. < => <) + $data = html_entity_decode($data); + + // Start parsing the xml data + if (!empty($data)) { + // Replace the XML tags with HTML tags + $search = array_keys($xml_to_html_tags); + $replace = array_values($xml_to_html_tags); + $data = str_replace($search, $replace, $data); + + // Temporary : fix unclosed tags + $data = preg_replace('/<\/highlight/', '', $data); + $data = preg_replace('/<\/span>>/', '', $data); + $data = preg_replace('/<\/searchLink/', '', $data); + $data = preg_replace('/<\/searchLink>>/', '', $data); + + // Parse searchLinks + if (!empty($group)) { + $group = strtolower($group); + if (in_array($group, $allowed_searchlink_groups)) { + $type = $xml_to_search_types[$group]; + $path = url('ebsco/results', array('query' => array('type' => $type))); + $link_xml = '//'; + $link_html = ""; + $data = preg_replace($link_xml, $link_html, $data); + $data = str_replace('', '', $data); + } + } + + // Replace the rest of searchLinks with simple spans + $link_xml = '//'; + $link_html = ''; + $data = preg_replace($link_xml, $link_html, $data); + $data = str_replace('', '', $data); + + // Parse bibliography (anchors and links) + $data = preg_replace('/sanitize($data); + + return $data; + } + + +} + +?> \ No newline at end of file diff --git a/ebsco/lib/sanitizer.class.php b/ebsco/lib/sanitizer.class.php new file mode 100644 index 0000000..d51c597 --- /dev/null +++ b/ebsco/lib/sanitizer.class.php @@ -0,0 +1,444 @@ +. +# All rights reserved. +# +# HTML Sanitizer is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# HTML Sanitizer is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with HTML Sanitizer; if not, see . +# +# ***** END LICENSE BLOCK ***** + +/** + * Sanitize HTML contents : + * Remove dangerous tags and attributes that can lead to security issues like + * XSS or HTTP response splitting + * + * @author Frederic Minne + * @copyright Copyright © 2005-2011, Frederic Minne + * @license http://www.gnu.org/licenses/lgpl.txt GNU Lesser General Public License version 3 or later + * @version 1.1 + */ +class HTML_Sanitizer +{ + // Private fields + private $_allowedTags; + private $_allowJavascriptEvents; + private $_allowJavascriptInUrls; + private $_allowObjects; + private $_allowScript; + private $_allowStyle; + private $_additionalTags; + + /** + * Constructor + */ + public function __construct() + { + $this->resetAll(); + } + + /** + * (re)set all options to default value + */ + public function resetAll() + { + $this->_allowDOMEvents = false; + $this->_allowJavascriptInUrls = false; + $this->_allowStyle = false; + $this->_allowScript = false; + $this->_allowObjects = false; + $this->_allowStyle = false; + + $this->_allowedTags = '

    ' + . '
    1. ' + . '

      ' + . '

        ' + . '' + ; + + $this->_additionalTags = ''; + } + + /** + * Add additional tags to allowed tags + * @param string + * @access public + */ + public function addAdditionalTags( $tags ) + { + $this->_additionalTags .= $tags; + } + + /** + * Allow iframes + * @access public + */ + public function allowIframes() + { + $this->addAdditionalTags( '