Skip to content

Commit 0967df3

Browse files
author
Michael Logvin
committed
Merge branch 'develop' into MAGETWO-41948
2 parents 6c605f4 + 168d27c commit 0967df3

File tree

371 files changed

+16407
-2166
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

371 files changed

+16407
-2166
lines changed

.htaccess

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -252,3 +252,10 @@
252252
## http://developer.yahoo.com/performance/rules.html#etags
253253

254254
#FileETag none
255+
256+
############################################
257+
## Add custom headers
258+
<IfModule mod_headers.c>
259+
Header set X-Content-Type-Options "nosniff"
260+
Header set X-XSS-Protection "1; mode=block"
261+
</IfModule>

app/code/Magento/Backend/Block/Dashboard/Orders/Grid.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,19 @@ protected function _prepareCollection()
8484
return parent::_prepareCollection();
8585
}
8686

87+
/**
88+
* Process collection after loading
89+
*
90+
* @return $this
91+
*/
92+
protected function _afterLoadCollection()
93+
{
94+
foreach ($this->getCollection() as $item) {
95+
$item->getCustomer() ?: $item->setCustomer('Guest');
96+
}
97+
return $this;
98+
}
99+
87100
/**
88101
* Prepares page sizes for dashboard grid with las 5 orders
89102
*

app/code/Magento/Backend/Block/Store/Switcher.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ public function isWebsiteSelected(\Magento\Store\Model\Website $website)
211211
public function getWebsiteId()
212212
{
213213
if (!$this->hasData('website_id')) {
214-
$this->setData('website_id', $this->getRequest()->getParam($this->getWebsiteVarName()));
214+
$this->setData('website_id', (int)$this->getRequest()->getParam($this->getWebsiteVarName()));
215215
}
216216
return $this->getData('website_id');
217217
}
@@ -289,7 +289,7 @@ public function isStoreGroupSelected(\Magento\Store\Model\Group $group)
289289
public function getStoreGroupId()
290290
{
291291
if (!$this->hasData('store_group_id')) {
292-
$this->setData('store_group_id', $this->getRequest()->getParam($this->getStoreGroupVarName()));
292+
$this->setData('store_group_id', (int)$this->getRequest()->getParam($this->getStoreGroupVarName()));
293293
}
294294
return $this->getData('store_group_id');
295295
}
@@ -339,7 +339,7 @@ public function getStores($group)
339339
public function getStoreId()
340340
{
341341
if (!$this->hasData('store_id')) {
342-
$this->setData('store_id', $this->getRequest()->getParam($this->getStoreVarName()));
342+
$this->setData('store_id', (int)$this->getRequest()->getParam($this->getStoreVarName()));
343343
}
344344
return $this->getData('store_id');
345345
}

app/code/Magento/Backend/view/adminhtml/templates/store/switcher.phtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ require(['jquery'], function(jQuery){
174174
if (confirm("<?php /* @escapeNotVerified */ echo __('Please confirm scope switching. All data that hasn\'t been saved will be lost.') ?>")) {
175175
reload();
176176
} else {
177-
obj.value = '<?php /* @escapeNotVerified */ echo $block->getStoreId() ?>';
177+
obj.value = '<?php echo $block->escapeHtml($block->getStoreId()) ?>';
178178
}
179179
<?php else: ?>
180180
reload();

app/code/Magento/CacheInvalidate/Model/PurgeCache.php

Lines changed: 19 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,20 @@
55
*/
66
namespace Magento\CacheInvalidate\Model;
77

8-
use Symfony\Component\Config\Definition\Exception\Exception;
9-
use Zend\Uri\Uri;
10-
use Zend\Http\Client\Adapter\Socket;
118
use Magento\Framework\Cache\InvalidateLogger;
129
use Magento\Framework\App\DeploymentConfig;
13-
use Magento\Framework\Config\ConfigOptionsListConstants;
14-
use Magento\Framework\App\RequestInterface;
1510

