Version History
[v1.3.2 (2024-03-13)]
Enhancements
- Trim whitespace to improve displaying truncated body content in search results.
Fixed
- Fixed filter by keywords does not work when the multiple keywords search option is disabled.
[v1.3.0 (2024-02-04)]
Enhancements
- Add an ability to filter by multiple page types.
- Add an option to change the condition (AND or OR) selectable for keyword search.
- Add an ability to filter by public date range.
- Add an ability to filter by select attribute.
- Pass the number of total pages to the view.
Fixed
- Fixed an error when sorting by modified date.
- Fixed not enable to sort by attribute value.
- Fixed an error when using APL search block on PHP8.
[v1.2.0 (2023-11-17)]
Enhancements
- Add "Display sort options for visitors." option to show pull down menu for changing sort order.
- Add an option to choose "OR" or "AND" for multiple topic filtering.
- Add an option to exclude by topics.
- Simplify default view.php template of advanced page list block
- Keep filtering by year and month
- Add an option to exclude pages that attribute value is empty if you want to order by attribute value
- Add an option to switch pagination to pager (faster than default pagination)
Fixed
- Fixed an issue on select multiple parent page. If you select current page's parent page, other parent pages are cleared.
[v1.1.0 (2022-04-11)]
Added
- Add a Search Form block to show just a form to post to another page.
- Add "Filter by Related Topic" option
Fixed
- Fix some errors on PHP8.0
[v1.0.0 (2022-01-27)]
Added
- Add multiple topics filtering feature.
- Add multiple topics search feature.
Fixed
- Add the block types to Navigation category.
- Rebranding: Eeplace C5J with Macareux.
- Fix quotation marks in "defined('C5_EXECUTE') or die('Access Denied.');".
- Fix blocks' icon size.
- Move filters and search button to the top of the view.
- Support Concrete CMS version 9.
- Clean auto.js file.
- Fix the preview pane.
- Add PHP version check before package installation.
- Remove deprecated code.
- Set input size constraint for all text entries.
- Resize package icon to 97x97.
- Fix Sort By feature.
- Use PHP long tags instead of short tags.
- Use controller instead of this->controller.
- Handle the edge case where the user sets the APL on a page that has no parent page (the home page for instance).
- Avoid using aliases.
- Remove unused variables and parameters.
- Use strict comparison.
- Add return type to methods.
- Add methods parameters type.
- Fix "Call to a member function getAttributeType() on null" error.
- Fix upgrade() function since parent::upgrade() returns void.
- Set includeBody parameter to true by default.
- Install Year Navigation block type on package update, if necessary.
- Fix the APL Year Navigation block type installation error.
[v0.1.14 (2021-07-01)]
Added
- Add "Highlight keyword(s) in single and multiple keyword search results" feature.
- The APL block will highlight specified keyword(s) found in result pages.
- Add "Display truncated body" feature.
- Allows the user to specify whether each result page's body should be truncated and displayed or not.
- The user can specify how many characters the truncated page's body should be; the default value is 128 characters.
- Add test cases for "Highlight keyword(s) in single and multiple keyword search results" feature.
- Add autoloader registries to the package controller.
- Add a keyword filtering function.
- Add more test cases.
Changed
- Move testable methods to a trait.
- Update composer.json file to handle autoloaded classes.
- Replace strlen() with mb_strlen() to support multi-bytes characters.
Fixed
- Fix test cases.
- Remove useless classes.
[v0.1.13 (2021-06-28)]
Added
- Add "Filter by navigation year" feature.
- Allows the user to display pages filtered by a selected year and other filters if specified.
- The user can select a year using a Year Navigation block installed on the same page as the APL block.
- Add the Year Navigation block type.
Changed
- Avoid storing navigation year in session.
- Replace "yearNavigation" with "year" to reduce variable name size.
- Change Year Navigation block type's name and description.
- Prepend apl_ to Year Navigation block type handle to guarantee its unicity.
Fixed
- Simplify pages URL by removing /all_years part.
- Fix isSelectedYear() method, so it responds to get parameter.
- Pass null instead of all_years to getYearLink() for the sake of simplicity.
[v0.1.12 (2021-06-25)]
Added
- Add "Filter by locale" feature.
- Allows the user to display pages filtered by any available locale.
- The user can select any available locale and result pages are filtered by the default locale if no specific locale is selected.
Changed
- Make "Filter by locale" feature, optional.
[v0.1.11 (2021-01-12)]
Added
- Add "Redirect results to another page" feature.
- Allows the user to have result pages displayed by an APL block that is installed on another page.
- The user has to specify the page to display results installed on.
- Results are displayed on the current page in case the specified page could not be accessed.
- Make "postToCID" database column exportable by adding it to "btExportPageColumns" array.
Changed
- Use URL resolver to resolve the URL of the page to redirect results to, instead of facade.
- Change "postTo_cID" into "postToCID".
Fixed
- Sanitize the URL of the page to redirect results to.
- Remove useless ID from the view, for ID conflict reasons when several APL blocks are added to the same page.
[v0.1.10 (2020-12-17)]
Added
- Add "Display results from another APL block, or a search block" feature.
- The APL block can display result pages from another APL block (installed on another page) or from a search block.
Changed
- Modify orderBy field comment in db.xml file.
Fixed
- Restore backward compatibility.
- Add checks for deleted attribute keys.
[v0.1.9 (2020-12-11)]
Added
- Add "Sort by attribute keys" feature.
- Allows the user to sort result pages by any searchable attribute key.
- Make attribute keys display order modifiable.
- Allows the user to modify searchable attribute keys display order by dragging and dropping them upward or downward.
Changed
- Make "Search by multiple keywords" feature, optional.
- Use only the pagelist query builder to build up the search SQL query.
- Use setParameters() function to set SQL query parameters instead of str_replace() function.
- Replace "search_pages_by_keywords_attribute" with "search_pages_by_keyword_attribute" for backward compatibility reasons.
Fixed
- Restore "Enable Other Blocks to Filter This Page List" filtering option to the block type's form.
- Remove the CSRF token check.
- Check block ID parameter only when it's provided.
- Fix filterByKeywordArray() function.
- Fix "Search By Keywords" feature.
- Handle empty value for boolean attribute keys.
- Sanitize search keyword in the view.
- Fix filtering by two or more topics attribute keys.
[v0.1.8 (2020-11-13)]
Added
- Add "Search by multiple keywords" feature.
- Allows the user to find pages that contains specified keywords (case-insensitive search).
- The user can specify whether they want the result pages to contain all keywords (conjunction AND) or any of them (disjunction OR).
Changed
- Save parent collection IDs as comma separated values instead of json arrays.
[v0.1.7 (2020-11-04)]
Added
- Add "Filter by multiple parent pages" feature.
- Allows the user to find pages that are located beneath any of the specified parent pages.
- The user can specify several parent pages and remove them at will, but at least one parent page has to remain.
[v0.1.6 (2020-10-01)]
Fixed
- Handle cross site scripting vulnerability.
- Fix cache settings.
[v0.1.5 (2020-09-08)]
Added
- Add "Search by single keyword" feature.
- Allows the user to find pages that contains a specified keyword (case-insensitive search).
Changed
- Capitalize result pages title.
- Pass search keyword as a get parameter instead of post parameter.
Fixed
- Handle empty value for topics attribute keys.
- Remove unrelated dependencies.