Пример #1
0
 /**
  * Loads settings from an array into the object with the specified name;
  *
  * This array should be a hierarchical Vanilla config.
  *
  * @param string $ConfigData An array containing the configuration data
  * @param string $Tag A string descriptor of this config set
  * @param string $Name The name of the variable and initial group settings.
  *   Note: When $Name is 'Configuration' then the data will be set to the root of the config.
  * @param boolean $Dynamic Optional, whether to treat this as the request's "dynamic" config, and
  *   to save config changes here. These settings will also be re-applied later when "OverlayDynamic"
  *   is called after all defaults are loaded.
  * @return boolean
  */
 public function LoadArray($ConfigData, $Tag, $Name = 'Configuration', $Dynamic = TRUE, $SaveCallback = NULL, $CallbackOptions = NULL)
 {
     $ConfigurationSource = Gdn_ConfigurationSource::FromArray($this, $ConfigData, $Tag, $Name);
     if (!$ConfigurationSource) {
         return FALSE;
     }
     $UseSplitting = $this->Splitting;
     $ConfigurationSource->Splitting($UseSplitting);
     $SourceTag = "array:{$Tag}";
     $this->Sources[$SourceTag] = $ConfigurationSource;
     if ($Dynamic) {
         $this->Dynamic = $ConfigurationSource;
     }
     if (!$UseSplitting) {
         $this->MassImport($ConfigurationSource->Export());
     } else {
         self::MergeConfig($this->Data, $ConfigurationSource->Export());
     }
     // Callback for saving
     if (!is_null($SaveCallback)) {
         $ConfigurationSource->AssignCallback($SaveCallback, $CallbackOptions);
     }
 }