Файл: concrete5.7.5.6/concrete/src/ImageEditor/EditorServiceProvider.php
Строк: 60
<?php
namespace ConcreteCoreImageEditor;
use ConcreteCoreAssetAssetList;
use ConcreteCoreConfigRepositoryRepository;
use ConcreteCoreFoundationServiceProvider;
class EditorServiceProvider extends Provider
{
public function register()
{
$obj = $this->app;
$this->app->bindShared('editor/image/extension/factory', function () use ($obj) {
return new ExtensionFactory(AssetList::getInstance());
});
$this->app->bind('editor/image', function () {
$editor = new ImageEditor();
return $editor;
});
$this->app->bindShared('editor/image/core', function () use ($obj) {
/** @var ImageEditor $editor */
$editor = $obj->make('editor/image');
/** @var ExtensionFactory $factory */
$factory = $obj->make('editor/image/extension/factory');
/** @var Repository $config */
$config = $obj['config'];
$extension_config = $config->get('imageeditor.extensions');
foreach ($extension_config as $config) {
$extension = $factory->extensionFromConfig($config);
$editor->addExtension(array_get($config, 'type'), $extension);
}
return $editor;
});
}
}