Skip to content

Commit

Permalink
Merge pull request #981 from PrestaShop/dev
Browse files Browse the repository at this point in the history
Release 3.15.0
  • Loading branch information
jolelievre authored Feb 19, 2024
2 parents 3c2b733 + 0423259 commit 6c04ae4
Show file tree
Hide file tree
Showing 31 changed files with 1,539 additions and 634 deletions.
13 changes: 13 additions & 0 deletions .htaccess
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# In PrestaShop 9.0 php files are now protected so we allow only specific endpoints to be accessible
<FilesMatch "ps_facetedsearch-.+\.php$">
# Apache 2.2
<IfModule !mod_authz_core.c>
Order Allow,Deny
Allow from all
</IfModule>

# Apache 2.4
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
</FilesMatch>
2 changes: 1 addition & 1 deletion config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<module>
<name>ps_facetedsearch</name>
<displayName><![CDATA[Faceted search]]></displayName>
<version><![CDATA[3.14.1]]></version>
<version><![CDATA[3.15.0]]></version>
<description><![CDATA[Displays a block allowing multiple filters.]]></description>
<author><![CDATA[PrestaShop]]></author>
<tab><![CDATA[front_office_features]]></tab>
Expand Down
80 changes: 80 additions & 0 deletions controllers/front/cron.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
<?php
/**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to [email protected] so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <[email protected]>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*/

declare(strict_types=1);

class Ps_FacetedSearchCronModuleFrontController extends ModuleFrontController
{
public function __construct()
{
parent::__construct();
$this->ajax = true;
}

public function postProcess()
{
if (substr(Tools::hash('ps_facetedsearch/index'), 0, 10) != Tools::getValue('token')) {
header('HTTP/1.1 403 Forbidden');
header('Status: 403 Forbidden');
$this->ajaxRender('Bad token');

return;
}

$action = Tools::getValue('action');
switch ($action) {
case 'indexAttributes':
Shop::setContext(Shop::CONTEXT_ALL);

$psFacetedsearch = new Ps_Facetedsearch();
$psFacetedsearch->indexAttributes();
$psFacetedsearch->indexFeatures();
$psFacetedsearch->indexAttributeGroup();

$this->ajaxRender('1');
break;
case 'clearCache':
$psFacetedsearch = new Ps_Facetedsearch();
$this->ajaxRender($psFacetedsearch->invalidateLayeredFilterBlockCache());
break;
case 'indexPrices':
Shop::setContext(Shop::CONTEXT_ALL);

$module = new Ps_Facetedsearch();
if (Tools::getValue('full')) {
$this->ajaxRender($module->fullPricesIndexProcess((int) Tools::getValue('cursor'), (bool) Tools::getValue('ajax'), true));
} else {
$this->ajaxRender($module->pricesIndexProcess((int) Tools::getValue('cursor'), (bool) Tools::getValue('ajax')));
}

break;
default:
header('HTTP/1.1 403 Forbidden');
header('Status: 403 Forbidden');
$this->ajaxRender('Unknown action');
}
}
}
Loading

0 comments on commit 6c04ae4

Please sign in to comment.