1
0
mirror of https://github.com/processwire/processwire.git synced 2025-08-08 15:57:01 +02:00

78 Commits

Author SHA1 Message Date
Ryan Cramer
4e678c1584 Various minor updates 2025-01-10 10:27:09 -05:00
Ryan Cramer
1c5f2f7e3c Updates for PHP 8.4 support per processwire/processwire-issues#2000 Also note that these changes require we adjust our minimum required PHP version from 7.0 up to 7.1, with PHP 8.x still recommended. 2024-11-29 13:29:28 -05:00
Ryan Cramer
38757b1baa Fix behavior of PageFinder when selector has multiple fields before a != operator and no values after the operator, i.e. a|b|c!= 2024-03-15 15:50:12 -04:00
Ryan Cramer
9770138eee Update PageFinder so that joinType ('join' or 'leftjoin') can be modified by the fieldtype when/if needed 2024-03-01 15:55:32 -05:00
Ryan Cramer
088cd57160 Fix issue processwire/processwire-issues#1802 2023-08-22 09:49:16 -04:00
Ryan Cramer
df08140712 Update for processwire/processwire-issues#1793 2023-08-01 09:31:24 -04:00
Ryan Cramer
0245895d39 Fix issue processwire/processwire-issues#1793 2023-07-31 09:36:32 -04:00
Ryan Cramer
67b6f5817b Fix issue processwire/processwire-issues#1784 2023-07-12 16:23:53 -04:00
Ryan Cramer
a53e809fc4 Add support for sorting by page path or URL to PageFinder (requires PagePaths module be installed) 2023-07-10 13:39:20 -04:00
Ryan Cramer
43aa000f02 Fix issue processwire/processwire-issues#1709 2023-03-24 11:33:10 -04:00
Ryan Cramer
104c1cddbe Add feature request processwire/processwire-requests#479 2023-02-14 11:29:57 -05:00
Ryan Cramer
f6558c25ac Minor code improvements in various classes, mostly phpdoc related 2022-09-12 11:15:53 -04:00
Ryan Cramer
2da2c45382 Additional updates for processwire/processwire-issues#1467 2022-07-08 13:02:33 -04:00
Ryan Cramer
a0adc207de Fix issue processwire/processwire-issues#1567 2022-05-17 11:25:04 -04:00
Ryan Cramer
6001475a3c Update PageFinder to allow partial text matching in default language page paths in multi-language environment 2022-04-25 11:01:48 -04:00
Ryan Cramer
3a9416b8f2 Improvements to $pages->findRaw() based on requests. Added support getting "parent.field" and "parent.parent.field", etc. Added support for "references" and "references.field", etc. which returns matches from pages referencing the found pages via page reference fields (optionally include 'references.field' in requested fields list to index references by field name). Added support for FieldtypeOptions fields so that they can now return label, value, id or any of them by adding "your_options_field.label" (for example) in your requested $fields. Added new "flat" option which makes it returned flattened arrays for each page match... when used results are indexed in the same way they are requested, for example a result like [ 'page_field' => [ 'title' => 'Some title' ]] becomes [ 'page_field.title' => 'Some title' ]. Added support for requesting field 'meta' and 'meta.name' which returns Page meta data that you would usually access from $page->meta('name'). A few of these requests came from processwire/processwire-requests#427 2022-01-14 13:34:26 -05:00
Ryan Cramer
46215bdfc2 Add database selector PageFinder support for id.sort=3|2|1 which is the same as id=3|2|1 except that it also forces it to load the pages in the order given, unless overridden by a different sort= in the selector. This is related to the request in processwire/processwire-issues#1477 2021-11-30 13:57:05 -05:00
Ryan Cramer
aa4fbd4dd9 Continued updates to PagesRequest, PagesPathFinder, LanguageSupportPageNames, ProcessPageView and related modules 2021-10-08 15:52:07 -04:00
Ryan Cramer
3cf1ba5cab Various updates primarily aimed at simplifying the check for presence of LanguageSupportPageNames module 2021-10-04 11:13:25 -04:00
Ryan Cramer
c02a9d6f4d Add PagesPathFinder class to core 2021-10-01 13:17:44 -04:00
Ryan Cramer
ba14fbde0a Fix issue processwire/processwire-issues#1436 where $pages->findJoin() used on file/image fields was resulting in them being blank in returned pages 2021-09-17 08:14:54 -04:00
Ryan Cramer
976ca7ab25 Fix issue processwire/processwire-issues#1438 2021-09-13 14:34:33 -04:00
Ryan Cramer
429e43506c Refactoring in PageFinder to support new features such as OR values for status (i.e. "status=hidden|unpublished"), updating limit to support both start and limit in one (i.e. "limit=5|10" is shorthand for "start=5, limit=10"), updating sort to support multi-value (i.e. "sort=date|title" is shorthand for "sort=date, sort=title"), plus other related minor improvements. 2021-09-10 11:05:18 -04:00
Ryan Cramer
25e89c35c9 Add in-progress items that need more work or testing as to-do’s for next dev branch 2021-08-26 08:11:03 -04:00
Ryan Cramer
9ba7844a5d Fix "OR-condition not allowed" error introduced from a change related to processwire/processwire-issues#1428 2021-08-22 08:25:45 -04:00
Ryan Cramer
46a8ace31d Add exception to warn of unsupported OR condition in PageFinder per processwire/processwire-issues#1428 2021-08-20 13:19:25 -04:00
Ryan Cramer
5ac7c127eb Fix issue processwire/processwire-issues#1349 2021-08-17 10:55:53 -04:00
Ryan Cramer
695a39b281 Fix issue processwire/processwire-issues#1135 2021-08-16 11:10:34 -04:00
Ryan Cramer
6d285b0784 Fix issue processwire/processwire-issues#1288 2021-05-07 08:33:25 -04:00
Ryan Cramer
a9b8d37c58 Update FieldtypePage.getMatchQuery to inherit "include=" and "check_access=0" settings from PageFinder that called upon it. Update PageFinder to support this kind of communication with Fieldtypes. 2021-03-19 14:05:42 -04:00
Ryan Cramer
30dac48646 Add support for getting 'url' and/or 'path' via $pages->findRaw(). Requires that the core PagePaths module is installed. 2021-03-08 12:43:41 -05:00
Ryan Cramer
7fe8e5f1fb Add new $pages->findJoin() method and $pages->find("selector, field=title|summary"); option that lets you specify which fields to autojoin in a page finding operation. Also added is an experimental PagesLoader::findMin() method that finds and loads pages in one query rather than splitting them out into separate find() and getById() calls. For now, we just use this method to handle the findJoin() and joinFields options, but may expand its use later. This commit also contains numerous performance optimizations to the Page class, and several updates to the PageFinder class to support the new autojoin options. 2021-02-05 11:28:48 -05:00
Ryan Cramer
a751edf51b Update PageFinder and Fieldtype interface so that Fieldtype modules can optionally take over sorting of their own fields/subfields in PageFinder searches. 2020-09-18 14:27:02 -04:00
Ryan Cramer
6cc5da1e45 Fix issue processwire/processwire-issues#1243 plus some other optimizations in PageFinder 2020-09-14 09:03:45 -04:00
Ryan Cramer
2e81d39275 Fix issue processwire/processwire-issues#1240 2020-09-11 14:22:06 -04:00
Ryan Cramer
1444c8d168 Minor updates and optimizations to PageFinder 2020-08-21 13:38:10 -04:00
Ryan Cramer
7503ecd781 Fix issue processwire/processwire-issues#973 2020-07-30 12:04:37 -04:00
Ryan Cramer
5b285ebc8c Various fixes and improvements related to Selectors and the find operators 2020-07-06 14:39:49 -04:00
Ryan Cramer
09c67d5478 Various minor updates 2020-07-03 15:45:34 -04:00
Ryan Cramer
4276a5d917 Update PageFinder to support altOperators in selectors. This enables you to use more than one operator in a selector. For example, if you wanted to first try to find pages matching a phrase (*=), and if it doesn't find any, fallback to find pages matching words (~=), you can just append the two opers together. i.e. "field*=~=value". This works for any operator combinations and you can stack as many as you need. 2020-06-26 09:43:43 -04:00
Ryan Cramer
d79d9286b1 Various minor updates. Plus add a $database->isStopword() method and improve error logging in WireDatabasePDOStatement 2020-06-19 12:35:21 -04:00
Ryan Cramer
857d5556ae Fix issue processwire/processwire-issues#1199 2020-06-17 08:39:13 -04:00
Ryan Cramer
0b0d372274 Fix issue with name matching regex not getting bundled in bind value processwire/processwire-issues#1173 2020-05-22 14:54:36 -04:00
Ryan Cramer
bca53c5cf7 Some refactoring in PageFinder to utilize features with the new Database classes 2020-05-22 13:28:00 -04:00
Ryan Cramer
1020fb84e7 Update PageFinder to support option for returning all columns in pages table for matching pages 2020-03-20 14:15:29 -04:00
Ryan Cramer
de5b7d9207 Update PageFinder and add dedicated abilty to include template IDs alongside page IDs as a finder option 2020-03-06 13:48:38 -05:00
Ryan Cramer
4eeca2eeeb Add ability for PageFinder and PagesLoader to retain additional info about selectors and PageFinder instance for debugging purposes 2019-11-12 11:07:39 -05:00
Ryan Cramer
dd87518987 Minor adjustments to various classes 2019-11-06 15:18:41 -05:00
Ryan Cramer
38d66af6f1 Various minor updates 2019-09-03 11:48:48 -04:00
Ryan Cramer
ab94e7b682 Attempt fix for processwire/processwire-issues#907 2019-06-26 10:15:54 -04:00