PluginProbe
Post Grid Gutenberg Blocks – PostX / 5.0.41
Post Grid Gutenberg Blocks – PostX v5.0.41
5.0.41 5.0.39 5.0.38 5.0.37 5.0.36 5.0.35 5.0.34 5.0.33 5.0.32 5.0.31 5.0.30 5.0.29 5.0.28 5.0.27 5.0.26 5.0.25 5.0.23 5.0.24 5.0.22 5.0.21 5.0.20 5.0.19 5.0.18 5.0.17 2.1.1 All 238 releases
← All changes | classes/Compatibility.php +87 -27 2.1.15.0.41 View file →
@@ -1,35 +1,95 @@
1 1 <?php
2 +/**
3 + * Compatibility Action.
4 + *
5 + * @package ULTP\Compatibility
6 + * @since v.1.1.0
7 + */
8 +
2 9 namespace ULTP;
3 10
4 -defined('ABSPATH') || exit;
11 +defined( 'ABSPATH' ) || exit;
5 12
6 -class Compatibility{
13 +/**
14 + * Compatibility class.
15 + *
16 + * Handles compatibility with other plugins and themes for Ultimate Post.
17 + *
18 + * @package ULTP\Compatibility
19 + * @since 4.0.0
20 + */
21 +class Compatibility {
7 22
8 - public function __construct(){
9 - add_action( 'upgrader_process_complete', array($this, 'plugin_upgrade_completed'), 10, 2 );
10 - }
23 + /**
24 + * Setup class.
25 + *
26 + * @since v.1.1.0
27 + */
28 + public function __construct() {
29 + add_action( 'admin_init', array( $this, 'handle_front_page_builder' ) );
11 30
12 - public function plugin_upgrade_completed( $upgrader_object, $options ) {
13 - if( $options['action'] == 'update' && $options['type'] == 'plugin' && isset( $options['plugins'] ) ){
14 - foreach( $options['plugins'] as $plugin ) {
15 - if( $plugin == ULTP_BASE ) {
16 - $set_settings = array(
17 - 'ultp_templates' => 'true',
18 - 'ultp_elementor' => 'true',
19 - );
20 -
21 - // Pro Addons Data Init
22 - $addon_data = get_option('ultp_addons_option', array());
23 - if (isset($addon_data['ultp_category'])) {
24 - $set_settings['ultp_category'] = $addon_data['ultp_category'];
25 - }
31 + // PublishPress Revisions Plugin Compatibility Add
32 + add_action( 'revisionary_copy_postmeta', array( $this, 'ultp_revisionary_copy_postmeta_callback' ), 10, 3 );
33 + }
26 34
27 - foreach ($set_settings as $key => $value) {
28 - ultimate_post()->set_setting($key, $value);
29 - }
30 - }
31 - }
32 - }
33 - }
35 + /**
36 + * Compatibility for Front Page Builder
37 + *
38 + * @since 4.1.12
39 + */
40 + public function handle_front_page_builder() {
34 41
35 -}
42 + if ( get_option( 'ultp_frontpage_builder_comp' ) != 'yes' ) {
43 + $builder_condition = get_option( 'ultp_builder_conditions', array() );
44 + if ( ! empty( $builder_condition ) &&
45 + ! empty( $builder_condition['singular'] )
46 + ) {
47 + $f_pages = array();
48 + foreach ( $builder_condition['singular'] as $id => $paths ) {
49 + if ( in_array( 'include/singular/front_page', $paths ) ) {
50 + $f_pages[ $id ] = array( 'include/front_page' ); // Add the ID to the list
51 + update_post_meta( $id, '__ultp_builder_type', 'front_page' );
52 + unset( $builder_condition['singular'][ $id ] );
53 + }
54 + }
55 + if ( empty( $builder_condition['front_page'] ) ) {
56 + $builder_condition['front_page'] = $f_pages;
57 + } else {
58 + $builder_condition['front_page'] = $builder_condition['front_page'] + $f_pages;
59 + }
60 + update_option( 'ultp_frontpage_builder_comp', 'yes' );
61 + update_option( 'ultp_builder_conditions', $builder_condition );
62 + }
63 + }
64 + }
65 +
66 + /**
67 + * Compatibility for PublishPress Revisions Plugin
68 + *
69 + * @url https://wordpress.org/plugins/revisionary/
70 + *
71 + * @since v.2.9.8
72 + *
73 + * @param MIXED $from_post The source post object or ID.
74 + * @param INT $to_post_id The destination post ID.
75 + * @param ARRAY $args Additional arguments.
76 + */
77 + public function ultp_revisionary_copy_postmeta_callback( $from_post, $to_post_id, $args ) {
78 + global $wp_filesystem;
79 + if ( ! $wp_filesystem ) {
80 + require_once ABSPATH . 'wp-admin/includes/file.php';
81 + WP_Filesystem();
82 + }
83 + $css_meta = get_post_meta( $to_post_id, '_ultp_css', true );
84 + $upload_dir_url = wp_get_upload_dir();
85 + $upload_css_dir_url = trailingslashit( $upload_dir_url['basedir'] );
86 + $css_dir_path = $upload_css_dir_url . "ultimate-post/ultp-css-{$to_post_id}.css";
87 +
88 + if ( file_exists( $css_dir_path ) ) {
89 + $css = $wp_filesystem->get_contents( $css_dir_path );
90 + if ( $css_meta != $css ) {
91 + $wp_filesystem->put_contents( $css_dir_path, $css_meta );
92 + }
93 + }
94 + }
95 +}