Settings::areLinksOpenedInNewWindow()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
1
<?php
2
3
declare(strict_types = 1);
4
5
/**
6
 * File: Settings.php
7
 *
8
 * @author Bartosz Kubicki [email protected]>
9
 * @copyright Copyright (C) 2018 Lizard Media (http://lizardmedia.pl)
10
 */
11
12
namespace LizardMedia\ProductAttachment\Helper;
13
14
use LizardMedia\ProductAttachment\Api\SettingsInterface;
15
use Magento\Framework\App\Config\ScopeConfigInterface;
16
use Magento\Framework\App\Helper\AbstractHelper;
17
use Magento\Framework\App\Helper\Context;
18
use Magento\Store\Model\ScopeInterface;
19
20
/**
21
 * Class Settings
22
 * @package LizardMedia\ProductAttachment\Helper
23
 */
24
class Settings extends AbstractHelper implements SettingsInterface
25
{
26
    /**
27
     * @var string
28
     */
29
    const PRODUCT_ATTACHMENT_DEFAULT_TITLE_XML_PATH = 'catalog/product_attachments/default_title';
30
    const PRODUCT_ATTACHMENT_OPEN_IN_NEW_WINDOW_XML_PATH = 'catalog/product_attachments/links_target_new_window';
31
    const PRODUCT_ATTACHMENT_USE_CONTENT_DISPOSITION_XML_PATH = 'catalog/product_attachments/content_disposition';
32
33
    /**
34
     * @var ScopeConfigInterface
35
     */
36
    protected $scopeConfig;
37
38
    /**
39
     * @param Context $context
40
     */
41
    public function __construct(Context $context)
42
    {
43
        parent::__construct($context);
44
        $this->scopeConfig = $context->getScopeConfig();
45
    }
46
47
    /**
48
     * @param string $scope
49
     * @return string
50
     */
51
    public function getAttachmentDefaultTitle($scope = ScopeInterface::SCOPE_STORE): string
52
    {
53
        return (string) $this->scopeConfig->getValue(self::PRODUCT_ATTACHMENT_DEFAULT_TITLE_XML_PATH);
54
    }
55
56
    /**
57
     * @param string $scope
58
     * @return bool
59
     */
60
    public function areLinksOpenedInNewWindow($scope = ScopeInterface::SCOPE_STORE): bool
61
    {
62
        return (bool) $this->scopeConfig->isSetFlag(self::PRODUCT_ATTACHMENT_OPEN_IN_NEW_WINDOW_XML_PATH);
63
    }
64
65
    /**
66
     * @param string $scope
67
     * @return string
68
     */
69
    public function getContentDisposition($scope = ScopeInterface::SCOPE_STORE): string
70
    {
71
        return (string) $this->scopeConfig->getValue(self::PRODUCT_ATTACHMENT_USE_CONTENT_DISPOSITION_XML_PATH);
72
    }
73
}
74