PluginProbe
Essential Widgets / 3.1
Essential Widgets v3.1
3.2.1 3.3 3.2 trunk 1.0.0 1.0.1 1.1 1.2 1.2.1 1.2.2 1.3 1.4 1.4.1 1.5 1.6 1.7 1.7.1 1.7.2 1.7.3 1.7.4 1.8 1.9 2.0 2.1 2.2 All 31 releases
← All changes | essential-widgets.php +102 -11 1.13.1 View file →
@@ -15,9 +15,9 @@
15 15 * @wordpress-plugin
16 16 * Plugin Name: Essential Widgets
17 17 * Plugin URI: https://catchplugins.com/plugins/essential-widgets/
18 18 * Description: Essential Widgets is a WordPress plugin for widgets that allows you to create and add amazing widgets with high customization option on your website without affecting your wallet.
19 - * Version: 1.1
19 + * Version: 3.1
20 20 * Author: Catch Plugins
21 21 * Author URI: https://catchplugins.com/
22 22 * License: GPL-2.0+
23 23 * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
@@ -29,19 +29,47 @@
29 29 if ( ! defined( 'WPINC' ) ) {
30 30 die;
31 31 }
32 32
33 +// Define Version
34 +define( 'ESSENTIAL_WIDGETS_VERSION', '3.1' );
35 +
33 36 /**
34 37 * The code that runs during plugin activation.
35 38 * This action is documented in includes/class-essential-widgets-activator.php
36 39 */
37 -function activate_essential_widgets() {
40 +if ( ! defined( 'ESSENTIAL_WIDGETS_URL' ) ) {
41 + define( 'ESSENTIAL_WIDGETS_URL', plugin_dir_url( __FILE__ ) );
42 +}
43 +
44 +
45 +// The absolute path of the directory that contains the file
46 +if ( ! defined( 'ESSENTIAL_WIDGETS_PATH' ) ) {
47 + define( 'ESSENTIAL_WIDGETS_PATH', plugin_dir_path( __FILE__ ) );
48 +}
49 +
50 +
51 +// Gets the path to a plugin file or directory, relative to the plugins directory, without the leading and trailing slashes.
52 +if ( ! defined( 'ESSENTIAL_WIDGETS_BASENAME' ) ) {
53 + define( 'ESSENTIAL_WIDGETS_BASENAME', plugin_basename( __FILE__ ) );
54 +}
55 +
56 +function essential_widgets_activate() {
38 57 $required = 'essential-widgets-pro/essential-widgets-pro.php';
39 58 if ( is_plugin_active( $required ) ) {
40 - $message = esc_html__( 'Sorry, Pro version is already active. No need to activate Free version. If you still want to activate the Free version, please deactivate the Pro version first. %1$s« Return to Plugins%2$s.', 'essential-widgets' );
41 - $message = sprintf( $message, '<br><a href="' . esc_url( admin_url( 'plugins.php' ) ) . '">', '</a>' );
42 - wp_die( $message );
59 + // Translators: %1$s and %2$s wrap the "Return to Plugins" link. The message informs the user that the Pro version is active.
60 + $message = __( 'Sorry, Pro version is already active. No need to activate Free version. If you still want to activate the Free version, please deactivate the Pro version first. %1$s&laquo; Return to Plugins%2$s.', 'essential-widgets' );
61 +
62 + $message = sprintf(
63 + $message,
64 + '<br><a href="' . esc_url( admin_url( 'plugins.php' ) ) . '">',
65 + '</a>'
66 + );
67 +
68 + // Escape all HTML output before printing
69 + wp_die( wp_kses_post( $message ) );
43 70 }
71 +
44 72 require_once plugin_dir_path( __FILE__ ) . 'includes/class-essential-widgets-activator.php';
45 73 Essential_Widgets_Activator::activate();
46 74 }
47 75
@@ -48,15 +76,15 @@
48 76 /**
49 77 * The code that runs during plugin deactivation.
50 78 * This action is documented in includes/class-essential-widgets-deactivator.php
51 79 */
52 -function deactivate_essential_widgets() {
80 +function essential_widgets_deactivate() {
53 81 require_once plugin_dir_path( __FILE__ ) . 'includes/class-essential-widgets-deactivator.php';
54 82 Essential_Widgets_Deactivator::deactivate();
55 83 }
56 84
57 -register_activation_hook( __FILE__, 'activate_essential_widgets' );
58 -register_deactivation_hook( __FILE__, 'deactivate_essential_widgets' );
85 +register_activation_hook( __FILE__, 'essential_widgets_activate' );
86 +register_deactivation_hook( __FILE__, 'essential_widgets_deactivate' );
59 87
60 88 /**
61 89 * The core plugin class that is used to define internationalization,
62 90 * admin-specific hooks, and public-facing site hooks.
@@ -65,11 +93,60 @@
65 93
66 94
67 95 function essential_widgets_sanitize_checkbox( $checked ) {
68 96 // Boolean check.
69 - return ( ( isset( $checked ) && true == $checked ) ? true : false );
97 + return ( ( isset( $checked ) && true === $checked ) ? true : false );
70 98 }
71 99
100 +if ( ! function_exists( 'essential_widgets_get_options' ) ) :
101 + function essential_widgets_get_options() {
102 + $defaults = essential_widgets_default_options();
103 + $options = get_option( 'essential_widgets_options', $defaults );
104 +
105 + return wp_parse_args( $options, $defaults );
106 + }
107 +endif; // essential_widgets_get_options
108 +
109 +
110 +if ( ! function_exists( 'essential_widgets_default_options' ) ) :
111 + /**
112 + * Return array of default options
113 + *
114 + * @since 1.0
115 + * @return array default options.
116 + */
117 + function essential_widgets_default_options( $option = null ) {
118 + $widget_list = essential_widgets_list();
119 + $default_options = array();
120 +
121 + foreach ( $widget_list as $key => $value ) {
122 + $default_options[ $key ] = 1;
123 + }
124 +
125 + if ( null === $option ) {
126 + return apply_filters( 'essential_widgets_options', $default_options );
127 + } else {
128 + return $default_options[ $option ];
129 + }
130 + }
131 +endif; // essential_widgets_default_options
132 +
133 +
134 +if ( ! function_exists( 'essential_widgets_list' ) ) :
135 + function essential_widgets_list() {
136 + $widget_list = array(
137 + 'ew_authors' => 'EW: Authors',
138 + 'ew_categories' => 'EW: Category',
139 + 'ew_menus' => 'EW: Menu',
140 + 'ew_pages' => 'EW: Pages',
141 + 'ew_posts' => 'EW: Post',
142 + 'ew_archives' => 'EW: Recent Posts',
143 + 'ew_tags' => 'EW: Tags',
144 + );
145 + return $widget_list;
146 + }
147 +endif;
148 +
72 149 /**
73 150 * Begins execution of the plugin.
74 151 *
75 152 * Since everything within the plugin is registered via hooks,
@@ -77,11 +154,25 @@
77 154 * not affect the page life cycle.
78 155 *
79 156 * @since 1.0.0
80 157 */
81 -function run_essential_widgets() {
158 +function essential_widgets_run() {
82 159
83 160 $plugin = new Essential_Widgets();
84 161 $plugin->run();
85 162
86 163 }
87 -run_essential_widgets();
164 +essential_widgets_run();
165 +
166 +/* CTP tabs removal options */
167 +require plugin_dir_path( __FILE__ ) . 'includes/ctp-tabs-removal.php';
168 +
169 +$ctp_options = ctp_get_options(); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound -- Used immediately on the next line; ctp_ prefix kept for cross-plugin compatibility.
170 +if ( 1 === (int) $ctp_options['theme_plugin_tabs'] ) {
171 + /* Adds Catch Themes tab in Add theme page and Themes by Catch Themes in Customizer's change theme option. */
172 + if ( ! class_exists( 'CatchThemesThemePlugin' ) && ! function_exists( 'add_our_plugins_tab' ) ) {
173 + require plugin_dir_path( __FILE__ ) . 'includes/CatchThemesThemePlugin.php';
174 + }
175 +}
176 +
177 +/** Add EW Blocks */
178 +require plugin_dir_path( __FILE__ ) . 'includes/ew-block/index.php';