1611
class PurgeCache
1712
{
13+
const HEADER_X_MAGENTO_TAGS_PATTERN = 'X-Magento-Tags-Pattern';
14+
1815
/**
19-
* @var UriFactory
16+
* @var \Magento\PageCache\Model\Cache\Server
2017
*/
21-
protected $uriFactory;
18+
protected $cacheServer;
2219

2320
/**
24-
* @var SocketFactory
21+
* @var \Magento\CacheInvalidate\Model\SocketFactory
2522
*/
2623
protected $socketAdapterFactory;
2724

@@ -30,75 +27,53 @@ class PurgeCache
3027
*/
3128
private $logger;
3229

33-
/**
34-
* @var DeploymentConfig
35-
*/
36-
private $config;
37-
38-
/**
39-
* @var RequestInterface
40-
*/
41-
private $request;
42-
43-
const DEFAULT_PORT = 80;
44-
4530
/**
4631
* Constructor
4732
*
48-
* @param UriFactory $uriFactory
49-
* @param SocketFactory $socketAdapterFactory
33+
* @param \Magento\PageCache\Model\Cache\Server $cacheServer
34+
* @param \Magento\CacheInvalidate\Model\SocketFactory $socketAdapterFactory
5035
* @param InvalidateLogger $logger
51-
* @param Reader $configReader
52-
* @param RequestInterface $request
5336
*/
5437
public function __construct(
55-
UriFactory $uriFactory,
56-
SocketFactory $socketAdapterFactory,
57-
InvalidateLogger $logger,
58-
DeploymentConfig $config,
59-
RequestInterface $request
38+
\Magento\PageCache\Model\Cache\Server $cacheServer,
39+
\Magento\CacheInvalidate\Model\SocketFactory $socketAdapterFactory,
40+
InvalidateLogger $logger
6041
) {
61-
$this->uriFactory = $uriFactory;
42+
$this->cacheServer = $cacheServer;
6243
$this->socketAdapterFactory = $socketAdapterFactory;
6344
$this->logger = $logger;
64-
$this->config = $config;
65-
$this->request = $request;
6645
}
6746

6847
/**
6948
* Send curl purge request
7049
* to invalidate cache by tags pattern
7150
*
7251
* @param string $tagsPattern
73-
* @return void
52+
* @return bool Return true if successful; otherwise return false
7453
*/
7554
public function sendPurgeRequest($tagsPattern)
7655
{
77-
$uri = $this->uriFactory->create();
7856
$socketAdapter = $this->socketAdapterFactory->create();
79-
$servers = $this->config->get(ConfigOptionsListConstants::CONFIG_PATH_CACHE_HOSTS)
80-
?: [['host' => $this->request->getHttpHost()]];
81-
$headers = ['X-Magento-Tags-Pattern' => $tagsPattern];
57+
$servers = $this->cacheServer->getUris();
58+
$headers = [self::HEADER_X_MAGENTO_TAGS_PATTERN => $tagsPattern];
8259
$socketAdapter->setOptions(['timeout' => 10]);
8360
foreach ($servers as $server) {
84-
$port = isset($server['port']) ? $server['port'] : self::DEFAULT_PORT;
85-
$uri->setScheme('http')
86-
->setHost($server['host'])
87-
->setPort($port);
8861
try {
89-
$socketAdapter->connect($server['host'], $port);
62+
$socketAdapter->connect($server->getHost(), $server->getPort());
9063
$socketAdapter->write(
9164
'PURGE',
92-
$uri,
65+
$server,
9366
'1.1',
9467
$headers
9568
);
9669
$socketAdapter->close();
97-
} catch (Exception $e) {
70+
} catch (\Exception $e) {
9871
$this->logger->critical($e->getMessage(), compact('server', 'tagsPattern'));
72+
return false;
9973
}
10074
}
10175

10276
$this->logger->execute(compact('servers', 'tagsPattern'));
77+
return true;
10378
}
10479
}

0 commit comments

Comments
 (0)