| 1 |
<?php |
| 2 |
/** |
| 3 |
* Plugin Name: Ovation Elements |
| 4 |
* Plugin URI: |
| 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.0.7 |
| 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.0.7' ); |
| 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 |
function ova_elems_admin_scripts($hook) { |
| 34 |
|
| 35 |
if ($hook == 'toplevel_page_ovation_elements' || $hook == 'ovation-elements_page_select-template' || $hook == 'admin_page_edit-slider-template-template1' || $hook == 'admin_page_edit-slider-template-template2' || $hook == 'admin_page_edit-slider-template-template3' || $hook == 'admin_page_edit-slider-template-template4' || $hook == 'admin_page_edit-slider-template-template5') { |
| 36 |
|
| 37 |
wp_enqueue_style('ova-elems-bootstrap-css', plugin_dir_url(__FILE__) . 'assets/css/bootstrap.min.css', array(), OVA_ELEMS_VER); |
| 38 |
} |
| 39 |
wp_enqueue_style('ova-elems-admin-css', plugin_dir_url(__FILE__) . 'assets/css/slider-admin.css', array(), OVA_ELEMS_VER); |
| 40 |
wp_enqueue_media(); |
| 41 |
|
| 42 |
if ( $hook == 'admin_page_edit-slider-template-template1' ) { |
| 43 |
wp_enqueue_script('ova-elems-template-1-scripts', plugin_dir_url(__FILE__) . 'assets/js/admin/template-1-scripts.js', array('jquery'), OVA_ELEMS_VER, true); |
| 44 |
} elseif ( $hook == 'admin_page_edit-slider-template-template2' ) { |
| 45 |
wp_enqueue_script('ova-elems-template-2-scripts', plugin_dir_url(__FILE__) . 'assets/js/admin/template-2-scripts.js', array('jquery'), OVA_ELEMS_VER, true); |
| 46 |
} elseif ( $hook == 'admin_page_edit-slider-template-template3' ) { |
| 47 |
wp_enqueue_script('ova-elems-template-3-scripts', plugin_dir_url(__FILE__) . 'assets/js/admin/template-3-scripts.js', array('jquery'), OVA_ELEMS_VER, true); |
| 48 |
} elseif ( $hook == 'admin_page_edit-slider-template-template4' ) { |
| 49 |
wp_enqueue_script('ova-elems-template-4-scripts', plugin_dir_url(__FILE__) . 'assets/js/admin/template-4-scripts.js', array('jquery'), OVA_ELEMS_VER, true); |
| 50 |
wp_localize_script( |
| 51 |
'ova-elems-template-4-scripts', |
| 52 |
'ova_elems_template_script', |
| 53 |
array( |
| 54 |
'ajaxurl' => admin_url('admin-ajax.php') |
| 55 |
) |
| 56 |
); |
| 57 |
} elseif ( $hook == 'admin_page_edit-slider-template-template5' ) { |
| 58 |
wp_enqueue_script('ova-elems-template-5-scripts', plugin_dir_url(__FILE__) . 'assets/js/admin/template-5-scripts.js', array('jquery'), OVA_ELEMS_VER, true); |
| 59 |
} |
| 60 |
|
| 61 |
} |
| 62 |
add_action('admin_enqueue_scripts', 'ova_elems_admin_scripts'); |
| 63 |
|
| 64 |
function ova_elems_admin_enqueue_scripts($hook_suffix) { |
| 65 |
if ($hook_suffix !== 'toplevel_page_ova-elems') { |
| 66 |
return; |
| 67 |
} |
| 68 |
|
| 69 |
wp_enqueue_script('jquery'); |
| 70 |
|
| 71 |
} |
| 72 |
add_action('admin_enqueue_scripts', 'ova_elems_admin_enqueue_scripts'); |
| 73 |
|
| 74 |
//i add temprory |
| 75 |
|
| 76 |
//for enque |
| 77 |
function ova_elems_enqueue_scripts($hook) { |
| 78 |
|
| 79 |
// Enqueue Font Awesome |
| 80 |
wp_enqueue_style('ova-elems-font-awesome', plugin_dir_url(__FILE__) . 'assets/css/font.all.min.css', array(), OVA_ELEMS_VER); |
| 81 |
wp_enqueue_style('ova-elems-modal-css', OVA_ELEMS_URL . 'assets/css/modal.css', array(), OVA_ELEMS_VER); |
| 82 |
|
| 83 |
// Enqueue Bootstrap CSS |
| 84 |
wp_enqueue_script('jquery'); |
| 85 |
if (isset($_GET['page']) && $_GET['page'] == 'ovation_elements') { |
| 86 |
|
| 87 |
wp_enqueue_style('ova-elems-bootstrap-css', 'https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css', array(), OVA_ELEMS_VER); |
| 88 |
// Enqueue Bootstrap JS and its dependency Popper.js |
| 89 |
wp_enqueue_script('ova-elems-popper-js', 'https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.3/dist/umd/popper.min.js', array('jquery'), OVA_ELEMS_VER, true); |
| 90 |
wp_enqueue_script('ova-elems-bootstrap-js', 'https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js', array('jquery', 'ova-elems-popper-js'), OVA_ELEMS_VER, true); |
| 91 |
|
| 92 |
|
| 93 |
} |
| 94 |
} |
| 95 |
add_action('admin_enqueue_scripts', 'ova_elems_enqueue_scripts'); |
| 96 |
//end |
| 97 |
|
| 98 |
// Register activation hook |
| 99 |
register_activation_hook(__FILE__, 'ova_elems_activate'); |
| 100 |
|
| 101 |
function ova_elems_activate() { |
| 102 |
// Activation code here |
| 103 |
ova_elems_post_type(); |
| 104 |
flush_rewrite_rules(); |
| 105 |
} |
| 106 |
|
| 107 |
// Register deactivation hook |
| 108 |
register_deactivation_hook(__FILE__, 'ova_elems_deactivate'); |
| 109 |
|
| 110 |
function ova_elems_deactivate() { |
| 111 |
// Deactivation code here |
| 112 |
flush_rewrite_rules(); |
| 113 |
} |
| 114 |
|
| 115 |
function ova_elems_enqueue_block_editor_assets() { |
| 116 |
|
| 117 |
wp_enqueue_style('ova-elems-modal-css', OVA_ELEMS_URL . 'assets/css/modal.css', array(), OVA_ELEMS_VER); |
| 118 |
|
| 119 |
wp_register_script( |
| 120 |
'ova-elems-modal-js', |
| 121 |
OVA_ELEMS_URL . 'assets/js/modal.js', |
| 122 |
array( 'jquery' ), |
| 123 |
OVA_ELEMS_VER, |
| 124 |
true |
| 125 |
); |
| 126 |
|
| 127 |
$theme = wp_get_theme(); |
| 128 |
$theme_author = $theme->get('Author'); |
| 129 |
$theme_text_domain = $theme->get('TextDomain'); |
| 130 |
|
| 131 |
$theme_directory = get_stylesheet_directory_uri(); |
| 132 |
$screenshot_url = $theme_directory . '/screenshot.png'; |
| 133 |
|
| 134 |
$demo_btn = strtoupper(str_replace("-", "_", $theme_text_domain)) . '_LIVE_DEMO'; |
| 135 |
$buy_pro = strtoupper(str_replace("-", "_", $theme_text_domain)) . '_BUY_PRO'; |
| 136 |
$free_doc = strtoupper(str_replace("-", "_", $theme_text_domain)) . '_FREE_DOC'; |
| 137 |
|
| 138 |
$is_demo_defined = defined($demo_btn); |
| 139 |
$is_buy_pro_defined = defined($buy_pro); |
| 140 |
$is_free_doc_defined = defined($free_doc); |
| 141 |
|
| 142 |
$localize_arr = array( |
| 143 |
'admin_ajax' => admin_url( 'admin-ajax.php' ), |
| 144 |
'search_icon' => OVA_ELEMS_URL . 'assets/images/search.png', |
| 145 |
'is_author' => $theme_author === 'pewilliams' ? true : false, |
| 146 |
'bundle_image' => OVA_ELEMS_URL . 'assets/images/bundle-images.png' |
| 147 |
); |
| 148 |
|
| 149 |
if ($theme_author === 'pewilliams') { |
| 150 |
$localize_arr['screenshot_url'] = $screenshot_url; |
| 151 |
|
| 152 |
$localize_arr['demo_btn'] = $is_demo_defined ? constant($demo_btn) : 'https://www.ovationthemes.com/collections/professional-wordpress-themes'; |
| 153 |
$localize_arr['buy_pro'] = $is_buy_pro_defined ? constant($buy_pro) : 'https://www.ovationthemes.com/products/wordpress-bundle'; |
| 154 |
$localize_arr['free_doc'] = $is_free_doc_defined ? constant($free_doc) : 'https://www.ovationthemes.com/'; |
| 155 |
} |
| 156 |
|
| 157 |
wp_localize_script( |
| 158 |
'ova-elems-modal-js', |
| 159 |
'ova_elems_modal_js', |
| 160 |
$localize_arr |
| 161 |
); |
| 162 |
wp_enqueue_script( 'ova-elems-modal-js' ); |
| 163 |
} |
| 164 |
add_action( 'enqueue_block_editor_assets', 'ova_elems_enqueue_block_editor_assets' ); |
| 165 |
|
| 166 |
// Register block script. |
| 167 |
function ova_elems_register_block() { |
| 168 |
wp_register_script( 'ova-elems-block', plugins_url( 'build/index.js', __FILE__ ), array( 'wp-blocks', 'wp-element', 'wp-editor', 'wp-components' ) ); |
| 169 |
register_block_type( |
| 170 |
'ova-elems/ovation-sliders', |
| 171 |
array( |
| 172 |
'editor_script' => 'ova-elems-block', |
| 173 |
'style' => 'ova-elems-style', |
| 174 |
'editor_style' => 'ova-elems-editor-style', |
| 175 |
'attributes' => array( |
| 176 |
'selectedPost' => array( |
| 177 |
'type' => 'number', |
| 178 |
'default' => null, |
| 179 |
), |
| 180 |
), |
| 181 |
'render_callback' => 'ova_elems_render_slider_block' |
| 182 |
) |
| 183 |
); |
| 184 |
} |
| 185 |
add_action( 'init', 'ova_elems_register_block' ); |
| 186 |
|
| 187 |
function ova_elems_render_slider_block( $attributes ) { |
| 188 |
|
| 189 |
$id = isset( $attributes['selectedPost'] ) ? $attributes['selectedPost'] : null; |
| 190 |
|
| 191 |
if ( ! $id ) { |
| 192 |
return ''; |
| 193 |
} |
| 194 |
|
| 195 |
return do_shortcode( '[ova-elems-slider-template id="' . intval( $id ) . '"]' ); |
| 196 |
} |
| 197 |
|
| 198 |
add_filter( 'block_categories_all', function( $categories, $post ) { |
| 199 |
return array_merge( |
| 200 |
array( |
| 201 |
array( |
| 202 |
'slug' => 'Ovation Sliders', |
| 203 |
'title' => 'Ovation Sliders', |
| 204 |
'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>' |
| 205 |
), |
| 206 |
), |
| 207 |
$categories |
| 208 |
); |
| 209 |
}, 99999, 2 ); |
| 210 |
|
| 211 |
add_action('admin_notices', 'ova_elems_admin_notice_with_html'); |
| 212 |
|
| 213 |
function ova_elems_admin_notice_with_html() { |
| 214 |
?> |
| 215 |
<div class="notice is-dismissible ova-elems"> |
| 216 |
<div class="ova-elems-notice-banner-wrap"> |
| 217 |
<div class="ova-elems-notice-left-img"> |
| 218 |
<img src="<?php echo esc_url( OVA_ELEMS_URL . 'assets/images/notice-background.png'); ?>" alt=""> |
| 219 |
</div> |
| 220 |
<div class="ova-elems-notice-heading"> |
| 221 |
<h1 class="ova-elems-main-head"><?php echo esc_html('WORDPRESS THEME BUNDLE');?></h1> |
| 222 |
<h4 class="ova-elems-sub-head"><?php echo esc_html('Access 100+ Gutenberg Block WordPress themes at Just $89');?></h4> |
| 223 |
</div> |
| 224 |
<div class="ova-elems-notice-btn"> |
| 225 |
<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> |
| 226 |
</div> |
| 227 |
<div class="notice-right-img"> |
| 228 |
<img src="<?php echo esc_url( OVA_ELEMS_URL . 'assets/images/bundle-package.png'); ?>" alt=""> |
| 229 |
</div> |
| 230 |
</div> |
| 231 |
</div> |
| 232 |
<?php |
| 233 |
} |