958067d94d
Backend translates the search results page
...
Now the search results page is presented by the backend in the language
controlled by the value of the `userlang` URL query parameter (or, if
the latter is missing, the value of the `Accept-Language:` HTTP header).
Note that the front-end doesn't yet take advantage of this
functionality.
2024-02-01 18:27:54 +04:00
33a3277400
Search result info as translatable text
...
However it is NOT actually translated by the backend yet
2024-02-01 18:27:33 +04:00
8f5714be07
Search results page header as translatable text
...
However it is NOT actually translated by the backend yet
2024-02-01 18:27:11 +04:00
c4fa42f20b
Search results page title as translatable text
...
However it is NOT actually translated by the backend yet
2024-02-01 18:22:36 +04:00
9166b67c47
Do not allow SearchRendered to work on a delete nameMapper/Library.
...
By moving the nameMapper/library arguments in `getHtml`/`getXml` we avoid
any potential "use after free" of name mapper or library as they are not
stored.
2023-10-05 16:37:22 +02:00
ead1474ead
Make SearchRendered
taking a const pointer.
2023-10-05 16:37:22 +02:00
471c5b89f4
Dropped the 2nd param of urlEncode()
...
`urlEncode(str)` is now equivalent to the previous `urlEncode(str, true)`.
2023-01-25 19:15:12 +04:00
0bde4d9412
Properly URI-encoded links in search results
...
Special URI symbols occurring in the item path part of the search result
link were NOT encoded, because that would also encode the path separator (/)
symbol. Now that `urlEncode()` never encodes the / symbol, it is safe to
encode all other URI-special symbols in the path.
2023-01-25 19:15:12 +04:00
60148717e1
Fixed search results for kiwix-desktop
2022-09-26 13:11:25 +04:00
1062bd73a3
It's libkiwix, not kiwixlib
2022-09-11 16:05:25 +02:00
fd36d11ccf
Search results now use the /content URL scheme
2022-08-11 18:04:05 +04:00
71e2df7406
Explicit std
...
Removed headers were `using namespace std`.
So we have to be explicit everywhere.
2022-07-02 16:33:32 +02:00
69931fb347
Remove libzim's wrapper.
...
It is time to remove them. They are deprecated since 10.0.0
2022-07-02 16:33:32 +02:00
bfcf317f09
Properly set "language" parameter in opensearch::Query
tag.
2022-06-03 15:46:41 +02:00
7cb98f7f4e
Make opensearch start parameter 1 indexed.
2022-06-03 15:46:41 +02:00
e5df5e936f
Render the search result using (opensearch/atom) xml format.
2022-06-03 15:46:41 +02:00
fbc7656b3f
Use proper argument order when building the SearchRenderer from a Searcher
2022-06-02 17:08:50 +02:00
b857293cfd
Build the bookSelection query string when we parse the query.
...
We have to reuse the query the user give us to generate the
pagination links.
At search result rendering step we don't have access to the query object.
The best place to know which arguments are used to select books
(and so which arguments to keep in the pagination links) is when we
parse the query to select books.
Fix tests (pagination links) with book selector other than "books.id="
(pattern=jazz&books.query.lang=eng)
2022-06-02 12:37:52 +02:00
077ceac5a5
Make the search_rendered handle multizim search.
...
This introduce a intermediate mustache object to store information
about the request made by the user.
2022-06-02 12:22:28 +02:00
aad95e3413
Introduce a results intermediate object in the template rendering.
...
Url in href must not be html encoded. As we already url encode the path, it
is ok to have `'` in the url.
2022-05-23 19:16:14 +02:00
f0dd34b6db
Introduce buildQueryData helper in SearchRenderer
2022-05-23 19:13:25 +02:00
bbdde93f49
Introduce a pagination object to render search result.
2022-05-23 19:12:17 +02:00
cb62da65c3
Raise a exception if something went wrong in the template rendering.
2022-05-23 10:56:39 +02:00
84c68d4d7b
Search results pagination bugfix
...
Search results pagination is disabled for a single page outcome too.
2022-05-18 12:45:47 +04:00
422f4c7dd7
Reuse constructor when creating the SearchRenderer with basic constructor.
2022-03-04 17:08:59 +01:00
609bc24cbe
Small cleanups.
...
- Remove unused `archive`
- Replace tab by spaces
2022-02-25 15:46:13 +01:00
d9124ed40b
Set the book title only if we have a library.
2022-02-25 15:46:13 +01:00
921671eb4d
Do not use ostringstream to convert the uuid into string.
...
`zim::Uuid` already have a string convertion operator. Let's use it.
2022-02-25 15:46:13 +01:00
ec18eb40ea
Readd a SearchRenderer
constructor without Library
argument.
...
Adding the library argument breaks the API. It is better to add
another constructor to not have to create another major version.
2022-02-25 15:46:13 +01:00
58be502f3f
add book titles to search results
2022-02-16 12:50:18 +01:00
fa83a61a54
Move all public *Tools.h in src.
...
This by definition remove all the tool functions from the public API.
2021-07-07 14:43:13 +02:00
bcece66960
Add SearchRenderer handles for libzim structures
...
Introduces a new member mp_search that houses the zim::Search object,
adds a new constructor for this purpose. This commit also add an
overload for getHtml that takes start and end integers as arguments
since they are not part of the search object we include.
2021-07-03 14:05:50 +05:30
e2f6d91d51
Remove get_readerIndex in favor of get_zimId
...
The function get_readerIndex was used to get the zimId using an ordered
vector of readers. Now we can use get_zimId directly.
2021-05-26 14:45:25 +02:00
c74b935a9b
added pageLength for search_pagination
2020-08-12 02:08:02 +05:30
3294508d87
Correctly cast double to int.
...
Ms cl compiler complains about the implicit conversion.
2019-09-10 14:10:40 +02:00
a13244dc0e
Rename hasResult
to hasResults
2019-09-09 14:43:51 +02:00
78dbd66522
[HTML Rendering] Do not render page navigation buttons if only one page.
2019-09-09 14:43:51 +02:00
fdc291b7c2
[HTML Rendering] Do not do division by zero.
...
We must correctly handle the case if resultStart is equal to resultEnd.
2019-09-09 14:43:51 +02:00
64dfea2547
Move the search html renderer in a different class than the searcher.
...
This is two different functionnalies, we don't need to polute the searcher
api with things to render the html.
2019-08-11 10:19:48 +02:00