tools_settings = $tools_settings;
$this->logger = $logger;
$this->layouts_settings_storage = $layouts_settings_storage;
$this->post_selections_settings_storage = $post_selections_settings_storage;
}
public function echo_dump_file(): void {
$dump_data = array(
'error_logs' => $this->logger->get_error_logs(),
'logs' => $this->logger->get_logs(),
'cpt_data' => $this->get_cpt_dump_data(),
'environment' => array(
'theme' => Environment_Detector::get_theme_data(),
'installation' => Environment_Detector::get_installation_data(),
),
);
$redirect_url = add_query_arg(
array(
'message' => 1,
)
);
?>
$post_type,
'post_status' => 'publish',
'posts_per_page' => - 1,
);
if ( array() !== $slugs ) {
$query_args['post_name__in'] = $slugs;
}
$wp_query = new WP_Query( $query_args );
/**
* @var WP_Post[]
*/
return $wp_query->get_posts();
}
/**
* @return array
*/
protected function get_cpt_dump_data(): array {
$export_data = array();
$views_to_export = array() !== $this->tools_settings->dump_views ?
$this->get_posts( Hard_Layout_Cpt::cpt_name(), $this->tools_settings->dump_views ) :
array();
$cards_to_export = array() !== $this->tools_settings->dump_cards ?
$this->get_posts( Hard_Post_Selection_Cpt::cpt_name(), $this->tools_settings->dump_cards ) :
array();
foreach ( $views_to_export as $view_post ) {
$view_data = $this->layouts_settings_storage->get( $view_post->post_name );
// we don't need to save defaults.
$export_data[ $view_post->post_name ] = $view_data->getFieldValues( '', true );
}
foreach ( $cards_to_export as $card_post ) {
$card_data = $this->post_selections_settings_storage->get( $card_post->post_name );
$card_unique_id = $card_data->get_unique_id();
// we don't need to save defaults.
$export_data[ $card_unique_id ] = $card_data->getFieldValues( '', true );
}
return $export_data;
}
}