class-otgs-installer-debug-info.php
2.03 KB
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
<?php
class OTGS_Installer_Debug_Info {
private $installer;
/**
* @var OTGS_Products_Config_Db_Storage
*/
private $products_config_storage;
public function __construct( WP_Installer $installer, OTGS_Products_Config_Db_Storage $products_config_storage ) {
$this->installer = $installer;
$this->products_config_storage = $products_config_storage;
}
public function add_hooks() {
add_filter( 'icl_get_extra_debug_info', array( $this, 'add_installer_config_in_debug_information' ) );
}
/**
* @param array $data
*
* @return array
*/
public function add_installer_config_in_debug_information( $data ) {
global $wp_installer_instances;
$repositories_data = array();
$repositories = $this->installer->get_repositories();
$repository_settings = $this->installer->get_settings();
$repository_settings = $repository_settings['repositories'];
foreach ( $repositories as $repo_id => $repository ) {
$repositories_data[ $repo_id ] = [
'api-url' => $repository['api-url'],
'bucket-url' => $this->prepare_bucket_url( $repo_id ),
'subscription' => isset( $repository_settings[ $repo_id ]['subscription'] ) ? $repository_settings[ $repo_id ]['subscription'] : '',
'last-successful-subscription-fetch' => $this->prepare_last_subscription_fetch( $repository_settings, $repo_id ),
];
}
$data['installer'] = array(
'version' => $this->installer->version(),
'repositories' => $repositories_data,
'instances' => $wp_installer_instances,
);
return $data;
}
private function prepare_bucket_url( $repo_id ) {
$bucket_url = $this->products_config_storage->get_repository_products_url( $repo_id );
return $bucket_url ? $bucket_url : 'not assigned';
}
private function prepare_last_subscription_fetch( $repository_settings, $repo_id ) {
return isset( $repository_settings[ $repo_id ]['last_successful_subscription_fetch'] ) ?
date( 'Y-m-d h:i:s', $repository_settings[ $repo_id ]['last_successful_subscription_fetch'] ) : 'none';
}
}