PluginProbe
Accordions / 2.3.4
Accordions v2.3.4
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.4, at accordions.php

221 lines 8.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.4
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.4');
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 $accordionsCustomScripts;
43 global $accordionsActiveIndex;
44 global $accordionsTabsActiveIndex;
45
46
47 require_once(accordions_plugin_dir . 'includes/class-post-types.php');
48
49 require_once(accordions_plugin_dir . 'includes/class-post-meta-accordions.php');
50 require_once(accordions_plugin_dir . 'includes/class-post-meta-accordions-hook.php');
51
52 require_once(accordions_plugin_dir . 'includes/class-settings.php');
53 require_once(accordions_plugin_dir . 'includes/class-settings-hook.php');
54
55 require_once(accordions_plugin_dir . 'includes/class-post-meta-product.php');
56 require_once(accordions_plugin_dir . 'includes/class-admin-notices.php');
57 require_once(accordions_plugin_dir . 'includes/functions-data-upgrade.php');
58
59 require_once(accordions_plugin_dir . 'includes/functions-rest.php');
60
61 require_once(accordions_plugin_dir . 'includes/class-settings-tabs.php');
62 require_once(accordions_plugin_dir . 'includes/functions.php');
63 require_once(accordions_plugin_dir . 'includes/functions-wc.php');
64 require_once(accordions_plugin_dir . 'includes/functions-builder.php');
65 require_once(accordions_plugin_dir . 'includes/class-shortcodes.php');
66 require_once(accordions_plugin_dir . 'includes/duplicate-post.php');
67
68
69
70 require_once(accordions_plugin_dir . 'templates/accordion/accordion-hook.php');
71 require_once(accordions_plugin_dir . 'templates/tabs/tabs-hook.php');
72 require_once(accordions_plugin_dir . 'templates/accordions-builder/accordions-builder-hook.php');
73 require_once(accordions_plugin_dir . 'templates/accordions-builder/accordions-builder-functions.php');
74
75 require_once(accordions_plugin_dir . 'includes/3rd-party/3rd-party.php');
76
77
78 register_activation_hook(__FILE__, array($this, '_activation'));
79
80 add_action('wp_enqueue_scripts', array($this, '_front_scripts'));
81 add_action('admin_enqueue_scripts', array($this, '_admin_scripts'));
82
83 add_action('plugins_loaded', array($this, '_textdomain'));
84 add_filter('cron_schedules', array($this, 'cron_recurrence_interval'));
85
86
87 require_once(accordions_plugin_dir . 'includes/class-widget-accordions.php');
88
89 add_action('widgets_init', array($this, 'widget_register'));
90 add_action('before_woocommerce_init', array($this, 'high_performance_order_storage'));
91
92 // Display shortcode in widgets
93 add_filter('widget_text', 'do_shortcode');
94 add_filter('plugin_action_links_' . accordions_plugin_basename, array($this, 'plugin_list_pro_link'));
95 }
96
97 function high_performance_order_storage()
98 {
99 if (class_exists(\Automattic\WooCommerce\Utilities\FeaturesUtil::class)) {
100 \Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility('custom_order_tables', __FILE__, true);
101 }
102 }
103
104 public function widget_register()
105 {
106 register_widget('WidgetAccordions');
107 }
108
109 public function _textdomain()
110 {
111
112 $locale = apply_filters('plugin_locale', get_locale(), 'accordions');
113 load_textdomain('accordions', WP_LANG_DIR . '/accordions/accordions-' . $locale . '.mo');
114
115 load_plugin_textdomain('accordions', false, plugin_basename(dirname(__FILE__)) . '/languages/');
116 }
117
118 function cron_recurrence_interval($schedules)
119 {
120
121 $schedules['1minute'] = array(
122 'interval' => 40,
123 'display' => __('1 Minute', 'accordions')
124 );
125
126
127 return $schedules;
128 }
129
130 public function _install()
131 {
132
133 do_action('accordions_action_install');
134 }
135
136 public function _uninstall()
137 {
138
139 do_action('accordions_action_uninstall');
140 }
141
142
143 public function _activation()
144 {
145
146 $accordions_post_types = new accordions_post_types();
147 $accordions_post_types->_posttype_accordions();
148 flush_rewrite_rules();
149 }
150
151
152 public function _deactivation()
153 {
154
155 do_action('accordions_action_deactivation');
156 }
157
158
159 public function _front_scripts()
160 {
161 wp_register_style('accordions_animate', accordions_plugin_url . 'assets/css/animate.min.css');
162
163
164 wp_register_script('accordions_front_scripts', accordions_plugin_url . 'templates/accordions-builder/front-scripts.js', array('jquery'), '20181018');
165
166 wp_register_script('accordions_js', accordions_plugin_url . 'assets/frontend/js/scripts.js', array('jquery'), time(), true);
167 wp_register_style('accordions-style', accordions_plugin_url . 'assets/frontend/css/style.css');
168 wp_register_style('style-tabs', accordions_plugin_url . 'assets/global/css/style-tabs.css');
169
170 wp_register_style('accordions-tabs', accordions_plugin_url . 'assets/global/css/themesTabs.style.css');
171 wp_register_style('fontawesome-5', accordions_plugin_url . 'assets/global/css/font-awesome-5.css');
172 wp_register_style('fontawesome-4', accordions_plugin_url . 'assets/global/css/font-awesome-4.css');
173 wp_register_style('jquery-ui', accordions_plugin_url . 'assets/frontend/css/jquery-ui.css');
174 wp_register_style('accordions-themes', accordions_plugin_url . 'assets/global/css/themes.style.css');
175
176 wp_register_style('bootstrap-icons', accordions_plugin_url . 'assets/css/bootstrap-icons/bootstrap-icons.css');
177 wp_register_style('fontawesome-icons', accordions_plugin_url . 'assets/css/fontawesome/css/all.min.css');
178 wp_register_style('icofont-icons', accordions_plugin_url . 'assets/css/icofont/icofont.min.css');
179 }
180
181 public function _admin_scripts()
182 {
183 $screen = get_current_screen();
184
185 //var_dump($screen);
186
187 wp_register_style('accordions_animate', accordions_plugin_url . 'assets/css/animate.min.css');
188
189
190 wp_enqueue_script('accordions_admin_js', accordions_plugin_url . 'assets/admin/js/scripts.js', array('jquery'), '20181018');
191 wp_localize_script('accordions_admin_js', 'accordions_ajax', array('accordions_ajaxurl' => admin_url('admin-ajax.php'), 'nonce' => wp_create_nonce('accordions_nonce')));
192
193 wp_register_style('settings-tabs', accordions_plugin_url . 'assets/settings-tabs/settings-tabs.css');
194 wp_register_script('settings-tabs', accordions_plugin_url . 'assets/settings-tabs/settings-tabs.js', array('jquery'));
195
196 wp_register_style('font-awesome-4', accordions_plugin_url . 'assets/global/css/font-awesome-4.css');
197 wp_register_style('font-awesome-5', accordions_plugin_url . 'assets/global/css/font-awesome-5.css');
198
199 if ($screen->id == 'accordions' || $screen->id == 'accordions_page_accordions-settings') {
200 $settings_tabs_field = new settings_tabs_field();
201 $settings_tabs_field->admin_scripts();
202 }
203 }
204
205 public function plugin_list_pro_link($links)
206 {
207
208 $active_plugins = get_option('active_plugins');
209
210 if (!in_array('accordions-pro/accordions-pro.php', (array) $active_plugins)) {
211 $links['get_premium'] = '<a target="_blank" class="" style=" font-weight:bold;" href="https://pickplugins.com/accordions/?ref=dashboard">' . __('Buy Premium!', 'accordions') . '</a>';
212 }
213
214
215
216 return $links;
217 }
218 }
219
220 new Accordions();
221