PluginProbe
Easy Hotel – Powerful Hotel Booking / 2.0.4
Easy Hotel – Powerful Hotel Booking v2.0.4
2.0.8 2.0.7 2.0.6 2.0.5 2.0.4 2.0.3 2.0.2 2.0.1 2.0.0 1.9.9 1.9.8 1.9.7 1.9.6 1.9.5 1.9.4 1.9.3 1.9.2 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 All 110 releases
easy-hotel / admin / includes / classes / class.pro-add-ons.php

class.pro-add-ons.php in Easy Hotel – Powerful Hotel Booking 2.0.4, at admin/includes/classes/class.pro-add-ons.php

352 lines 20.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
3 class ESHB_PRO_ADDONS {
4
5 private $license_status = false;
6
7 public function __construct() {
8
9 }
10
11 public function eshb_get_addons(){
12 $addons = array(
13 array(
14 'name' => 'EHB Mailchimp',
15 'slug' => 'ehb-pdf-invoice/ehb-mailchimp.php',
16 'external_url' => 'https://themewant.com/downloads/ehb-mailchimp/',
17 'demo_url' => 'https://themewant.com/downloads/ehb-mailchimp/',
18 'thumbnail' => ESHB_PL_URL.'admin/assets/img/thumbnails/addons/mailchimp.png',
19 'desc' => 'Easy Hotel Mailchimp Plugin, User data collection system for Easy Hotel plugin.',
20 'is_pro' => true
21 ),
22 array(
23 'name' => 'EHB PDF Invoice',
24 'slug' => 'ehb-pdf-invoice/ehb-pdf-invoice.php',
25 'external_url' => 'https://themewant.com/downloads/ehb-pdf-invoice/',
26 'demo_url' => 'https://themewant.com/downloads/ehb-pdf-invoice/',
27 'thumbnail' => ESHB_PL_URL.'admin/assets/img/thumbnails/addons/pdf-invoice.png',
28 'desc' => 'Easy Hotel PDF Invoice Plugin, PDF Invoice generator for Easy Hotel plugin.',
29 'is_pro' => true
30 ),
31 array(
32 'name' => 'EHB WhatsApp',
33 'slug' => 'ehb-whatsapp/ehb-whatsapp.php',
34 'external_url' => 'https://themewant.com/downloads/ehb-whatsapp/',
35 'demo_url' => 'https://themewant.com/downloads/ehb-whatsapp/',
36 'thumbnail' => ESHB_PL_URL.'admin/assets/img/thumbnails/addons/whatsapp.png',
37 'desc' => 'Easy Hotel WhatsApp Plugin, WhatsApp notification sender for Easy Hotel plugin.',
38 'is_pro' => true
39 ),
40 array(
41 'name' => 'EHB Email Template',
42 'slug' => 'ehb-email-template/ehb-email-template.php',
43 'external_url' => 'https://themewant.com/downloads/ehb-email-template/',
44 'demo_url' => 'https://themewant.com/downloads/ehb-email-template/',
45 'thumbnail' => ESHB_PL_URL.'admin/assets/img/thumbnails/addons/email-template.png',
46 'desc' => 'Easy Hotel deposit Plugin, email template builder for for Easy Hotel plugin. Whether you can create custom template for emails of booking.',
47 'is_pro' => true
48 ),
49 array(
50 'name' => 'EHB Deposit',
51 'slug' => 'ehb-currency/ehb-deposit.php',
52 'external_url' => 'https://themewant.com/downloads/ehb-deposit/',
53 'demo_url' => 'https://themewant.com/downloads/ehb-deposit/',
54 'thumbnail' => ESHB_PL_URL.'admin/assets/img/thumbnails/addons/deposit.png',
55 'desc' => 'Easy Hotel deposit Plugin, deposit payment solution for Easy Hotel plugin. Whether customer can pay partial payment',
56 'is_pro' => true
57 ),
58 array(
59 'name' => 'EHB Manual Booking',
60 'slug' => 'ehb-manual-booking/ehb-manual-booking.php',
61 'external_url' => 'https://themewant.com/downloads/ehb-manual-booking/',
62 'demo_url' => 'https://themewant.com/downloads/ehb-manual-booking/',
63 'thumbnail' => ESHB_PL_URL.'admin/assets/img/thumbnails/addons/manual-booking.png',
64 'desc' => 'Easy Hotel deposit Plugin, manual booking solution for WordPress. Whether you manage manually booking from admin area',
65 'is_pro' => true
66 ),
67 array(
68 'name' => 'EHB iCal',
69 'slug' => 'ehb-ical/ehb-ical.php',
70 'external_url' => 'https://themewant.com/downloads/ehb-ical/',
71 'demo_url' => 'https://themewant.com/downloads/ehb-ical/',
72 'thumbnail' => ESHB_PL_URL.'admin/assets/img/thumbnails/addons/ical.png',
73 'desc' => 'Easy Hotel iCal Plugin, A complete ical booking solution for easy hotel plugin.',
74 'is_pro' => true
75 ),
76 array(
77 'name' => 'EHB Advanced Pricing',
78 'slug' => 'ehb-db/ehb-advanced-pricing.php',
79 'external_url' => 'https://themewant.com/downloads/ehb-advanced-pricing/',
80 'demo_url' => 'https://themewant.com/downloads/ehb-advanced-pricing/',
81 'thumbnail' => ESHB_PL_URL.'admin/assets/img/thumbnails/addons/advanced-pricing.png',
82 'desc' => 'Easy Hotel Advanced Pricing plugin, extension for adding variable and longest pricing to accommodations.',
83 'is_pro' => true
84 ),
85 array(
86 'name' => 'EHB Reviews',
87 'slug' => 'ehb-db/ehb-db.php',
88 'external_url' => 'https://themewant.com/downloads/ehb-review/',
89 'demo_url' => 'https://themewant.com/downloads/ehb-review/',
90 'thumbnail' => ESHB_PL_URL.'admin/assets/img/thumbnails/addons/review.png',
91 'desc' => 'Easy Hotel Review plugin, extension for users to give review on their favorite accommodation.',
92 'is_pro' => true
93 ),
94 array(
95 'name' => 'EHB DB',
96 'slug' => 'ehb-db/ehb-db.php',
97 'external_url' => 'https://themewant.com/downloads/ehb-db/',
98 'demo_url' => 'https://themewant.com/downloads/ehb-db/',
99 'thumbnail' => ESHB_PL_URL.'admin/assets/img/thumbnails/addons/db.png',
100 'desc' => 'Bookings Database solution for easy hotel. Whether you can export bookings and booking requests.',
101 'is_pro' => true
102 ),
103 array(
104 'name' => 'EHB Week',
105 'slug' => 'ehb-week/ehb-week.php',
106 'external_url' => 'https://themewant.com/downloads/ehb-week/',
107 'demo_url' => 'https://themewant.com/downloads/ehb-week/',
108 'thumbnail' => ESHB_PL_URL.'admin/assets/img/thumbnails/addons/week.png',
109 'desc' => 'Week reservation solution for WordPress. Whether you manage single day booking',
110 'is_pro' => true
111 ),
112 array(
113 'name' => 'EHB Single Day',
114 'slug' => 'ehb-db/ehb-db.php',
115 'external_url' => 'https://themewant.com/downloads/ehb-single-day/',
116 'demo_url' => 'https://themewant.com/downloads/eehb-single-day',
117 'thumbnail' => ESHB_PL_URL.'admin/assets/img/thumbnails/addons/db.png',
118 'desc' => 'Single day booking solution. Manage single day booking with custom pricing',
119 'is_pro' => true
120 ),
121 array(
122 'name' => 'EHB Min Max',
123 'slug' => 'ehb-min-max/ehb-min-max.php',
124 'external_url' => 'https://themewant.com/downloads/ehb-min-max/',
125 'demo_url' => 'https://themewant.com/downloads/ehb-min-max/',
126 'thumbnail' => ESHB_PL_URL.'admin/assets/img/thumbnails/addons/min-max.png',
127 'desc' => 'Minimum and Maximum reservation conditional solution for WordPress. Whether you manage single day booking',
128 'is_pro' => true
129 ),
130 array(
131 'name' => 'EHB Currency',
132 'slug' => 'ehb-currency/ehb-currency.php',
133 'external_url' => 'https://themewant.com/downloads/ehb-currency/',
134 'demo_url' => 'https://themewant.com/downloads/ehb-currency/',
135 'thumbnail' => ESHB_PL_URL.'admin/assets/img/thumbnails/addons/currency.png',
136 'desc' => 'Easily enable multi-currency pricing on your hotel booking website. This add-on allowing guests to view and pay in their preferred currency.',
137 'is_pro' => true
138 )
139
140 );
141 return $addons;
142 }
143
144 public function eshb_get_themes(){
145 $addons = array(
146 array(
147 'name' => 'Almaris - Hotel Booking WordPress Theme',
148 'slug' => 'almaris',
149 'external_url' => 'https://themeforest.net/item/almaris-hotel-booking-wordpress-theme/55353710',
150 'demo_url' => 'https://themewant.com/products/wordpress/landing/almaris/',
151 'thumbnail' => 'https://market-resized.envatousercontent.com/themeforest.net/files/542534134/preview.__large_preview.png?auto=format&q=94&cf_fit=crop&gravity=top&h=8000&w=590&s=9fd5e70fc097e3326b8910ead954ce48f2d0de1bd8f9e00fd6c2336fb677aaa9',
152 'desc' => 'A complete hotel booking solution for wordpress website.',
153 'is_pro' => true
154 ),
155 array(
156 'name' => 'Moonlit - Hotel Booking WordPress Theme',
157 'slug' => 'moonlit',
158 'external_url' => 'https://themeforest.net/item/moonlit-hotel-booking-wordpress-theme/57289887',
159 'demo_url' => 'https://reactheme.com/products/wordpress/landing/moonlit/',
160 'thumbnail' => ESHB_PL_URL.'admin/assets/img/thumbnails/themes/moonlit.jpg',
161 'desc' => 'A complete hotel booking solution for wordpress website.',
162 'is_pro' => true
163 ),
164 array(
165 'name' => 'Luxera - Hotel Booking WordPress Theme',
166 'slug' => 'luxera',
167 'external_url' => 'https://themewant.com/downloads/luxera-hotel-booking-wordpress-theme/',
168 'demo_url' => 'https://themewant.com/luxera/',
169 'thumbnail' => ESHB_PL_URL.'admin/assets/img/thumbnails/themes/luxera.jpg',
170 'desc' => 'A complete hotel booking solution for wordpress website.',
171 'is_pro' => true
172 ),
173 array(
174 'name' => 'CitySpot - Hotel Booking WordPress Theme',
175 'slug' => 'cityspot',
176 'external_url' => 'https://themewant.com/downloads/cityspot-hotel-booking-wordpress-theme/',
177 'demo_url' => 'https://themewant.com/downloads/cityspot-hotel-booking-wordpress-theme/',
178 'thumbnail' => ESHB_PL_URL.'admin/assets/img/thumbnails/themes/cityspot.jpg',
179 'desc' => 'A complete hotel booking solution for wordpress website.',
180 'is_pro' => true
181 )
182 );
183 return $addons;
184 }
185
186 public function is_plugin_active_by_name( $plugin_name ) {
187 $active_plugins = get_option( 'active_plugins' );
188
189 foreach ( $active_plugins as $plugin ) {
190 $plugin_data = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin );
191
192 if ( isset( $plugin_data['Name'] ) && stripos( $plugin_data['Name'], $plugin_name ) !== false ) {
193 return true;
194 }
195 }
196
197 return false;
198 }
199
200 public function eshb_get_addons_html(){
201 $addons = $this->eshb_get_addons();
202 ?>
203 <div class="eshb-pro-addons-card-group">
204 <?php
205 foreach ($addons as $key => $addon) {
206
207 $thumbnail_url = isset($addon['thumbnail']) && !empty($addon['thumbnail']) ? $addon['thumbnail'] : '';
208 $plugin_slug = $addon['slug']; // Plugin main file path
209 $plugin_path = WP_PLUGIN_DIR . '/' . $plugin_slug;
210 $plugin_data = [];
211 if( file_exists($plugin_path) ){
212 $plugin_data = get_plugin_data(WP_PLUGIN_DIR . '/' . $plugin_slug);
213 }
214
215 ?>
216 <div class="eshb-pro-addons-card">
217 <span class="eshb-pro-addons-base">
218 <?php
219 if($addon['is_pro'] == true ){
220 echo '<span class="eshb-pro-base">' . esc_html__('Pro', 'easy-hotel') . '</span>';
221 }else{
222 echo '<span class="eshb-free-base">' . esc_html__('Free', 'easy-hotel') . '</span>';
223 }
224 ?>
225 </span>
226 <div class="eshb-pro-addons-body">
227 <div class="eshb-pro-addons-thumbnail">
228 <img src="<?php echo esc_url($thumbnail_url); ?>" alt="plugin-icon">
229
230 </div>
231 <div class="eshb-pro-addons-content">
232 <h3 class="eshb-pro-addons-name"><?php echo esc_html( $addon['name'] )?></h3>
233 <p class="eshb-pro-addons-desc"><?php echo esc_html( $addon['desc'] )?></p>
234 <div class="eshb-pro-addons-action">
235 <input type="hidden" class="eshb-plugin-url" value="<?php echo esc_attr( $addon['external_url'] )?>">
236 <input type="hidden" class="eshb-plugin-slug" value="<?php echo esc_attr( $addon['slug'] )?>">
237 <?php
238
239
240 if (!file_exists($plugin_path)) {
241 ?>
242 <a href="<?php echo esc_url($addon['external_url']); ?>" class="eshb-action-btn-primary eshb-addons-action-button" target="_blank"><span class="button-text"><?php echo esc_html__( 'Get It Now', 'easy-hotel' ); ?></span></a>
243 <?php
244 }
245 ?>
246
247 <a href="<?php echo esc_url($addon['demo_url']); ?>" class="eshb-action-btn-secondary eshb-addons-action-button" target="_blank"><span class="button-text"><?php echo esc_html__( 'Live Demo', 'easy-hotel' )?></span></a>
248 <?php
249 if (file_exists($plugin_path)) {
250 ?>
251 <span class="eshb-plugin-install-status eshb-pro-addons-version"><?php echo esc_html__( 'Installed Version ', 'easy-hotel' ) . esc_html( $plugin_data['Version'] )?></span>
252 <?php
253 }
254 ?>
255 </div>
256 </div>
257 </div>
258
259 </div>
260 <?php
261 }
262 ?>
263 </div>
264 <?php
265 if( count($addons) > 20){
266 ?>
267 <a href="https://themewant.com/downloads" class="eshb-addons-action-button view-all-btn" target="_blank"><span class="button-text"><?php echo esc_html__( 'View All Addons', 'easy-hotel' )?></span></a>
268 <?php
269 }
270 ?>
271
272 <?php
273 }
274
275 public function eshb_get_themes_html(){
276 $themes = $this->eshb_get_themes();
277 ?>
278 <div class="eshb-pro-addons-card-group">
279 <?php
280
281 foreach ($themes as $key => $theme) {
282
283 $thumbnail_url = isset($theme['thumbnail']) && !empty($theme['thumbnail']) ? $theme['thumbnail'] : '';
284 $theme_slug = $theme['slug']; // Plugin main file path
285 $selected_theme = wp_get_theme($theme_slug);
286 $theme_data = [];
287 if( $selected_theme->exists() ){
288 $theme_data['version'] = $selected_theme->get('Version');
289 }
290
291
292 ?>
293 <div class="eshb-pro-addons-card">
294 <span class="eshb-pro-addons-base">
295 <?php
296 if($theme['is_pro'] == true ){
297 echo '<span class="eshb-pro-base">' . esc_html__('Pro', 'easy-hotel') . '</span>';
298 }else{
299 echo '<span class="eshb-free-base">' . esc_html__('Free', 'easy-hotel') . '</span>';
300 }
301 ?>
302 </span>
303 <div class="eshb-pro-addons-body">
304 <div class="eshb-pro-addons-thumbnail">
305 <img src="<?php echo esc_url($thumbnail_url); ?>" alt="plugin-icon">
306
307 </div>
308 <div class="eshb-pro-addons-content">
309 <h3 class="eshb-pro-addons-name"><?php echo esc_html( $theme['name'] )?></h3>
310 <p class="eshb-pro-addons-desc"><?php echo esc_html( $theme['desc'] )?></p>
311 <div class="eshb-pro-addons-action">
312 <input type="hidden" class="eshb-plugin-url" value="<?php echo esc_attr( $theme['external_url'] )?>">
313 <input type="hidden" class="eshb-plugin-slug" value="<?php echo esc_attr( $theme['slug'] )?>">
314 <?php
315
316 if (!isset($theme_data['version'])) {
317 ?>
318 <a href="<?php echo esc_url($theme['external_url']); ?>" class="eshb-action-btn-primary eshb-addons-action-button" target="_blank"><span class="button-text"><?php echo esc_html__( 'Get It Now', 'easy-hotel' ); ?></span></a>
319 <?php
320 }
321
322 ?>
323
324 <a href="<?php echo esc_url($theme['demo_url']); ?>" class="eshb-action-btn-secondary eshb-addons-action-button" target="_blank"><span class="button-text"><?php echo esc_html__( 'Live Demo', 'easy-hotel' )?></span></a>
325 <?php
326 if (isset($theme_data['version'])) {
327 ?>
328 <span class="eshb-plugin-install-status eshb-pro-addons-version"><?php echo esc_html__( 'Installed Version ', 'easy-hotel' ) . esc_html( $theme_data['version'] )?></span>
329 <?php
330 }
331 ?>
332 </div>
333 </div>
334 </div>
335
336 </div>
337 <?php
338 }
339 ?>
340
341 </div>
342 <?php
343 if( count($themes) > 20){
344 ?>
345 <a href="https://themeforest.net/user/reacthemes/portfolio" class="eshb-addons-action-button view-all-btn" target="_blank"><span class="button-text"><?php echo esc_html__( 'View All Themes', 'easy-hotel' )?></span></a>
346 <?php
347 }
348 ?>
349
350 <?php
351 }
352 }