MOON
Server: Apache
System: Linux res.emeff.ca 3.10.0-962.3.2.lve1.5.24.10.el7.x86_64 #1 SMP Wed Mar 20 07:36:02 EDT 2019 x86_64
User: accemeff (1004)
PHP: 7.0.33
Disabled: NONE
Upload Files
File: /home/accemeff/public_html/acc/downloader/Maged/Model/BruteForce/ConfigIni.php
<?php

/**
 * Magento
 *
 * 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.txt.
 * It is also available through the world-wide-web at this URL:
 * http://opensource.org/licenses/osl-3.0.php
 * 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 license@magento.com so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade Magento to newer
 * versions in the future. If you wish to customize Magento for your
 * needs please refer to http://www.magento.com for more information.
 *
 * @category    Mage
 * @package     Mage_Connect
 * @copyright  Copyright (c) 2006-2017 X.commerce, Inc. and affiliates (http://www.magento.com)
 * @license    http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
 */
class Maged_Model_BruteForce_ConfigIni implements Maged_Model_BruteForce_ModelConfigInterface
{
    /**
     * @var array
     */
    protected $data = array();
    /**
     * @var Maged_Model_BruteForce_Resource_ResourceInterface
     */
    private $resource;

    /**
     * BruteForceConfig constructor.
     * @param Maged_Model_BruteForce_Resource_ResourceInterface $resource
     * @throws Exception
     */
    public function __construct(Maged_Model_BruteForce_Resource_ResourceInterface $resource)
    {
        if ($resource->isReadable()) {
            $this->resource = $resource;
            $this->readConfig();
        } else {
            throw new Exception("Unable to read the configuration file.");
        }
    }

    /**
     * @throws Exception
     */
    public function readConfig()
    {
        if (false === $data = parse_ini_string($this->resource->read())) {
            throw new Exception("Incorrect configuration file.");
        }
        $this->data = $data;
    }

    /**
     * @param string $name
     * @param null $defaultValue
     * @return mixed|null
     */
    public function get($name, $defaultValue = null)
    {
        return (isset($this->data[$name]) ? $this->data[$name] : $defaultValue);
    }

    /**
     * @param string $name
     * @param mixed $value
     * @return $this
     * @throws Exception
     */
    public function set($name, $value)
    {
        if (is_array($value) or is_object($value)) {
            throw new Exception ("Bad value type.");
        }
        $this->data[$name] = $value;
        return $this;
    }

    public function save()
    {
        if ($this->resource->isWritable()) {
            $res = array();
            foreach ($this->data as $key => $value) {
                $res[] = "$key = " . (is_numeric($value) ? $value : '"' . $value . '"');
            }
            $content = implode("\n", $res);
            $this->resource->write($content);
        } else {
            throw new Exception("Unable to write to the configuration file.");
        }
    }

    /**
     * @param string $name
     * @return $this
     */
    public function delete($name)
    {
        if (isset($this->data[$name])) {
            unset($this->data[$name]);
        }
        return $this;
    }

}