admin-columns-pro.php
3.32 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<?php
/*
Plugin Name: Admin Columns Pro
Version: 6.2.2
Description: Customize columns on the administration screens for post(types), users and other content. Filter and sort content, and edit posts directly from the posts overview. All via an intuitive, easy-to-use drag-and-drop interface.
Author: AdminColumns.com
Author URI: https://www.admincolumns.com
Plugin URI: https://www.admincolumns.com
Requires PHP: 7.2
Requires at least: 5.3
Text Domain: codepress-admin-columns
Domain Path: /languages/
*/
use AC\Asset\Location\Absolute;
use ACA\ACF\AdvancedCustomFields;
use ACA\BbPress\BbPress;
use ACA\BeaverBuilder\BeaverBuilder;
use ACA\BP\BuddyPress;
use ACA\EC\EventsCalendar;
use ACA\GravityForms\GravityForms;
use ACA\JetEngine\JetEngine;
use ACA\MetaBox\MetaBox;
use ACA\MLA\MediaLibraryAssistant;
use ACA\Pods\Pods;
use ACA\Polylang\Polylang;
use ACA\Types\Types;
use ACA\WC\WooCommerce;
use ACA\YoastSeo\YoastSeo;
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( ! is_admin() ) {
return;
}
define( 'ACP_FILE', __FILE__ );
define( 'ACP_VERSION', '6.2.2' );
require_once ABSPATH . 'wp-admin/includes/plugin.php';
/**
* Deactivate Admin Columns
*/
deactivate_plugins( 'codepress-admin-columns/codepress-admin-columns.php' );
/**
* Load Admin Columns
*/
add_action( 'plugins_loaded', function () {
require_once 'admin-columns/codepress-admin-columns.php';
} );
/**
* Load Admin Columns Pro
*/
add_action( 'after_setup_theme', function () {
$dependencies = new AC\Dependencies( plugin_basename( ACP_FILE ), ACP_VERSION );
$dependencies->requires_php( '7.2' );
if ( $dependencies->has_missing() ) {
return;
}
$deactivate = [];
$addons = [
'acf' => AdvancedCustomFields::class,
'beaver-builder' => BeaverBuilder::class,
'bbpress' => BbPress::class,
'buddypress' => BuddyPress::class,
'events-calendar' => EventsCalendar::class,
'gravityforms' => GravityForms::class,
'jetengine' => JetEngine::class,
'metabox' => MetaBox::class,
'media-library-assistant' => MediaLibraryAssistant::class,
'pods' => Pods::class,
'polylang' => Polylang::class,
'types' => Types::class,
'woocommerce' => WooCommerce::class,
'yoast-seo' => YoastSeo::class,
];
foreach ( $addons as $key => $addon ) {
$filename = sprintf( '%1$s%2$s/%1$s%2$s.php', 'ac-addon-', $key );
if ( is_plugin_active( $filename ) ) {
$deactivate[] = $filename;
}
}
// Reload to prevent duplicate loading of functions and classes
if ( $deactivate ) {
deactivate_plugins( $deactivate );
$protocol = is_ssl() ? 'https' : 'http';
$url = $protocol . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
wp_redirect( $url );
exit;
}
require_once __DIR__ . '/vendor/autoload.php';
require_once __DIR__ . '/api.php';
/**
* For loading external resources like column settings.
* Can be called from plugins and themes.
*/
do_action( 'acp/ready', ACP() );
foreach ( $addons as $key => $addon ) {
if ( ! apply_filters( 'acp/addon/' . $key . '/active', true ) ) {
continue;
}
$path = 'addons/' . $key;
$location = new Absolute(
plugin_dir_url( __FILE__ ) . $path,
plugin_dir_path( __FILE__ ) . $path
);
( new $addon( $location ) )->register();
}
}, 5 );