Example #1
0
 /**
  * Хук на включение шестерёнки
  *
  * @param Gear $Gear
  * @param Core_ArrayObject $result
  */
 public function hookGearEnable($Gear, $result)
 {
     if ($result->success) {
         $install_lang = $Gear->getDir() . DS . 'lang' . DS . $this->lang . EXT;
         if (file_exists($install_lang)) {
             $lang = new Config($install_lang);
             Lang::factory('index')->import($lang->toArray())->save();
         }
     }
 }
Example #2
0
 /**
  * Get / set the specified configuration value.
  *
  * If an array is passed as the key, we will assume you want to set an array of values.
  *
  * @param  array|string|null  $key
  * @param  mixed  $default
  * @return mixed
  */
 function config($key = null, $default = null)
 {
     if (empty($key)) {
         return Config::toArray();
     }
     if (is_array($key)) {
         return Config::set($key);
     }
     return Config::get($key, $default);
 }
Example #3
0
 public function testWrite()
 {
     $data = array('a' => 'foo', 'b' => array('c' => 'bar'));
     $conf = new Config($this->store);
     $conf->override = $data;
     $this->assertEquals($data, $conf->toArray());
     $this->assertTrue($conf->save());
     $this->assertTrue($conf['b']->save());
     $conf = new Config($this->store);
     $this->assertEquals($data, $conf->toArray());
 }
Example #4
0
 public function testBasicSection()
 {
     $config = ["primary" => ["foo" => "bar", "bar" => "foo"], "secondary : primary" => ["bar" => "foo2", "baz" => "sec"], "tertiary : secondary" => ["bar" => "foo3", "bat" => "tri"], "alternative : primary" => ["bar" => "f*x", "baz" => "alt"]];
     $object = new Config($config, "primary");
     $this->assertEquals($config["primary"], $object->toArray());
     $object = new Config($config, "secondary");
     $this->assertEquals($config["secondary : primary"] + $config["primary"], $object->toArray());
     $object = new Config($config, "tertiary");
     $this->assertEquals($config["tertiary : secondary"] + $config["secondary : primary"] + $config["primary"], $object->toArray());
     $object = new Config($config, "alternative");
     $this->assertEquals($config["alternative : primary"] + $config["primary"], $object->toArray());
 }
Example #5
0
 /**
  * Get html for config.
  *
  * @return string
  */
 private function _getHtmlConfig()
 {
     $html = '';
     $configData = $this->_config->toArray();
     uasort($configData['global'], function ($a, $b) {
         if (is_array($a) && !is_array($b)) {
             return 1;
         }
         return 0;
     });
     foreach ($configData as $key => $data) {
         if (!is_array($data) || empty($data) || $key == 'database') {
             continue;
         }
         $html .= $this->_viewRenderTitle(ucfirst($key));
         $html .= $this->_renderConfigSection($data);
         $html .= '<br/>';
     }
     return $html;
 }
Example #6
0
 /**
  * Merge another config instance in this config instance.
  *
  * @param Config $config
  *
  * @return $this
  */
 public function merge(Config $config)
 {
     $this->data = array_replace_recursive($this->data, $config->toArray());
     return $this;
 }
Example #7
0
 public function testToArray()
 {
     $array = array("ca" => "cu", "a" => array("b" => 'c'));
     $o = new Config($array);
     $t = $o->toArray();
     $this->assertThat($t, $this->equalTo($array));
 }
Example #8
0
 /**
  * @param Config $config
  */
 public function saveConfig($config)
 {
     $this->config = $config;
     file_put_contents($this->filename, json_encode($this->config->toArray(), JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES));
 }