PluginProbe
Accordions / 2.3.8
Accordions v2.3.8
trunk 1.0 1.0.30 1.1 1.10 1.2 1.3 1.4 1.5 1.6 1.7 1.9 2.0.1 2.0.10 2.0.11 2.0.12 2.0.13 2.0.14 2.0.15 2.0.16 2.0.17 2.0.18 2.0.19 2.0.2 2.0.21 All 151 releases
accordions / accordions.php

accordions.php in Accordions 2.3.8, at accordions.php

227 lines 8.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /*
3 Plugin Name: Accordions - By PickPlugins
4 Plugin URI: https://pickplugins.com/accordions/
5 Description: Fully responsive and mobile ready accordion grid for wordpress.
6 Version: 2.3.8
7 Author: PickPlugins
8 Author URI: http://pickplugins.com
9 Text Domain: accordions
10 Domain Path: /languages
11 License: GPLv2 or later
12 License URI: http://www.gnu.org/licenses/gpl-2.0.html
13 */
14
15 if (!defined('ABSPATH')) exit; // if direct access
16
17
18 class Accordions
19 {
20
21 public function __construct()
22 {
23
24 define('accordions_plugin_url', plugins_url('/', __FILE__));
25 define('accordions_plugin_dir', plugin_dir_path(__FILE__));
26 define('accordions_version', '2.3.8');
27 define('accordions_plugin_name', 'Accordions Combo');
28 define('accordions_plugin_basename', plugin_basename(__FILE__));
29
30 $accordionsCss = '';
31 $accordionsCustomCss = '';
32 $accordionsCustomScripts = '';
33 $accordionsActiveIndex = [];
34 $accordionsSchema = [];
35 $accordionsAttrData = [];
36
37
38 global $accordionsSchema;
39 global $accordionsCss;
40 global $accordionsCss;
41 global $accordionsCustomCss;
42 global $accordionsBuilderCss;
43 global $accordionsCustomScripts;
44 global $accordionsActiveIndex;
45 global $accordionsTabsActiveIndex;
46
47
48 require_once(accordions_plugin_dir . 'includes/class-post-types.php');
49
50 require_once(accordions_plugin_dir . 'includes/class-post-meta-accordions.php');
51 require_once(accordions_plugin_dir . 'includes/class-post-meta-accordions-hook.php');
52
53 require_once(accordions_plugin_dir . 'includes/class-settings.php');
54 require_once(accordions_plugin_dir . 'includes/class-settings-hook.php');
55
56 require_once(accordions_plugin_dir . 'includes/class-post-meta-product.php');
57 require_once(accordions_plugin_dir . 'includes/class-admin-notices.php');
58 require_once(accordions_plugin_dir . 'includes/functions-data-upgrade.php');
59
60 require_once(accordions_plugin_dir . 'includes/functions-rest.php');
61
62 require_once(accordions_plugin_dir . 'includes/class-settings-tabs.php');
63 require_once(accordions_plugin_dir . 'includes/functions.php');
64 require_once(accordions_plugin_dir . 'includes/functions-wc.php');
65 require_once(accordions_plugin_dir . 'includes/functions-builder.php');
66 require_once(accordions_plugin_dir . 'includes/class-shortcodes.php');
67 require_once(accordions_plugin_dir . 'includes/duplicate-post.php');
68
69
70
71 require_once(accordions_plugin_dir . 'templates/accordion/accordion-hook.php');
72 require_once(accordions_plugin_dir . 'templates/tabs/tabs-hook.php');
73 require_once(accordions_plugin_dir . 'templates/accordions-builder/accordions-builder-hook.php');
74 require_once(accordions_plugin_dir . 'templates/accordions-builder/accordions-builder-functions.php');
75
76 require_once(accordions_plugin_dir . 'templates/tabs-builder/tabs-builder-hook.php');
77 require_once(accordions_plugin_dir . 'templates/image-accordion/index.php');
78
79 require_once(accordions_plugin_dir . 'includes/3rd-party/3rd-party.php');
80
81
82 register_activation_hook(__FILE__, array($this, '_activation'));
83
84 add_action('wp_enqueue_scripts', array($this, '_front_scripts'));
85 add_action('admin_enqueue_scripts', array($this, '_admin_scripts'));
86
87 add_action('plugins_loaded', array($this, '_textdomain'));
88 add_filter('cron_schedules', array($this, 'cron_recurrence_interval'));
89
90
91 require_once(accordions_plugin_dir . 'includes/class-widget-accordions.php');
92
93 add_action('widgets_init', array($this, 'widget_register'));
94 add_action('before_woocommerce_init', array($this, 'high_performance_order_storage'));
95
96 // Display shortcode in widgets
97 add_filter('widget_text', 'do_shortcode');
98 add_filter('plugin_action_links_' . accordions_plugin_basename, array($this, 'plugin_list_pro_link'));
99 }
100
101 function high_performance_order_storage()
102 {
103 if (class_exists(\Automattic\WooCommerce\Utilities\FeaturesUtil::class)) {
104 \Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility('custom_order_tables', __FILE__, true);
105 }
106 }
107
108 public function widget_register()
109 {
110 register_widget('WidgetAccordions');
111 }
112
113 public function _textdomain()
114 {
115
116 $locale = apply_filters('plugin_locale', get_locale(), 'accordions');
117 load_textdomain('accordions', WP_LANG_DIR . '/accordions/accordions-' . $locale . '.mo');
118
119 load_plugin_textdomain('accordions', false, plugin_basename(dirname(__FILE__)) . '/languages/');
120 }
121
122 function cron_recurrence_interval($schedules)
123 {
124
125 $schedules['1minute'] = array(
126 'interval' => 40,
127 'display' => __('1 Minute', 'accordions')
128 );
129
130
131 return $schedules;
132 }
133
134 public function _install()
135 {
136
137 do_action('accordions_action_install');
138 }
139
140 public function _uninstall()
141 {
142
143 do_action('accordions_action_uninstall');
144 }
145
146
147 public function _activation()
148 {
149
150 $accordions_post_types = new accordions_post_types();
151 $accordions_post_types->_posttype_accordions();
152 flush_rewrite_rules();
153 }
154
155
156 public function _deactivation()
157 {
158
159 do_action('accordions_action_deactivation');
160 }
161
162
163 public function _front_scripts()
164 {
165 wp_register_style('accordions_animate', accordions_plugin_url . 'assets/css/animate.min.css');
166
167
168 wp_register_script('accordions_front_scripts', accordions_plugin_url . 'templates/accordions-builder/front-scripts.js', array('jquery'), '20181018');
169 wp_register_script('tabs_front_scripts', accordions_plugin_url . 'templates/tabs-builder/front-scripts.js', array('jquery'), '20181018');
170 wp_register_script('image_accordion_front_scripts', accordions_plugin_url . 'templates/image-accordion/front-scripts.js', array('jquery'), '20181018');
171
172 wp_register_script('accordions_js', accordions_plugin_url . 'assets/frontend/js/scripts.js', array('jquery'), time(), true);
173 wp_register_style('accordions-style', accordions_plugin_url . 'assets/frontend/css/style.css');
174 wp_register_style('style-tabs', accordions_plugin_url . 'assets/global/css/style-tabs.css');
175
176 wp_register_style('accordions-tabs', accordions_plugin_url . 'assets/global/css/themesTabs.style.css');
177 wp_register_style('fontawesome-5', accordions_plugin_url . 'assets/global/css/font-awesome-5.css');
178 wp_register_style('fontawesome-4', accordions_plugin_url . 'assets/global/css/font-awesome-4.css');
179 wp_register_style('jquery-ui', accordions_plugin_url . 'assets/frontend/css/jquery-ui.css');
180 wp_register_style('accordions-themes', accordions_plugin_url . 'assets/global/css/themes.style.css');
181
182 wp_register_style('bootstrap-icons', accordions_plugin_url . 'assets/css/bootstrap-icons/bootstrap-icons.css');
183 wp_register_style('fontawesome-icons', accordions_plugin_url . 'assets/css/fontawesome/css/all.min.css');
184 wp_register_style('icofont-icons', accordions_plugin_url . 'assets/css/icofont/icofont.min.css');
185 }
186
187 public function _admin_scripts()
188 {
189 $screen = get_current_screen();
190
191 //var_dump($screen);
192
193 wp_register_style('accordions_animate', accordions_plugin_url . 'assets/css/animate.min.css');
194
195
196 wp_enqueue_script('accordions_admin_js', accordions_plugin_url . 'assets/admin/js/scripts.js', array('jquery'), '20181018');
197 wp_localize_script('accordions_admin_js', 'accordions_ajax', array('accordions_ajaxurl' => admin_url('admin-ajax.php'), 'nonce' => wp_create_nonce('accordions_nonce')));
198
199 wp_register_style('settings-tabs', accordions_plugin_url . 'assets/settings-tabs/settings-tabs.css');
200 wp_register_script('settings-tabs', accordions_plugin_url . 'assets/settings-tabs/settings-tabs.js', array('jquery'));
201
202 wp_register_style('font-awesome-4', accordions_plugin_url . 'assets/global/css/font-awesome-4.css');
203 wp_register_style('font-awesome-5', accordions_plugin_url . 'assets/global/css/font-awesome-5.css');
204
205 if ($screen->id == 'accordions' || $screen->id == 'accordions_page_accordions-settings') {
206 $settings_tabs_field = new settings_tabs_field();
207 $settings_tabs_field->admin_scripts();
208 }
209 }
210
211 public function plugin_list_pro_link($links)
212 {
213
214 $active_plugins = get_option('active_plugins');
215
216 if (!in_array('accordions-pro/accordions-pro.php', (array) $active_plugins)) {
217 $links['get_premium'] = '<a target="_blank" class="" style=" font-weight:bold;" href="https://pickplugins.com/accordions/?ref=dashboard">' . __('Buy Premium!', 'accordions') . '</a>';
218 }
219
220
221
222 return $links;
223 }
224 }
225
226 new Accordions();
227