PluginProbe
Accordions / 2.3.22
Accordions v2.3.22
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.22, at accordions.php

229 lines 9.0 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.22
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.22');
27 define('accordions_plugin_name', 'Accordions');
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 $accordionsCssFontsFamilies;
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/faq-grid/faq-grid-hook.php');
74
75 require_once(accordions_plugin_dir . 'templates/accordions-builder/accordions-builder-hook.php');
76 require_once(accordions_plugin_dir . 'templates/accordions-builder/accordions-builder-functions.php');
77
78 require_once(accordions_plugin_dir . 'templates/tabs-builder/tabs-builder-hook.php');
79 require_once(accordions_plugin_dir . 'templates/image-accordion/index.php');
80
81 require_once(accordions_plugin_dir . 'includes/3rd-party/3rd-party.php');
82
83
84 register_activation_hook(__FILE__, array($this, '_activation'));
85
86 add_action('wp_enqueue_scripts', array($this, '_front_scripts'));
87 add_action('admin_enqueue_scripts', array($this, '_admin_scripts'));
88
89 add_action('plugins_loaded', array($this, '_textdomain'));
90 add_filter('cron_schedules', array($this, 'cron_recurrence_interval'));
91
92
93 require_once(accordions_plugin_dir . 'includes/class-widget-accordions.php');
94
95 add_action('widgets_init', array($this, 'widget_register'));
96 add_action('before_woocommerce_init', array($this, 'high_performance_order_storage'));
97
98 // Display shortcode in widgets
99 add_filter('widget_text', 'do_shortcode');
100 add_filter('plugin_action_links_' . accordions_plugin_basename, array($this, 'plugin_list_pro_link'));
101 }
102
103 function high_performance_order_storage()
104 {
105 if (class_exists(\Automattic\WooCommerce\Utilities\FeaturesUtil::class)) {
106 \Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility('custom_order_tables', __FILE__, true);
107 }
108 }
109
110 public function widget_register()
111 {
112 register_widget('WidgetAccordions');
113 }
114
115 public function _textdomain()
116 {
117
118 $locale = apply_filters('plugin_locale', get_locale(), 'accordions');
119 load_textdomain('accordions', WP_LANG_DIR . '/accordions/accordions-' . $locale . '.mo');
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', [], '4.1.1');
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', [], '2.3.10');
174 wp_register_style('style-tabs', accordions_plugin_url . 'assets/global/css/style-tabs.css', [], '2.3.10');
175
176 wp_register_style('accordions-tabs', accordions_plugin_url . 'assets/global/css/themesTabs.style.css', [], '2.3.10');
177 wp_register_style('fontawesome-5', accordions_plugin_url . 'assets/global/css/font-awesome-5.css', [], '5.12.0');
178 wp_register_style('fontawesome-4', accordions_plugin_url . 'assets/global/css/font-awesome-4.css', [], '4.7.0');
179 wp_register_style('jquery-ui', accordions_plugin_url . 'assets/frontend/css/jquery-ui.css', [], '1.12.1');
180 wp_register_style('accordions-themes', accordions_plugin_url . 'assets/global/css/themes.style.css', [], '1.0.0');
181
182 wp_register_style('bootstrap-icons', accordions_plugin_url . 'assets/css/bootstrap-icons/bootstrap-icons.css', [], '1.11.3');
183 wp_register_style('fontawesome-icons', accordions_plugin_url . 'assets/css/fontawesome/css/all.min.css', [], '6.1.2');
184 wp_register_style('icofont-icons', accordions_plugin_url . 'assets/css/icofont/icofont.min.css', [], '1.0.1');
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', [], '4.1.1');
194 wp_register_style('icofont-icons', accordions_plugin_url . 'assets/css/icofont/icofont.min.css', [], '1.0.1');
195 wp_register_style('bootstrap-icons', accordions_plugin_url . 'assets/css/bootstrap-icons/bootstrap-icons.css', [], '1.11.3');
196 wp_register_style('fontawesome-icons', accordions_plugin_url . 'assets/css/fontawesome/css/all.min.css', [], '6.1.2');
197
198 wp_enqueue_script('accordions_admin_js', accordions_plugin_url . 'assets/admin/js/scripts.js', array('jquery'), '20181018');
199 wp_localize_script('accordions_admin_js', 'accordions_ajax', array('accordions_ajaxurl' => admin_url('admin-ajax.php'), 'nonce' => wp_create_nonce('accordions_nonce')));
200
201 wp_register_style('settings-tabs', accordions_plugin_url . 'assets/settings-tabs/settings-tabs.css', [], '1.0.0');
202 wp_register_script('settings-tabs', accordions_plugin_url . 'assets/settings-tabs/settings-tabs.js', array('jquery'), '20181018');
203
204 wp_register_style('font-awesome-4', accordions_plugin_url . 'assets/global/css/font-awesome-4.css', [], '4.7.0');
205 wp_register_style('font-awesome-5', accordions_plugin_url . 'assets/global/css/font-awesome-5.css', [], '5.12.0');
206
207 if ($screen->id == 'accordions' || $screen->id == 'accordions_page_accordions-settings') {
208 $settings_tabs_field = new settings_tabs_field();
209 $settings_tabs_field->admin_scripts();
210 }
211 }
212
213 public function plugin_list_pro_link($links)
214 {
215
216 $active_plugins = get_option('active_plugins');
217
218 if (!in_array('accordions-pro/accordions-pro.php', (array) $active_plugins)) {
219 $links['get_premium'] = '<a target="_blank" class="" style=" font-weight:bold;" href="https://pickplugins.com/accordions/?ref=dashboard">' . __('Buy Premium!', 'accordions') . '</a>';
220 }
221
222
223
224 return $links;
225 }
226 }
227
228 new Accordions();
229