PluginProbe
Ovation Elements / 1.1.2
Ovation Elements v1.1.2
1.2.7 1.2.6 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.2.1 1.2.2 1.2.3 All 27 releases
ovation-elements / ovation-elements.php

ovation-elements.php in Ovation Elements 1.1.2, at ovation-elements.php

289 lines 13.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Plugin Name: Ovation Elements
4 * Plugin URI: https://www.ovationthemes.com/products/ovation-elements-pro
5 * Description: Transform your site with captivating sliders. Perfect for beginners and advanced users. Create and customize with our ultimate slider plugin.
6 * Version: 1.1.2
7 * Requires at least: 5.2
8 * Requires PHP: 7.2
9 * Author: pewilliams
10 * Author URI: https://www.ovationthemes.com/
11 * License: GPL v2 or later
12 * License URI: https://www.gnu.org/licenses/gpl-2.0.html
13 * Text Domain: ovation-elements
14 */
15
16 if (!defined('ABSPATH')) {
17 exit; // Exit if accessed directly.
18 }
19
20 define( 'OVA_ELEMS_FILE', __FILE__ );
21 define( 'OVA_ELEMS_BASE', plugin_basename( OVA_ELEMS_FILE ) );
22 define( 'OVA_ELEMS_DIR', plugin_dir_path( OVA_ELEMS_FILE ) );
23 define( 'OVA_ELEMS_URL', plugins_url( '/', OVA_ELEMS_FILE ) );
24 define( 'OVA_ELEMS_LICENSE_ENDPOINT', 'https://license.ovationthemes.com/api/public/' );
25
26 define( 'OVA_ELEMS_VER', '1.1.2' );
27
28 // Include necessary files
29 include(plugin_dir_path(__FILE__) . 'includes/admin-settings.php');
30 include(plugin_dir_path(__FILE__) . 'includes/slider-shortcode.php');
31 include(plugin_dir_path(__FILE__) . 'ajax/ajax.php');
32
33 //enqueue script start
34 function ova_elems_admin_scripts($hook) {
35 $is_premium_user = get_option('ovation_slider_is_premium', false);
36
37 // Define all admin pages
38 $admin_pages = [
39 'toplevel_page_ovation_elements',
40 'ovation-elements_page_select-template',
41 'admin_page_edit-slider-template-template1',
42 'admin_page_edit-slider-template-template2',
43 'admin_page_edit-slider-template-template3',
44 'admin_page_edit-slider-template-template4',
45 'admin_page_edit-slider-template-template5',
46 'admin_page_edit-slider-template-template6',
47 'admin_page_edit-slider-template-template7',
48 'admin_page_edit-slider-template-template8',
49 'ot-elements_page_select-template',
50 'edit.php?post_type=ova_elems'
51 ];
52
53 if (in_array($hook, $admin_pages) || ($hook === 'edit.php' && isset($_GET['post_type']) && $_GET['post_type'] === 'ova_elems')) {
54 // Enqueue common styles and scripts for admin pages
55 wp_enqueue_style('ova-elems-mod-bootstrap-css', plugin_dir_url(__FILE__) . 'assets/css/bootstrap.min.css', [], OVA_ELEMS_VER);
56 wp_enqueue_script('ova-elems-mod-bootstrap-js', plugin_dir_url(__FILE__) . 'assets/js/bootstrap.bundle.min.js', ['jquery'], OVA_ELEMS_VER, true);
57 wp_enqueue_style('ova-elems-admin-css-slider', plugin_dir_url(__FILE__) . 'assets/css/preview-slider.css', [], OVA_ELEMS_VER);
58 wp_enqueue_media();
59 }
60 wp_enqueue_style('ova-elems-admin-css', plugin_dir_url(__FILE__) . 'assets/css/slider-admin.css', [], OVA_ELEMS_VER);
61
62 // Define template-specific scripts
63 $templates = [
64 'admin_page_edit-slider-template-template1' => 'template-1-scripts',
65 'admin_page_edit-slider-template-template2' => 'template-2-scripts',
66 'admin_page_edit-slider-template-template3' => 'template-3-scripts',
67 'admin_page_edit-slider-template-template4' => 'template-4-scripts',
68 'admin_page_edit-slider-template-template5' => 'template-5-scripts',
69 'admin_page_edit-slider-template-template6' => 'template-6-scripts',
70 'admin_page_edit-slider-template-template7' => 'template-7-scripts',
71 'admin_page_edit-slider-template-template8' => 'template-8-scripts',
72 ];
73
74 if (array_key_exists($hook, $templates)) {
75 $script_handle = 'ova-elems-' . $templates[$hook];
76 $script_path = plugin_dir_url(__FILE__) . 'assets/js/admin/' . $templates[$hook] . '.js';
77
78 wp_enqueue_script($script_handle, $script_path, ['jquery'], OVA_ELEMS_VER, true);
79
80 wp_localize_script($script_handle, 'sliderData', [
81 'isPremiumUser' => $is_premium_user,
82 'maxSlides' => 2,
83 ]);
84
85 // Localize script
86 if ($hook == 'admin_page_edit-slider-template-template1') {
87
88 wp_localize_script($script_handle, 'wpVars', [
89 'ajaxUrl' => admin_url('admin-ajax.php'),
90 //'nonce' => wp_create_nonce('upload_cropped_image_nonce'),
91 ]);
92 }
93
94 if ($hook == 'admin_page_edit-slider-template-template2') {
95 wp_localize_script($script_handle, 'OvimageData', [
96 'plugin_url' => plugin_dir_url(__FILE__),
97 ]);
98 }
99
100 if ($hook == 'admin_page_edit-slider-template-template4' || $hook == 'admin_page_edit-slider-template-template7') {
101 wp_localize_script($script_handle, 'ova_elems_template_script', [
102 'ajaxurl' => admin_url('admin-ajax.php'),
103 ]);
104 }
105
106 if ($hook == 'admin_page_edit-slider-template-template6') {
107 wp_enqueue_script('ova-elems-bootstrap-js', plugin_dir_url(__FILE__) . 'assets/js/bootstrap.bundle.min.js', ['jquery'], OVA_ELEMS_VER, true);
108 }
109 }
110 }
111
112 add_action('admin_enqueue_scripts', 'ova_elems_admin_scripts');
113 //enqueue scripts end
114
115 function ova_elems_admin_enqueue_scripts($hook_suffix) {
116 if ($hook_suffix !== 'toplevel_page_ova-elems') {
117 return;
118 }
119
120 wp_enqueue_script('jquery');
121
122 }
123 add_action('admin_enqueue_scripts', 'ova_elems_admin_enqueue_scripts');
124
125 //i add temprory
126
127 //for enque
128 function ova_elems_enqueue_scripts($hook) {
129
130 // Enqueue Font Awesome
131 wp_enqueue_style('ova-elems-font-awesome', plugin_dir_url(__FILE__) . 'assets/css/font.all.min.css', array(), OVA_ELEMS_VER);
132 wp_enqueue_style('ova-elems-modal-css', OVA_ELEMS_URL . 'assets/css/modal.css', array(), OVA_ELEMS_VER);
133
134 wp_enqueue_script(
135 'ova-elems-redirect-js',
136 OVA_ELEMS_URL . 'assets/js/redirect.js',
137 array( 'jquery' ),
138 OVA_ELEMS_VER,
139 true
140 );
141
142 // Enqueue Bootstrap CSS
143 wp_enqueue_script('jquery');
144 if (isset($_GET['page']) && $_GET['page'] == 'ovation_elements') {
145
146 wp_enqueue_style('ova-elems-bootstrap-css', plugin_dir_url(__FILE__) . 'assets/css/bootstrap.min.css', [], OVA_ELEMS_VER);
147 // Enqueue Bootstrap JS and its dependency Popper.js
148 wp_enqueue_script('ova-elems-popper-js', plugin_dir_url(__FILE__) . 'assets/js/popper.min.js', ['jquery'], OVA_ELEMS_VER, true);
149 wp_enqueue_script('ova-elems-dash-bootstrap-js', plugin_dir_url(__FILE__) . 'assets/js/bootstrap.min.js', array('jquery', 'ova-elems-popper-js'), OVA_ELEMS_VER, true);
150 }
151 }
152 add_action('admin_enqueue_scripts', 'ova_elems_enqueue_scripts');
153
154 // Register activation hook
155 register_activation_hook(__FILE__, 'ova_elems_activate');
156
157 function ova_elems_activate() {
158 // Activation code here
159 ova_elems_post_type();
160 flush_rewrite_rules();
161 }
162
163 // Register deactivation hook
164 register_deactivation_hook(__FILE__, 'ova_elems_deactivate');
165
166 function ova_elems_deactivate() {
167 // Deactivation code here
168 flush_rewrite_rules();
169 }
170
171 function ova_elems_enqueue_block_editor_assets() {
172
173 wp_enqueue_style('ova-elems-modal-css', OVA_ELEMS_URL . 'assets/css/modal.css', array(), OVA_ELEMS_VER);
174
175 wp_register_script(
176 'ova-elems-modal-js',
177 OVA_ELEMS_URL . 'assets/js/modal.js',
178 array( 'jquery' ),
179 OVA_ELEMS_VER,
180 true
181 );
182
183 $theme = wp_get_theme();
184 $theme_author = $theme->get('Author');
185 $theme_text_domain = $theme->get('TextDomain');
186
187 $theme_directory = get_stylesheet_directory_uri();
188 $screenshot_url = $theme_directory . '/screenshot.png';
189
190 $demo_btn = strtoupper(str_replace("-", "_", $theme_text_domain)) . '_LIVE_DEMO';
191 $buy_pro = strtoupper(str_replace("-", "_", $theme_text_domain)) . '_BUY_PRO';
192 $free_doc = strtoupper(str_replace("-", "_", $theme_text_domain)) . '_FREE_DOC';
193
194 $is_demo_defined = defined($demo_btn);
195 $is_buy_pro_defined = defined($buy_pro);
196 $is_free_doc_defined = defined($free_doc);
197
198 $localize_arr = array(
199 'admin_ajax' => admin_url( 'admin-ajax.php' ),
200 'search_icon' => OVA_ELEMS_URL . 'assets/images/search.png',
201 'is_author' => $theme_author === 'pewilliams' ? true : false,
202 'bundle_image' => OVA_ELEMS_URL . 'assets/images/bundle-images.png'
203 );
204
205 if ($theme_author === 'pewilliams') {
206 $localize_arr['screenshot_url'] = $screenshot_url;
207
208 $localize_arr['demo_btn'] = $is_demo_defined ? constant($demo_btn) : 'https://www.ovationthemes.com/collections/professional-wordpress-themes';
209 $localize_arr['buy_pro'] = $is_buy_pro_defined ? constant($buy_pro) : 'https://www.ovationthemes.com/products/wordpress-bundle';
210 $localize_arr['free_doc'] = $is_free_doc_defined ? constant($free_doc) : 'https://www.ovationthemes.com/';
211 }
212
213 wp_localize_script(
214 'ova-elems-modal-js',
215 'ova_elems_modal_js',
216 $localize_arr
217 );
218 wp_enqueue_script( 'ova-elems-modal-js' );
219 }
220 add_action( 'enqueue_block_editor_assets', 'ova_elems_enqueue_block_editor_assets' );
221
222 // Register block script.
223 function ova_elems_register_block() {
224 wp_register_script( 'ova-elems-block', plugins_url( 'build/index.js', __FILE__ ), array( 'wp-blocks', 'wp-element', 'wp-editor', 'wp-components' ) );
225 register_block_type(
226 'ova-elems/ovation-sliders',
227 array(
228 'editor_script' => 'ova-elems-block',
229 'style' => 'ova-elems-style',
230 'editor_style' => 'ova-elems-editor-style',
231 'attributes' => array(
232 'selectedPost' => array(
233 'type' => 'number',
234 'default' => null,
235 ),
236 ),
237 'render_callback' => 'ova_elems_render_slider_block'
238 )
239 );
240 }
241 add_action( 'init', 'ova_elems_register_block' );
242
243 function ova_elems_render_slider_block( $attributes ) {
244
245 $id = isset( $attributes['selectedPost'] ) ? $attributes['selectedPost'] : null;
246
247 if ( ! $id ) {
248 return '';
249 }
250
251 return do_shortcode( '[ova-elems-slider-template id="' . intval( $id ) . '"]' );
252 }
253
254 add_filter( 'block_categories_all', function( $categories, $post ) {
255 return array_merge(
256 array(
257 array(
258 'slug' => 'Ovation Sliders',
259 'title' => 'Ovation Sliders',
260 'icon' => '<svg id="Layer_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.56 22.07"><defs><style>{`.cls-1 {fill: #cee1f2;}.cls-2 {fill: none;stroke: #0023c4;stroke-width: .5px;}.cls-2, .cls-3 {stroke-miterlimit: 10;}.cls-4 {fill: #0023c4;}.cls-5, .cls-3 {fill: #ff5cf4;}.cls-3 {stroke: #ff5cf4;stroke-width: .25px;}`}</style></defs><g id="Layer_1-2" data-name="Layer_1"><path class="cls-4" d="M19.76,0h-5.52c-1.33,0-2.41,1.08-2.41,2.42v8.62c0,1.33,1.08,2.41,2.41,2.41h5.52c1.33,0,2.41-1.08,2.41-2.41V3.11l-2.41-3.11ZM20.44,11.03c0,.38-.31.69-.69.69h-5.52c-.38,0-.69-.31-.69-.69V2.42c0-.38.31-.69.69-.69h5.03v.91c0,.26.19.48.43.48h.75v7.92Z"/><path class="cls-1" d="M3.45,19.65v-7.07c0-.86.7-1.55,1.55-1.55h-2.59c-.86,0-1.55.7-1.55,1.55v7.07c0,.86.7,1.55,1.55,1.55h2.59c-.86,0-1.55-.7-1.55-1.55Z"/><path class="cls-4" d="M2.41,7.28h5.34c1.33,0,2.41-.91,2.41-2.04v-3.2c0-1.12-1.08-2.04-2.41-2.04H2.41C1.08,0,0,.91,0,2.04v3.2c0,1.12,1.08,2.04,2.41,2.04ZM1.72,2.04c0-.32.31-.58.69-.58h5.34c.38,0,.69.26.69.58v3.2c0,.32-.31.58-.69.58H2.41c-.38,0-.69-.26-.69-.58v-3.2Z"/><path class="cls-4" d="M2.41,22.07h5.34c1.33,0,2.41-1.08,2.41-2.41v-7.07c0-1.33-1.08-2.41-2.41-2.41H2.41c-1.33,0-2.41,1.08-2.41,2.41v7.07c0,1.33,1.08,2.41,2.41,2.41ZM1.72,12.59c0-.38.31-.69.69-.69h5.34c.38,0,.69.31.69.69v7.07c0,.38-.31.69-.69.69H2.41c-.38,0-.69-.31-.69-.69v-7.07Z"/><circle class="cls-4" cx="5.21" cy="8.75" r=".69"/><circle class="cls-2" cx="2.85" cy="8.75" r=".56"/><circle class="cls-2" cx="7.57" cy="8.75" r=".56"/><path class="cls-5" d="M21.01,19.09c-.4,0-.72.28-.72.62v.32c0,.44-.3.79-.67.79h-5.98c-.37,0-.67-.36-.67-.79v-1.88c0-.44.3-.79.67-.79h1.61c.4,0,.72-.28.72-.62h0c0-.34-.32-.62-.72-.62h-2c-.98,0-1.78.94-1.78,2.11v1.72c0,1.17.8,2.11,1.78,2.11h6.78c.98,0,1.78-.94,1.78-2.11v-.24c0-.34-.32-.62-.72-.62h-.07Z"/><path class="cls-5" d="M22.49,16.25l-2.14-2.22c-.07-.07-.18-.1-.27-.06-.09.04-.15.13-.15.23v1.07h-.08c-1.77,0-3.21,1.44-3.21,3.21v.49c0,.11.08.21.19.24.02,0,.04,0,.05,0,.09,0,.18-.05.23-.14.46-.93,1.4-1.5,2.43-1.5h.39v1.07c0,.1.06.19.15.23.09.04.2.01.27-.06l2.14-2.22c.09-.1.09-.25,0-.34Z"/><path class="cls-3" d="M7.59,3.77l.28-.28-.28-.28s-.02-.05,0-.06c.02-.02.04-.02.06,0l.31.31s.02.05,0,.06l-.31.31s-.05.02-.06,0c-.02-.02-.02-.04,0-.06h0Z"/><path class="cls-3" d="M2.41,3.77s.02.04,0,.06c-.02.02-.05.02-.06,0l-.31-.31s-.02-.05,0-.06l.31-.31s.04-.02.06,0c.02.02.02.05,0,.06l-.28.28.28.28h0Z"/></g></svg>'
261 ),
262 ),
263 $categories
264 );
265 }, 99999, 2 );
266
267 add_action('admin_notices', 'ova_elems_admin_notice_with_html');
268
269 function ova_elems_admin_notice_with_html() {
270 ?>
271 <div class="notice is-dismissible ova-elems">
272 <div class="ova-elems-notice-banner-wrap">
273 <div class="ova-elems-notice-left-img">
274 <img src="<?php echo esc_url( OVA_ELEMS_URL . 'assets/images/notice-background.png'); ?>" alt="">
275 </div>
276 <div class="ova-elems-notice-heading">
277 <h1 class="ova-elems-main-head"><?php echo esc_html('WORDPRESS THEME BUNDLE');?></h1>
278 <h4 class="ova-elems-sub-head"><?php echo esc_html('Access 120+ Gutenberg Block WordPress themes at Just $89');?></h4>
279 </div>
280 <div class="ova-elems-notice-btn">
281 <a class="ova-elems-buy-btn" target="_blank" href="<?php echo esc_url('https://www.ovationthemes.com/products/wordpress-bundle'); ?>"><?php echo esc_html('BUY NOW');?></a>
282 </div>
283 <div class="notice-right-img">
284 <img src="<?php echo esc_url( OVA_ELEMS_URL . 'assets/images/bundle-package.png'); ?>" alt="">
285 </div>
286 </div>
287 </div>
288 <?php
289 }