diff options
Diffstat (limited to 'sundry/spine_search_cgi/src/spine_search.d')
-rw-r--r-- | sundry/spine_search_cgi/src/spine_search.d | 44 |
1 files changed, 21 insertions, 23 deletions
diff --git a/sundry/spine_search_cgi/src/spine_search.d b/sundry/spine_search_cgi/src/spine_search.d index 2f9de26..e1e0c93 100644 --- a/sundry/spine_search_cgi/src/spine_search.d +++ b/sundry/spine_search_cgi/src/spine_search.d @@ -7,7 +7,7 @@ - Author: Ralph Amissah [ralph.amissah@gmail.com] - - Copyright: (C) 2015 - 2021 Ralph Amissah, All Rights + - Copyright: (C) 2015 - 2022 Ralph Amissah, All Rights Reserved. - License: AGPL 3 or later: @@ -41,7 +41,7 @@ - docReform object numbering - standard SiSU object citation numbering & system - - Hompages: + - Homepages: [https://www.doc_reform.org] [https://www.sisudoc.org] @@ -68,9 +68,7 @@ void cgi_function_intro(Cgi cgi) { string http_request_type; string http_host; // string server_name; - string web_doc_root_path; - string doc_collection_sub_root; - string cgi_root; + string doc_collection_subroot; string cgi_script_name; string cgi_search_form_title; string cgi_search_form_html_title; @@ -84,9 +82,7 @@ void cgi_function_intro(Cgi cgi) { auto conf = Config(); conf.http_request_type = environment.get("REQUEST_SCHEME", _cfg.http_request_type); conf.http_host = environment.get("SERVER_NAME", _cfg.http_host); - conf.web_doc_root_path = environment.get("DOCUMENT_ROOT", _cfg.www_doc_root); - conf.doc_collection_sub_root = "/spine/static"; // (output_path - web_doc_root_path) - conf.cgi_root = environment.get("CONTEXT_DOCUMENT_ROOT", _cfg.cgi_bin_subpath); + conf.doc_collection_subroot = _cfg.www_doc_subroot; conf.cgi_script_name = environment.get("SCRIPT_NAME", _cfg.cgi_filename); conf.cgi_search_form_title = _cfg.cgi_search_form_title; // ≅ SiSU spine search form conf.cgi_search_form_html_title = "<a href=\"" @@ -95,7 +91,7 @@ void cgi_function_intro(Cgi cgi) { ~ "\">" ~ _cfg.cgi_search_form_title ~ "</a>"; - conf.query_base_url = conf.http_request_type ~ "://" ~ conf.http_host ~ "/" ~ conf.cgi_script_name ~ "?"; + conf.query_base_url = conf.http_request_type ~ "://" ~ conf.http_host ~ conf.cgi_script_name ~ "?"; conf.query_string = environment.get("QUERY_STRING", ""); conf.http_url = environment.get("HTTP_REFERER", conf.query_base_url ~ conf.query_string); conf.request_method = environment.get("REQUEST_METHOD", "POST"); @@ -1684,6 +1680,7 @@ SELECT doc_objects.body, doc_objects.seg_name, doc_objects.ocn, + doc_objects.lev, metadata_and_text.uid FROM doc_objects, @@ -1734,7 +1731,7 @@ LIMIT %s OFFSET %s ~ "<hr><div class=\"publication\">" ~ "<p class=\"publication\"><a href=\"" ~ conf.http_request_type ~ "://" - ~ conf.http_host ~ conf.doc_collection_sub_root ~ "/" + ~ conf.http_host ~ conf.doc_collection_subroot ~ "/" ~ row["language_document_char"].as!string ~ "/html/" ~ row["src_filename_base"].as!string ~ "/" ~ "toc.html" @@ -1751,16 +1748,16 @@ LIMIT %s OFFSET %s ); } if (cv.results_type == "txt") { - if (row["ocn"].as!string != "0") { + if ((row["lev"].as!int < 4) + || (row["ocn"].as!string == "0")) { cgi.write( "<div class=\"flex-container\">" ~ "<div class=\"textview_ocn\" style=\"flex: 0 0 1.2em\">" ~ "<p class=\"ocn_is\"><a href=\"" ~ conf.http_request_type ~ "://" - ~ conf.http_host ~ conf.doc_collection_sub_root ~ "/" + ~ conf.http_host ~ conf.doc_collection_subroot ~ "/" ~ row["language_document_char"].as!string ~ "/html/" - ~ row["src_filename_base"].as!string ~ "/" - ~ row["seg_name"].as!string ~ ".html#" ~ row["ocn"].as!string + ~ row["src_filename_base"].as!string ~ "/toc.html" ~ "\">" ~ row["ocn"].as!string ~ "</a>:</p>" @@ -1776,9 +1773,10 @@ LIMIT %s OFFSET %s ~ "<div class=\"textview_ocn\" style=\"flex: 0 0 1.2em\">" ~ "<p class=\"ocn_is\"><a href=\"" ~ conf.http_request_type ~ "://" - ~ conf.http_host ~ conf.doc_collection_sub_root ~ "/" + ~ conf.http_host ~ conf.doc_collection_subroot ~ "/" ~ row["language_document_char"].as!string ~ "/html/" - ~ row["src_filename_base"].as!string ~ "/toc.html" + ~ row["src_filename_base"].as!string ~ "/" + ~ row["seg_name"].as!string ~ ".html#" ~ row["ocn"].as!string ~ "\">" ~ row["ocn"].as!string ~ "</a>:</p>" @@ -1790,15 +1788,15 @@ LIMIT %s OFFSET %s ); } } else { - if (row["ocn"].as!string != "0") { + if ((row["lev"].as!int < 4) + || (row["ocn"].as!string == "0")) { cgi.write( _matched_ocn_open ~ "<a href=\"" ~ conf.http_request_type ~ "://" - ~ conf.http_host ~ conf.doc_collection_sub_root ~ "/" + ~ conf.http_host ~ conf.doc_collection_subroot ~ "/" ~ row["language_document_char"].as!string ~ "/html/" - ~ row["src_filename_base"].as!string ~ "/" - ~ row["seg_name"].as!string ~ ".html#" ~ row["ocn"].as!string + ~ row["src_filename_base"].as!string ~ "/toc.html" ~ "\">" ~ row["ocn"].as!string ~ "</a>, " @@ -1808,9 +1806,10 @@ LIMIT %s OFFSET %s _matched_ocn_open ~ "<a href=\"" ~ conf.http_request_type ~ "://" - ~ conf.http_host ~ conf.doc_collection_sub_root ~ "/" + ~ conf.http_host ~ conf.doc_collection_subroot ~ "/" ~ row["language_document_char"].as!string ~ "/html/" - ~ row["src_filename_base"].as!string ~ "/toc.html" + ~ row["src_filename_base"].as!string ~ "/" + ~ row["seg_name"].as!string ~ ".html#" ~ row["ocn"].as!string ~ "\">" ~ row["ocn"].as!string ~ "</a>, " @@ -1820,7 +1819,6 @@ LIMIT %s OFFSET %s } } cgi.write( previous_next); - } else { // offset_not_beyond_limit = false; cgi.write("select_query_results empty<p>\n"); } |