-
Notifications
You must be signed in to change notification settings - Fork 95
Expand file tree
/
Copy pathenvato-market.php
More file actions
153 lines (127 loc) · 4.91 KB
/
Copy pathenvato-market.php
File metadata and controls
153 lines (127 loc) · 4.91 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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
<?php
/**
* Plugin Name: Envato Market
* Plugin URI: https://envato.com/market-plugin/
* Description: WordPress Theme & Plugin management for the Envato Market.
* Version: 2.0.14
* Author: Envato
* Author URI: https://envato.com
* Requires at least: 5.1
* Tested up to: 6.9
* Requires PHP: 7.0
* Text Domain: envato-market
* Domain Path: /languages/
*
* @package Envato_Market
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
/* Set plugin version constant. */
define( 'ENVATO_MARKET_VERSION', '2.0.14' );
/* Debug output control. */
define( 'ENVATO_MARKET_DEBUG_OUTPUT', 0 );
/* Set constant path to the plugin directory. */
define( 'ENVATO_MARKET_SLUG', basename( plugin_dir_path( __FILE__ ) ) );
/* Set constant path to the main file for activation call */
define( 'ENVATO_MARKET_CORE_FILE', __FILE__ );
/* Set constant path to the plugin directory. */
define( 'ENVATO_MARKET_PATH', trailingslashit( plugin_dir_path( __FILE__ ) ) );
/* Set the constant path to the plugin directory URI. */
define( 'ENVATO_MARKET_URI', trailingslashit( plugin_dir_url( __FILE__ ) ) );
if ( ! version_compare( PHP_VERSION, '7.0', '>=' ) ) {
add_action( 'admin_notices', 'envato_market_fail_php_version' );
} elseif ( ENVATO_MARKET_SLUG !== 'envato-market' ) {
add_action( 'admin_notices', 'envato_market_fail_installation_method' );
} else {
// Show deprecation notice for PHP versions below 8.2
if ( version_compare( PHP_VERSION, '8.2', '<' ) ) {
add_action( 'admin_notices', 'envato_market_php_deprecation_notice' );
}
if ( ! function_exists( 'is_plugin_active_for_network' ) ) {
// Makes sure the plugin functions are defined before trying to use them.
require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
}
define( 'ENVATO_MARKET_NETWORK_ACTIVATED', is_plugin_active_for_network( ENVATO_MARKET_SLUG . '/envato-market.php' ) );
/* Envato_Market Class */
require_once ENVATO_MARKET_PATH . 'inc/class-envato-market.php';
if ( ! function_exists( 'envato_market' ) ) :
/**
* The main function responsible for returning the one true
* Envato_Market Instance to functions everywhere.
*
* Use this function like you would a global variable, except
* without needing to declare the global.
*
* Example: <?php $envato_market = envato_market(); ?>
*
* @since 1.0.0
* @return Envato_Market The one true Envato_Market Instance
*/
function envato_market() {
return Envato_Market::instance();
}
endif;
/**
* Loads the main instance of Envato_Market to prevent
* the need to use globals.
*
* This doesn't fire the activation hook correctly if done in 'after_setup_theme' hook.
*
* @since 1.0.0
* @return object Envato_Market
*/
envato_market();
}
if ( ! function_exists( 'envato_market_fail_php_version' ) ) {
/**
* Show in WP Dashboard notice about the plugin is not activated.
*
* @since 2.0.0
*
* @return void
*/
function envato_market_fail_php_version() {
$message = esc_html__( 'The Envato Market plugin requires PHP version 7.0+, plugin is currently NOT ACTIVE. Please contact the hosting provider to upgrade the version of PHP.', 'envato-market' );
$html_message = sprintf( '<div class="notice notice-error">%s</div>', wpautop( $message ) );
echo wp_kses_post( $html_message );
}
}
if ( ! function_exists( 'envato_market_php_deprecation_notice' ) ) {
/**
* Show deprecation notice for PHP versions below 8.2.
*
* @since 2.0.13
*
* @return void
*/
function envato_market_php_deprecation_notice() {
// Only show to users who can update plugins
if ( ! current_user_can( 'update_plugins' ) ) {
return;
}
$php_version = PHP_VERSION;
$message = sprintf(
/* translators: %s: Current PHP version */
esc_html__( 'Envato Market: Your site is running PHP %s, which has reached end-of-life and no longer receives security updates. Please upgrade to PHP 8.2 or higher. Support for PHP versions below 8.2 will be removed in June 2026.', 'envato-market' ),
$php_version
);
$html_message = sprintf( '<div class="notice notice-warning is-dismissible"><p><strong>%s</strong></p></div>', $message );
echo wp_kses_post( $html_message );
}
}
if ( ! function_exists( 'envato_market_fail_installation_method' ) ) {
/**
* The plugin needs to be installed into the `envato-market/` folder otherwise it will not work correctly.
* This alert will display if someone has installed it into the incorrect folder (i.e. github download zip).
*
* @since 2.0.0
*
* @return void
*/
function envato_market_fail_installation_method() {
$message = sprintf( esc_html__( 'Envato Market plugin is not installed correctly. Please delete this plugin and get the correct zip file from %s.', 'envato-market' ), '<a href="https://envato.com/market-plugin/" target="_blank">https://envato.com/market-plugin/</a>' );
$html_message = sprintf( '<div class="notice notice-error">%s</div>', wpautop( $message ) );
echo wp_kses_post( $html_message );
}
}