====== Book SP Customization ======
* libraries/bookreader/BookReader/BookReader.css
div#BRpage {
float: right;
- width: 280px;
+ width: 300px;
padding-left:12px;
text-align: right;
}
**NOTE** required only by Islandora+IABRv1
\\
* modules/islandora_paged_content/islandora_paged_content.module
Hide pages in search results if option checked AND not fulltext search AND not dismax.
\\
+ if ((strpos($islandora_solr_query->solrQuery, 'OCR_t') === false) AND ((strpos($islandora_solr_query->solrDefType, 'dismax') === false))){
$fq = variable_get('islandora_paged_content_solr_fq', '-RELS_EXT_isPageOf_uri_ms:[* TO *]');
if (!empty($fq)) {
$islandora_solr_query->solrParams['fq'][] = $fq;
}
+ }
\\
* modules/islandora_solution_pack_book/islandora_book.module
Link advanced search result pages to bookreader with searched terms highlighted.
\\
...
if (islandora_object_access(ISLANDORA_VIEW_OBJECTS, islandora_object_load($book_pid))) {
$search_results['object_url'] = "islandora/object/$book_pid";
- $search_results['object_url_fragment'] = "page/$page_number/mode/1up";
+ $search_results['object_url_fragment'] = "page/$page_number/mode/2up";
// XXX: Won't handle fielded searches nicely... then again, if our
// highlighting field is not the one being search on, this makes sense?
if ($query_processor->solrDefType == 'dismax' || $query_processor->solrDefType == 'edismax') {
$search_results['object_url_fragment'] .= "/search/" . rawurlencode($query_processor->solrQuery);
+ } elseif ((strpos($query_processor->solrQuery,"OCR_t")) !== false) {
+ $solr_Query = $query_processor->solrQuery;
+ $words_searched = "";
+ if ((strpos($solr_Query,'OCR_t')) == 0) {
+ //first position
+ $words_searched = substr($solr_Query, strpos($solr_Query,'(')+1, strpos($solr_Query,')')-strpos($solr_Query,'(')-1);
+ $words_searched = str_replace(" ", "+", $words_searched);
+ $solr_Query = substr($solr_Query, strpos($solr_Query,')')+2);
+ }
+ find_words_recursive($solr_Query, $words_searched);
+ if ($words_searched != '') {
+ $search_results['object_url_fragment'] .= "/search/" . rawurlencode($words_searched);
+ }
}
}
...
+function find_words_recursive($solr_Query, &$words) {
+ $words_searched = "";
+ if ((((strpos($solr_Query,"AND OCR_t")) !== false) && ((strpos($solr_Query,"AND OCR_t")) == 0)) || (((strpos($solr_Query,"OR OCR_t")) !== false) && ((strpos($solr_Query,"OR OCR_t")) == 0))){
+ $words_searched = substr($solr_Query, strpos($solr_Query,'(')+1, strpos($solr_Query,')')-strpos($solr_Query,'(')-1);
+ $words_searched = str_replace(" ", "+", $words_searched);
+ if (strlen($words) > 0) {
+ $words_searched = '+'.$words_searched;
+ }
+ $words = $words.$words_searched;
+ }
+ $solr_Query = substr($solr_Query, strpos($solr_Query,')')+2);
+ if ((strpos($solr_Query,"OCR_t")) !== false) {
+ find_words_recursive($solr_Query, $words);
+ }
+ return;
+}
...
\\
* modules/islandora/theme/theme.inc
Changes for custom CSS.
\\
...
$variables['display_links'] = array(
array(
'title' => t('Grid view'),
'href' => current_path(),
'attributes' => array(
'class' => array(
- $grid_display ? 'active' : '',
+ $grid_display ? 'yes' : 'no',
),
),
'query' => array('display' => 'grid') + $query_params,
'language' => $language_hack,
),
array(
'title' => t('List view'),
'href' => current_path(),
'attributes' => array(
'class' => array(
- $list_display ? 'active' : '',
+ $list_display ? 'yes' : 'no',
),
),
'query' => array('display' => 'list') + $query_params,
'language' => $language_hack,
),
...