[pmwiki-users] Parsing search query to the $opt variable
Petko Yotov
5ko at 5ko.fr
Wed Jun 28 04:54:31 PDT 2023
In theory, you should be able to do something like this:
$query = "seznam×nadaljevalni \"'''UPORABNOST''': strupen\"
name=-$pagename";
$opt = ParseArgs($query, $GLOBALS['PageListArgPattern']);
This should populate the $opt array like this:
$opt = [''=>["seznam×nadaljevalni", "'''UPORABNOST''': strupen"],
'name'=>"-$pagename" ];
Or you can define this array yourself if it makes more sense to you.
The element with an empty key $opt[''] is an array with all words or
phrases that are required to be in the page texts.
Then you should be able to use this with:
$list = []; # defined before next line
FPLTemplatePageList($pagename, $list, $opt);
# use $list
In pagelist.php, the parsing of the query string happens in the first 30
lines of FmtPageList() but indeed it is complicated to follow, as these
are merged with some default settings, and with any request variables.
Petko
On 28/06/2023 13:18, Gregor Klarič wrote:
> I am using the FPLTemplatePageList function in a custom markup in
> this way
>
> $opt = [''=>$searchwords, 'name'=>"-$pagename" ];
> FPLTemplatePageList($pagename, $list, $opt);
>
> where $searchwords is an array of the search words which I am
> providing by parsing the parameters of my markup. I don't seem to
> parse it right though.
>
> I would like to parse this search query as it is:
> seznam×nadaljevalni "'''UPORABNOST''': strupen"
>
> to produce this result:
>
> https://www.gobe.si/Gobe/AgaricusAugustus?fmt=%23title&order=title&name=-*RecentChanges*&action=search&q=seznam%C3%97nadaljevalni+%22%27%27%27UPORABNOST%27%27%27%3A+strupen%22
>
> but I can not find the piece of code in pagelist.php that pases this
> and builds the correct $searchwords and $opts variable.
More information about the pmwiki-users
mailing list