aboutsummaryrefslogtreecommitdiffhomepage
path: root/sundry/spine_search_cgi/src/spine_search.d
diff options
context:
space:
mode:
Diffstat (limited to 'sundry/spine_search_cgi/src/spine_search.d')
-rw-r--r--sundry/spine_search_cgi/src/spine_search.d44
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");
}