PluginProbe ʕ •ᴥ•ʔ
WP Popular Posts / 7.3.1
WP Popular Posts v7.3.1
4.0.8 4.0.9 4.1.0 4.1.1 4.1.2 4.2.0 4.2.1 4.2.2 5.0.0 5.0.1 5.0.2 5.1.0 5.2.0 5.2.1 5.2.2 5.2.3 5.2.4 5.3.0 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.4.0 5.4.1 5.4.2 5.5.0 5.5.1 6.0.0 6.0.1 6.0.2 6.0.3 6.0.4 6.0.5 6.1.0 6.1.1 6.1.2 6.1.3 6.1.4 6.2.0 6.2.1 6.3.0 6.3.1 6.3.2 6.3.3 6.3.4 6.4.0 6.4.1 6.4.2 7.0.0 7.0.1 7.1.0 7.2.0 7.3.0 7.3.1 7.3.2 7.3.3 7.3.4 7.3.5 7.3.6 7.3.7 7.3.8 7.4.0 trunk 2.3.7 3.0.0 3.0.1 3.0.2 3.0.3 3.1.0 3.1.1 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 4.0.0 4.0.1 4.0.10 4.0.11 4.0.12 4.0.13 4.0.2 4.0.3 4.0.5 4.0.6
wordpress-popular-posts / src / Container / WordPressPopularPostsConfiguration.php
wordpress-popular-posts / src / Container Last commit date
Container.php 1 year ago ContainerConfigurationInterface.php 1 year ago WordPressPopularPostsConfiguration.php 1 year ago
WordPressPopularPostsConfiguration.php
162 lines
1 <?php
2 namespace WordPressPopularPosts\Container;
3
4 use WordPressPopularPosts\{ Image, I18N, Output, Settings, Themer, Translate, WordPressPopularPosts };
5 use WordPressPopularPosts\Admin\Admin;
6 use WordPressPopularPosts\Block\Widget\Widget as BlockWidget;
7 use WordPressPopularPosts\Compatibility\Compatibility;
8 use WordPressPopularPosts\Front\Front;
9 use WordPressPopularPosts\Shortcode\ShortcodeLoader;
10 use WordPressPopularPosts\Rest\{ Controller, PostsEndpoint, TaxonomiesEndpoint, ThemesEndpoint, ThumbnailsEndpoint, ViewLoggerEndpoint, WidgetEndpoint };
11 use WordPressPopularPosts\Widget\Widget;
12
13 class WordPressPopularPostsConfiguration implements ContainerConfigurationInterface
14 {
15 /**
16 * Modifies the given dependency injection container.
17 *
18 * @since 5.0.0
19 * @param Container $container
20 */
21 public function modify(Container $container)
22 {
23 $container['admin_options'] = Settings::get('admin_options');
24 $container['widget_options'] = Settings::get('widget_options');
25
26 $container['translate'] = $container->service(function(Container $container) {
27 return new Translate(); //phpcs:ignore WordPress.WP.I18n.LowLevelTranslationFunction,WordPress.WP.I18n.MissingArgText -- We're using namespaces, it's fine
28 });
29
30 $container['image'] = $container->service(function(Container $container) {
31 return new Image($container['admin_options']);
32 });
33
34 $container['themer'] = $container->service(function(Container $container) {
35 return new Themer();
36 });
37
38 $container['output'] = $container->service(function(Container $container) {
39 return new Output(
40 $container['widget_options'],
41 $container['admin_options'],
42 $container['image'],
43 $container['translate'],
44 $container['themer']
45 );
46 });
47
48 $container['widget'] = $container->service(function(Container $container) {
49 return new Widget(
50 $container['widget_options'],
51 $container['admin_options'],
52 $container['output'],
53 $container['image'],
54 $container['translate'],
55 $container['themer']
56 );
57 });
58
59 $container['block_widget'] = $container->service(function(Container $container) {
60 return new BlockWidget(
61 $container['admin_options'],
62 $container['output'],
63 $container['image'],
64 $container['translate'],
65 $container['themer']
66 );
67 });
68
69 $container['posts_endpoint'] = $container->service(function(Container $container) {
70 return new PostsEndpoint(
71 $container['admin_options'],
72 $container['translate']
73 );
74 });
75
76 $container['view_logger_endpoint'] = $container->service(function(Container $container) {
77 return new ViewLoggerEndpoint(
78 $container['admin_options'],
79 $container['translate']
80 );
81 });
82
83 $container['taxonomies_endpoint'] = $container->service(function(Container $container) {
84 return new TaxonomiesEndpoint(
85 $container['admin_options'],
86 $container['translate']
87 );
88 });
89
90 $container['themes_endpoint'] = $container->service(function(Container $container) {
91 return new ThemesEndpoint(
92 $container['admin_options'],
93 $container['translate'],
94 $container['themer']
95 );
96 });
97
98 $container['thumbnails_endpoint'] = $container->service(function(Container $container) {
99 return new ThumbnailsEndpoint(
100 $container['admin_options'],
101 $container['translate']
102 );
103 });
104
105 $container['widget_endpoint'] = $container->service(function(Container $container) {
106 return new WidgetEndpoint(
107 $container['admin_options'],
108 $container['translate'],
109 $container['output']
110 );
111 });
112
113 $container['rest'] = $container->service(function(Container $container) {
114 return new Controller(
115 $container['posts_endpoint'],
116 $container['view_logger_endpoint'],
117 $container['widget_endpoint'],
118 $container['themes_endpoint'],
119 $container['thumbnails_endpoint'],
120 $container['taxonomies_endpoint']
121 );
122 });
123
124 $container['admin'] = $container->service(function(Container $container) {
125 return new Admin(
126 $container['admin_options'],
127 $container['image']
128 );
129 });
130
131 $container['front'] = $container->service(function(Container $container) {
132 return new Front(
133 $container['admin_options'],
134 $container['translate']
135 );
136 });
137
138 $container['shortcode_loader'] = $container->service(function(Container $container) {
139 return new ShortcodeLoader(
140 $container['admin_options'],
141 $container['output']
142 );
143 });
144
145 $container['compatibility'] = $container->service(function(Container $container) {
146 return new Compatibility($container['admin_options'], $container['image'], $container['themer']);
147 });
148
149 $container['wpp'] = $container->service(function(Container $container) {
150 return new WordPressPopularPosts(
151 $container['rest'],
152 $container['admin'],
153 $container['front'],
154 $container['widget'],
155 $container['block_widget'],
156 $container['shortcode_loader'],
157 $container['compatibility']
158 );
159 });
160 }
161 }
162