diff options
author | Ralph Amissah <ralph.amissah@gmail.com> | 2022-01-27 12:57:13 -0500 |
---|---|---|
committer | Ralph Amissah <ralph.amissah@gmail.com> | 2022-01-27 18:53:06 -0500 |
commit | 1e04f9f2ecb5a326ded1422cd03ee1f37198e571 (patch) | |
tree | 02e7fb7f9e61e480365a9b08896ffd9e8019662f /sundry | |
parent | doc presentation, add option to include date with title and author (diff) |
cgi sqlite_search, heading matches fix, cleanup
Diffstat (limited to 'sundry')
-rw-r--r-- | sundry/spine_search_cgi/src/spine_search.d | 44 | ||||
-rwxr-xr-x | sundry/spine_search_cgi/src/spine_search.d_ | 39 | ||||
-rw-r--r-- | sundry/spine_search_cgi/views/configuration.txt | 6 | ||||
-rw-r--r-- | sundry/spine_search_cgi/views/configuration_example.txt | 6 |
4 files changed, 44 insertions, 51 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"); } diff --git a/sundry/spine_search_cgi/src/spine_search.d_ b/sundry/spine_search_cgi/src/spine_search.d_ index 10dc9c3..3703659 100755 --- a/sundry/spine_search_cgi/src/spine_search.d_ +++ b/sundry/spine_search_cgi/src/spine_search.d_ @@ -69,9 +69,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; @@ -86,9 +84,7 @@ void cgi_function_intro(Cgi cgi) { conf.http_request_type = environment.get("REQUEST_SCHEME", _cfg.http_request_type); conf.http_host = environment.get("SERVER_NAME", _cfg.http_host); // conf.http_host = environment.get("HTTP_HOST", _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=\"" @@ -97,7 +93,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"); @@ -1686,6 +1682,7 @@ SELECT doc_objects.body, doc_objects.seg_name, doc_objects.ocn, + doc_objects.lev, metadata_and_text.uid FROM doc_objects, @@ -1736,7 +1733,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" @@ -1753,16 +1750,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>" @@ -1778,9 +1775,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>" @@ -1792,15 +1790,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>, " @@ -1810,9 +1808,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>, " diff --git a/sundry/spine_search_cgi/views/configuration.txt b/sundry/spine_search_cgi/views/configuration.txt index e810d68..51a8963 100644 --- a/sundry/spine_search_cgi/views/configuration.txt +++ b/sundry/spine_search_cgi/views/configuration.txt @@ -1,10 +1,8 @@ struct Cfg { string http_request_type = "http"; string http_host = "localhost"; - string www_url_doc_root = "http://localhost"; - string www_doc_root = "/srv/www/spine/static"; - string cgi_bin_subpath = ""; - string cgi_filename = "spine_search"; // "spine-search" + string www_doc_subroot = "/spine"; + string cgi_filename = "spine_search"; string cgi_search_form_title = "≅ SiSU Spine search"; string db_sqlite_path = "/var/www/sqlite"; string db_sqlite_filename = "spine.search.db"; diff --git a/sundry/spine_search_cgi/views/configuration_example.txt b/sundry/spine_search_cgi/views/configuration_example.txt index 3552861..ea43fde 100644 --- a/sundry/spine_search_cgi/views/configuration_example.txt +++ b/sundry/spine_search_cgi/views/configuration_example.txt @@ -2,10 +2,8 @@ struct Cfg { string http_request_type = "http"; string http_host = "localhost"; - string www_url_doc_root = "http://localhost"; - string www_doc_root = "/srv/www/spine"; - string cgi_bin_subpath = "/cgi-bin"; - string cgi_filename = "spine_search"; // "spine-search" + string www_doc_subroot = "/spine"; + string cgi_filename = "spine_search"; string cgi_search_form_title = "≅ SiSU Spine search"; string db_sqlite_path = "/var/www/sqlite"; string db_sqlite_filename = "spine.search.db"; |