aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/doc_reform
diff options
context:
space:
mode:
Diffstat (limited to 'src/doc_reform')
-rw-r--r--src/doc_reform/io_out/cgi_sqlite_search_form.d15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/doc_reform/io_out/cgi_sqlite_search_form.d b/src/doc_reform/io_out/cgi_sqlite_search_form.d
index 145203f..4a77d48 100644
--- a/src/doc_reform/io_out/cgi_sqlite_search_form.d
+++ b/src/doc_reform/io_out/cgi_sqlite_search_form.d
@@ -1348,10 +1348,14 @@ LIMIT %%s OFFSET %%s
auto select_query_results = db.execute(sql_select.the_body).cached;
string _old_uid = "";
if (!select_query_results.empty) {
+ string _date_published = "0000";
foreach (row; select_query_results) {
if (row["uid"].as!string != _old_uid) {
_old_uid = row["uid"].as!string;
- auto m = (row["date_published"].as!string).match(regex(r"^([0-9]{4})")); // breaks if row missing or no match?
+ _date_published = (row["date_published"].as!string.match(regex(r"^([0-9]{4})")))
+ ? row["date_published"].as!string : "0000"; // used in regex that breaks if no match
+ auto m = _date_published.match(regex(r"^([0-9]{4})"));
+ string _date = (m.hit == "0000") ? "(year?) " : "(" ~ m.hit ~ ") ";
cgi.write(
"<hr><a href=\""
~ "http://" ~ conf.http_host ~ conf.doc_collection_sub_root ~ "/"
@@ -1360,12 +1364,9 @@ LIMIT %%s OFFSET %%s
~ "toc.html"
~ "\">\""
~ row["title"].as!string ~ "\""
- ~ "</a> ("
- ~ m.hit
- ~ ") "
- ~ "["
- ~ row["language_document_char"].as!string
- ~ "] "
+ ~ "</a> "
+ ~ _date
+ ~ "[" ~ row["language_document_char"].as!string ~ "] "
~ row["creator_author_last_first"].as!string
~ " "
~ show_matched_objects(row["src_filename_base"].as!string)