Пример #1
0
 /**
  * Store instance in master config.
  * @param W3_ConfigData $compiled_config
  */
 private function _put_instance_value_in_config($compiled_config)
 {
     if (!isset($compiled_config->data['common.instance_id']) || $compiled_config->data['common.instance_id'] == 0) {
         // read common.instance_id from master config
         /**
          * @var $keys
          */
         include W3TC_LIB_W3_DIR . '/ConfigKeys.php';
         $config2 = new W3_ConfigData($keys);
         $config2->read($this->_get_config_filename(true, false));
         if (isset($config2->data['common.instance_id']) && $config2->data['common.instance_id'] != 0) {
             $compiled_config->data['common.instance_id'] = $config2->data['common.instance_id'];
         }
     }
 }
 /**
  * Overloads the current ConfigWriter with found legacy values and saves to config file.
  */
 public function import_legacy_config_and_save()
 {
     if ($this->own_config_exists()) {
         return;
     }
     /**
      * defines $keys with descriptors
      * @var array $keys config keys
      */
     include W3TC_LIB_W3_DIR . '/ConfigKeys.php';
     $compiled_config = new W3_ConfigData($keys);
     $compiled_config->set_defaults();
     $config_admin = w3_instance('W3_ConfigAdmin');
     $data = $this->_import_legacy_config($compiled_config);
     if (!is_null($data)) {
         $master_data = array();
         if ($this->_blog_id != 0 && w3_is_network()) {
             $master_config = new W3_ConfigData($keys);
             $master_config->read($this->_get_config_filename(true));
             $master_data = $master_config->data;
         }
         foreach ($data as $key => $value) {
             if ($master_data && isset($master_data[$key]) && $master_data[$key] === $value) {
                 continue;
             }
             if (!$this->_key_sealed($key, $this->_data->data, $config_admin, $value)) {
                 $this->_data->set($key, $value);
             }
         }
         // Since configs don't exist create them.
         $this->save();
         $config_admin->save();
     }
 }