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.