60 lines
2.0 KiB
PHP
60 lines
2.0 KiB
PHP
<?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';
|
|
}
|
|
} |