b374k
m1n1 1.01
Apache/2.4.41 (Ubuntu)
Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64
uid=33(www-data) gid=33(www-data) groups=33(www-data)
server ip : 62.171.164.128 | your ip : 127.0.0.1
safemode OFF
 >  / home / dev2.destoffenstraat.com / vendor / magento / framework /
Filename/home/dev2.destoffenstraat.com/vendor/magento/framework/FlagManager.php
Size2.17 kb
Permissionrw-r--r--
Ownerroot : root
Create time17-Aug-2025 10:26
Last modified07-Jan-2021 21:10
Last accessed23-Aug-2025 00:28
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Framework;

use Magento\Framework\Flag\FlagResource;

/**
* Service that allows to handle a flag object as a scalar value.
*/
class FlagManager
{
/**
* The factory of flags.
*
* @var FlagFactory
* @see Flag
*/
private $flagFactory;

/**
* The flag resource.
*
* @var FlagResource
*/
private $flagResource;

/**
*
* @param FlagFactory $flagFactory The factory of flags
* @param FlagResource $flagResource The flag resource
*/
public function __construct(
FlagFactory $flagFactory,
FlagResource $flagResource
) {
$this->flagFactory = $flagFactory;
$this->flagResource = $flagResource;
}

/**
* Retrieves raw data from the flag.
*
* @param string $code The code of flag
* @return string|int|float|bool|array|null
*/
public function getFlagData($code)
{
return $this->getFlagObject($code)->getFlagData();
}

/**
* Saves the flag value by code.
*
* @param string $code The code of flag
* @param string|int|float|bool|array|null $value The value of flag
* @return bool
*/
public function saveFlag($code, $value)
{
$flag = $this->getFlagObject($code);
$flag->setFlagData($value);
$this->flagResource->save($flag);

return true;
}

/**
* Deletes the flag by code.
*
* @param string $code The code of flag
* @return bool
*/
public function deleteFlag($code)
{
$flag = $this->getFlagObject($code);

if ($flag->getId()) {
$this->flagResource->delete($flag);
}

return true;
}

/**
* Returns flag object
*
* @param string $code
* @return Flag
*/
private function getFlagObject($code)
{
/** @var Flag $flag */
$flag = $this->flagFactory->create(['data' => ['flag_code' => $code]]);
$this->flagResource->load(
$flag,
$code,
'flag_code'
);

return $flag;
}
}