Completed
Pull Request — develop (#1350)
by Naveen
03:06
created

Loader::get_feature_slug()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 0
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Wordlift\Videoobject;
4
5
use Wordlift\Cache\Ttl_Cache;
6
use Wordlift\Common\Loader\Default_Loader;
7
use Wordlift\Videoobject\Api\Rest_Controller;
8
use Wordlift\Videoobject\Background_Process\Videoobject_Background_Process;
9
use Wordlift\Videoobject\Background_Process\Videos_Data_Source;
10
use Wordlift\Videoobject\Data\Video_Storage\Video_Storage_Factory;
11
use Wordlift\Videoobject\Filters\Post_Filter;
12
use Wordlift\Videoobject\Jsonld\Jsonld;
13
use Wordlift\Videoobject\Pages\Import_Videos_Page;
14
use Wordlift\Videoobject\Sitemap\Video_Sitemap;
15
use Wordlift\Videoobject\Tabs\Settings_Tab;
16
use Wordlift\Videoobject\Ui\Post_Edit_Screen;
17
18
19
/**
20
 * @since 3.31.0
21
 * @author Naveen Muthusamy <[email protected]>
22
 */
23
class Loader extends Default_Loader {
24
25
	public function init_all_dependencies() {
26
		$video_storage = Video_Storage_Factory::get_storage();
27
		new Jsonld( $video_storage );
28
29
		$sitemap_cache = new Ttl_Cache( "wl_video_sitemap", 86400 );
30
31
		$video_processor = new Video_Processor();
32
		// Hook in to save_post to save the videos
33
		$post_filter = new Post_Filter( $video_processor );
34
		$post_filter->init();
35
		// Add entry to wordlift admin tabs
36
		$settings_tab = new Settings_Tab();
37
		$settings_tab->init();
38
39
40
		$video_sitemap = new Video_Sitemap( $sitemap_cache );
41
		$video_sitemap->init();
42
43
		$background_process_data_source = new Videos_Data_Source( '__wl_videoobject_import_state' );
44
		$background_process             = new Videoobject_Background_Process( $video_processor, $background_process_data_source );
45
46
		$rest_controller = new Rest_Controller( $background_process );
47
		$rest_controller->register_all_routes();
48
49
		$post_edit_screen = new Post_Edit_Screen();
50
		$post_edit_screen->init();
51
52
		new Import_Videos_Page();
53
54
	}
55
56
	public function get_feature_slug() {
57
		return 'videoobject';
58
	}
59
60
	public function get_feature_default_value() {
61
		return false;
62
	}
63
}