| @@ 50-93 (lines=44) @@ | ||
| 47 | /** |
|
| 48 | * {@inheritdoc} |
|
| 49 | */ |
|
| 50 | public function load($schemaAlias, $namespace = null, $ignoreUnknown = true) |
|
| 51 | { |
|
| 52 | /*blog_management |
|
| 53 | blog |
|
| 54 | course_maintenance //maintenance |
|
| 55 | course_setting settings*/ |
|
| 56 | ||
| 57 | ||
| 58 | $schemaAlias = 'chamilo_course.settings.'.$schemaAlias; |
|
| 59 | ||
| 60 | /** @var SchemaInterface $schema */ |
|
| 61 | $schema = $this->schemaRegistry->get($schemaAlias); |
|
| 62 | ||
| 63 | /** @var SettingsResolverInterface $resolver */ |
|
| 64 | $resolver = $this->resolverRegistry->get($schemaAlias); |
|
| 65 | ||
| 66 | // try to resolve settings for schema alias and namespace |
|
| 67 | $settings = $resolver->resolve($schemaAlias, $namespace); |
|
| 68 | ||
| 69 | if (!$settings) { |
|
| 70 | $settings = $this->settingsFactory->createNew(); |
|
| 71 | $settings->setSchemaAlias($schemaAlias); |
|
| 72 | } |
|
| 73 | ||
| 74 | // We need to get a plain parameters array since we use the options resolver on it |
|
| 75 | $parameters = $settings->getParameters(); |
|
| 76 | ||
| 77 | $settingsBuilder = new SettingsBuilder(); |
|
| 78 | $schema->buildSettings($settingsBuilder); |
|
| 79 | ||
| 80 | // Remove unknown settings' parameters (e.g. From a previous version of the settings schema) |
|
| 81 | if (true === $ignoreUnknown) { |
|
| 82 | foreach ($parameters as $name => $value) { |
|
| 83 | if (!$settingsBuilder->isDefined($name)) { |
|
| 84 | unset($parameters[$name]); |
|
| 85 | } |
|
| 86 | } |
|
| 87 | } |
|
| 88 | ||
| 89 | $parameters = $settingsBuilder->resolve($parameters); |
|
| 90 | $settings->setParameters($parameters); |
|
| 91 | ||
| 92 | return $settings; |
|
| 93 | } |
|
| 94 | ||
| 95 | /** |
|
| 96 | * {@inheritdoc} |
|
| @@ 634-706 (lines=73) @@ | ||
| 631 | /** |
|
| 632 | * {@inheritdoc} |
|
| 633 | */ |
|
| 634 | public function load($schemaAlias, $namespace = null, $ignoreUnknown = true) |
|
| 635 | { |
|
| 636 | /*$schema = $this->schemaRegistry->get($schemaAlias); |
|
| 637 | $resolver = $this->resolverRegistry->get($schemaAlias); |
|
| 638 | ||
| 639 | // try to resolve settings for schema alias and namespace |
|
| 640 | $settings = $resolver->resolve($schemaAlias, $namespace); |
|
| 641 | ||
| 642 | $parameters = $this->getParameters($namespace); |
|
| 643 | ||
| 644 | $schema = $this->schemaRegistry->get($namespace); |
|
| 645 | ||
| 646 | $settingsBuilder = new SettingsBuilder(); |
|
| 647 | $schema->buildSettings($settingsBuilder); |
|
| 648 | ||
| 649 | foreach ($settingsBuilder->getTransformers() as $parameter => $transformer) { |
|
| 650 | if (array_key_exists($parameter, $parameters)) { |
|
| 651 | $parameters[$parameter] = $transformer->reverseTransform($parameters[$parameter]); |
|
| 652 | } |
|
| 653 | } |
|
| 654 | $parameters = $settingsBuilder->resolve($parameters); |
|
| 655 | ||
| 656 | return $this->resolvedSettings[$namespace] = new Settings($parameters);*/ |
|
| 657 | ||
| 658 | /*$schema = $this->schemaRegistry->get($schemaAlias); |
|
| 659 | $resolver = $this->resolverRegistry->get($schemaAlias); |
|
| 660 | ||
| 661 | // try to resolve settings for schema alias and namespace |
|
| 662 | $settings = $resolver->resolve($schemaAlias, $namespace); |
|
| 663 | ||
| 664 | if (!$settings) { |
|
| 665 | $settings = $this->settingsFactory->createNew(); |
|
| 666 | $settings->setSchemaAlias($schemaAlias); |
|
| 667 | }*/ |
|
| 668 | ||
| 669 | //$schemaAlias = 'chamilo_core.settings.'.$schemaAlias; |
|
| 670 | ||
| 671 | $schemaAlias = 'chamilo_core.settings.'.$schemaAlias; |
|
| 672 | ||
| 673 | /** @var SchemaInterface $schema */ |
|
| 674 | $schema = $this->schemaRegistry->get($schemaAlias); |
|
| 675 | ||
| 676 | /** @var SettingsResolverInterface $resolver */ |
|
| 677 | $resolver = $this->resolverRegistry->get($schemaAlias); |
|
| 678 | ||
| 679 | // try to resolve settings for schema alias and namespace |
|
| 680 | $settings = $resolver->resolve($schemaAlias, $namespace); |
|
| 681 | ||
| 682 | if (!$settings) { |
|
| 683 | $settings = $this->settingsFactory->createNew(); |
|
| 684 | $settings->setSchemaAlias($schemaAlias); |
|
| 685 | } |
|
| 686 | ||
| 687 | // We need to get a plain parameters array since we use the options resolver on it |
|
| 688 | $parameters = $settings->getParameters(); |
|
| 689 | ||
| 690 | $settingsBuilder = new SettingsBuilder(); |
|
| 691 | $schema->buildSettings($settingsBuilder); |
|
| 692 | ||
| 693 | // Remove unknown settings' parameters (e.g. From a previous version of the settings schema) |
|
| 694 | if (true === $ignoreUnknown) { |
|
| 695 | foreach ($parameters as $name => $value) { |
|
| 696 | if (!$settingsBuilder->isDefined($name)) { |
|
| 697 | unset($parameters[$name]); |
|
| 698 | } |
|
| 699 | } |
|
| 700 | } |
|
| 701 | ||
| 702 | $parameters = $settingsBuilder->resolve($parameters); |
|
| 703 | $settings->setParameters($parameters); |
|
| 704 | ||
| 705 | return $settings; |
|
| 706 | } |
|
| 707 | ||
| 708 | /** |
|
| 709 | * {@inheritdoc} |
|