/
ApplicationServiceProvider.php
73 lines (62 loc) · 3.28 KB
/
ApplicationServiceProvider.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php
namespace Concrete\Core\Application;
use Concrete\Core\Foundation\Environment;
use Concrete\Core\Foundation\Serializer\JsonSerializer;
use Concrete\Core\Foundation\Service\Provider as ServiceProvider;
use Psr\Container\ContainerInterface;
use Symfony\Component\Serializer\Encoder\JsonEncoder;
use Symfony\Component\Serializer\Normalizer\CustomNormalizer;
use Symfony\Component\Serializer\Normalizer\JsonSerializableNormalizer;
class ApplicationServiceProvider extends ServiceProvider
{
public function register()
{
$singletons = array(
'helper/concrete/asset_library' => '\Concrete\Core\Application\Service\FileManager',
'helper/concrete/file_manager' => '\Concrete\Core\Application\Service\FileManager',
'helper/concrete/composer' => '\Concrete\Core\Application\Service\Composer',
'helper/concrete/dashboard' => '\Concrete\Core\Application\Service\Dashboard',
'helper/concrete/dashboard/sitemap' => '\Concrete\Core\Application\Service\Dashboard\Sitemap',
'helper/concrete/ui' => '\Concrete\Core\Application\Service\UserInterface',
'helper/concrete/ui/menu' => '\Concrete\Core\Application\Service\UserInterface\Menu',
'helper/concrete/ui/help' => '\Concrete\Core\Application\Service\UserInterface\Help',
'helper/concrete/upgrade' => '\Concrete\Core\Application\Service\Upgrade',
'helper/concrete/urls' => '\Concrete\Core\Application\Service\Urls',
'helper/concrete/user' => '\Concrete\Core\Application\Service\User',
'helper/concrete/validation' => '\Concrete\Core\Application\Service\Validation',
'helper/rating' => '\Concrete\Attribute\Rating\Service',
'helper/pagination' => '\Concrete\Core\Legacy\Pagination',
'help' => '\Concrete\Core\Application\Service\UserInterface\Help',
'help/core' => '\Concrete\Core\Application\Service\UserInterface\Help\CoreManager',
'help/dashboard' => '\Concrete\Core\Application\Service\UserInterface\Help\DashboardManager',
'help/block_type' => '\Concrete\Core\Application\Service\UserInterface\Help\BlockTypeManager',
'help/panel' => '\Concrete\Core\Application\Service\UserInterface\Help\PanelManager',
);
$this->app->singleton('Concrete\Core\ConcreteCms\ActivityService');
$this->app->singleton('Concrete\Core\Block\Menu\Manager');
foreach ($singletons as $key => $value) {
$this->app->singleton($key, $value);
}
$this->app->bind('error', 'Concrete\Core\Error\ErrorList\ErrorList');
$this->app->bindShared('environment', function ($app) {
$env = Environment::get();
return $env;
});
$this->app->bind(ContainerInterface::class, function() {
return $this->app;
});
/*
* @deprecated
*/
$this->app->singleton('helper/concrete/avatar', '\Concrete\Core\Legacy\Avatar');
$this->app->singleton(JsonSerializer::class, function($app) {
$serializer = new JsonSerializer([
new JsonSerializableNormalizer(),
new CustomNormalizer(),
], [
new JsonEncoder()
]);
return $serializer;
});
}
}