Photo Gallery by WD – Responsive Photo Gallery - Version 1.3.36

Version Description

  • Added: Gallery download button.
  • Added: Enable/disable html editor.
  • Added: Overview page.
Download this release

Release Info

Developer webdorado
Plugin Icon 128x128 Photo Gallery by WD – Responsive Photo Gallery
Version 1.3.36
Comparing to
See all releases

Code changes from version 1.3.35 to 1.3.36

Files changed (107) hide show
  1. admin/controllers/BWGControllerUninstall_bwg.php +8 -0
  2. admin/models/BWGModelAddAlbumsGalleries.php +2 -0
  3. admin/models/BWGModelUninstall_bwg.php +12 -10
  4. admin/views/BWGViewAlbums_bwg.php +3 -1
  5. admin/views/BWGViewGalleries_bwg.php +2 -1
  6. admin/views/BWGViewOptions_bwg.php +39 -19
  7. admin/views/BWGViewUninstall_bwg.php +1 -1
  8. css/bwg_tables.css +3 -3
  9. featured/featured.php +0 -171
  10. featured/featured_themes.php +0 -79
  11. featured/images/best_magazine.jpg +0 -0
  12. featured/images/business_elite.jpg +0 -0
  13. featured/images/business_world.jpg +0 -0
  14. featured/images/catalog.png +0 -0
  15. featured/images/contact.builder.png +0 -0
  16. featured/images/contact.maker.png +0 -0
  17. featured/images/contacts.png +0 -0
  18. featured/images/down.png +0 -0
  19. featured/images/download_plugins.png +0 -0
  20. featured/images/ecommerce.png +0 -0
  21. featured/images/facebook.png +0 -0
  22. featured/images/faq.png +0 -0
  23. featured/images/faq_wd.png +0 -0
  24. featured/images/flash.calendar.png +0 -0
  25. featured/images/fm-import.png +0 -0
  26. featured/images/folder.menu.png +0 -0
  27. featured/images/news_magazine.jpg +0 -0
  28. featured/images/player.png +0 -0
  29. featured/images/portfolio.jpg +0 -0
  30. featured/images/post-slider.png +0 -0
  31. featured/images/random.post.png +0 -0
  32. featured/images/sauron.jpg +0 -0
  33. featured/images/twittertools.png +0 -0
  34. featured/images/zoom.png +0 -0
  35. featured/style.css +0 -202
  36. featured/themes_style.css +0 -200
  37. framework/BWGOptions.php +2 -0
  38. images/notice.png +0 -0
  39. photo-gallery-notices.php +0 -229
  40. photo-gallery.php +269 -53
  41. readme.txt +34 -22
  42. wd/README.md +129 -0
  43. wd/assets/css/deactivate_popup.css +90 -0
  44. wd/assets/css/img/allow&continue.png +0 -0
  45. wd/assets/css/img/coupon_bg.png +0 -0
  46. wd/assets/css/img/plugins_header_bg.png +0 -0
  47. wd/assets/css/img/skip.png +0 -0
  48. wd/assets/css/img/themes_headrer_bg.png +0 -0
  49. wd/assets/css/img/ug-icon-1.png +0 -0
  50. wd/assets/css/img/ug-icon-2.png +0 -0
  51. wd/assets/css/img/ug-icon-3.png +0 -0
  52. wd/assets/css/img/ug-icon-4.png +0 -0
  53. wd/assets/css/img/ug-icon-5.png +0 -0
  54. wd/assets/css/img/welcome_bg.png +0 -0
  55. {css → wd/assets/css}/notices.css +1 -2
  56. wd/assets/css/overview.css +455 -0
  57. wd/assets/css/subscribe.css +114 -0
  58. wd/assets/img/bwg_main_plugin.png +0 -0
  59. wd/assets/img/ecwd_main_plugin.png +0 -0
  60. wd/assets/img/faqwd_main_plugin.png +0 -0
  61. wd/assets/img/ffwd_main_plugin.png +0 -0
  62. wd/assets/img/fwd_main_plugin.png +0 -0
  63. wd/assets/img/gawd_main_plugin.png +0 -0
  64. wd/assets/img/gmwd_main_plugin.png +0 -0
  65. wd/assets/img/loader.gif +0 -0
  66. wd/assets/img/mwd_main_plugin.png +0 -0
  67. wd/assets/img/plugins/business_elite.png +0 -0
  68. wd/assets/img/plugins/business_world.png +0 -0
  69. featured/images/events-wd.png → wd/assets/img/plugins/event-calendar-wd.png +0 -0
  70. featured/images/form.png → wd/assets/img/plugins/form-maker.png +0 -0
  71. {featured/images → wd/assets/img/plugins}/photo-gallery.png +0 -0
  72. wd/assets/img/plugins/portfolio_gallery.png +0 -0
  73. wd/assets/img/plugins/sauron.png +0 -0
  74. featured/images/slider.png → wd/assets/img/plugins/slider-wd.png +0 -0
  75. featured/images/spider.calendar.png → wd/assets/img/plugins/spider-event-calendar.png +0 -0
  76. featured/images/google-maps.png → wd/assets/img/plugins/wd-google-maps.png +0 -0
  77. featured/images/instagram_feed.png → wd/assets/img/plugins/wd-instagram-feed.png +0 -0
  78. wd/assets/img/spinner.gif +0 -0
  79. wd/assets/img/sub_1.png +0 -0
  80. wd/assets/img/sub_2.png +0 -0
  81. wd/assets/img/sub_4.png +0 -0
  82. wd/assets/img/twd_main_plugin.png +0 -0
  83. wd/assets/img/wd_ads_main_plugin.png +0 -0
  84. wd/assets/img/wde_main_plugin.png +0 -0
  85. wd/assets/img/wdi_main_plugin.png +0 -0
  86. wd/assets/img/wdps_main_plugin.png +0 -0
  87. wd/assets/img/wds_main_plugin.png +0 -0
  88. wd/assets/img/wp_logo.png +0 -0
  89. wd/assets/img/ytwd_main_plugin.png +0 -0
  90. wd/assets/js/deactivate_popup.js +106 -0
  91. wd/assets/js/overview.js +56 -0
  92. wd/assets/js/subsribe.js +36 -0
  93. wd/config.php +127 -0
  94. wd/includes/api.php +81 -0
  95. wd/includes/deactivate.php +168 -0
  96. wd/includes/notices.php +223 -0
  97. wd/includes/overview.php +310 -0
  98. wd/includes/subscribe.php +138 -0
  99. wd/start.php +41 -0
  100. wd/templates/display_deactivation_popup.php +28 -0
  101. wd/templates/display_overview.php +33 -0
  102. wd/templates/display_overview_deals.php +88 -0
  103. wd/templates/display_overview_support.php +43 -0
  104. wd/templates/display_overview_user_guide.php +46 -0
  105. wd/templates/display_overview_welcome.php +31 -0
  106. wd/templates/display_subscribe.php +47 -0
  107. wd/wd.php +146 -0
admin/controllers/BWGControllerUninstall_bwg.php CHANGED
@@ -14,6 +14,14 @@ class BWGControllerUninstall_bwg {
14
  // Constructor & Destructor //
15
  ////////////////////////////////////////////////////////////////////////////////////////
16
  public function __construct() {
 
 
 
 
 
 
 
 
17
  }
18
  ////////////////////////////////////////////////////////////////////////////////////////
19
  // Public Methods //
14
  // Constructor & Destructor //
15
  ////////////////////////////////////////////////////////////////////////////////////////
16
  public function __construct() {
17
+ global $bwg_options;
18
+ if (!class_exists("DoradoWebConfig")) {
19
+ include_once(WD_BWG_DIR . "/wd/config.php");
20
+ }
21
+ $config = new DoradoWebConfig();
22
+ $config->set_options($bwg_options);
23
+ $deactivate_reasons = new DoradoWebDeactivate($config);
24
+ $deactivate_reasons->submit_and_deactivate();
25
  }
26
  ////////////////////////////////////////////////////////////////////////////////////////
27
  // Public Methods //
admin/models/BWGModelAddAlbumsGalleries.php CHANGED
@@ -23,6 +23,7 @@ class BWGModelAddAlbumsGalleries {
23
 
24
  public function get_rows_data($album_id) {
25
  global $wpdb;
 
26
  $where = ((isset($_POST['search_value']) && (esc_html(stripslashes($_POST['search_value'])) != '')) ? ' AND name LIKE "%' . esc_html(stripslashes($_POST['search_value'])) . '%"' : '');
27
  $asc_or_desc = ((isset($_POST['asc_or_desc'])) ? esc_html(stripslashes($_POST['asc_or_desc'])) : 'asc');
28
  $asc_or_desc = ($asc_or_desc != 'asc') ? 'desc' : 'asc';
@@ -40,6 +41,7 @@ class BWGModelAddAlbumsGalleries {
40
 
41
  public function page_nav($album_id) {
42
  global $wpdb;
 
43
  $where = ((isset($_POST['search_value']) && (esc_html(stripslashes($_POST['search_value'])) != '')) ? ' AND name LIKE "%' . esc_html(stripslashes($_POST['search_value'])) . '%"' : '');
44
  $query = "SELECT id FROM " . $wpdb->prefix . "bwg_album WHERE published=1 AND id<>" . $album_id . " " . $where . " UNION ALL SELECT id FROM " . $wpdb->prefix . "bwg_gallery WHERE published=1 " . $where;
45
  $total = count($wpdb->get_col($query));
23
 
24
  public function get_rows_data($album_id) {
25
  global $wpdb;
26
+ $album_id = (int)$album_id;
27
  $where = ((isset($_POST['search_value']) && (esc_html(stripslashes($_POST['search_value'])) != '')) ? ' AND name LIKE "%' . esc_html(stripslashes($_POST['search_value'])) . '%"' : '');
28
  $asc_or_desc = ((isset($_POST['asc_or_desc'])) ? esc_html(stripslashes($_POST['asc_or_desc'])) : 'asc');
29
  $asc_or_desc = ($asc_or_desc != 'asc') ? 'desc' : 'asc';
41
 
42
  public function page_nav($album_id) {
43
  global $wpdb;
44
+ $album_id = (int)$album_id;
45
  $where = ((isset($_POST['search_value']) && (esc_html(stripslashes($_POST['search_value'])) != '')) ? ' AND name LIKE "%' . esc_html(stripslashes($_POST['search_value'])) . '%"' : '');
46
  $query = "SELECT id FROM " . $wpdb->prefix . "bwg_album WHERE published=1 AND id<>" . $album_id . " " . $where . " UNION ALL SELECT id FROM " . $wpdb->prefix . "bwg_gallery WHERE published=1 " . $where;
47
  $total = count($wpdb->get_col($query));
admin/models/BWGModelUninstall_bwg.php CHANGED
@@ -20,17 +20,19 @@ class BWGModelUninstall_bwg {
20
  ////////////////////////////////////////////////////////////////////////////////////////
21
  public function delete_db_tables() {
22
  global $wpdb;
23
- $wpdb->query("DROP TABLE " . $wpdb->prefix . "bwg_album");
24
- $wpdb->query("DROP TABLE " . $wpdb->prefix . "bwg_album_gallery");
25
- $wpdb->query("DROP TABLE " . $wpdb->prefix . "bwg_gallery");
26
- $wpdb->query("DROP TABLE " . $wpdb->prefix . "bwg_image");
27
- $wpdb->query("DROP TABLE " . $wpdb->prefix . "bwg_image_comment");
28
- $wpdb->query("DROP TABLE " . $wpdb->prefix . "bwg_image_rate");
29
- $wpdb->query("DROP TABLE " . $wpdb->prefix . "bwg_image_tag");
30
- $wpdb->query("DROP TABLE " . $wpdb->prefix . "bwg_option");
31
- $wpdb->query("DROP TABLE " . $wpdb->prefix . "bwg_theme");
32
- $wpdb->query("DROP TABLE " . $wpdb->prefix . "bwg_shortcode");
33
  delete_option("wd_bwg_version");
 
 
34
  if (isset($_COOKIE['bwg_image_asc_or_desc'])) {
35
  $_COOKIE['bwg_image_asc_or_desc'] = '';
36
  }
20
  ////////////////////////////////////////////////////////////////////////////////////////
21
  public function delete_db_tables() {
22
  global $wpdb;
23
+ $wpdb->query("DROP TABLE IF EXISTS " . $wpdb->prefix . "bwg_album");
24
+ $wpdb->query("DROP TABLE IF EXISTS " . $wpdb->prefix . "bwg_album_gallery");
25
+ $wpdb->query("DROP TABLE IF EXISTS " . $wpdb->prefix . "bwg_gallery");
26
+ $wpdb->query("DROP TABLE IF EXISTS " . $wpdb->prefix . "bwg_image");
27
+ $wpdb->query("DROP TABLE IF EXISTS " . $wpdb->prefix . "bwg_image_comment");
28
+ $wpdb->query("DROP TABLE IF EXISTS " . $wpdb->prefix . "bwg_image_rate");
29
+ $wpdb->query("DROP TABLE IF EXISTS " . $wpdb->prefix . "bwg_image_tag");
30
+ $wpdb->query("DROP TABLE IF EXISTS " . $wpdb->prefix . "bwg_option");
31
+ $wpdb->query("DROP TABLE IF EXISTS " . $wpdb->prefix . "bwg_theme");
32
+ $wpdb->query("DROP TABLE IF EXISTS " . $wpdb->prefix . "bwg_shortcode");
33
  delete_option("wd_bwg_version");
34
+ delete_option("bwg_subscribe_done");
35
+ delete_user_meta(get_current_user_id(), 'bwg_photo_gallery');
36
  if (isset($_COOKIE['bwg_image_asc_or_desc'])) {
37
  $_COOKIE['bwg_image_asc_or_desc'] = '';
38
  }
admin/views/BWGViewAlbums_bwg.php CHANGED
@@ -194,9 +194,11 @@ class BWGViewAlbums_bwg {
194
 
195
  public function edit($id) {
196
  global $WD_BWG_UPLOAD_DIR;
 
197
  $row = $this->model->get_row_data($id);
198
  $page_title = (($id != 0) ? __('Edit album ',"bwg_back") . $row->name : __('Create new album',"bwg_back"));
199
  $per_page = $this->model->per_page();
 
200
  ?>
201
  <script>
202
  function bwg_add_preview_image(files) {
@@ -280,7 +282,7 @@ class BWGViewAlbums_bwg {
280
  <td>
281
  <div style="width:500px;">
282
  <?php
283
- if (user_can_richedit()) {
284
  wp_editor($row->description, 'description', array('teeny' => FALSE, 'textarea_name' => 'description', 'media_buttons' => FALSE, 'textarea_rows' => 5));
285
  }
286
  else {
194
 
195
  public function edit($id) {
196
  global $WD_BWG_UPLOAD_DIR;
197
+ global $wd_bwg_options;
198
  $row = $this->model->get_row_data($id);
199
  $page_title = (($id != 0) ? __('Edit album ',"bwg_back") . $row->name : __('Create new album',"bwg_back"));
200
  $per_page = $this->model->per_page();
201
+ $enable_wp_editor = isset($wd_bwg_options->enable_wp_editor) ? $wd_bwg_options->enable_wp_editor : 1;
202
  ?>
203
  <script>
204
  function bwg_add_preview_image(files) {
282
  <td>
283
  <div style="width:500px;">
284
  <?php
285
+ if (user_can_richedit() && $enable_wp_editor) {
286
  wp_editor($row->description, 'description', array('teeny' => FALSE, 'textarea_name' => 'description', 'media_buttons' => FALSE, 'textarea_rows' => 5));
287
  }
288
  else {
admin/views/BWGViewGalleries_bwg.php CHANGED
@@ -213,6 +213,7 @@ class BWGViewGalleries_bwg {
213
  $page_title = (($id != 0) ? __('Edit gallery','bwg_back') . $row->name : __('Create new gallery','bwg_back'));
214
  $per_page = $this->model->per_page();
215
  $images_count = $this->model->get_images_count($id);
 
216
  ?>
217
  <script>
218
  function spider_set_href(a, number, type) {
@@ -595,7 +596,7 @@ class BWGViewGalleries_bwg {
595
  <td>
596
  <div style="width:500px;">
597
  <?php
598
- if (user_can_richedit()) {
599
  wp_editor($row->description, 'description', array('teeny' => FALSE, 'textarea_name' => 'description', 'media_buttons' => FALSE, 'textarea_rows' => 5));
600
  }
601
  else {
213
  $page_title = (($id != 0) ? __('Edit gallery','bwg_back') . $row->name : __('Create new gallery','bwg_back'));
214
  $per_page = $this->model->per_page();
215
  $images_count = $this->model->get_images_count($id);
216
+ $enable_wp_editor = isset($wd_bwg_options->enable_wp_editor) ? $wd_bwg_options->enable_wp_editor : 1;
217
  ?>
218
  <script>
219
  function spider_set_href(a, number, type) {
596
  <td>
597
  <div style="width:500px;">
598
  <?php
599
+ if (user_can_richedit() && $enable_wp_editor) {
600
  wp_editor($row->description, 'description', array('teeny' => FALSE, 'textarea_name' => 'description', 'media_buttons' => FALSE, 'textarea_rows' => 5));
601
  }
602
  else {
admin/views/BWGViewOptions_bwg.php CHANGED
@@ -100,7 +100,7 @@ class BWGViewOptions_bwg {
100
  </div>
101
  <input type="hidden" id="type_option" name="type_option" value="<?php echo (isset($_POST["type_option"]) ? esc_html(stripslashes($_POST["type_option"])) : "bwg_default_box"); ?>" />
102
  </div>
103
- <div class="bwg_default_box default_option">
104
  <div style="display: none; width: 100%;" id="display_default_option_panel">
105
  <div class="options_tab">
106
  <div id="div_8" class="gallery_type" onclick="bwg_change_option_type('8')"> <?php echo __('Thumbnail options', 'bwg_back'); ?></div>
@@ -523,7 +523,7 @@ class BWGViewOptions_bwg {
523
  <div class="spider_description"></div>
524
  </td>
525
  </tr>
526
- <tr>
527
  <td class="spider_label_options">
528
  <label for="slideshow_effect_duration"><?php echo __('Effect duration:', 'bwg_back'); ?> </label>
529
  </td>
@@ -1160,23 +1160,23 @@ class BWGViewOptions_bwg {
1160
  </div>
1161
  </div>
1162
  </div>
1163
- <div class="bwg_options_box standart_option" style="display:none;">
1164
- <div style="display:none; width: 100%; " id="display_panel">
1165
  <div class="options_tab">
1166
- <div id="div_1" class="gallery_type" onclick="bwg_change_option_type('1')"><?php _e('General', 'bwg_back'); ?></div>
1167
- <div class="bwg_line_option">|</div>
1168
- <div id="div_2" class="gallery_type" onclick="bwg_change_option_type('2')"><?php _e('Thumbnail options', 'bwg_back'); ?></div>
1169
- <div class="bwg_line_option">|</div>
1170
- <div id="div_3" class="gallery_type" onclick="bwg_change_option_type('3')"><?php _e('Lightbox', 'bwg_back'); ?></div>
1171
- <div class="bwg_line_option">|</div>
1172
- <div id="div_4" class="gallery_type" onclick="bwg_change_option_type('4')"><?php _e('Slideshow', 'bwg_back'); ?></div>
1173
- <div class="bwg_line_option">|</div>
1174
- <div id="div_5" class="gallery_type" onclick="bwg_change_option_type('5')"><?php _e('Album options', 'bwg_back'); ?></div>
1175
- <div class="bwg_line_option">|</div>
1176
- <div id="div_6" class="gallery_type" onclick="bwg_change_option_type('6')"><?php _e('Social options', 'bwg_back'); ?></div>
1177
- <div class="bwg_line_option">|</div>
1178
- <div id="div_7" class="gallery_type" onclick="bwg_change_option_type('7')"><?php _e('Watermark', 'bwg_back'); ?></div>
1179
- <input type="hidden" id="type" name="type" value="<?php echo (isset($_POST["type"]) ? esc_html(stripslashes($_POST["type"])) : 1); ?>" />
1180
  </div>
1181
  <!--Global options-->
1182
  <div class="spider_div_options" id="div_content_1">
@@ -1319,6 +1319,16 @@ class BWGViewOptions_bwg {
1319
  <div class="spider_description"><?php _e('Enable import from Media Library in file manager.', 'bwg_back'); ?></div>
1320
  </td>
1321
  </tr>
 
 
 
 
 
 
 
 
 
 
1322
  <tr>
1323
  <td class="spider_label_options">
1324
  <label><?php _e('Enable href attribute:', 'bwg_back'); ?></label>
@@ -1370,7 +1380,17 @@ class BWGViewOptions_bwg {
1370
  <div class="spider_description"></div>
1371
  </td>
1372
  </tr>
1373
- <tr>
 
 
 
 
 
 
 
 
 
 
1374
  <td class="spider_label_options">
1375
  <label><?php echo __('Introduction tour:', 'bwg_back'); ?></label>
1376
  </td>
100
  </div>
101
  <input type="hidden" id="type_option" name="type_option" value="<?php echo (isset($_POST["type_option"]) ? esc_html(stripslashes($_POST["type_option"])) : "bwg_default_box"); ?>" />
102
  </div>
103
+ <div class="bwg_default_box default_option">
104
  <div style="display: none; width: 100%;" id="display_default_option_panel">
105
  <div class="options_tab">
106
  <div id="div_8" class="gallery_type" onclick="bwg_change_option_type('8')"> <?php echo __('Thumbnail options', 'bwg_back'); ?></div>
523
  <div class="spider_description"></div>
524
  </td>
525
  </tr>
526
+ <tr>
527
  <td class="spider_label_options">
528
  <label for="slideshow_effect_duration"><?php echo __('Effect duration:', 'bwg_back'); ?> </label>
529
  </td>
1160
  </div>
1161
  </div>
1162
  </div>
1163
+ <div class="bwg_options_box standart_option" style="display:none;">
1164
+ <div style="display:none; width: 100%;" id="display_panel">
1165
  <div class="options_tab">
1166
+ <div id="div_1" class="gallery_type" onclick="bwg_change_option_type('1')"><?php _e('General', 'bwg_back'); ?></div>
1167
+ <div class="bwg_line_option">|</div>
1168
+ <div id="div_2" class="gallery_type" onclick="bwg_change_option_type('2')"><?php _e('Thumbnail options', 'bwg_back'); ?></div>
1169
+ <div class="bwg_line_option">|</div>
1170
+ <div id="div_3" class="gallery_type" onclick="bwg_change_option_type('3')"><?php _e('Lightbox', 'bwg_back'); ?></div>
1171
+ <div class="bwg_line_option">|</div>
1172
+ <div id="div_4" class="gallery_type" onclick="bwg_change_option_type('4')"><?php _e('Slideshow', 'bwg_back'); ?></div>
1173
+ <div class="bwg_line_option">|</div>
1174
+ <div id="div_5" class="gallery_type" onclick="bwg_change_option_type('5')"><?php _e('Album options', 'bwg_back'); ?></div>
1175
+ <div class="bwg_line_option">|</div>
1176
+ <div id="div_6" class="gallery_type" onclick="bwg_change_option_type('6')"><?php _e('Social options', 'bwg_back'); ?></div>
1177
+ <div class="bwg_line_option">|</div>
1178
+ <div id="div_7" class="gallery_type" onclick="bwg_change_option_type('7')"><?php _e('Watermark', 'bwg_back'); ?></div>
1179
+ <input type="hidden" id="type" name="type" value="<?php echo (isset($_POST["type"]) ? esc_html(stripslashes($_POST["type"])) : 1); ?>" />
1180
  </div>
1181
  <!--Global options-->
1182
  <div class="spider_div_options" id="div_content_1">
1319
  <div class="spider_description"><?php _e('Enable import from Media Library in file manager.', 'bwg_back'); ?></div>
1320
  </td>
1321
  </tr>
1322
+ <tr>
1323
+ <td class="spider_label_options">
1324
+ <label><?php _e('Enable html editor:', 'bwg_back'); ?></label>
1325
+ </td>
1326
+ <td>
1327
+ <input type="radio" name="enable_wp_editor" id="enable_wp_editor_1" value="1" <?php if ($row->enable_wp_editor) echo 'checked="checked"'; ?> /><label for="enable_wp_editor_1"><?php _e('Yes', 'bwg_back'); ?></label>
1328
+ <input type="radio" name="enable_wp_editor" id="enable_wp_editor_0" value="0" <?php if (!$row->enable_wp_editor) echo 'checked="checked"'; ?> /><label for="enable_wp_editor_0"><?php _e('No', 'bwg_back'); ?></label>
1329
+ <div class="spider_description"></div>
1330
+ </td>
1331
+ </tr>
1332
  <tr>
1333
  <td class="spider_label_options">
1334
  <label><?php _e('Enable href attribute:', 'bwg_back'); ?></label>
1380
  <div class="spider_description"></div>
1381
  </td>
1382
  </tr>
1383
+ <tr>
1384
+ <td class="spider_label_options spider_free_version_label">
1385
+ <label><?php _e('Enable bulk download button:', 'bwg_back'); ?></label>
1386
+ </td>
1387
+ <td>
1388
+ <input disabled="disabled" type="radio" name="gallery_download" id="gallery_download_1" value="1" <?php if ($row->gallery_download) echo 'checked="checked"'; ?> /><label for="gallery_download_1"><?php _e('Yes', 'bwg_back'); ?></label>
1389
+ <input disabled="disabled" type="radio" name="gallery_download" id="gallery_download_0" value="0" <?php if (!$row->gallery_download) echo 'checked="checked"'; ?> /><label for="gallery_download_0"><?php _e('No', 'bwg_back'); ?></label>
1390
+ <div style="width: 200px;" class="spider_description spider_free_version"><?php _e("This option is disabled in free version.", 'bwg_back'); ?></div>
1391
+ </td>
1392
+ </tr>
1393
+ <tr>
1394
  <td class="spider_label_options">
1395
  <label><?php echo __('Introduction tour:', 'bwg_back'); ?></label>
1396
  </td>
admin/views/BWGViewUninstall_bwg.php CHANGED
@@ -160,7 +160,7 @@ class BWGViewUninstall_bwg {
160
  ?>
161
  <div class="wrap">
162
  <h2><?php _e("Uninstall Photo Gallery", 'bwg_back'); ?></h2>
163
- <p><strong><a href="<?php echo $deactivate_url; ?>"><?php _e("Click Here", 'bwg_back'); ?></a> <?php _e("To Finish the Uninstallation and Photo Gallery will be Deactivated Automatically.", 'bwg_back'); ?></strong></p>
164
  <input id="task" name="task" type="hidden" value="" />
165
  </div>
166
  <?php
160
  ?>
161
  <div class="wrap">
162
  <h2><?php _e("Uninstall Photo Gallery", 'bwg_back'); ?></h2>
163
+ <p><strong><a href="<?php echo $deactivate_url; ?>" class="bwg_deactivate_link" data-uninstall="1"><?php _e("Click Here", 'bwg_back'); ?></a> <?php _e("To Finish the Uninstallation and Photo Gallery will be Deactivated Automatically.", 'bwg_back'); ?></strong></p>
164
  <input id="task" name="task" type="hidden" value="" />
165
  </div>
166
  <?php
css/bwg_tables.css CHANGED
@@ -207,10 +207,10 @@
207
  }
208
 
209
  .spider_free_version {
210
- background-color: #00A0D2;
211
- border: 1px solid #4682B4;
212
- color: #fff;
213
  border-radius: 2px;
 
214
  padding: 2px;
215
  }
216
 
207
  }
208
 
209
  .spider_free_version {
210
+ background-color: #e0e0e0;
211
+ border: 1px solid #c3c3c3;
 
212
  border-radius: 2px;
213
+ color: #666666;
214
  padding: 2px;
215
  }
216
 
featured/featured.php DELETED
@@ -1,171 +0,0 @@
1
- <?php
2
- function spider_featured($current_plugin = '') {
3
- $plugins = array(
4
- "ecommerce-wd" => array(
5
- 'title' => 'Ecommerce',
6
- 'text' => 'Wordpress ecommerce plugin',
7
- 'content' => 'Ecommerce WD is a highly-functional, user friendly WordPress Ecommerce plugin, which is perfect for developing online stores for any level of complexity.',
8
- 'href' => 'https://web-dorado.com/products/wordpress-ecommerce.html'
9
- ),
10
- "form-maker" => array(
11
- 'title' => 'Form Maker',
12
- 'text' => 'Wordpress form builder plugin',
13
- 'content' => 'Form Maker is a modern and advanced tool for creating WordPress forms easily and fast.',
14
- 'href' => 'https://web-dorado.com/products/wordpress-form.html'
15
- ),
16
- "photo-gallery" => array(
17
- 'title' => 'Photo Gallery',
18
- 'text' => 'WordPress Photo Gallery plugin',
19
- 'content' => 'Photo Gallery is a fully responsive WordPress Gallery plugin with advanced functionality.',
20
- 'href' => 'https://web-dorado.com/products/wordpress-photo-gallery-plugin.html'
21
- ),
22
- "contact_form_bulder" => array(
23
- 'title' => 'Contact Form Builder',
24
- 'text' => 'WordPress contact form builder plugin',
25
- 'content' => 'Contact Form Builder is the best tool for quickly arranging a contact form for your clients and visitors.',
26
- 'href' => 'https://web-dorado.com/products/wordpress-contact-form-builder.html'
27
- ),
28
- "slider_wd" => array(
29
- 'title' => 'Slider WD',
30
- 'text' => 'WordPress slider plugin',
31
- 'content' => 'Create responsive, highly configurable sliders with various effects for your WordPress site.',
32
- 'href' => 'https://web-dorado.com/products/wordpress-slider-plugin.html'
33
- ),
34
- "events-wd" => array(
35
- 'title' => 'Event Calendar WD',
36
- 'text' => 'WordPress calendar plugin',
37
- 'content' => 'Organize and publish your events in an easy and elegant way using Event Calendar WD.',
38
- 'href' => 'https://web-dorado.com/products/wordpress-event-calendar-wd.html'
39
- ),
40
- "contact-maker" => array(
41
- 'title' => 'Contact Form Maker',
42
- 'text' => 'WordPress contact form maker plugin',
43
- 'content' => 'WordPress Contact Form Maker is an advanced and easy-to-use tool for creating forms.',
44
- 'href' => 'https://web-dorado.com/products/wordpress-contact-form-maker-plugin.html'
45
- ),
46
- "spider-calendar" => array(
47
- 'title' => 'Spider Calendar',
48
- 'text' => 'WordPress event calendar plugin',
49
- 'content' => 'Spider Event Calendar is a highly configurable product which allows you to have multiple organized events.',
50
- 'href' => 'https://web-dorado.com/products/wordpress-calendar.html'
51
- ),
52
- "catalog" => array(
53
- 'title' => 'Spider Catalog',
54
- 'text' => 'WordPress product catalog plugin',
55
- 'content' => 'Spider Catalog for WordPress is a convenient tool for organizing the products represented on your website into catalogs.',
56
- 'href' => 'https://web-dorado.com/products/wordpress-catalog.html'
57
- ),
58
- "player" => array(
59
- 'title' => 'Video Player',
60
- 'text' => 'WordPress Video player plugin',
61
- 'content' => 'Spider Video Player for WordPress is a Flash & HTML5 video player plugin that allows you to easily add videos to your website with the possibility.',
62
- 'href' => 'https://web-dorado.com/products/wordpress-player.html'
63
- ),
64
- "contacts" => array(
65
- 'title' => 'Spider Contacts',
66
- 'text' => 'Wordpress staff list plugin',
67
- 'content' => 'Spider Contacts helps you to display information about the group of people more intelligible, effective and convenient.',
68
- 'href' => 'https://web-dorado.com/products/wordpress-contacts-plugin.html'
69
- ),
70
- "facebook" => array(
71
- 'title' => 'Spider Facebook',
72
- 'text' => 'WordPress Facebook plugin',
73
- 'content' => 'Spider Facebook is a WordPress integration tool for Facebook.It includes all the available Facebook social plugins and widgets.',
74
- 'href' => 'https://web-dorado.com/products/wordpress-facebook.html'
75
- ),
76
- "twitter-widget" => array(
77
- 'title' => 'Widget Twitter',
78
- 'text' => 'WordPress Widget Twitter plugin',
79
- 'content' => 'The Widget Twitter plugin lets you to fully integrate your WordPress site with your Twitter account.',
80
- 'href' => 'https://web-dorado.com/products/wordpress-twitter-integration-plugin.html'
81
- ),
82
- "faq" => array(
83
- 'title' => 'Spider FAQ',
84
- 'text' => 'WordPress FAQ Plugin',
85
- 'content' => 'The Spider FAQ WordPress plugin is for creating an FAQ (Frequently Asked Questions) section for your website.',
86
- 'href' => 'https://web-dorado.com/products/wordpress-faq-plugin.html'
87
- ),
88
- "zoom" => array(
89
- 'title' => 'Zoom',
90
- 'text' => 'WordPress text zoom plugin',
91
- 'content' => 'Zoom enables site users to resize the predefined areas of the web site.',
92
- 'href' => 'https://web-dorado.com/products/wordpress-zoom.html'
93
- ),
94
- "flash-calendar" => array(
95
- 'title' => 'Flash Calendar',
96
- 'text' => 'WordPress flash calendar plugin',
97
- 'content' => 'Spider Flash Calendar is a highly configurable Flash calendar plugin which allows you to have multiple organized events.',
98
- 'href' => 'https://web-dorado.com/products/wordpress-events-calendar.html'
99
- ),
100
- "folder_menu" => array(
101
- 'title' => 'Folder Menu',
102
- 'text' => 'WordPress folder menu plugin',
103
- 'content' => 'Folder Menu Vertical is a WordPress Flash menu module for your website, designed to meet your needs and preferences.',
104
- 'href' => 'https://web-dorado.com/products/wordpress-menu-vertical.html'
105
- ),
106
- "random_post" => array(
107
- 'title' => 'Random post',
108
- 'text' => 'WordPress random post plugin',
109
- 'content' => 'Spider Random Post is a small but very smart solution for your WordPress web site.',
110
- 'href' => 'https://web-dorado.com/products/wordpress-random-post.html'
111
- ),
112
- "faq_wd" => array(
113
- 'title' => 'FAQ WD',
114
- 'text' => 'WordPress FAQ plugin',
115
- 'content' => 'Organize and publish your FAQs in an easy and elegant way using FAQ WD.',
116
- 'href' => 'https://web-dorado.com/products/wordpress-faq-wd.html'
117
- ),
118
- "instagram_feed" => array(
119
- 'title' => 'Instagram Feed WD',
120
- 'text' => 'WordPress Instagram Feed plugin',
121
- 'content' => 'WD Instagram Feed is a user-friendly tool for displaying user or hashtag-based feeds on your website.',
122
- 'href' => 'https://web-dorado.com/products/wordpress-instagram-feed-wd.html'
123
- ),
124
- "post-slider" => array(
125
- 'title' => 'Post Slider',
126
- 'text' => 'WordPress Post Slider plugin',
127
- 'content' => 'Post Slider WD is designed to show off the selected posts of your website in a slider.',
128
- 'href' => 'https://web-dorado.com/products/wordpress-post-slider-plugin.html'
129
- ),
130
- "google-maps" => array(
131
- 'title' => 'Google Map',
132
- 'text' => 'WordPress Google Maps Plugin',
133
- 'content' => 'Google Maps WD is an intuitive tool for creating Google maps with advanced markers, custom layers and overlays for your website.',
134
- 'href' => 'https://web-dorado.com/products/wordpress-google-maps-plugin.html'
135
- ),
136
- );
137
- ?>
138
- <div id="main_featured_plugins_page">
139
- <h3>Featured Plugins</h3>
140
- <div class="featured_header">
141
- <a target="_blank" href="https://web-dorado.com/wordpress-plugins.html?source=<?php echo $current_plugin; ?>">
142
- <h1>GET <?php echo $plugins[$current_plugin]["title"]; ?> +18 PLUGINS</h1>
143
- <h1 class="get_plugins">FOR $100 ONLY <span>- SAVE 70%</span></h1>
144
- <div class="try-now">
145
- <span>TRY NOW</span>
146
- </div>
147
- </a>
148
- </div>
149
- <ul id="featured-plugins-list">
150
- <?php
151
- foreach ($plugins as $key => $plugins) {
152
- if ($current_plugin != $key) {
153
- ?>
154
- <li class="<?php echo $key; ?>">
155
- <div class="product"></div>
156
- <div class="title">
157
- <strong class="heading"><?php echo $plugins['title']; ?></strong>
158
- </div>
159
- <div class="description">
160
- <p><?php echo $plugins['content']; ?></p>
161
- </div>
162
- <a target="_blank" href="<?php echo $plugins['href']; ?>?source=<?php echo $current_plugin; ?>" class="download">Download Plugin &#9658;</a>
163
- </li>
164
- <?php
165
- }
166
- }
167
- ?>
168
- </ul>
169
- </div>
170
- <?php
171
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
featured/featured_themes.php DELETED
@@ -1,79 +0,0 @@
1
- <?php
2
- function spider_featured_themes($current_plugin = '') {
3
- $themes = array(
4
- "business_elite" => array(
5
- 'title' => 'Business Elite',
6
- 'content' => 'Business Elite is a robust parallax theme for business websites. The theme uses smooth transitions and many functional sections.',
7
- 'href' => 'https://web-dorado.com/wordpress-themes/business-elite.html',
8
- "demo" => "http://themedemo.web-dorado.com/theme-businesselite/"
9
- ),
10
- "portfolio_gallery" => array(
11
- 'title' => 'Portfolio Gallery',
12
- 'content' => 'Portfolio Gallery helps to display images using various color schemes and layouts combined with elegant fonts and content parts.',
13
- 'href' => 'https://web-dorado.com/wordpress-themes/portfolio-gallery.html',
14
- "demo" => "http://themedemo.web-dorado.com/theme-portfoliogallery/"
15
- ),
16
- "sauron" => array(
17
- 'title' => 'Sauron',
18
- 'content' => 'Sauron is a multipurpose parallax theme, which uses multiple interactive sections designed for the client-engagement.',
19
- 'href' => 'https://web-dorado.com/wordpress-themes/sauron.html',
20
- "demo" => "http://themedemo.web-dorado.com/theme-sauron/"
21
- ),
22
- "business_world" => array(
23
- 'title' => 'Business World',
24
- 'content' => 'Business World is an innovative WordPress theme great for Business websites.',
25
- 'href' => 'https://web-dorado.com/wordpress-themes/business-world.html',
26
- "demo" => "http://themedemo.web-dorado.com/theme-businessworld/"
27
- ),
28
- "best_magazine" => array(
29
- 'title' => 'Best Magazine',
30
- 'content' => 'Best Magazine is an ultimate selection when you are dealing with multi-category news websites.',
31
- 'href' => 'https://web-dorado.com/wordpress-themes/best-magazine.html',
32
- "demo" => "http://themedemo.web-dorado.com/theme-bestmagazine/"
33
- ),
34
- "magazine" => array(
35
- 'title' => 'News Magazine',
36
- 'content' => 'Magazine theme is a perfect solution when creating news and informational websites. It comes with a wide range of layout options.',
37
- 'href' => 'https://web-dorado.com/wordpress-themes/news-magazine.html',
38
- "demo" => "http://themedemo.web-dorado.com/theme-newsmagazine/"
39
- ),
40
-
41
- );
42
- ?>
43
- <div id="main_featured_themes_page">
44
- <div class="page_header">
45
- <h3>Featured Themes</h3>
46
- </div>
47
- <div class="featured_header">
48
- <a href="https://web-dorado.com/wordpress-themes.html?source=<?php echo $current_plugin; ?>" target="_blank">
49
- <h1>WORDPRESS THEMES</h1>
50
- <h2 class="get_plugins">ALL FOR $40 ONLY <span>- SAVE 80%</span></h2>
51
- <div class="try-now">
52
- <span>TRY NOW</span>
53
- </div>
54
- </a>
55
- </div>
56
- <ul id="featured-plugins-list">
57
- <?php
58
- foreach ($themes as $key => $themes) {
59
- ?>
60
- <li class="<?php echo $key; ?>">
61
- <div class="product"></div>
62
- <div class="title">
63
- <strong class="heading"><?php echo $themes['title']; ?></strong>
64
- </div>
65
- <div class="description">
66
- <p><?php echo $themes['content']; ?></p>
67
- </div>
68
- <div class="links">
69
- <a target="_blank" href="<?php echo $themes["demo"]; ?>?source=<?php echo $current_plugin; ?>" class="demo"> Demo </a>
70
- <a target="_blank" href="<?php echo $themes['href']; ?>?source=<?php echo $current_plugin; ?>" class="download">Free Download</a>
71
- </div>
72
- </li>
73
- <?php
74
- }
75
- ?>
76
- </ul>
77
- </div>
78
- <?php
79
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
featured/images/best_magazine.jpg DELETED
Binary file
featured/images/business_elite.jpg DELETED
Binary file
featured/images/business_world.jpg DELETED
Binary file
featured/images/catalog.png DELETED
Binary file
featured/images/contact.builder.png DELETED
Binary file
featured/images/contact.maker.png DELETED
Binary file
featured/images/contacts.png DELETED
Binary file
featured/images/down.png DELETED
Binary file
featured/images/download_plugins.png DELETED
Binary file
featured/images/ecommerce.png DELETED
Binary file
featured/images/facebook.png DELETED
Binary file
featured/images/faq.png DELETED
Binary file
featured/images/faq_wd.png DELETED
Binary file
featured/images/flash.calendar.png DELETED
Binary file
featured/images/fm-import.png DELETED
Binary file
featured/images/folder.menu.png DELETED
Binary file
featured/images/news_magazine.jpg DELETED
Binary file
featured/images/player.png DELETED
Binary file
featured/images/portfolio.jpg DELETED
Binary file
featured/images/post-slider.png DELETED
Binary file
featured/images/random.post.png DELETED
Binary file
featured/images/sauron.jpg DELETED
Binary file
featured/images/twittertools.png DELETED
Binary file
featured/images/zoom.png DELETED
Binary file
featured/style.css DELETED
@@ -1,202 +0,0 @@
1
- @import url(http://fonts.googleapis.com/css?family=Oswald);
2
- #main_featured_plugins_page {
3
- font-family: Oswald;
4
- width: 90%;
5
- margin: 15px auto 0px auto;
6
- }
7
-
8
- #main_featured_plugins_page h3 {
9
- border-bottom: 2px solid #CECECE;
10
- color: rgb(111, 111, 111);
11
- font-family: Segoe UI;
12
- font-size: 18px;
13
- margin: 0px auto 15px auto;
14
- padding: 20px 0;
15
- }
16
-
17
- #main_featured_plugins_page #featured-plugins-list {
18
- position:relative;
19
- margin:0px auto;
20
- height:auto;
21
- display:table;
22
- list-style:none;
23
- text-align: center;
24
- width: 100%;
25
- }
26
-
27
- #main_featured_plugins_page #featured-plugins-list li {
28
- display: inline-table;
29
- width: 200px;
30
- margin: 20px 10px 0px 10px;
31
- background: #FFFFFF;
32
- border-right: 3px solid #E5E5E5;
33
- height: 335px;
34
- border-bottom: 3px solid #E5E5E5;
35
- position: relative;
36
- }
37
-
38
- #main_featured_plugins_page #featured-plugins-list li .product {
39
- position:relative;
40
- height:113px;
41
- background-color: transparent !important;
42
- background-position-x: 50% !important;
43
- margin: 7px;
44
- border-radius: 3px;
45
- background-size: 115px !important;
46
- }
47
-
48
- #main_featured_plugins_page #featured-plugins-list li .title {
49
- width: 90%;
50
- text-align: center;
51
- margin: 0 auto;
52
- }
53
-
54
- #main_featured_plugins_page #featured-plugins-list li.ecommerce-wd .product {background:url("images/ecommerce.png") center center no-repeat;}
55
- #main_featured_plugins_page #featured-plugins-list li.form-maker .product {background:url("images/form.png") center center no-repeat;}
56
- #main_featured_plugins_page #featured-plugins-list li.catalog .product {background:url("images/catalog.png") center center no-repeat;}
57
- #main_featured_plugins_page #featured-plugins-list li.contact-maker .product {background:url("images/contact.maker.png") center center no-repeat;}
58
- #main_featured_plugins_page #featured-plugins-list li.contacts .product {background:url("images/contacts.png") center center no-repeat;}
59
- #main_featured_plugins_page #featured-plugins-list li.facebook .product {background:url("images/facebook.png") center center no-repeat;}
60
- #main_featured_plugins_page #featured-plugins-list li.faq .product {background:url("images/faq.png") center center no-repeat;}
61
- #main_featured_plugins_page #featured-plugins-list li.flash-calendar .product {background:url("images/flash.calendar.png") center center no-repeat;}
62
- #main_featured_plugins_page #featured-plugins-list li.player .product {background:url("images/player.png") center center no-repeat; }
63
- #main_featured_plugins_page #featured-plugins-list li.spider-calendar .product {background:url("images/spider.calendar.png") center center no-repeat;}
64
- #main_featured_plugins_page #featured-plugins-list li.contact_form_bulder .product {background:url("images/contact.builder.png") center center no-repeat;}
65
- #main_featured_plugins_page #featured-plugins-list li.random_post .product {background:url("images/random.post.png") center center no-repeat;}
66
- #main_featured_plugins_page #featured-plugins-list li.slider_wd .product {background:url("images/slider.png") center center no-repeat;}
67
- #main_featured_plugins_page #featured-plugins-list li.folder_menu .product {background:url("images/folder.menu.png") center center no-repeat;}
68
- #main_featured_plugins_page #featured-plugins-list li.zoom .product {background:url("images/zoom.png") center center no-repeat;}
69
- #main_featured_plugins_page #featured-plugins-list li.fm-import .product {background:url("images/fm-import.png") center center no-repeat;}
70
- #main_featured_plugins_page #featured-plugins-list li.photo-gallery .product {background:url("images/photo-gallery.png") center center no-repeat;}
71
- #main_featured_plugins_page #featured-plugins-list li.twitter-widget .product {background:url("images/twittertools.png") center center no-repeat;}
72
- #main_featured_plugins_page #featured-plugins-list li.events-wd .product {background:url("images/events-wd.png") center center no-repeat;}
73
- #main_featured_plugins_page #featured-plugins-list li.faq_wd .product {background:url("images/faq_wd.png") center center no-repeat;}
74
- #main_featured_plugins_page #featured-plugins-list li.instagram_feed .product {background:url("images/instagram_feed.png") center center no-repeat;}
75
- #main_featured_plugins_page #featured-plugins-list li.post-slider .product {background:url("images/post-slider.png") center center no-repeat;}
76
- #main_featured_plugins_page #featured-plugins-list li.google-maps .product {background:url("images/google-maps.png") center center no-repeat;}
77
-
78
- #main_featured_plugins_page #featured-plugins-list li .title .heading {
79
- display: block;
80
- position: relative;
81
- font-size: 17px;
82
- color: #767676;
83
- margin: 13px 0px 13px 0px;
84
- text-transform: uppercase;
85
- }
86
-
87
- #main_featured_plugins_page #featured-plugins-list li .title p {
88
- font-size:14px;
89
- color:#444;
90
- margin-left:20px;
91
- }
92
-
93
- #main_featured_plugins_page #featured-plugins-list li .description {
94
- height: 127px;
95
- width: 90%;
96
- margin: 0 auto;
97
- }
98
-
99
- #main_featured_plugins_page #featured-plugins-list li .description p {
100
- text-align: center;
101
- width: 100%;
102
- color: #9A9A9A;
103
- font-family: Segoe UI Light;
104
- }
105
-
106
- #featured-plugins-list li a.download {
107
- display: block;
108
- border-top: 1px solid #CACACA;
109
- outline: none;
110
- width: 90%;
111
- margin: 0 auto;
112
- font-size: 14px;
113
- line-height: 40px;
114
- text-decoration: none;
115
- font-weight: bolder;
116
- text-align: center;
117
- color: #134D68;
118
- position: absolute;
119
- text-transform: uppercase;
120
- bottom: 0;
121
- left: 10px;
122
- font-family: Segoe UI Black;
123
- text-shadow: 1px 0;
124
- }
125
-
126
- #featured-plugins-list li a.download:hover {
127
- color: #F47629;
128
- }
129
-
130
- .featured_header {
131
- background: #11465F;
132
- border-right: 3px solid #E5E5E5;
133
- border-bottom: 3px solid #E5E5E5;
134
- position: relative;
135
- padding: 20px 0;
136
- }
137
-
138
- .featured_header .old_price {
139
- color: rgba(180, 180, 180, 0.3);
140
- text-decoration: line-through;
141
- font-family: Oswald;
142
- }
143
-
144
- .featured_header h1.get_plugins {
145
- color: #FFFFFF;
146
- height: 85px;
147
- margin: 0;
148
- background-size: 85% 100%;
149
- background-position: center;
150
- line-height: 60px;
151
- }
152
-
153
- .featured_header .try-now {
154
- text-align: center;
155
- }
156
-
157
- .featured_header .try-now span {
158
- display: inline-block;
159
- padding: 7px 16px;
160
- background: #F47629;
161
- border-radius: 10px;
162
- color: #ffffff;
163
- font-size: 23px;
164
- }
165
-
166
- .featured_header h1 {
167
- font-size: 50px;
168
- text-align: center;
169
- color: #FFFFFF;
170
- letter-spacing: 3px;
171
- text-transform: uppercase;
172
- }
173
-
174
- .featured_header a {
175
- text-decoration: none;
176
- }
177
-
178
- @media screen and (max-width: 1105px) {
179
- .featured_header h1 {
180
- font-size: 37px;
181
- line-height: 0;
182
- }
183
- }
184
-
185
- @media screen and (max-width: 835px) {
186
- .get_plugins span {
187
- display: none;
188
- }
189
- }
190
-
191
- @media screen and (max-width: 700px) {
192
- .featured_header h1 {
193
- line-height: 40px;
194
- }
195
- }
196
-
197
- @media screen and (max-width: 435px) {
198
- .featured_header h1 {
199
- font-size: 20px;
200
- line-height: 25px;
201
- }
202
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
featured/themes_style.css DELETED
@@ -1,200 +0,0 @@
1
- @import url(http://fonts.googleapis.com/css?family=Oswald);
2
-
3
- #main_featured_themes_page #featured-plugins-list {
4
- position: relative;
5
- margin: 0px auto;
6
- height: auto;
7
- display: table;
8
- list-style: none;
9
- text-align: center;
10
- width: 100%;
11
- }
12
-
13
- #main_featured_themes_page #featured-plugins-list li {
14
- display: inline-table;
15
- width: 300px;
16
- margin: 20px 10px 0px 10px;
17
- background: #FFFFFF;
18
- border-right: 3px solid #E5E5E5;
19
- border-bottom: 3px solid #E5E5E5;
20
- position: relative;
21
- }
22
-
23
- #main_featured_themes_page #featured-plugins-list li .product {
24
- position:relative;
25
- height: 225px;
26
- background-color: #F1F1F1 !important;
27
- background-size: 100% !important;
28
- outline: 1px solid #D6D1D1;
29
- }
30
-
31
- #main_featured_themes_page #featured-plugins-list li .title {
32
- width: 91%;
33
- text-align: center;
34
- margin: 0 auto;
35
- }
36
-
37
- #main_featured_themes_page {
38
- width: 90%;
39
- margin: 15px auto 0px auto;
40
- font-family: Oswald;
41
- }
42
-
43
- #main_featured_themes_page .page_header h3 {
44
- margin: 0px;
45
- font-family: Segoe UI;
46
- padding-bottom: 15px;
47
- color: rgb(111, 111, 111);
48
- font-size: 24px;
49
- text-align:center;
50
- }
51
- #main_featured_themes_page .page_header {
52
- height: 40px;
53
- padding: 22px 0px 0px 0px;
54
- margin-bottom: 15px;
55
- }
56
-
57
- #main_featured_themes_page #featured-plugins-list li.sauron .product {background:url("images/sauron.jpg") left center no-repeat;}
58
- #main_featured_themes_page #featured-plugins-list li.portfolio_gallery .product {background:url("images/portfolio.jpg") left center no-repeat;}
59
- #main_featured_themes_page #featured-plugins-list li.business_elite .product {background:url("images/business_elite.jpg") left center no-repeat;}
60
- #main_featured_themes_page #featured-plugins-list li.business_world .product {background:url("images/business_world.jpg") left center no-repeat;}
61
- #main_featured_themes_page #featured-plugins-list li.best_magazine .product {background:url("images/best_magazine.jpg") left center no-repeat;}
62
- #main_featured_themes_page #featured-plugins-list li.magazine .product {background:url("images/news_magazine.jpg") left center no-repeat;}
63
-
64
- #main_featured_themes_page #featured-plugins-list li .title .heading {
65
- display: block;
66
- position: relative;
67
- font-size: 17px;
68
- color: #767676;
69
- margin: 13px 0px 13px 0px;
70
- text-transform: uppercase;
71
- }
72
-
73
- #main_featured_themes_page #featured-plugins-list li .title p {
74
- font-size:14px;
75
- color:#444;
76
- margin-left:20px;
77
- }
78
-
79
- #main_featured_themes_page #featured-plugins-list li .description {
80
- height:130px;
81
- width: 90%;
82
- margin: 0 auto;
83
- }
84
-
85
- #main_featured_themes_page #featured-plugins-list li .description p {
86
- text-align: center;
87
- width: 100%;
88
- color: #666666;
89
- font-family: "Open Sans",sans-serif;
90
- font-size: 14px;
91
- }
92
- #main_featured_themes_page #featured-plugins-list li .links {
93
- border-top: 1px solid #d8d8d8;
94
- width: 90%;
95
- margin: 0 auto;
96
- font-size: 14px;
97
- line-height: 40px;
98
- font-weight: bolder;
99
- text-align: center;
100
- padding-top: 9px;
101
- padding-bottom: 12px;
102
- }
103
- #main_featured_themes_page #featured-plugins-list li a {
104
- outline: none;
105
- line-height: 29px;
106
- text-decoration: none;
107
- color: #134d68;
108
- font-family: "Open Sans",sans-serif;
109
- text-shadow: 1px 0;
110
- display: inline-block;
111
- font-size: 15px;
112
- }
113
- #main_featured_themes_page #featured-plugins-list li a.download {
114
- padding-right: 30px;
115
- background:url("images/down.png") no-repeat right;
116
- }
117
- #main_featured_themes_page #featured-plugins-list li a.demo {
118
- color: #ffffff;
119
- background: #F47629;
120
- border-radius: 3px;
121
- width: 76px;
122
- text-align:center;
123
- margin-right: 12px;
124
- }
125
-
126
- .featured_header {
127
- background: #11465F;
128
- border-right: 3px solid #E5E5E5;
129
- border-bottom: 3px solid #E5E5E5;
130
- position: relative;
131
- padding: 20px 0;
132
- }
133
-
134
- .featured_header .old_price {
135
- color: rgba(180, 180, 180, 0.3);
136
- text-decoration: line-through;
137
- font-family: Oswald;
138
- }
139
-
140
- .featured_header h2.get_plugins {
141
- color: #FFFFFF;
142
- height: 85px;
143
- margin: 0;
144
- background-size: 95% 100%;
145
- background-position: center;
146
- line-height: 60px;
147
- font-size: 45px;
148
- text-align: center;
149
- letter-spacing: 3px;
150
- }
151
-
152
- .featured_header .try-now{
153
- text-align: center;
154
- }
155
-
156
- .featured_header .try-now span {
157
- display: inline-block;
158
- padding: 7px 16px;
159
- background: #F47629;
160
- border-radius: 10px;
161
- color: #ffffff;
162
- font-size: 23px;
163
- }
164
-
165
- .featured_header h1 {
166
- font-size: 45px;
167
- text-align: center;
168
- color: #ffffff;
169
- letter-spacing: 3px;
170
- line-height: 10px;
171
- }
172
-
173
- .featured_header a {
174
- text-decoration: none;
175
- }
176
-
177
- .featured_header .old-price {
178
- color: #889CA8;
179
- text-decoration: line-through;
180
- }
181
-
182
- @media screen and (max-width: 1035px) {
183
- .featured_header h1 {
184
- font-size: 37px;
185
- line-height: 0;
186
- }
187
- }
188
-
189
- @media screen and (max-width: 835px) {
190
- .get_plugins span {
191
- display: none;
192
- }
193
- }
194
-
195
- @media screen and (max-width: 435px) {
196
- .featured_header h1 {
197
- font-size: 20px;
198
- line-height: 17px;
199
- }
200
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
framework/BWGOptions.php CHANGED
@@ -155,6 +155,8 @@ class WD_BWG_Options {
155
  public $show_hide_post_meta = 0;
156
  public $use_inline_stiles_and_scripts = 0;
157
  public $placeholder = '';
 
 
158
 
159
  public function __construct($reset = false) {
160
  $wd_bwg_options = get_option('wd_bwg_options');
155
  public $show_hide_post_meta = 0;
156
  public $use_inline_stiles_and_scripts = 0;
157
  public $placeholder = '';
158
+ public $gallery_download = 0;
159
+ public $enable_wp_editor = 1;
160
 
161
  public function __construct($reset = false) {
162
  $wd_bwg_options = get_option('wd_bwg_options');
images/notice.png DELETED
Binary file
photo-gallery-notices.php DELETED
@@ -1,229 +0,0 @@
1
- <?php
2
- if (!defined('ABSPATH')) {
3
- exit;
4
- }
5
-
6
- class BWG_Notices {
7
- protected $prefix = 'bwg';
8
- protected $plugin_url = WD_BWG_URL;
9
- protected $plugin_version = "wd_bwg_version";
10
- protected $plugin_name = 'Photo Gallery';
11
- protected $promo_link = ' https://web-dorado.com/products/wordpress-photo-gallery-plugin/add-ons/gallery-ecommerce.html?source=gallery_ecommerce_promo';
12
-
13
- public $notice_spam = 0;
14
- public $notice_spam_max = 1;
15
-
16
- // Basic actions to run
17
- public function __construct() {
18
- // Runs the admin notice ignore function incase a dismiss button has been clicked
19
- add_action('admin_init', array($this, 'admin_notice_ignore'));
20
- // Runs the admin notice temp ignore function incase a temp dismiss link has been clicked
21
- add_action('admin_init', array($this, 'admin_notice_temp_ignore'));
22
- add_action('admin_notices', array($this, 'wd_admin_notices'));
23
- }
24
-
25
- // Checks to ensure notices aren't disabled and the user has the correct permissions.
26
- public function wd_admin_notice() {
27
- $settings = get_option($this->prefix . '_admin_notice');
28
- if (!isset($settings['disable_admin_notices']) || (isset($settings['disable_admin_notices']) && $settings['disable_admin_notices'] == 0)) {
29
- if (current_user_can('manage_options')) {
30
- return true;
31
- }
32
- }
33
- return false;
34
- }
35
-
36
- // Primary notice function that can be called from an outside function sending necessary variables
37
- public function admin_notice($admin_notices) {
38
- // Check options
39
- if (!$this->wd_admin_notice()) {
40
- return false;
41
- }
42
- foreach ($admin_notices as $slug => $admin_notice) {
43
- // Call for spam protection
44
- if ($this->anti_notice_spam()) {
45
- return false;
46
- }
47
-
48
- // Check for proper page to display on
49
- if (isset( $admin_notices[$slug]['pages']) && is_array( $admin_notices[$slug]['pages'])) {
50
- if (!$this->admin_notice_pages($admin_notices[$slug]['pages'])) {
51
- return false;
52
- }
53
- }
54
-
55
- // Check for required fields
56
- if (!$this->required_fields($admin_notices[$slug])) {
57
- // Get the current date then set start date to either passed value or current date value and add interval
58
- $current_date = current_time("n/j/Y");
59
- $start = (isset($admin_notices[$slug]['start']) ? $admin_notices[$slug]['start'] : $current_date);
60
- $start = date("n/j/Y", strtotime($start));
61
- $date_array = explode('/', $start);
62
- $interval = (isset($admin_notices[$slug]['int']) ? $admin_notices[$slug]['int'] : 0);
63
- $date_array[1] += $interval;
64
- $start = date("n/j/Y", mktime(0, 0, 0, $date_array[0], $date_array[1], $date_array[2]));
65
-
66
- // This is the main notices storage option
67
- $admin_notices_option = get_option($this->prefix . '_admin_notice', array());
68
- // Check if the message is already stored and if so just grab the key otherwise store the message and its associated date information
69
- if (!array_key_exists( $slug, $admin_notices_option)) {
70
- $admin_notices_option[$slug]['start'] = $start;
71
- $admin_notices_option[$slug]['int'] = $interval;
72
- update_option($this->prefix . '_admin_notice', $admin_notices_option);
73
- }
74
-
75
- // Sanity check to ensure we have accurate information
76
- // New date information will not overwrite old date information
77
- $admin_display_check = (isset($admin_notices_option[$slug]['dismissed']) ? $admin_notices_option[$slug]['dismissed'] : 0);
78
- $admin_display_start = (isset($admin_notices_option[$slug]['start']) ? $admin_notices_option[$slug]['start'] : $start);
79
- $admin_display_interval = (isset($admin_notices_option[$slug]['int']) ? $admin_notices_option[$slug]['int'] : $interval);
80
- $admin_display_msg = (isset($admin_notices[$slug]['msg']) ? $admin_notices[$slug]['msg'] : '');
81
- $admin_display_title = (isset($admin_notices[$slug]['title']) ? $admin_notices[$slug]['title'] : '');
82
- $admin_display_link = (isset($admin_notices[$slug]['link']) ? $admin_notices[$slug]['link'] : '');
83
- $output_css = false;
84
- // Ensure the notice hasn't been hidden and that the current date is after the start date
85
- if ($admin_display_check == 0 && strtotime($admin_display_start) <= strtotime($current_date)) {
86
- // Get remaining query string
87
- $query_str = (isset($admin_notices[$slug]['later_link']) ? $admin_notices[$slug]['later_link'] : esc_url(add_query_arg($this->prefix . '_admin_notice_ignore', $slug)));
88
- if (strpos($slug, 'promo') === FALSE) {
89
- // Admin notice display output
90
- echo '<div class="update-nag wd-admin-notice">
91
- <div class="' . $this->prefix . '-notice-logo"></div>
92
- <p class="wd-notice-title">' . $admin_display_title . '</p>
93
- <p class="wd-notice-body">' . $admin_display_msg . '</p>
94
- <ul class="wd-notice-body wd-blue">' . $admin_display_link . '</ul>
95
- <a href="' . $query_str . '" class="dashicons dashicons-dismiss"></a>
96
- </div>';
97
- }
98
- else {
99
- echo '<div class="admin-notice-promo">';
100
- echo $admin_display_msg;
101
- echo '<ul class="notice-body-promo blue">
102
- ' . $admin_display_link . '
103
- </ul>';
104
- echo '<a href="' . $query_str . '" class="dashicons dashicons-dismiss close-promo"></a>';
105
- echo '</div>';
106
- }
107
- $this->notice_spam += 1;
108
- $output_css = true;
109
- }
110
- if ($output_css) {
111
- wp_enqueue_style($this->prefix . '-admin-notices', $this->plugin_url . '/css/notices.css', array(), get_option($this->plugin_version));
112
- }
113
- }
114
- }
115
- }
116
-
117
- // Spam protection check
118
- public function anti_notice_spam() {
119
- if ($this->notice_spam >= $this->notice_spam_max) {
120
- return true;
121
- }
122
- return false;
123
- }
124
-
125
- // Ignore function that gets ran at admin init to ensure any messages that were dismissed get marked
126
- public function admin_notice_ignore() {
127
- // If user clicks to ignore the notice, update the option to not show it again
128
- if (isset($_GET[$this->prefix . '_admin_notice_ignore'])) {
129
- $admin_notices_option = get_option($this->prefix . '_admin_notice', array());
130
- $admin_notices_option[$_GET[$this->prefix . '_admin_notice_ignore']]['dismissed'] = 1;
131
- update_option($this->prefix . '_admin_notice', $admin_notices_option);
132
- $query_str = remove_query_arg($this->prefix . '_admin_notice_ignore');
133
- wp_redirect($query_str);
134
- exit;
135
- }
136
- }
137
-
138
- // Temp Ignore function that gets ran at admin init to ensure any messages that were temp dismissed get their start date changed
139
- public function admin_notice_temp_ignore() {
140
- // If user clicks to temp ignore the notice, update the option to change the start date - default interval of 14 days
141
- if (isset($_GET[$this->prefix . '_admin_notice_temp_ignore'])) {
142
- $admin_notices_option = get_option($this->prefix . '_admin_notice', array());
143
- $current_date = current_time("n/j/Y");
144
- $date_array = explode('/', $current_date);
145
- $interval = (isset($_GET['wd_int']) ? $_GET['wd_int'] : 14);
146
- $date_array[1] += $interval;
147
- $new_start = date("n/j/Y", mktime(0, 0, 0, $date_array[0], $date_array[1], $date_array[2]));
148
-
149
- $admin_notices_option[$_GET[$this->prefix . '_admin_notice_temp_ignore']]['start'] = $new_start;
150
- $admin_notices_option[$_GET[$this->prefix . '_admin_notice_temp_ignore']]['dismissed'] = 0;
151
- update_option($this->prefix . '_admin_notice', $admin_notices_option);
152
- $query_str = remove_query_arg(array($this->prefix . '_admin_notice_temp_ignore', 'wd_int'));
153
- wp_redirect( $query_str );
154
- exit;
155
- }
156
- }
157
-
158
- public function admin_notice_pages($pages) {
159
- foreach ($pages as $key => $page) {
160
- if (is_array($page)) {
161
- if (isset($_GET['page']) && $_GET['page'] == $page[0] && isset($_GET['tab']) && $_GET['tab'] == $page[1]) {
162
- return true;
163
- }
164
- }
165
- else {
166
- if ($page == 'all') {
167
- return true;
168
- }
169
- if (get_current_screen()->id === $page) {
170
- return true;
171
- }
172
- if (isset($_GET['page']) && $_GET['page'] == $page) {
173
- return true;
174
- }
175
- }
176
- return false;
177
- }
178
- }
179
-
180
- // Required fields check
181
- public function required_fields( $fields ) {
182
- if (!isset( $fields['msg']) || (isset($fields['msg']) && empty($fields['msg']))) {
183
- return true;
184
- }
185
- if (!isset( $fields['title']) || (isset($fields['title']) && empty($fields['title']))) {
186
- return true;
187
- }
188
- return false;
189
- }
190
-
191
- // Special parameters function that is to be used in any extension of this class
192
- public function special_parameters($admin_notices) {
193
- // Intentionally left blank
194
- }
195
-
196
- public function wd_admin_notices() {
197
- $two_week_review_ignore = add_query_arg(array($this->prefix . '_admin_notice_ignore' => 'two_week_review'));
198
- $two_week_review_temp = add_query_arg(array($this->prefix . '_admin_notice_temp_ignore' => 'two_week_review', 'int' => 14));
199
- $promo_close = add_query_arg(array($this->prefix . '_admin_notice_ignore' => 'ecommerce_promo'));
200
-
201
- $notices['ecommerce_promo'] = array(
202
- 'title' => __('Hey! How\'s It Going?', $this->prefix),
203
- 'msg' => '<div class="promo" style="background-image: url(' . $this->plugin_url . '/images/Gallery-E-Commerce-banner.png);"><a href="' . $this->promo_link . '" target="_blank"></a></div>',
204
- 'link' => '<li><span class="dashicons dashicons-dismiss"></span><a href="' . $promo_close . '">' . __('Never show again', $this->prefix) . '</a></li>',
205
- 'int' => 3
206
- );
207
-
208
- $notices['two_week_review'] = array(
209
- 'title' => __('Leave A Review?', $this->prefix),
210
- 'msg' => sprintf(__('We hope you\'ve enjoyed using WordPress %s! Would you consider leaving us a review on WordPress.org?', $this->prefix), $this->plugin_name),
211
- 'link' => '<li><span class="dashicons dashicons-external"></span><a href="https://wordpress.org/support/view/plugin-reviews/photo-gallery?filter=5" target="_blank">' . __('Sure! I\'d love to!', $this->prefix) . '</a></li>
212
- <li><span class="dashicons dashicons-smiley"></span><a href="' . $two_week_review_ignore . '"> ' . __('I\'ve already left a review', $this->prefix) . '</a></li>
213
- <li><span class="dashicons dashicons-calendar-alt"></span><a href="' . $two_week_review_temp . '">' . __('Maybe Later', $this->prefix) . '</a></li>
214
- <li><span class="dashicons dashicons-dismiss"></span><a href="' . $two_week_review_ignore . '">' . __('Never show again', $this->prefix) . '</a></li>',
215
- 'later_link' => $two_week_review_temp,
216
- 'int' => 14
217
- );
218
- $one_week_support = add_query_arg(array($this->prefix . '_admin_notice_ignore' => 'one_week_support'));
219
- $notices['one_week_support'] = array(
220
- 'title' => __('Hey! How\'s It Going?', $this->prefix),
221
- 'msg' => sprintf(__('Thank you for using WordPress %s! We hope that you\'ve found everything you need, but if you have any questions:', $this->prefix), $this->plugin_name),
222
- 'link' => '<li><span class="dashicons dashicons-media-text"></span><a target="_blank" href="https://web-dorado.com/wordpress-gallery/installing.html">' . __('Check out User Guide', $this->prefix) . '</a></li>
223
- <li><span class="dashicons dashicons-sos"></span><a target="_blank" href="https://web-dorado.com/forum/photo-gallery.html">' . __('Get Some Help', $this->prefix) . '</a></li>
224
- <li><span class="dashicons dashicons-dismiss"></span><a href="' . $one_week_support . '">' . __('Never show again', $this->prefix) . '</a></li>',
225
- 'int' => 7
226
- );
227
- $this->admin_notice($notices);
228
- }
229
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
photo-gallery.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin Name: Photo Gallery
5
  * Plugin URI: https://web-dorado.com/products/wordpress-photo-gallery-plugin.html
6
  * Description: This plugin is a fully responsive gallery plugin with advanced functionality. It allows having different image galleries for your posts and pages. You can create unlimited number of galleries, combine them into albums, and provide descriptions and tags.
7
- * Version: 1.3.35
8
  * Author: WebDorado
9
  * Author URI: https://web-dorado.com/
10
  * License: GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
@@ -47,41 +47,42 @@ $WD_BWG_UPLOAD_DIR = $wd_bwg_options->images_directory . '/photo-gallery';
47
 
48
  // Plugin menu.
49
  function bwg_options_panel() {
50
- $galleries_page = add_menu_page('Photo Gallery', 'Photo Gallery', 'manage_options', 'galleries_bwg', 'bwg_gallery', WD_BWG_URL . '/images/icons/best-wordpress-gallery.png');
 
 
 
 
51
 
52
- $galleries_page = add_submenu_page('galleries_bwg', __('Add Galleries/Images', 'bwg_back'), __('Add Galleries/Images', 'bwg_back'), 'manage_options', 'galleries_bwg', 'bwg_gallery');
53
  add_action('admin_print_styles-' . $galleries_page, 'bwg_styles');
54
  add_action('admin_print_scripts-' . $galleries_page, 'bwg_scripts');
55
  add_action('load-' . $galleries_page, 'bwg_add_galleries_per_page_option');
56
 
57
- $albums_page = add_submenu_page('galleries_bwg', __('Albums', 'bwg_back'), __('Albums', 'bwg_back'), 'manage_options', 'albums_bwg', 'bwg_gallery');
58
  add_action('admin_print_styles-' . $albums_page, 'bwg_styles');
59
  add_action('admin_print_scripts-' . $albums_page, 'bwg_scripts');
60
  add_action('load-' . $albums_page, 'bwg_add_albums_per_page_option');
61
 
62
- $tags_page = add_submenu_page('galleries_bwg', __('Tags', 'bwg_back'), __('Tags', 'bwg_back'), 'manage_options', 'tags_bwg', 'bwg_gallery');
63
  add_action('admin_print_styles-' . $tags_page, 'bwg_styles');
64
  add_action('admin_print_scripts-' . $tags_page, 'bwg_scripts');
65
  add_action('load-' . $tags_page, 'bwg_add_tags_per_page_option');
66
 
67
- $options_page = add_submenu_page('galleries_bwg', __('Options', 'bwg_back'), __('Options', 'bwg_back'), 'manage_options', 'options_bwg', 'bwg_gallery');
68
  add_action('admin_print_styles-' . $options_page, 'bwg_styles');
69
  add_action('admin_print_scripts-' . $options_page, 'bwg_options_scripts');
70
 
71
- $themes_page = add_submenu_page('galleries_bwg', __('Themes', 'bwg_back'), __('Themes', 'bwg_back'), 'manage_options', 'themes_bwg', 'bwg_gallery');
72
  add_action('admin_print_styles-' . $themes_page, 'bwg_styles');
73
  add_action('admin_print_scripts-' . $themes_page, 'bwg_options_scripts');
74
  add_action('load-' . $themes_page, 'bwg_add_themes_per_page_option');
75
 
76
- add_submenu_page('galleries_bwg', __('Generate Shortcode', 'bwg_back'), __('Generate Shortcode', 'bwg_back'), 'manage_options', 'BWGShortcode', 'bwg_gallery');
77
 
78
- $licensing_plugins_page = add_submenu_page('galleries_bwg', __('Get Pro', 'bwg_back'), __('Get Pro', 'bwg_back'), 'manage_options', 'licensing_bwg', 'bwg_gallery');
79
  add_action('admin_print_styles-' . $licensing_plugins_page, 'bwg_licensing_styles');
80
 
81
- add_submenu_page('galleries_bwg', __('Featured Plugins', 'bwg_back'), __('Featured Plugins', 'bwg_back'), 'manage_options', 'featured_plugins_bwg', 'bwg_featured');
82
- add_submenu_page('galleries_bwg', __('Featured Themes', 'bwg_back'), __('Featured Themes', 'bwg_back'), 'manage_options', 'featured_themes_bwg', 'bwg_featured_themes');
83
-
84
- $uninstall_page = add_submenu_page('galleries_bwg', __('Uninstall', 'bwg_back'), __('Uninstall', 'bwg_back'), 'manage_options', 'uninstall_bwg', 'bwg_gallery');
85
  add_action('admin_print_styles-' . $uninstall_page, 'bwg_styles');
86
  add_action('admin_print_scripts-' . $uninstall_page, 'bwg_options_scripts');
87
 
@@ -101,36 +102,6 @@ function bwg_gallery() {
101
  }
102
  }
103
 
104
- function bwg_featured() {
105
- if (function_exists('current_user_can')) {
106
- if (!current_user_can('manage_options')) {
107
- die('Access Denied');
108
- }
109
- }
110
- else {
111
- die('Access Denied');
112
- }
113
- require_once(WD_BWG_DIR . '/featured/featured.php');
114
- wp_register_style('bwg_featured', WD_BWG_URL . '/featured/style.css', array(), wd_bwg_version());
115
- wp_print_styles('bwg_featured');
116
- spider_featured('photo-gallery');
117
- }
118
-
119
- function bwg_featured_themes() {
120
- if (function_exists('current_user_can')) {
121
- if (!current_user_can('manage_options')) {
122
- die('Access Denied');
123
- }
124
- }
125
- else {
126
- die('Access Denied');
127
- }
128
- require_once(WD_BWG_DIR . '/featured/featured_themes.php');
129
- wp_register_style('bwg_featured_themes', WD_BWG_URL . '/featured/themes_style.css', array(), wd_bwg_version());
130
- wp_print_styles('bwg_featured_themes');
131
- spider_featured_themes('photo-gallery');
132
- }
133
-
134
  function bwg_addons() {
135
  if (function_exists('current_user_can')) {
136
  if (!current_user_can('manage_options')) {
@@ -1617,7 +1588,7 @@ function bwg_activate() {
1617
  ));
1618
  }
1619
  $version = get_option('wd_bwg_version');
1620
- $new_version = '1.3.35';
1621
  if ($version && version_compare($version, $new_version, '<')) {
1622
  require_once WD_BWG_DIR . "/update/bwg_update.php";
1623
  bwg_update($version);
@@ -1669,7 +1640,7 @@ wp_oembed_add_provider( '#https://instagr(\.am|am\.com)/p/.*#i', 'https://api.in
1669
 
1670
  function bwg_update_hook() {
1671
  $version = get_option('wd_bwg_version');
1672
- $new_version = '1.3.35';
1673
  if ($version && version_compare($version, $new_version, '<')) {
1674
  require_once WD_BWG_DIR . "/update/bwg_update.php";
1675
  bwg_update($version);
@@ -1709,6 +1680,7 @@ function bwg_styles() {
1709
  $url = 'https://fonts.googleapis.com/css?family=' . $query . '&subset=greek,latin,greek-ext,vietnamese,cyrillic-ext,latin-ext,cyrillic';
1710
  wp_enqueue_style('bwg_googlefonts_' . $i, $url, null, null);
1711
  }
 
1712
  }
1713
 
1714
  // Plugin scripts.
@@ -1890,6 +1862,16 @@ function bwg_options_scripts() {
1890
  ));
1891
  require_once(WD_BWG_DIR . '/framework/WDWLibrary.php');
1892
  wp_localize_script('bwg_admin', 'bwg_objectGGF', WDWLibrary::get_google_fonts());
 
 
 
 
 
 
 
 
 
 
1893
  }
1894
 
1895
  function bwg_front_end_scripts() {
@@ -2093,11 +2075,6 @@ function wd_bwg_version() {
2093
  return $version;
2094
  }
2095
 
2096
- if (is_admin() && (!defined('DOING_AJAX') || !DOING_AJAX)) {
2097
- include_once(WD_BWG_DIR . '/photo-gallery-notices.php');
2098
- new BWG_Notices();
2099
- }
2100
-
2101
  function bwg_register_admin_scripts() {
2102
  wp_register_script('bwg_shortcode', WD_BWG_URL . '/js/bwg_shortcode.js', FALSE, wd_bwg_version());
2103
  require_once(WD_BWG_DIR . '/framework/WDWLibrary.php');
@@ -2164,10 +2141,10 @@ function bwg_topic() {
2164
  <style>
2165
  .wd_topic {
2166
  background-color: #ffffff;
 
2167
  box-sizing: border-box;
2168
  clear: both;
2169
  color: #6e7990;
2170
- float: left;
2171
  font-size: 14px;
2172
  font-weight: bold;
2173
  line-height: 30px;
@@ -2207,7 +2184,7 @@ function bwg_topic() {
2207
  text-decoration: none;
2208
  }
2209
  </style>
2210
- <div class="wd_topic">
2211
  <?php
2212
  if ($help_text) {
2213
  ?>
@@ -2240,4 +2217,243 @@ function bwg_topic() {
2240
  <?php
2241
  echo ob_get_clean();
2242
  }
2243
- add_action('admin_notices', 'bwg_topic');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  * Plugin Name: Photo Gallery
5
  * Plugin URI: https://web-dorado.com/products/wordpress-photo-gallery-plugin.html
6
  * Description: This plugin is a fully responsive gallery plugin with advanced functionality. It allows having different image galleries for your posts and pages. You can create unlimited number of galleries, combine them into albums, and provide descriptions and tags.
7
+ * Version: 1.3.36
8
  * Author: WebDorado
9
  * Author URI: https://web-dorado.com/
10
  * License: GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
47
 
48
  // Plugin menu.
49
  function bwg_options_panel() {
50
+ $parent_slug = null;
51
+ if( get_option( "bwg_subscribe_done" ) == 1 ) {
52
+ add_menu_page('Photo Gallery', 'Photo Gallery', 'manage_options', 'galleries_bwg', 'bwg_gallery', WD_BWG_URL . '/images/icons/best-wordpress-gallery.png');
53
+ $parent_slug = "galleries_bwg";
54
+ }
55
 
56
+ $galleries_page = add_submenu_page($parent_slug, __('Add Galleries/Images', 'bwg_back'), __('Add Galleries/Images', 'bwg_back'), 'manage_options', 'galleries_bwg', 'bwg_gallery');
57
  add_action('admin_print_styles-' . $galleries_page, 'bwg_styles');
58
  add_action('admin_print_scripts-' . $galleries_page, 'bwg_scripts');
59
  add_action('load-' . $galleries_page, 'bwg_add_galleries_per_page_option');
60
 
61
+ $albums_page = add_submenu_page($parent_slug, __('Albums', 'bwg_back'), __('Albums', 'bwg_back'), 'manage_options', 'albums_bwg', 'bwg_gallery');
62
  add_action('admin_print_styles-' . $albums_page, 'bwg_styles');
63
  add_action('admin_print_scripts-' . $albums_page, 'bwg_scripts');
64
  add_action('load-' . $albums_page, 'bwg_add_albums_per_page_option');
65
 
66
+ $tags_page = add_submenu_page($parent_slug, __('Tags', 'bwg_back'), __('Tags', 'bwg_back'), 'manage_options', 'tags_bwg', 'bwg_gallery');
67
  add_action('admin_print_styles-' . $tags_page, 'bwg_styles');
68
  add_action('admin_print_scripts-' . $tags_page, 'bwg_scripts');
69
  add_action('load-' . $tags_page, 'bwg_add_tags_per_page_option');
70
 
71
+ $options_page = add_submenu_page($parent_slug, __('Options', 'bwg_back'), __('Options', 'bwg_back'), 'manage_options', 'options_bwg', 'bwg_gallery');
72
  add_action('admin_print_styles-' . $options_page, 'bwg_styles');
73
  add_action('admin_print_scripts-' . $options_page, 'bwg_options_scripts');
74
 
75
+ $themes_page = add_submenu_page($parent_slug, __('Themes', 'bwg_back'), __('Themes', 'bwg_back'), 'manage_options', 'themes_bwg', 'bwg_gallery');
76
  add_action('admin_print_styles-' . $themes_page, 'bwg_styles');
77
  add_action('admin_print_scripts-' . $themes_page, 'bwg_options_scripts');
78
  add_action('load-' . $themes_page, 'bwg_add_themes_per_page_option');
79
 
80
+ add_submenu_page($parent_slug, __('Generate Shortcode', 'bwg_back'), __('Generate Shortcode', 'bwg_back'), 'manage_options', 'BWGShortcode', 'bwg_gallery');
81
 
82
+ $licensing_plugins_page = add_submenu_page($parent_slug, __('Get Pro', 'bwg_back'), __('Get Pro', 'bwg_back'), 'manage_options', 'licensing_bwg', 'bwg_gallery');
83
  add_action('admin_print_styles-' . $licensing_plugins_page, 'bwg_licensing_styles');
84
 
85
+ $uninstall_page = add_submenu_page($parent_slug, __('Uninstall', 'bwg_back'), __('Uninstall', 'bwg_back'), 'manage_options', 'uninstall_bwg', 'bwg_gallery');
 
 
 
86
  add_action('admin_print_styles-' . $uninstall_page, 'bwg_styles');
87
  add_action('admin_print_scripts-' . $uninstall_page, 'bwg_options_scripts');
88
 
102
  }
103
  }
104
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
105
  function bwg_addons() {
106
  if (function_exists('current_user_can')) {
107
  if (!current_user_can('manage_options')) {
1588
  ));
1589
  }
1590
  $version = get_option('wd_bwg_version');
1591
+ $new_version = '1.3.36';
1592
  if ($version && version_compare($version, $new_version, '<')) {
1593
  require_once WD_BWG_DIR . "/update/bwg_update.php";
1594
  bwg_update($version);
1640
 
1641
  function bwg_update_hook() {
1642
  $version = get_option('wd_bwg_version');
1643
+ $new_version = '1.3.36';
1644
  if ($version && version_compare($version, $new_version, '<')) {
1645
  require_once WD_BWG_DIR . "/update/bwg_update.php";
1646
  bwg_update($version);
1680
  $url = 'https://fonts.googleapis.com/css?family=' . $query . '&subset=greek,latin,greek-ext,vietnamese,cyrillic-ext,latin-ext,cyrillic';
1681
  wp_enqueue_style('bwg_googlefonts_' . $i, $url, null, null);
1682
  }
1683
+ wp_enqueue_style('bwg_deactivate-css', WD_BWG_URL . '/wd/assets/css/deactivate_popup.css', array(), wd_bwg_version());
1684
  }
1685
 
1686
  // Plugin scripts.
1862
  ));
1863
  require_once(WD_BWG_DIR . '/framework/WDWLibrary.php');
1864
  wp_localize_script('bwg_admin', 'bwg_objectGGF', WDWLibrary::get_google_fonts());
1865
+
1866
+ wp_enqueue_script('bwg-deactivate-popup', WD_BWG_URL . '/wd/assets/js/deactivate_popup.js', array(), wd_bwg_version(), true );
1867
+ $admin_data = wp_get_current_user();
1868
+
1869
+ wp_localize_script( 'bwg-deactivate-popup', 'bwgWDDeactivateVars', array(
1870
+ "prefix" => "bwg" ,
1871
+ "deactivate_class" => 'bwg_deactivate_link',
1872
+ "email" => $admin_data->data->user_email,
1873
+ "plugin_wd_url" => "https://web-dorado.com/products/wordpress-photo-gallery-plugin.html",
1874
+ ));
1875
  }
1876
 
1877
  function bwg_front_end_scripts() {
2075
  return $version;
2076
  }
2077
 
 
 
 
 
 
2078
  function bwg_register_admin_scripts() {
2079
  wp_register_script('bwg_shortcode', WD_BWG_URL . '/js/bwg_shortcode.js', FALSE, wd_bwg_version());
2080
  require_once(WD_BWG_DIR . '/framework/WDWLibrary.php');
2141
  <style>
2142
  .wd_topic {
2143
  background-color: #ffffff;
2144
+ border: none;
2145
  box-sizing: border-box;
2146
  clear: both;
2147
  color: #6e7990;
 
2148
  font-size: 14px;
2149
  font-weight: bold;
2150
  line-height: 30px;
2184
  text-decoration: none;
2185
  }
2186
  </style>
2187
+ <div class="update-nag wd_topic">
2188
  <?php
2189
  if ($help_text) {
2190
  ?>
2217
  <?php
2218
  echo ob_get_clean();
2219
  }
2220
+ add_action('admin_notices', 'bwg_topic', 11);
2221
+
2222
+ function bwg_overview() {
2223
+ if (is_admin() && !isset($_REQUEST['ajax'])) {
2224
+ if (!class_exists("DoradoWeb")) {
2225
+ require_once(WD_BWG_DIR . '/wd/start.php');
2226
+ }
2227
+ global $bwg_options;
2228
+ $bwg_options = array(
2229
+ "prefix" => "bwg",
2230
+ "wd_plugin_id" => 55,
2231
+ "plugin_title" => "Photo Gallery",
2232
+ "plugin_wordpress_slug" => "photo-gallery",
2233
+ "plugin_dir" => WD_BWG_DIR,
2234
+ "plugin_main_file" => __FILE__,
2235
+ "description" => __('Photo Gallery is a fully responsive gallery plugin with advanced functionality. It allows having different image galleries for your posts and pages. You can create unlimited number of galleries, combine them into albums, and provide descriptions and tags.', 'bwg'),
2236
+ // from web-dorado.com
2237
+ "plugin_features" => array(
2238
+ 0 => array(
2239
+ "title" => __("Easy Set-up and Management", "bwg"),
2240
+ "description" => __("Create stunning, 100% responsive, SEO-friendly photo galleries in minutes. Use the File Manager with single-step and easy-to-manage functionality to rename, upload, copy, add and remove images and image directories. Otherwise use WordPress built in media uploader.", "bwg"),
2241
+ ),
2242
+ 1 => array(
2243
+ "title" => __("Unlimited Photos and Albums", "bwg"),
2244
+ "description" => __("The plugin allows creating unlimited number of galleries or albums and upload images in each gallery as many as you wish. Add single/ multiple galleries into your pages and posts with the help of functional shortcode; visual shortcodes for an easier management.", "bwg"),
2245
+ ),
2246
+ 2 => array(
2247
+ "title" => __("Customizable", "bwg"),
2248
+ "description" => __("The gallery plugin is easily customizable. You can edit themes changing sizes and colors for different features. Specify the number of images to display in a single row in an album. Additionally, you can customize thumbnail images by cropping, flipping and rotating them.", "bwg"),
2249
+ ),
2250
+ 3 => array(
2251
+ "title" => __("10 View Options", "bwg"),
2252
+ "description" => __("Photo Gallery plugin allows displaying galleries and albums in 10 elegant and beautiful views:, Thumbnails, Masonry, Mosaic, Slideshow, Image Browser, Masonry Album, Compact Album, Extended Album, Blog Style Gallery, Ecommerce.", "bwg"),
2253
+ ),
2254
+ 4 => array(
2255
+ "title" => __("Audio and Video Support", "bwg"),
2256
+ "description" => __("You can include both videos and images within a single gallery. WordPress Photo Gallery Plugin supports YouTube and Vimeo videos within Galleries. It’s also possible to add audio tracks for the image slideshow.", "bwg"),
2257
+ )
2258
+ ),
2259
+ // user guide from web-dorado.com
2260
+ "user_guide" => array(
2261
+ 0 => array(
2262
+ "main_title" => __("Installing", "bwg"),
2263
+ "url" => "https://web-dorado.com/wordpress-gallery/installing.html",
2264
+ "titles" => array()
2265
+ ),
2266
+ 1 => array(
2267
+ "main_title" => __("Creating/Editing Galleries", "bwg"),
2268
+ "url" => "https://web-dorado.com/wordpress-gallery/creating-editing-galleries.html",
2269
+ "titles" => array(
2270
+ array(
2271
+ "title" => __("Instagram Gallery", "bwg"),
2272
+ "url" => "https://web-dorado.com/wordpress-gallery/creating-editing-galleries/instagram-gallery.html",
2273
+ ),
2274
+ )
2275
+ ),
2276
+ 2 => array(
2277
+ "main_title" => __("Creating/Editing Tags", "bwg"),
2278
+ "url" => "https://web-dorado.com/wordpress-gallery/creating-editing-tag.html",
2279
+ "titles" => array()
2280
+ ),
2281
+ 3 => array(
2282
+ "main_title" => __("Creating/Editing Albums", "bwg"),
2283
+ "url" => "https://web-dorado.com/wordpress-gallery/creating-editing-albums.html",
2284
+ "titles" => array()
2285
+ ),
2286
+ 4 => array(
2287
+ "main_title" => __("Editing Options", "bwg"),
2288
+ "url" => "https://web-dorado.com/wordpress-gallery/editing-options.html",
2289
+ "titles" => array(
2290
+ array(
2291
+ "title" => __("Global Options", "bwg"),
2292
+ "url" => "https://web-dorado.com/wordpress-gallery/editing-options/global-options.html",
2293
+ ),
2294
+ array(
2295
+ "title" => __("Watermark", "bwg"),
2296
+ "url" => "https://web-dorado.com/wordpress-gallery/editing-options/watermark.html",
2297
+ ),
2298
+ array(
2299
+ "title" => __("Advertisement", "bwg"),
2300
+ "url" => "https://web-dorado.com/wordpress-gallery/editing-options/advertisement.html",
2301
+ ),
2302
+ array(
2303
+ "title" => __("Lightbox", "bwg"),
2304
+ "url" => "https://web-dorado.com/wordpress-gallery/editing-options/lightbox.html",
2305
+ ),
2306
+ array(
2307
+ "title" => __("Album Options", "bwg"),
2308
+ "url" => "https://web-dorado.com/wordpress-gallery/editing-options/album-options.html",
2309
+ ),
2310
+ array(
2311
+ "title" => __("Slideshow", "bwg"),
2312
+ "url" => "https://web-dorado.com/wordpress-gallery/editing-options/slideshow.html",
2313
+ ),
2314
+ array(
2315
+ "title" => __("Thumbnail Options", "bwg"),
2316
+ "url" => "https://web-dorado.com/wordpress-gallery/editing-options/thumbnail-options.html",
2317
+ ),
2318
+ array(
2319
+ "title" => __("Image Options", "bwg"),
2320
+ "url" => "https://web-dorado.com/wordpress-gallery/editing-options/image-options.html",
2321
+ ),
2322
+ array(
2323
+ "title" => __("Social Options", "bwg"),
2324
+ "url" => "https://web-dorado.com/wordpress-gallery/editing-options/social-options.html",
2325
+ ),
2326
+ array(
2327
+ "title" => __("Carousel Options", "bwg"),
2328
+ "url" => "https://web-dorado.com/wordpress-gallery/editing-options/carousel-options.html",
2329
+ ),
2330
+ )
2331
+ ),
2332
+ 5 => array(
2333
+ "main_title" => __("Creating/Editing Themes", "bwg"),
2334
+ "url" => "https://web-dorado.com/wordpress-gallery/editing-themes.html",
2335
+ "titles" => array(
2336
+ array(
2337
+ "title" => __("Thumbnails", "bwg"),
2338
+ "url" => "https://web-dorado.com/wordpress-gallery/editing-themes/thumbnails.html",
2339
+ ),
2340
+ array(
2341
+ "title" => __("Masonry", "bwg"),
2342
+ "url" => "https://web-dorado.com/wordpress-gallery/editing-themes/masonry.html",
2343
+ ),
2344
+ array(
2345
+ "title" => __("Mosaic", "bwg"),
2346
+ "url" => "https://web-dorado.com/wordpress-gallery/editing-themes/mosaic.html",
2347
+ ),
2348
+ array(
2349
+ "title" => __("Slideshow", "bwg"),
2350
+ "url" => "https://web-dorado.com/wordpress-gallery/editing-themes/slideshow.html",
2351
+ ),
2352
+ array(
2353
+ "title" => __("Image Browser", "bwg"),
2354
+ "url" => "https://web-dorado.com/wordpress-gallery/editing-themes/image-browser.html",
2355
+ ),
2356
+ array(
2357
+ "title" => __("Compact Album", "bwg"),
2358
+ "url" => "https://web-dorado.com/wordpress-gallery/editing-themes/compact-album.html",
2359
+ ),
2360
+ array(
2361
+ "title" => __("Masonry Album", "bwg"),
2362
+ "url" => "https://web-dorado.com/wordpress-gallery/editing-themes/masonry-album.html",
2363
+ ),
2364
+ array(
2365
+ "title" => __("Extended Album", "bwg"),
2366
+ "url" => "https://web-dorado.com/wordpress-gallery/editing-themes/extended-album.html",
2367
+ ),
2368
+ array(
2369
+ "title" => __("Blog Style", "bwg"),
2370
+ "url" => "https://web-dorado.com/wordpress-gallery/editing-themes/blog-style.html",
2371
+ ),
2372
+ array(
2373
+ "title" => __("Lightbox", "bwg"),
2374
+ "url" => "https://web-dorado.com/wordpress-gallery/editing-themes/lightbox.html",
2375
+ ),
2376
+ array(
2377
+ "title" => __("Page Navigation", "bwg"),
2378
+ "url" => "https://web-dorado.com/wordpress-gallery/editing-themes/page-navigation.html",
2379
+ ),
2380
+ array(
2381
+ "title" => __("Carousel", "bwg"),
2382
+ "url" => "https://web-dorado.com/wordpress-gallery/editing-themes/carousel.html",
2383
+ ),
2384
+ )
2385
+ ),
2386
+ 6 => array(
2387
+ "main_title" => __("Generating Shortcode", "bwg"),
2388
+ "url" => "https://web-dorado.com/wordpress-gallery/shortcode-generating.html",
2389
+ "titles" => array()
2390
+ ),
2391
+ 7 => array(
2392
+ "main_title" => __("Editing Comments", "bwg"),
2393
+ "url" => "https://web-dorado.com/wordpress-gallery/comments-editing.html",
2394
+ "titles" => array()
2395
+ ),
2396
+ 8 => array(
2397
+ "main_title" => __("Editing Ratings", "bwg"),
2398
+ "url" => "https://web-dorado.com/wordpress-gallery/ratings-editing.html",
2399
+ "titles" => array()
2400
+ ),
2401
+ 9 => array(
2402
+ "main_title" => __("Publishing the Created Photo Gallery", "bwg"),
2403
+ "url" => "https://web-dorado.com/wordpress-gallery/publishing-gallery.html",
2404
+ "titles" => array(
2405
+ array(
2406
+ "title" => __("General Parameters", "bwg"),
2407
+ "url" => "https://web-dorado.com/wordpress-gallery/publishing-gallery/general-parameters.html",
2408
+ ),
2409
+ array(
2410
+ "title" => __("Lightbox Parameters", "bwg"),
2411
+ "url" => "https://web-dorado.com/wordpress-gallery/publishing-gallery/lightbox-parameters.html",
2412
+ ),
2413
+ array(
2414
+ "title" => __("Advertisement", "bwg"),
2415
+ "url" => "https://web-dorado.com/wordpress-gallery/publishing-gallery/advertisement.html",
2416
+ ),
2417
+ )
2418
+ ),
2419
+ 10 => array(
2420
+ "main_title" => __("Publishing Photo Gallery Widgets", "bwg"),
2421
+ "url" => "https://web-dorado.com/wordpress-gallery/publishing-gallery-widgets.html",
2422
+ "titles" => array(
2423
+ array(
2424
+ "title" => __("Tag Cloud", "bwg"),
2425
+ "url" => "https://web-dorado.com/wordpress-gallery/publishing-gallery-widgets/tag-cloud.html",
2426
+ ),
2427
+ array(
2428
+ "title" => __("Photo Gallery Tags Cloud", "bwg"),
2429
+ "url" => "https://web-dorado.com/wordpress-gallery/publishing-gallery-widgets/gallery-tags-cloud.html",
2430
+ ),
2431
+ array(
2432
+ "title" => __("Photo Gallery Slideshow", "bwg"),
2433
+ "url" => "https://web-dorado.com/wordpress-gallery/publishing-gallery-widgets/gallery-slideshow.html",
2434
+ ),
2435
+ array(
2436
+ "title" => __("Photo Gallery Widget", "bwg"),
2437
+ "url" => "https://web-dorado.com/wordpress-gallery/publishing-gallery-widgets/gallery-widget.html",
2438
+ ),
2439
+ )
2440
+ ),
2441
+ ),
2442
+ "video_youtube_id" => "4Mxg0FsFZZE", // e.g. https://www.youtube.com/watch?v=acaexefeP7o youtube id is the acaexefeP7o
2443
+ "plugin_wd_url" => "https://web-dorado.com/products/wordpress-photo-gallery-plugin.html",
2444
+ "plugin_wd_demo_link" => "http://wpdemo.web-dorado.com/gallery/",
2445
+ "plugin_wd_addons_link" => "https://web-dorado.com/products/wordpress-photo-gallery-plugin/add-ons.html",
2446
+ "after_subscribe" => admin_url('admin.php?page=overview_bwg'), // this can be plagin overview page or set up page
2447
+ "plugin_wizard_link" => '',
2448
+ "plugin_menu_title" => "Photo Gallery",
2449
+ "plugin_menu_icon" => WD_BWG_URL . '/images/icons/best-wordpress-gallery.png',
2450
+ "deactivate" => true,
2451
+ "subscribe" => true,
2452
+ "custom_post" => 'galleries_bwg',
2453
+ "menu_position" => null,
2454
+ );
2455
+
2456
+ dorado_web_init($bwg_options);
2457
+ }
2458
+ }
2459
+ add_action('init', 'bwg_overview');
readme.txt CHANGED
@@ -1,10 +1,10 @@
1
  === Photo Gallery by WD – Responsive Photo Gallery for WordPress ===
2
  Contributors: webdorado,wdsupport
3
  Donate link: https://web-dorado.com/products/wordpress-photo-gallery-plugin.html
4
- Tags: gallery, photo, photo gallery, image gallery, responsive gallery, video gallery,galleries, wordpress gallery plugin, images gallery, album, photo albums, simple gallery, best gallery plugin, free photo gallery, wp gallery, wordpress gallery, website gallery, gallery shortcode, best gallery, picture, pictures, gallery slider, photo album, photogallery, widget gallery, image, images, photos, gallery lightbox, photoset, wordpress photo gallery plugin, wp gallery plugins, responsive wordpress photo gallery, media, image album, filterable gallery, banner rotator, fullscreen gallery, add album, add gallery, add pictures, fotoalbum, foto, gallery decription, multiple pictures, photoalbum, upload images, upload photos, view images, view pictures, admin,comments, gallery image, image lightbox, image rotate, image slideshow, image slider, jquery, jquery gallery, slide show, slideshow, thumbnail, thumbnail view, thumbnails, thumbs, responsive, watermarking, watermarks,fullscreen slider, lightbox, photography, sidebar, slide, youtube, vimeo, videos, instagram, facebook, mosaic gallery, facebook integration, instagram feed, widget, youtube gallery, gallery slideshow, ecommerce, gallery widget, grid gallery, masonry gallery, portfolio gallery, post gallery, thumbnail gallery, watermark
5
  Requires at least: 3.4
6
  Tested up to: 4.7
7
- Stable tag: 1.3.35
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -29,7 +29,7 @@ Create 100% responsive FREE WordPress photo gallery in minutes. Easy to customiz
29
  [Facebook Integration Add-on](https://web-dorado.com/products/wordpress-photo-gallery-plugin/add-ons/facebook.html) - Display Facebook photos and videos within Photo Gallery Pro without additional efforts.
30
  [Export/Import Add-on](https://web-dorado.com/products/wordpress-photo-gallery-plugin/add-ons/export-import.html) Export/import galleries, albums and all related data from one WordPress site to another.
31
 
32
- Photo Gallery is an advanced plugin with a list of tools and options for adding and editing images for different views. This is a fully responsive gallery plugin. The product includes plugin for adding image galleries and albums to posts and pages, as well as multiple widgets. You can add images, providing detailed descriptions and tags, organize the galleries into different photo albums.
33
 
34
  The responsive photo gallery allows to upload unlimited number of pictures and create as many photo albums as you need. Want to include videos? The plugin comes with audio and video support, that will enable you to create a YouTube gallery or a Vimeo video gallery quick and easy.
35
 
@@ -64,6 +64,8 @@ Photo Gallery product in addition to the main plugin includes 4 specific widgets
64
  * Photo Gallery Slideshow
65
  * Photo Gallery (similar to the main plugin option)
66
 
 
 
67
  ###IMPORTANT:
68
  If you think you found a bug in Photo Gallery or have any problem/question concerning the plugin, please check out [Photo Gallery Support Forum](https://web-dorado.com/forum/photo-gallery.html) in our website. If you do not find a solution here, do not hesitate to [click here to contact us](https://web-dorado.com/support/contact-us.html).
69
 
@@ -71,7 +73,7 @@ If you think you found a bug in Photo Gallery or have any problem/question conce
71
  ### The list of the features:
72
 
73
  * 100% Responsive
74
- * Multiple gallery views to choose from: Thumbnails, Image Browser, Slideshow for galleries and Compact Album, Extended Album views for albums
75
  * Supports the following types of image files: JPG, JPEG, PNG and GIF
76
  * Unlimited quantity of photos in gallery
77
  * Possibility of adding unlimited quantity of galleries/albums
@@ -88,18 +90,23 @@ If you think you found a bug in Photo Gallery or have any problem/question conce
88
  * WordPress Tag cloud hosted widget
89
  * Photo Gallery Slideshow widget
90
  * Photo Gallery Widget for displaying albums and galleries as widgets
91
- * Separate shortcode generator page for the websites using custom pages/custom editors.
92
- * Support for YouTube and Vimeo videos within Galleries.
 
 
93
  * Possibility of uploading images from the Media Library of the website.
94
- * Possibility to add tags to all images at once.
95
  * Right-click disabling option for the image downloads protection.
96
  * Possibility to display images in the albums in thumbnail or masonry view upon opening
97
  * WordPress Search Integration by gallery and album title
98
- * Possibility to display the number of the images in the gallery lighbox (optional feature)
99
- * Resizing possibility after adding the images
100
  * Possibility to display Search Box on the gallery page for the search based on titles
101
- * Possibility to display the number of images in the lighbox
102
- * Redirection option upon clicking image thumbnail
 
 
 
103
  * Front-end image sorting possibility (dropdown) for the users
104
 
105
  Upgrade to [WordPress Photo Gallery Pro](https://web-dorado.com/products/wordpress-photo-gallery-plugin.html) to add features:
@@ -114,7 +121,7 @@ Upgrade to [WordPress Photo Gallery Pro](https://web-dorado.com/products/wordpre
114
  * Commenting possibility with Captcha protection possibility.
115
  * Social sharing possibility (Facebook, Google+, Twitter, Pinterest and Tumblr).
116
  * Dynamic Photo Gallery Tag Cloud widget with image tag cloud and text tag cloud options.
117
- * Possibility to include both videos and images within a single gallery.
118
  * Add ons support.
119
 
120
 
@@ -179,6 +186,11 @@ To enable the feature of adding Media Library images, go to Photo Gallery > Opti
179
 
180
  == Changelog ==
181
 
 
 
 
 
 
182
  = 1.3.35 =
183
  * Added: Support forum link.
184
  * Fixed: Instagram gallery blog style view.
@@ -904,14 +916,14 @@ If any problem occurs with installation of Photo Gallery, please let us know usi
904
 
905
 
906
  = Step 2: Creating/Editing Galleries for the Photo Gallery. =
907
- 2.1 On the left menu select Photo Gallery>Add Galleries/Images> Add new.
908
  2.2 Name. Specify the name of the gallery.
909
  2.3 Slug. Specify the alias in your website for the gallery.
910
- 2.4 Description. Fill in the information you would like to share with the gallery. The description will be visible with some of the gallery views.
911
  2.5 Author. This indicates the author of the gallery. It automatically includes the name of the logged in user, who has added the gallery.
912
  2.6 Published. Choose whether to publish the gallery or to leave it for the further publication.
913
  2.7 Preview image. Indicate the gallery image which will be used to preview the gallery. If you leave it blank, it will automatically pick the first gallery image among the uploaded files.
914
- 2.8 Images. You can add photos to the gallery by clicking Add Images button.
915
 
916
  The Photo Gallery plugin is not using standard WordPress Media Manager, instead here you will be redirected to Photo Gallery File Manager. After uploading images you should mark them and press Add button.
917
  Photo Gallery File Manager
@@ -977,7 +989,7 @@ Here you can change default options for different views of Photo Gallery, as wel
977
  5.1.4 Image role. Choose whether only author can make changes in the gallery images or not.
978
  5.1.5 Show Search box. Choose whether to display a search box for the image search in galleries or not.
979
  5.1.6 Search box width. Set the width for the search box displayed with the gallery.
980
- 5.1.7. Preload images. Choose whether to have a preload for specific number of gallery images first or have them all loaded and only then displayed in the slideshow of the gallery.
981
  5.1.8. Count of images. Specify the number of gallery images which will be loaded before opening the slideshow. The rest of the images will be loaded during the processing of the slideshow.
982
 
983
  5.2 Watermark. You can use this option to add different types of watermarks on your gallery images.
@@ -1035,11 +1047,11 @@ Advertisement position. Choose the positioning of the advertisement from the ava
1035
  5.5 Album Options
1036
  5.5.1 Number of album columns. Provide the maximum number of columns to be displayed within a single album.
1037
  5.5.2 Albums per page. Provide the maximum number of albums available in a single page.
1038
- 5.5.3 Enable pagination. Choose whether to provide pagination for the albums or not.
1039
  5.5.4 Show album title. Choose whether to display the album title or have it displayed only when hovered.
1040
  5.5.5 Enable extended album description. Choose whether to have extended album view option or not.
1041
  5.5.6 Album thumbnail dimensions. Define the width and height of the album thumbnails.
1042
- 5.5.7 Extended album height. Define the height of the album in extended album view.
1043
 
1044
  5.6 Slideshow
1045
  5.6.1 Slideshow effect. Select the slideshow effect to be applied to the galleries.
@@ -1093,7 +1105,7 @@ Use one of the default Photo Gallery themes or click Add new button to create a
1093
  6.1.11 Full background color. Choose the background color for the overall thumbnail view box.
1094
  6.1.12 Full background transparency. Specify the level of the transparency you want to apply to the overall thumbnail view box.
1095
  6.1.13 Alignment. Select the alignment of the thumbnail box.
1096
- 6.1.14 Title position. Choose the position for the gallery title.
1097
  6.1.15 Title font size. Define the font size for the gallery image title.
1098
  6.1.16 Title font color. Choose the gallery image title font color.
1099
  6.1.17 Title font family. Choose the font family for the gallery image title.
@@ -1159,11 +1171,11 @@ Use one of the default Photo Gallery themes or click Add new button to create a
1159
  6.3.40 Description font size. Define the font size for the slideshow image description.
1160
  6.3.41 Description color. Choose the color for the slideshow image description.
1161
  6.3.42 Description font family. Choose the font family for the slideshow image description.
1162
- 6.3.43 Slider bullet width. Set the slider bullet width for the slideshow.
1163
  6.3.44 Slider bullet height. Set the slider bullet height for the slideshow.
1164
  6.3.45 Slider bullet border radius. Set the border radius for the slider bullet using CSS type values.
1165
  6.3.46 Slider bullet background color. Choose the background color for the slider bullet.
1166
- 6.3.47 Slider bullet margin. Set the slider bullet margin using CSS type values.
1167
  6.3.48 Slider bullet active background color. Select the background color for the active slider bullet.
1168
  6.3.49 Slider bullet active border width. Set the border width for the active slider bullet.
1169
  6.3.50 Slider bullet active border color. Choose the border color for the active slider bullet.
@@ -1580,7 +1592,7 @@ Advertisement opacity. Define the level of opacity for the advertisement, provid
1580
  Advertisement position. Choose the positioning of the advertisement from the available 9 options.
1581
 
1582
  = Step 9: Publishing Photo Gallery widgets. =
1583
- Go to Appearance>Widgets. Here select the widget option you want to add to a custom location. Afterwards drag and drop the selected widget into the custom location, fill in the options and press Save button.
1584
  9.1 Tag Cloud. This widget is included as a hosted widget for the WordPress standard Tag Cloud. It will display the tags added to the albums and images. After the click, the images using the tags will be displayed in Thumbnails view.
1585
  9.1.1 Title. Provide a title for the tag cloud.
1586
  9.1.2 Taxonomy. Select Photo Gallery from the provided options.
1
  === Photo Gallery by WD – Responsive Photo Gallery for WordPress ===
2
  Contributors: webdorado,wdsupport
3
  Donate link: https://web-dorado.com/products/wordpress-photo-gallery-plugin.html
4
+ Tags: gallery, photo gallery, image gallery, responsive gallery, wordpress gallery plugin, photo albums, gallery slider, gallery lightbox, wordpress photo gallery plugin, fullscreen gallery, watermarking, video gallery
5
  Requires at least: 3.4
6
  Tested up to: 4.7
7
+ Stable tag: 1.3.36
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
29
  [Facebook Integration Add-on](https://web-dorado.com/products/wordpress-photo-gallery-plugin/add-ons/facebook.html) - Display Facebook photos and videos within Photo Gallery Pro without additional efforts.
30
  [Export/Import Add-on](https://web-dorado.com/products/wordpress-photo-gallery-plugin/add-ons/export-import.html) Export/import galleries, albums and all related data from one WordPress site to another.
31
 
32
+ Photo Gallery is an advanced plugin with a list of tools and options for adding and editing images for different views. This is a fully responsive gallery plugin. The product includes plugin for adding image galleries and albums to posts and pages, as well as multiple widgets. You can add images, providing detailed gallery descriptions and tags, organize the galleries into different photo albums.
33
 
34
  The responsive photo gallery allows to upload unlimited number of pictures and create as many photo albums as you need. Want to include videos? The plugin comes with audio and video support, that will enable you to create a YouTube gallery or a Vimeo video gallery quick and easy.
35
 
64
  * Photo Gallery Slideshow
65
  * Photo Gallery (similar to the main plugin option)
66
 
67
+ The responsive WordPress photo gallery is one of the best gallery plugins available. So don’t hesitate to download the free plugin and try it today!
68
+
69
  ###IMPORTANT:
70
  If you think you found a bug in Photo Gallery or have any problem/question concerning the plugin, please check out [Photo Gallery Support Forum](https://web-dorado.com/forum/photo-gallery.html) in our website. If you do not find a solution here, do not hesitate to [click here to contact us](https://web-dorado.com/support/contact-us.html).
71
 
73
  ### The list of the features:
74
 
75
  * 100% Responsive
76
+ * Multiple gallery views to choose from: Thumbnails, Image Browser, Slide show for galleries and Compact Album, Extended Album views for albums
77
  * Supports the following types of image files: JPG, JPEG, PNG and GIF
78
  * Unlimited quantity of photos in gallery
79
  * Possibility of adding unlimited quantity of galleries/albums
90
  * WordPress Tag cloud hosted widget
91
  * Photo Gallery Slideshow widget
92
  * Photo Gallery Widget for displaying albums and galleries as widgets
93
+ * Separate shortcode generator page for the websites using custom pages/custom editors.
94
+ * Possibility to enable and disable pagination for albums, Thumbnails view, blog Style View.
95
+ * Support for YouTube and Vimeo videos within Galleries.
96
+ * Possibility to add videos via YouTube, Vimeo, Instagram, Facebook, Flickr or Dailymotion URL.
97
  * Possibility of uploading images from the Media Library of the website.
98
+ * Possibility to add tags (captions) to all images at once.
99
  * Right-click disabling option for the image downloads protection.
100
  * Possibility to display images in the albums in thumbnail or masonry view upon opening
101
  * WordPress Search Integration by gallery and album title
102
+ * Possibility to display the number of the images in the gallery lightbox (optional feature)
103
+ * Resizing possibility after adding the pictures
104
  * Possibility to display Search Box on the gallery page for the search based on titles
105
+ * Possibility to display the number of images in the lightbox
106
+ * Enable full width feature for the lightbox.
107
+ * Possibility to add next/previous and play/pause buttons in carousel
108
+ * Possibility to enable/disable autoplay for gallery carousel
109
+ * Redirection option upon clicking picture thumbnail
110
  * Front-end image sorting possibility (dropdown) for the users
111
 
112
  Upgrade to [WordPress Photo Gallery Pro](https://web-dorado.com/products/wordpress-photo-gallery-plugin.html) to add features:
121
  * Commenting possibility with Captcha protection possibility.
122
  * Social sharing possibility (Facebook, Google+, Twitter, Pinterest and Tumblr).
123
  * Dynamic Photo Gallery Tag Cloud widget with image tag cloud and text tag cloud options.
124
+ * Possibility to include both videos and images within a single simple gallery.
125
  * Add ons support.
126
 
127
 
186
 
187
  == Changelog ==
188
 
189
+ = 1.3.36 =
190
+ * Added: Gallery download button.
191
+ * Added: Enable/disable html editor.
192
+ * Added: Overview page.
193
+
194
  = 1.3.35 =
195
  * Added: Support forum link.
196
  * Fixed: Instagram gallery blog style view.
916
 
917
 
918
  = Step 2: Creating/Editing Galleries for the Photo Gallery. =
919
+ 2.1 To add gallery/album, on the left menu select Photo Gallery>Add Galleries/Images> Add new.
920
  2.2 Name. Specify the name of the gallery.
921
  2.3 Slug. Specify the alias in your website for the gallery.
922
+ 2.4 Description. Fill in the information you would like to share with the website gallery. The description will be visible with some of the gallery views.
923
  2.5 Author. This indicates the author of the gallery. It automatically includes the name of the logged in user, who has added the gallery.
924
  2.6 Published. Choose whether to publish the gallery or to leave it for the further publication.
925
  2.7 Preview image. Indicate the gallery image which will be used to preview the gallery. If you leave it blank, it will automatically pick the first gallery image among the uploaded files.
926
+ 2.8 Images. You can add pictures to the gallery by clicking Add Images button.
927
 
928
  The Photo Gallery plugin is not using standard WordPress Media Manager, instead here you will be redirected to Photo Gallery File Manager. After uploading images you should mark them and press Add button.
929
  Photo Gallery File Manager
989
  5.1.4 Image role. Choose whether only author can make changes in the gallery images or not.
990
  5.1.5 Show Search box. Choose whether to display a search box for the image search in galleries or not.
991
  5.1.6 Search box width. Set the width for the search box displayed with the gallery.
992
+ 5.1.7. Preload images. Choose whether to have a preload for specific number of gallery images first or have them all loaded and only then displayed in the slide show of the gallery.
993
  5.1.8. Count of images. Specify the number of gallery images which will be loaded before opening the slideshow. The rest of the images will be loaded during the processing of the slideshow.
994
 
995
  5.2 Watermark. You can use this option to add different types of watermarks on your gallery images.
1047
  5.5 Album Options
1048
  5.5.1 Number of album columns. Provide the maximum number of columns to be displayed within a single album.
1049
  5.5.2 Albums per page. Provide the maximum number of albums available in a single page.
1050
+ 5.5.3 Enable pagination. Choose whether to provide pagination for the image albums or not.
1051
  5.5.4 Show album title. Choose whether to display the album title or have it displayed only when hovered.
1052
  5.5.5 Enable extended album description. Choose whether to have extended album view option or not.
1053
  5.5.6 Album thumbnail dimensions. Define the width and height of the album thumbnails.
1054
+ 5.5.7 Extended album height. Define the height of the image album in extended album view.
1055
 
1056
  5.6 Slideshow
1057
  5.6.1 Slideshow effect. Select the slideshow effect to be applied to the galleries.
1105
  6.1.11 Full background color. Choose the background color for the overall thumbnail view box.
1106
  6.1.12 Full background transparency. Specify the level of the transparency you want to apply to the overall thumbnail view box.
1107
  6.1.13 Alignment. Select the alignment of the thumbnail box.
1108
+ 6.1.14 Title position. Choose the position for the website gallery title.
1109
  6.1.15 Title font size. Define the font size for the gallery image title.
1110
  6.1.16 Title font color. Choose the gallery image title font color.
1111
  6.1.17 Title font family. Choose the font family for the gallery image title.
1171
  6.3.40 Description font size. Define the font size for the slideshow image description.
1172
  6.3.41 Description color. Choose the color for the slideshow image description.
1173
  6.3.42 Description font family. Choose the font family for the slideshow image description.
1174
+ 6.3.43 Slider bullet width. Set the image slider bullet width for the slideshow.
1175
  6.3.44 Slider bullet height. Set the slider bullet height for the slideshow.
1176
  6.3.45 Slider bullet border radius. Set the border radius for the slider bullet using CSS type values.
1177
  6.3.46 Slider bullet background color. Choose the background color for the slider bullet.
1178
+ 6.3.47 Slider bullet margin. Set the image slider bullet margin using CSS type values.
1179
  6.3.48 Slider bullet active background color. Select the background color for the active slider bullet.
1180
  6.3.49 Slider bullet active border width. Set the border width for the active slider bullet.
1181
  6.3.50 Slider bullet active border color. Choose the border color for the active slider bullet.
1592
  Advertisement position. Choose the positioning of the advertisement from the available 9 options.
1593
 
1594
  = Step 9: Publishing Photo Gallery widgets. =
1595
+ Go to Appearance>Widgets. Here select the widget gallery option you want to add to a custom location. Afterwards drag and drop the selected widget into the custom location, fill in the options and press Save button.
1596
  9.1 Tag Cloud. This widget is included as a hosted widget for the WordPress standard Tag Cloud. It will display the tags added to the albums and images. After the click, the images using the tags will be displayed in Thumbnails view.
1597
  9.1.1 Title. Provide a title for the tag cloud.
1598
  9.1.2 Taxonomy. Select Photo Gallery from the provided options.
wd/README.md ADDED
@@ -0,0 +1,129 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Version: 1.0.5
2
+
3
+
4
+ Usage:
5
+
6
+ Copy and paste wd library into your plugin folder.
7
+ In your plugin main file check if library main DoradoWeb class doesn't exist, include it
8
+ if( !class_exists("DoradoWeb") ){
9
+ require_once(PATH_TO_YOUR_PLUGIN_DIR . '/wd/start.php');
10
+ }
11
+
12
+ Then call dorado_web_init($options) function.
13
+ $options = array (
14
+ "prefix" => "your_plugin_prefix",
15
+ "wd_plugin_id" => your_plugin_id,
16
+ "plugin_title" => "your plugin titile",
17
+ "plugin_wordpress_slug" => "your plugin wordpress slug",
18
+ "plugin_dir" => 'path to your plugin dir',
19
+ "plugin_main_file" => 'path to your plugin main file',
20
+ "description" => 'your plugin description',
21
+
22
+ "plugin_features" => array(
23
+ 0 => array(
24
+ "title" => "feature title 1",
25
+ "description" => "feature 1 description",
26
+ ),
27
+ 1 => array(
28
+ "title" => "feature title 2",
29
+ "description" => "feature 2 description",
30
+ ),
31
+ ...
32
+ ),
33
+ "user_guide" => array(
34
+ 0 => array(
35
+ "main_title" => "user guide step 1",
36
+ "url" => "link to step 1",
37
+ "titles" => array(
38
+ array(
39
+ "title" => "step 1 sub title",
40
+ "url" => "link to step 1 sub"
41
+ )
42
+ )
43
+ ),
44
+ ...
45
+ ),
46
+ "overview_welcome_image" => null,
47
+ "video_youtube_id" => "your plugin youtube video id", // e.g. https://www.youtube.com/watch?v=acaexefeP7o youtube id is the acaexefeP7o
48
+ "plugin_wd_url" => "https://web-dorado.com/products/your plugin",
49
+ "plugin_wd_demo_link" => "http://wpdemo.web-dorado.com/your plugin",
50
+ "plugin_wd_addons_link" => "https://web-dorado.com/products/your plugin addons",
51
+ "after_subscribe" => "after subsribe page", // this can be plagin overview page or set up page admin.php?page=overview_YOUR_PREFIX
52
+ "plugin_wizard_link" => "your plugin wizard page",
53
+ "plugin_menu_title" => "Your plugin menu title",
54
+ "plugin_menu_icon" => "path to menu icon",
55
+ "deactivate" => true,
56
+ "subscribe" => true,
57
+ "custom_post" => false, // if true => edit.php?post_type=contact
58
+ "menu_capability" => "manage_options",
59
+ "menu_position" => null,
60
+ );
61
+
62
+ Fully documentation of dorado_web_init options:
63
+
64
+ prefix - (type string) your plugin prefix
65
+ wd_plugin_id - (type int) plugin id ( in web-dorado database, you use it for update functionality)
66
+ plugin_wd_zip_name - (type string) plugin zip name (in web-dorado database, ask Armen or Sergey )
67
+ plugin_title - type string) plugin title (
68
+ plugin_wordpress_slug - (type string) plugin slug
69
+ plugin_dir - (type string) full file path to your plugin directory
70
+ plugin_main_file - (type string) path to your plugin main file (__FILE__)
71
+ description - (type string) plugin short description
72
+
73
+ plugin_features - (type array) plugin top 5 features from web-dorado.com
74
+ e.g. (for google maps plugin)
75
+ array(
76
+ 0 => array(
77
+ "title" => __("Easy set up", "gmwd"),
78
+ "description" => __("After installation a set-up guide will help you configure general options and get started on the dashboard. The plugin also displays tooltips in the whole admin area and settings. Moreover, you get instant live previews of changes you make in the working area, so you don’t have to save and publish maps to see the results.", "gmwd"),
79
+ ),
80
+ 1 => array(
81
+ "title" => __("Unlimited Everything", "gmwd"),
82
+ "description" => __("Display unlimited maps on any page or post. Same is true for markers, rectangles, circles, polygons and polylines.", "gmwd"),
83
+ ),
84
+ ....
85
+ )
86
+
87
+ user_guide - (type array) plugin user guide links from web-dorado.com
88
+ e.g. (for google maps plugin)
89
+ array(
90
+ 0 => array(
91
+ "main_title" => __("Installation Wizard/ Options Menu", "gmwd"),
92
+ "url" => "https://web-dorado.com/wordpress-google-maps/installation-wizard-options-menu.html",
93
+ "titles" => array(
94
+ array(
95
+ "title" => __("Configuring Map API Key", "gmwd"),
96
+ "url" => "https://web-dorado.com/wordpress-google-maps/installation-wizard-options-menu/configuring-api-key.html"
97
+ )
98
+ )
99
+ ),
100
+ 1 => array(
101
+ "main_title" => __("Creating Map", "gmwd"),
102
+ "url" => "https://web-dorado.com/wordpress-google-maps/creating-map.html",
103
+ "titles" => array()
104
+ ),
105
+ )
106
+
107
+ video_youtube_id - (type string) if your plugin has video, video's id, else null
108
+ ( e.g. for https://www.youtube.com/watch?v=acaexefeP7o , youtube id is the 'acaexefeP7o' )
109
+
110
+ plugin_wd_url - (type string) plugin page url
111
+ (e.g. https://web-dorado.com/products/wordpress-google-maps-plugin.html)
112
+
113
+ plugin_wd_demo_link - (type string) plugin demo url
114
+ plugin_wd_addons_link - (type string) if plugin has addons , plugin addons link, else null
115
+ plugin_wizard_link - (type string) if plugin has wizard, wizard page , else null
116
+ ( e.g. admin_url( 'index.php?page=gmwd_setup' ) )
117
+
118
+ plugin_menu_title - (type string) plugin wordpress backend menu title
119
+ plugin_menu_icon - (type string) path to plugin wordpress backend menu icon
120
+ ( e.g. GMWD_URL . '/images/icon-map-20.png' )
121
+ deactivate - (type bool) if plugin free deactivate = true, else deactivate = false
122
+ subscribe - (type bool) if plugin free subscribe = true, else subscribe = false
123
+ custom_post - ( type string) if plugin has not custom posts it must be top level menu slug, else toplevel menu url , e.g. edit.php?post_type=contact
124
+ menu_capability - (type string) top level menu capability e.g. manage_options
125
+ menu_position - (type string) top level menu position , default is null
126
+
127
+
128
+
129
+
wd/assets/css/deactivate_popup.css ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .wd-bwg-reasons:nth-child(3) {
2
+ display: none;
3
+ }
4
+
5
+ .wd-opacity{
6
+ position: fixed;
7
+ top: 0px;
8
+ bottom: 0px;
9
+ left: 0px;
10
+ right: 0px;
11
+ z-index: 9999;
12
+ background: #000;
13
+ opacity: 0.5;
14
+ display: none;
15
+ }
16
+
17
+ .wd-deactivate-popup{
18
+ position: fixed;
19
+ top: 0px;
20
+ bottom: 0px;
21
+ left: 0px;
22
+ right: 0px;
23
+ background: #fff;
24
+ z-index: 999999;
25
+ width: 600px;
26
+ height: 281px;
27
+ margin: auto;
28
+ display: none;
29
+ box-sizing: border-box;
30
+ }
31
+
32
+
33
+ .wd-deactivate-popup-header{
34
+ border-bottom: 1px solid #ccc;
35
+ padding: 18px 40px;
36
+ font-size: 16px;
37
+ background: rgba(221, 221, 221, 0.14);
38
+ }
39
+ .wd-deactivate-popup-body{
40
+ padding: 20px 40px;
41
+ border-bottom: 1px solid #ccc;
42
+ }
43
+ .wd-deactivate-popup-body input[type=text]{
44
+ width: 220px;
45
+ }
46
+ .wd-deactivate-popup-body textarea{
47
+ width: 100%;
48
+ }
49
+
50
+ .wd-btns{
51
+ position: absolute;
52
+ bottom: 19px;
53
+ right: 19px
54
+ }
55
+
56
+ .additional_details_wrap{
57
+ margin-top: 20px;
58
+ }
59
+
60
+ .wd-additional-active{
61
+ background: rgba(204, 204, 204, 0.18);
62
+ padding: 15px;
63
+ margin: 14px 0px 5px;
64
+ }
65
+ .wd-popup-active1{
66
+ height: 523px !important;
67
+ }
68
+
69
+ .wd-popup-active2{
70
+ height: 426px !important
71
+ }
72
+ .wd-deactivate-popup-opacity{
73
+ width: 100%;
74
+ height: 100%;
75
+ background: #D9D9D9;
76
+ opacity: 0.3;
77
+ z-index: 45;
78
+ position: absolute;
79
+ display: none;
80
+ }
81
+
82
+ .wd-deactivate-popup-opacity .wd-img-loader{
83
+ position: absolute;
84
+ top: 0;
85
+ left: 0;
86
+ right: 0;
87
+ bottom: 0;
88
+ margin: auto;
89
+ z-index: 63;
90
+ }
wd/assets/css/img/allow&continue.png ADDED
Binary file
wd/assets/css/img/coupon_bg.png ADDED
Binary file
wd/assets/css/img/plugins_header_bg.png ADDED
Binary file
wd/assets/css/img/skip.png ADDED
Binary file
wd/assets/css/img/themes_headrer_bg.png ADDED
Binary file
wd/assets/css/img/ug-icon-1.png ADDED
Binary file
wd/assets/css/img/ug-icon-2.png ADDED
Binary file
wd/assets/css/img/ug-icon-3.png ADDED
Binary file
wd/assets/css/img/ug-icon-4.png ADDED
Binary file
wd/assets/css/img/ug-icon-5.png ADDED
Binary file
wd/assets/css/img/welcome_bg.png ADDED
Binary file
{css → wd/assets/css}/notices.css RENAMED
@@ -9,11 +9,10 @@
9
  .wd-admin-notice a {
10
  color: #10738B;
11
  }
12
- .bwg-notice-logo {
13
  clear: both;
14
  content: "";
15
  display: block;
16
- background-image: url("../images/notice.png");
17
  background-size: 108px auto;
18
  background-repeat: no-repeat;
19
  background-position: 0 45%;
9
  .wd-admin-notice a {
10
  color: #10738B;
11
  }
12
+ .wd-notice-logo {
13
  clear: both;
14
  content: "";
15
  display: block;
 
16
  background-size: 108px auto;
17
  background-repeat: no-repeat;
18
  background-position: 0 45%;
wd/assets/css/overview.css ADDED
@@ -0,0 +1,455 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* general */
2
+ .wd-table{
3
+ display: table;
4
+ width: 100%;
5
+ }
6
+ .wd-cell{
7
+ display: table-cell;
8
+ }
9
+ .wd-valign-top{
10
+ vertical-align: top;
11
+ }
12
+ .wd-valign-middle{
13
+ vertical-align: middle;
14
+ }
15
+ .wd-valign-bottom{
16
+ vertical-align: bottom;
17
+ }
18
+ .wd-text-right{
19
+ text-align: right;
20
+ }
21
+ .wd-text-center{
22
+ text-align: center;
23
+ }
24
+ .hide{
25
+ display: none;
26
+ }
27
+ a:focus{
28
+ border: none !important;
29
+ outline: none !important;
30
+ box-shadow: none !important;
31
+ }
32
+
33
+ /*end general */
34
+ .wd-video_container{
35
+ text-align: center;
36
+ }
37
+ .overview_welcome{
38
+ background: url(img/welcome_bg.png) no-repeat;
39
+ margin: 21px 0px;
40
+ background-size: 100% 100%;
41
+ line-height: 28px;
42
+ }
43
+ .overview_welcome .wd-cell{
44
+ padding: 15px;
45
+ }
46
+ .overview_welcome .wd-cell:first-child{
47
+ position: relative;
48
+ }
49
+
50
+ .overview_welcome h2{
51
+ text-transform: uppercase;
52
+ font-size: 26px;
53
+ margin-top: 0;
54
+ margin-bottom: 15px;
55
+ color: #424141;
56
+ }
57
+ .overview_welcome img{
58
+ width: 120px;
59
+ padding-right: 100px;
60
+ padding-left: 25px;
61
+ }
62
+ .overview_wrap{
63
+ width: 935px;
64
+ background: #fff;
65
+ }
66
+ .overview_welcome .overview_welcome_text{
67
+ font-size: 15px;
68
+ color: #424141;
69
+ }
70
+ .overview_tabs:after, .deals_content:after, .deal_desc_footer:after{
71
+ content: "";
72
+ display: table;
73
+ clear: both;
74
+ }
75
+ .overview_tabs li{
76
+ float: left;
77
+ width: 16.666%;
78
+ }
79
+
80
+ .overview_tabs li a{
81
+ text-decoration: none !important;
82
+ color: #000;
83
+ background: #D6D6D6;
84
+ background: -webkit-linear-gradient(#D6D6D6, #D7D7D7, #D6D6D6); /* For Safari 5.1 to 6.0 */
85
+ background: -o-linear-gradient(#D6D6D6, #D7D7D7, #D6D6D6); /* For Opera 11.1 to 12.0 */
86
+ background: -moz-linear-gradient(#D6D6D6, #D7D7D7, #D6D6D6); /* For Firefox 3.6 to 15 */
87
+ background: linear-gradient(#D6D6D6, #D7D7D7, #D6D6D6); /* Standard syntax */
88
+ text-transform: uppercase;
89
+ display: block;
90
+ padding: 7px 10px;
91
+ text-align: center;
92
+ font-weight: bold;
93
+ border-top: 4px solid #F1F1F1;
94
+ position: relative;
95
+ top: -4px;
96
+ }
97
+ .overview_tabs li a:hover,.overview_tabs li a:active, .overview_tabs li a:focus, .overview_tab_active{
98
+ background: #fff !important;
99
+ border-top: 4px solid #2A495F !important;
100
+
101
+ }
102
+ #welcome, #user_guide, #support, .deals_content{
103
+ padding: 15px 10px;
104
+ background: #fff;
105
+ }
106
+ .plugin_feature_title{
107
+ font-size: 19px;
108
+ }
109
+ .more_features_wrap{
110
+ margin-top: 25px;
111
+ text-align: right;
112
+ }
113
+ .more_features, .more_features:hover, .more_features:focus{
114
+ color: #fff;
115
+ background: #00384F;
116
+ padding: 3px 15px;
117
+ text-decoration: none;
118
+ }
119
+ .user_guide_item{
120
+ margin-bottom: 19px;
121
+ }
122
+ .user_guide_title, .user_guide_title:hover, .user_guide_title:focus{
123
+ font-size: 16px;
124
+ color: #192D3B;
125
+ font-weight: bold;
126
+ margin-bottom: 5px;
127
+ text-decoration: none;
128
+ }
129
+ .user_guide_titles, .user_guide_titles:hover, .user_guide_titles:focus{
130
+ color: #192D3B;
131
+ text-decoration: none;
132
+ }
133
+ .user_guide_demo, .user_guide_plugin, .user_guide_support_forum, .user_guide_addons, .user_guide_faq,
134
+ .user_guide_demo:hover, .user_guide_plugin:hover, .user_guide_support_forum:hover, .user_guide_addons:hover, .user_guide_faq:hover{
135
+ background-color: #F5F5F5;
136
+ background-repeat: no-repeat;
137
+ background-position: right -4px center;
138
+ border-top-left-radius: 25px;
139
+ border-bottom-left-radius: 25px;
140
+ padding: 3px 23px 3px 16px;
141
+ width: 144px;
142
+ font-weight: bold;
143
+ text-transform: uppercase;
144
+ color: #192D3B;
145
+ margin-bottom: 7px;
146
+ display: block;
147
+ text-decoration: none;
148
+ }
149
+ .user_guide_demo{
150
+ background-image: url(img/ug-icon-1.png);
151
+ }
152
+ .user_guide_plugin{
153
+ background-image: url(img/ug-icon-2.png);
154
+ }
155
+ .user_guide_support_forum{
156
+ background-image: url(img/ug-icon-3.png);
157
+ }
158
+ .user_guide_addons{
159
+ background-image: url(img/ug-icon-4.png);
160
+ }
161
+ .user_guide_faq{
162
+ background-image: url(img/ug-icon-5.png);
163
+ }
164
+
165
+ #support .wd-support-main{
166
+ width: 800px;
167
+ margin: 0 auto;
168
+ font-size: 16px;
169
+ text-align: center;
170
+ margin-bottom: 15px;
171
+
172
+ }
173
+ .wd-overview-site-deatils{
174
+ width: 800px;
175
+ background: #FBFBFB;
176
+ padding: 10px;
177
+ margin: 0 auto;
178
+ }
179
+ .wd-overview-site-deatils h2, .wd-overview-site-deatils p{
180
+ text-align: center;
181
+ }
182
+ .wd-overview-site-deatils p{
183
+ font-size: 16px;
184
+ }
185
+ .contact_us, .contact_us:hover, .contact_us:focus{
186
+ display: block;
187
+ background: #27475D;
188
+ color: #fff;
189
+ text-decoration: none;
190
+ width: 173px;
191
+ padding: 8px 0px;
192
+ text-align: center;
193
+ margin-bottom: 5px;
194
+ font-size: 16px;
195
+ margin-left: 8px;
196
+ border: 1px solid #B7B7B7;
197
+ text-transform: uppercase;
198
+ }
199
+
200
+ .support_email{
201
+ color: #F47A31;
202
+ }
203
+ .wd-site-deatils{
204
+ padding: 23px;
205
+ background: #f1f1f1;
206
+ box-sizing: border-box;
207
+ }
208
+ .wd-site-deatils textarea{
209
+ width: 100%;
210
+ }
211
+ .contact_us{
212
+ margin-left: auto !important;
213
+ margin-right: auto;
214
+ margin-top: 10px;
215
+ }
216
+ #wd-copy{
217
+ display: block;
218
+ background: #27475D;
219
+ color: #fff;
220
+ padding: 5px 8px;
221
+ text-align: center;
222
+ margin-bottom: 5px;
223
+ font-size: 14px;
224
+ border: 1px solid #B7B7B7;
225
+ cursor: pointer;
226
+ }
227
+ #plugins{
228
+ padding-bottom: 15px;
229
+ background: #fff;
230
+ }
231
+
232
+ .deals_header_plugins{
233
+ background: url(img/plugins_header_bg.png) #fff no-repeat;
234
+ }
235
+ .deals_header_themes{
236
+ background: url(img/themes_headrer_bg.png) #fff no-repeat;
237
+ }
238
+ .deals_header{
239
+ background-size: cover;
240
+ height: 241px;
241
+ }
242
+ .deals_header .wd-table .wd-cell{
243
+ position: relative;
244
+ }
245
+ .deals_header_plugins .wd-table .wd-cell{
246
+ padding: 27px 10px 10px;
247
+ }
248
+ .deals_header_themes .wd-table .wd-cell{
249
+ padding: 0px 10px 10px;
250
+ }
251
+ .deals_header_plugins .wd-table .wd-cell:first-child{
252
+ padding-left: 23px;
253
+ width: 30%;
254
+ }
255
+ .deals_header_themes .wd-table .wd-cell:first-child{
256
+ padding-left: 23px;
257
+ width: 36%;
258
+ }
259
+ .deals_header_themes .wd-table{
260
+ height: 100%
261
+ }
262
+
263
+ .titles_wrap{
264
+ display: inline-block;
265
+ }
266
+ .deals_main_title, .deals_secondary_title{
267
+ color: #00425A;
268
+ font-weight: bold;
269
+ line-height: 55px;
270
+ text-align: center;
271
+ text-transform: uppercase;
272
+ }
273
+
274
+ .deals_main_title{
275
+ font-size: 39px;
276
+ }
277
+ .deals_secondary_title{
278
+ font-size: 30px;
279
+ }
280
+
281
+ .higlight{
282
+ color: #E5682E;
283
+ }
284
+
285
+ .deals_save{
286
+ position: absolute;
287
+ right: 87px;
288
+ -webkit-transform: rotate(-27deg);
289
+ transform: rotate(-30deg);
290
+ font-weight: bold;
291
+ font-size: 39px;
292
+ color: #E5682E;
293
+ text-transform: uppercase;
294
+ }
295
+ .deals_header_plugins .deals_save{
296
+ bottom: 37px;
297
+ }
298
+ .deals_header_themes .deals_save{
299
+ bottom: 76px;
300
+ }
301
+ .deal_block{
302
+ width: 31.2%;
303
+ display: inline-block;
304
+ vertical-align: top;
305
+ margin: 5px;
306
+ }
307
+ .deal_title{
308
+ text-align: center;
309
+ text-transform: uppercase;
310
+ font-size: 20px;
311
+ background: #FAFAFA;
312
+ padding: 10px 5px;
313
+ line-height: 23px;
314
+ }
315
+ .deal_title a, .deal_title a:hover, .deal_title a:focus{
316
+ text-decoration: none !important;
317
+ color: #000 !important;
318
+ }
319
+ .deal_desc{
320
+ background: #F5F5F5;
321
+ padding: 10px 5px;
322
+ }
323
+ .deal_desc p{
324
+ margin-bottom: 15px;
325
+ }
326
+
327
+ .deal_desc_footer .downloads{
328
+ float: left;
329
+ }
330
+ .deal_desc_footer .download_btn{
331
+ /*float: right;*/
332
+ margin-top: 10px;
333
+ text-align: center;
334
+ }
335
+ .deal_desc_footer .downloads .spans span:first-child{
336
+ background: #26455A;
337
+ color: #fff;
338
+ text-transform: uppercase;
339
+ padding: 5px;
340
+ display: inline-block;
341
+ }
342
+ .deal_desc_footer .downloads .spans span:last-child{
343
+ background: #fff;
344
+ padding: 5px;
345
+ border-top-right-radius: 25px;
346
+ border-bottom-right-radius: 25px;
347
+ margin-left: -3px;
348
+ }
349
+
350
+ .download_btn a, .download_btn a:hover, .download_btn a:focus{
351
+ color: #fff !important;
352
+ background: #E97025;
353
+ text-decoration: none;
354
+ padding: 4px 16px;
355
+ display: inline-block;
356
+ margin-top: 10px;
357
+ border-radius: 13px;
358
+ text-transform: uppercase;
359
+ }
360
+
361
+ .stars-container {
362
+ position: relative;
363
+ display: inline-block;
364
+ color: transparent;
365
+ font-size: 21px;
366
+ }
367
+
368
+ .stars-container:before {
369
+ position: absolute;
370
+ top: 0;
371
+ left: 0;
372
+ content: '★★★★★';
373
+ color: #F4AB7F;
374
+ }
375
+
376
+ .stars-container:after {
377
+ position: absolute;
378
+ top: 0;
379
+ left: 0;
380
+ content: '★★★★★';
381
+ color: #F4762A;
382
+ overflow: hidden;
383
+ }
384
+
385
+ .get_all_deals{
386
+ margin: 15px 0px;
387
+ text-align: center;
388
+ }
389
+ .get_all_deals a, .get_all_deals a:hover, .get_all_deals a:active, .get_all_deals a:focus {
390
+ color: #fff !important;
391
+ background: #E97025;
392
+ text-decoration: none;
393
+ padding: 8px 21px;
394
+ display: inline-block;
395
+ margin-top: 10px;
396
+ text-transform: uppercase;
397
+ border: 2px solid #D2631E;
398
+ font-size: 21px;
399
+ }
400
+
401
+ #themes{
402
+ border-top: 35px solid #F1F1F1;
403
+ padding-bottom: 15px;
404
+ }
405
+
406
+ .theme_block{
407
+ width: 48%;
408
+ margin: 5px;
409
+ border: 1px solid #ECE9E9;
410
+ float: left;
411
+ }
412
+ .theme_block a, .theme_block a:hover, .theme_block a:focus{
413
+ display: block;
414
+ text-decoration: none !important;
415
+ background: #F7F7F7;
416
+ color: #000 !important;
417
+ padding: 5px;
418
+ }
419
+
420
+ /* noteices */
421
+ .notice_wrap{
422
+ padding: 15px;
423
+ border: 1px solid #C4C4C4;
424
+ width: 98%;
425
+ margin: 10px auto;
426
+ box-sizing: border-box;
427
+
428
+ }
429
+ .notice_wrap .notice_title, .notice_wrap .notice_title:hover, .notice_wrap .notice_title:focus{
430
+ color: #E5682E !important;
431
+ text-decoration: none;
432
+ margin-bottom: 17px;
433
+ font-size: 20px;
434
+ display: block;
435
+ }
436
+
437
+ .notice_wrap .notice_txt{
438
+ font-size: 15px;
439
+ }
440
+
441
+
442
+ .wd-tour{
443
+ text-align: right;
444
+ }
445
+ .wd-tour-btn, .wd-tour-btn:hover, .wd-tour-btn:focus{
446
+ background: #F47629;
447
+ color: #fff;
448
+ text-decoration: none;
449
+ padding: 5px;
450
+ display: inline-block;
451
+ font-size: 16px;
452
+ }
453
+
454
+
455
+
wd/assets/css/subscribe.css ADDED
@@ -0,0 +1,114 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ body {
2
+ color: #444;
3
+ font-family: "Open Sans",sans-serif;
4
+ line-height: 1.4em;
5
+ min-width: 600px;
6
+ }
7
+
8
+ .wd-subscribe{
9
+ background: #fff;
10
+ border: 2px solid #E2E5EC;
11
+ width: 55%;
12
+ margin-top: 40px;
13
+ }
14
+ .wd-subscribe-content{
15
+ padding: 30px 92px;
16
+ }
17
+ .imgs{
18
+ text-align: center;
19
+ }
20
+ .imgs img{
21
+ vertical-align: middle;
22
+ width: 125px;
23
+ }
24
+ .imgs span {
25
+ color: #21759B;
26
+ font-weight: bold;
27
+ font-size: 52px;
28
+ padding: 0px 28px;
29
+ }
30
+ .texts{
31
+ margin-top: 10px;
32
+ margin-bottom: 25px;
33
+ }
34
+
35
+ .btns .allow_and_continue, .btns .allow_and_continue:hover, .btns .allow_and_continue:focus{
36
+ display: inline-block;
37
+ background: url(img/allow&continue.png) no-repeat;
38
+ width: 279px;
39
+ height: 61px;
40
+ border: none;
41
+
42
+ }
43
+ .btns .skip, .btns .skip:hover, .btns .skip:focus{
44
+ margin-left: 66px;
45
+ display: inline-block;
46
+ background: url(img/skip.png) no-repeat;
47
+ width: 76px;
48
+ height: 59px;
49
+ }
50
+ .permissions{
51
+ color: #525252 !important;
52
+ }
53
+ .list{
54
+ margin-top: 15px;
55
+ display:none;
56
+ }
57
+ .list_item{
58
+ display: table;
59
+ margin-bottom: 15px;
60
+ }
61
+ .list_item:after{
62
+ content: "";
63
+ clear: both;
64
+ display: table;
65
+ }
66
+ .list_img_wrap{
67
+ float: left;
68
+ }
69
+ .list_img_wrap img{
70
+ width: 27px;
71
+ }
72
+ .list_text_wrap{
73
+ margin-left: 33px;
74
+ float: right;
75
+ }
76
+ .list_title, .list_text{
77
+ color: #525252;
78
+ font-size: 13px;
79
+ }
80
+ .wd_loader{
81
+ vertical-align: top;
82
+ width: 30px;
83
+ margin-top: 11px;
84
+ visibility: hidden;
85
+ }
86
+ .wd-subscribe-footer{
87
+ text-align: center;
88
+ padding: 4px 0px;
89
+ border-top: 1px solid rgba(204, 204, 204, 0.52);
90
+ }
91
+ .wd-footer-menu {
92
+ display: inline-block;
93
+ list-style-type: none;
94
+ padding: 0;
95
+ margin: 0;
96
+ }
97
+ .wd-footer-menu li{
98
+ float: left;
99
+ }
100
+ .wd-footer-menu li, .wd-footer-menu li a{
101
+ color: rgba(62, 60, 60, 0.57) !important;
102
+ text-decoration: none;
103
+ font-size: 12px;
104
+ padding: 2px;
105
+ font-weight: bold;
106
+ display: inline-block;
107
+ vertical-align: middle;
108
+ }
109
+
110
+
111
+ .wd-footer-menu li a:hover{
112
+ color: rgba(62, 60, 60, 0.57) !important;
113
+ text-decoration: underline;
114
+ }
wd/assets/img/bwg_main_plugin.png ADDED
Binary file
wd/assets/img/ecwd_main_plugin.png ADDED
Binary file
wd/assets/img/faqwd_main_plugin.png ADDED
Binary file
wd/assets/img/ffwd_main_plugin.png ADDED
Binary file
wd/assets/img/fwd_main_plugin.png ADDED
Binary file
wd/assets/img/gawd_main_plugin.png ADDED
Binary file
wd/assets/img/gmwd_main_plugin.png ADDED
Binary file
wd/assets/img/loader.gif ADDED
Binary file
wd/assets/img/mwd_main_plugin.png ADDED
Binary file
wd/assets/img/plugins/business_elite.png ADDED
Binary file
wd/assets/img/plugins/business_world.png ADDED
Binary file
featured/images/events-wd.png → wd/assets/img/plugins/event-calendar-wd.png RENAMED
File without changes
featured/images/form.png → wd/assets/img/plugins/form-maker.png RENAMED
File without changes
{featured/images → wd/assets/img/plugins}/photo-gallery.png RENAMED
File without changes
wd/assets/img/plugins/portfolio_gallery.png ADDED
Binary file
wd/assets/img/plugins/sauron.png ADDED
Binary file
featured/images/slider.png → wd/assets/img/plugins/slider-wd.png RENAMED
File without changes
featured/images/spider.calendar.png → wd/assets/img/plugins/spider-event-calendar.png RENAMED
File without changes
featured/images/google-maps.png → wd/assets/img/plugins/wd-google-maps.png RENAMED
File without changes
featured/images/instagram_feed.png → wd/assets/img/plugins/wd-instagram-feed.png RENAMED
File without changes
wd/assets/img/spinner.gif ADDED
Binary file
wd/assets/img/sub_1.png ADDED
Binary file
wd/assets/img/sub_2.png ADDED
Binary file
wd/assets/img/sub_4.png ADDED
Binary file
wd/assets/img/twd_main_plugin.png ADDED
Binary file
wd/assets/img/wd_ads_main_plugin.png ADDED
Binary file
wd/assets/img/wde_main_plugin.png ADDED
Binary file
wd/assets/img/wdi_main_plugin.png ADDED
Binary file
wd/assets/img/wdps_main_plugin.png ADDED
Binary file
wd/assets/img/wds_main_plugin.png ADDED
Binary file
wd/assets/img/wp_logo.png ADDED
Binary file
wd/assets/img/ytwd_main_plugin.png ADDED
Binary file
wd/assets/js/deactivate_popup.js ADDED
@@ -0,0 +1,106 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ////////////////////////////////////////////////////////////////////////////////////////
2
+ // Events //
3
+ ////////////////////////////////////////////////////////////////////////////////////////
4
+ ////////////////////////////////////////////////////////////////////////////////////////
5
+ // Constants //
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Variables //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ var deactivated = false;
11
+ var additionalInfo = "";
12
+ var btnVal = 3;
13
+
14
+ ////////////////////////////////////////////////////////////////////////////////////////
15
+ // Constructor & Destructor //
16
+ ////////////////////////////////////////////////////////////////////////////////////////
17
+
18
+
19
+ ////////////////////////////////////////////////////////////////////////////////////////
20
+ // Public Methods //
21
+ ////////////////////////////////////////////////////////////////////////////////////////
22
+ function wdReady(prefix){
23
+
24
+ jQuery(document).on("click", "." + window[prefix + "WDDeactivateVars"].deactivate_class, function(){
25
+ jQuery(".wd-" + prefix + "-opacity").show();
26
+ jQuery(".wd-" + prefix + "-deactivate-popup").show();
27
+ if(jQuery(this).attr("data-uninstall") == "1"){
28
+ btnVal = 2 ;
29
+ }
30
+
31
+ return false;
32
+ });
33
+
34
+ jQuery(document).on("change", "[name=" + prefix + "_reasons]", function(){
35
+
36
+ jQuery("." + prefix + "_additional_details_wrap").html("");
37
+ jQuery(".wd-" + prefix + "-deactivate-popup").removeClass("wd-popup-active1 wd-popup-active2");
38
+ if(jQuery(this).val() == "reason_plugin_is_hard_to_use_technical_problems"){
39
+
40
+ additionalInfo = '<div class="wd-additional-active"><div><strong>Please describe your issue.</strong></div><br>' +
41
+ '<textarea name="' + prefix + '_additional_details" rows = "4"></textarea><br>' +
42
+ '<div>Our support will contact <input type="text" name="' + prefix + '_email" value="' + window[prefix + "WDDeactivateVars"].email + '"> shortly.</div>'+
43
+ '<br><div><button class="button button-primary wd-' + prefix + '-deactivate" data-val="' + btnVal + '">Submit support ticket</button></div></div>';
44
+ jQuery("." + prefix + "_additional_details_wrap").append(additionalInfo);
45
+ jQuery(".wd-" + prefix + "-deactivate-popup").addClass("wd-popup-active1");
46
+
47
+ }
48
+ else if(jQuery(this).val() == "reason_free_version_limited"){
49
+ additionalInfo = '<div class="wd-additional-active">' +
50
+ '<div><strong>We believe our premium version will fit your needs.</strong></div>' +
51
+ '<div><a href="' + window[prefix + "WDDeactivateVars"].plugin_wd_url+ '" target="_blank">Try with 30 day money back guarantee.</a></div>';
52
+
53
+ jQuery("." + prefix + "_additional_details_wrap").append(additionalInfo);
54
+ jQuery(".wd-" + prefix + "-deactivate-popup").addClass("wd-popup-active2");
55
+ }
56
+ else if(jQuery(this).val() == "reason_premium_expensive"){
57
+ additionalInfo = '<div class="wd-additional-active">' +
58
+ '<div><strong>We have a special offer for you.</strong></div>' +
59
+ '<div>Submit this form to get the offer to <input type="text" name="' + prefix + '_email" value="' + window[prefix + "WDDeactivateVars"].email + '"></div>' +
60
+ '<br><div><button class="button button-primary wd-' + prefix + '-deactivate" data-val="' + btnVal + '">Submit</button></div></div>';
61
+
62
+ jQuery("." + prefix + "_additional_details_wrap").append(additionalInfo);
63
+ jQuery(".wd-" + prefix + "-deactivate-popup").addClass("wd-popup-active2");
64
+ }
65
+
66
+ jQuery("#wd-" + prefix + "-deactivate").hide();
67
+ jQuery("#wd-" + prefix + "-submit-and-deactivate").show();
68
+
69
+ });
70
+ jQuery(document).on("keyup", "[name=" + prefix + "_additional_details]", function(){
71
+ if(jQuery(this).val().trim() || jQuery("[name=" + prefix + "_reasons]:checked").length > 0){
72
+ jQuery("#wd-" + prefix + "-deactivate").hide();
73
+ jQuery("#wd-" + prefix + "-submit-and-deactivate").show();
74
+ }
75
+ else{
76
+ jQuery("#wd-" + prefix + "-deactivate").show();
77
+ jQuery("#wd-" + prefix + "-submit-and-deactivate").hide();
78
+ }
79
+
80
+ });
81
+ jQuery(document).on("click", ".wd-" + prefix + "-deactivate", function(){
82
+ jQuery(".wd-deactivate-popup-opacity-" + prefix).show();
83
+ if(jQuery(this).hasClass("wd-clicked") == false){
84
+ jQuery(this).addClass("wd-clicked");
85
+ jQuery("[name=" + prefix + "_submit_and_deactivate]").val(jQuery(this).attr("data-val"));
86
+ jQuery("#" + prefix + "_deactivate_form").submit();
87
+ }
88
+ return false;
89
+ });
90
+
91
+ jQuery(document).on("click", ".wd-" + prefix + "-cancel, .wd-opacity", function(){
92
+ jQuery(".wd-" + prefix + "-opacity").hide();
93
+ jQuery(".wd-" + prefix + "-deactivate-popup").hide();
94
+ return false;
95
+ });
96
+
97
+ }
98
+ ////////////////////////////////////////////////////////////////////////////////////////
99
+ // Getters & Setters //
100
+ ////////////////////////////////////////////////////////////////////////////////////////
101
+ ////////////////////////////////////////////////////////////////////////////////////////
102
+ // Private Methods //
103
+ ////////////////////////////////////////////////////////////////////////////////////////
104
+ ////////////////////////////////////////////////////////////////////////////////////////
105
+ // Listeners //
106
+ ////////////////////////////////////////////////////////////////////////////////////////
wd/assets/js/overview.js ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ////////////////////////////////////////////////////////////////////////////////////////
2
+ // Events //
3
+ ////////////////////////////////////////////////////////////////////////////////////////
4
+ ////////////////////////////////////////////////////////////////////////////////////////
5
+ // Constants //
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Variables //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ ////////////////////////////////////////////////////////////////////////////////////////
11
+ // Constructor & Destructor //
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ jQuery(document).ready(function () {
14
+ jQuery(".overview_content > div:not(#welcome)").hide();
15
+ jQuery(".overview_tabs li a:not(.not_tab)").click(function(){
16
+ jQuery(".overview_tabs li a").removeClass("overview_tab_active");
17
+ jQuery(this).addClass("overview_tab_active");
18
+ jQuery(".overview_content > div").hide();
19
+ var id = jQuery(this).attr("href");
20
+ jQuery(id).show();
21
+ return false;
22
+ });
23
+
24
+ // rating
25
+ // jQuery(".rating").each(function(){
26
+ // var rate = jQuery(this).attr("data-rating");
27
+ // jQuery("<span class='stars-container'>")
28
+ // .addClass("stars-" + rate.toString())
29
+ // .text("★★★★★")
30
+ // .appendTo(jQuery(this));
31
+ // jQuery("body").append('<style>.stars-' + rate.toString() + ':after{width:' + rate + '%;}</style>');
32
+ // });
33
+
34
+ jQuery("#wd-copy").click(function(){
35
+ var selector = document.querySelector('#wd-site-deatils-textarea');
36
+ selector.select();
37
+ document.execCommand('copy');
38
+
39
+ return false;
40
+
41
+ });
42
+
43
+ });
44
+
45
+ ////////////////////////////////////////////////////////////////////////////////////////
46
+ // Public Methods //
47
+ ////////////////////////////////////////////////////////////////////////////////////////
48
+ ////////////////////////////////////////////////////////////////////////////////////////
49
+ // Getters & Setters //
50
+ ////////////////////////////////////////////////////////////////////////////////////////
51
+ ////////////////////////////////////////////////////////////////////////////////////////
52
+ // Private Methods //
53
+ ////////////////////////////////////////////////////////////////////////////////////////
54
+ ////////////////////////////////////////////////////////////////////////////////////////
55
+ // Listeners //
56
+ ////////////////////////////////////////////////////////////////////////////////////////
wd/assets/js/subsribe.js ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ////////////////////////////////////////////////////////////////////////////////////////
2
+ // Events //
3
+ ////////////////////////////////////////////////////////////////////////////////////////
4
+ ////////////////////////////////////////////////////////////////////////////////////////
5
+ // Constants //
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Variables //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ ////////////////////////////////////////////////////////////////////////////////////////
11
+ // Constructor & Destructor //
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ jQuery(document).ready(function () {
14
+ jQuery(".permissions").click(function(){
15
+ jQuery(".list").toggle();
16
+ return false;
17
+ });
18
+
19
+ jQuery(".allow_and_continue").click(function(){
20
+ jQuery(this).css("opacity", "0.5");
21
+ jQuery(".wd_loader").css("visibility", "visible");
22
+ });
23
+ });
24
+
25
+ ////////////////////////////////////////////////////////////////////////////////////////
26
+ // Public Methods //
27
+ ////////////////////////////////////////////////////////////////////////////////////////
28
+ ////////////////////////////////////////////////////////////////////////////////////////
29
+ // Getters & Setters //
30
+ ////////////////////////////////////////////////////////////////////////////////////////
31
+ ////////////////////////////////////////////////////////////////////////////////////////
32
+ // Private Methods //
33
+ ////////////////////////////////////////////////////////////////////////////////////////
34
+ ////////////////////////////////////////////////////////////////////////////////////////
35
+ // Listeners //
36
+ ////////////////////////////////////////////////////////////////////////////////////////
wd/config.php ADDED
@@ -0,0 +1,127 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'ABSPATH' ) ) {
3
+ exit;
4
+ }
5
+
6
+ class DoradoWebConfig {
7
+ public static $instance;
8
+
9
+ public $prefix = null;
10
+ public $wd_plugin_id = null;
11
+ public $plugin_title = null;
12
+ public $plugin_wordpress_slug = null;
13
+ public $plugin_dir = null;
14
+ public $plugin_main_file = null;
15
+ public $description = null;
16
+ public $plugin_features = null;
17
+ public $user_guide = null;
18
+ public $overview_welcome_image = null;
19
+ public $video_youtube_id = null;
20
+ public $plugin_wd_url = null;
21
+ public $plugin_wd_demo_link = null;
22
+ public $plugin_wd_addons_link = null;
23
+ public $plugin_wizard_link = null;
24
+ public $after_subscribe = null;
25
+ public $plugin_menu_title = null;
26
+ public $plugin_menu_icon = null;
27
+ public $wd_dir = null;
28
+ public $wd_dir_includes = null;
29
+ public $wd_dir_templates = null;
30
+ public $wd_dir_assets = null;
31
+ public $wd_url_css = null;
32
+ public $wd_url_js = null;
33
+ public $wd_url_img = null;
34
+ public $deactivate = null;
35
+ public $subscribe = null;
36
+ public $custom_post = null;
37
+ public $menu_capability = null;
38
+ public $menu_position = null;
39
+
40
+ public function set_options( $options ){
41
+
42
+ if(isset( $options["prefix"] )) {
43
+ $this->prefix = $options["prefix"];
44
+ }
45
+ if(isset( $options["wd_plugin_id"] )) {
46
+ $this->wd_plugin_id = $options["wd_plugin_id"];
47
+ }
48
+ if(isset( $options["plugin_title"] )) {
49
+ $this->plugin_title = $options["plugin_title"];
50
+ }
51
+ if(isset( $options["plugin_wordpress_slug"] )) {
52
+ $this->plugin_wordpress_slug = $options["plugin_wordpress_slug"];
53
+ }
54
+ if(isset( $options["plugin_dir"] )) {
55
+ $this->plugin_dir = $options["plugin_dir"];
56
+ }
57
+ if(isset( $options["plugin_main_file"] )) {
58
+ $this->plugin_main_file = $options["plugin_main_file"];
59
+ }
60
+
61
+ if(isset( $options["description"] )) {
62
+ $this->description = $options["description"];
63
+ }
64
+ if(isset( $options["plugin_features"] )) {
65
+ $this->plugin_features = $options["plugin_features"];
66
+ }
67
+ if(isset( $options["user_guide"] )) {
68
+ $this->user_guide = $options["user_guide"];
69
+ }
70
+ if(isset( $options["video_youtube_id"] )) {
71
+ $this->video_youtube_id = $options["video_youtube_id"];
72
+ }
73
+ if(isset( $options["overview_welcome_image"] )) {
74
+ $this->overview_welcome_image = $options["overview_welcome_image"];
75
+ }
76
+ if(isset( $options["plugin_wd_url"] )) {
77
+ $this->plugin_wd_url = $options["plugin_wd_url"];
78
+ }
79
+ if(isset( $options["plugin_wd_demo_link"] )) {
80
+ $this->plugin_wd_demo_link = $options["plugin_wd_demo_link"];
81
+ }
82
+ if(isset( $options["plugin_wd_addons_link"] )) {
83
+ $this->plugin_wd_addons_link = $options["plugin_wd_addons_link"];
84
+ }
85
+ if(isset( $options["plugin_wizard_link"] )) {
86
+ $this->plugin_wizard_link = $options["plugin_wizard_link"];
87
+ }
88
+ if(isset( $options["after_subscribe"] )) {
89
+ $this->after_subscribe = $options["after_subscribe"];
90
+ }
91
+ if(isset( $options["plugin_menu_title"] )) {
92
+ $this->plugin_menu_title = $options["plugin_menu_title"];
93
+ }
94
+ if(isset( $options["plugin_menu_icon"] )) {
95
+ $this->plugin_menu_icon = $options["plugin_menu_icon"];
96
+ }
97
+ if(isset( $options["deactivate"] )) {
98
+ $this->deactivate = $options["deactivate"];
99
+ }
100
+ if(isset( $options["subscribe"] )) {
101
+ $this->subscribe = $options["subscribe"];
102
+ }
103
+ if(isset( $options["custom_post"] )) {
104
+ $this->custom_post = $options["custom_post"];
105
+ }
106
+ if(isset( $options["menu_capability"] )) {
107
+ $this->menu_capability = $options["menu_capability"];
108
+ }
109
+ if(isset( $options["menu_position"] )) {
110
+ $this->menu_position = $options["menu_position"];
111
+ }
112
+
113
+ // directories
114
+ $this->wd_dir = dirname( $this->plugin_main_file ) . '/wd';
115
+ $this->wd_dir_includes = $this->wd_dir . '/includes';
116
+ $this->wd_dir_templates = $this->wd_dir . '/templates';
117
+ $this->wd_dir_assets = $this->wd_dir . '/assets';
118
+ $this->wd_url_css = plugins_url( plugin_basename( $this->wd_dir ) ) . '/assets/css';
119
+ $this->wd_url_js = plugins_url( plugin_basename( $this->wd_dir ) ) . '/assets/js';
120
+ $this->wd_url_img = plugins_url( plugin_basename( $this->wd_dir ) ) . '/assets/img';
121
+ }
122
+
123
+
124
+ }
125
+
126
+
127
+
wd/includes/api.php ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( !defined( 'ABSPATH' ) ) {
3
+ exit;
4
+ }
5
+
6
+ class DoradoWebApi{
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Events //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ ////////////////////////////////////////////////////////////////////////////////////////
11
+ // Constants //
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ ////////////////////////////////////////////////////////////////////////////////////////
14
+ // Variables //
15
+ ////////////////////////////////////////////////////////////////////////////////////////
16
+
17
+ public $config ;
18
+ public $userhash = array();
19
+
20
+
21
+ ////////////////////////////////////////////////////////////////////////////////////////
22
+ // Constructor & Destructor //
23
+ ////////////////////////////////////////////////////////////////////////////////////////
24
+ public function __construct( $config = array() ) {
25
+ $this->config = $config;
26
+ $this->userhash = $this->get_userhash();
27
+ }
28
+ ////////////////////////////////////////////////////////////////////////////////////////
29
+ // Public Methods //
30
+ ////////////////////////////////////////////////////////////////////////////////////////
31
+
32
+
33
+ public function get_remote_data( $id ) {
34
+ $remote_data_path = DORADO_WEB_API_PLUGIN_DATA_PATH . '/' . $this->userhash;
35
+ $request = wp_remote_get( ( str_replace( '_id_', $id, $remote_data_path ) ) );
36
+
37
+ if ( !is_wp_error($request) || wp_remote_retrieve_response_code($request) === 200 ) {
38
+ return json_decode($request['body'], true);
39
+ }
40
+ return false;
41
+ }
42
+
43
+
44
+ public function get_userhash(){
45
+ $wd_options = $this->config;
46
+ $userhash = 'nohash';
47
+ if ( file_exists( $wd_options->plugin_dir . '/.keep') && is_readable( $wd_options->plugin_dir . '/.keep' ) ) {
48
+ $f = fopen( $wd_options->plugin_dir . '/.keep', 'r' );
49
+ $userhash = fgets( $f );
50
+ fclose( $f );
51
+ }
52
+ return $userhash;
53
+ }
54
+
55
+ public function get_hash(){
56
+ $response = wp_remote_get("https://api.web-dorado.com/hash/" . $_SERVER['REMOTE_ADDR'] . "/" . $_SERVER['HTTP_HOST']);
57
+
58
+ $response_body = isset($response["body"]) ? json_decode($response["body"], true) : null;
59
+
60
+ if(is_array($response_body)){
61
+ $hash = $response_body["body"]["hash"];
62
+ }
63
+ else{
64
+ $hash = null;
65
+ }
66
+
67
+ return $hash;
68
+ }
69
+
70
+
71
+ ////////////////////////////////////////////////////////////////////////////////////////
72
+ // Getters & Setters //
73
+ ////////////////////////////////////////////////////////////////////////////////////////
74
+ ////////////////////////////////////////////////////////////////////////////////////////
75
+ // Private Methods //
76
+ ////////////////////////////////////////////////////////////////////////////////////////
77
+ ////////////////////////////////////////////////////////////////////////////////////////
78
+ // Listeners //
79
+ ////////////////////////////////////////////////////////////////////////////////////////
80
+
81
+ }
wd/includes/deactivate.php ADDED
@@ -0,0 +1,168 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'ABSPATH' ) ) {
3
+ exit;
4
+ }
5
+
6
+ class DoradoWebDeactivate{
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Events //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ ////////////////////////////////////////////////////////////////////////////////////////
11
+ // Constants //
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ ////////////////////////////////////////////////////////////////////////////////////////
14
+ // Variables //
15
+ ////////////////////////////////////////////////////////////////////////////////////////
16
+ public $deactivate_reasons = array();
17
+ public $config;
18
+ // Reason IDs
19
+ const REASON_PLUGIN_IS_HARD_TO_USE_TECHNICAL_PROBLEMS = "reason_plugin_is_hard_to_use_technical_problems";
20
+ const REASON_FREE_VERSION_IS_LIMITED = "reason_free_version_limited";
21
+ const REASON_PRO_EXPENSIVE = "reason_premium_expensive";
22
+ const REASON_UPGRADING_TO_PAID_VERSION = "reason_upgrading_to_paid_version";
23
+ const REASON_TEMPORARY_DEACTIVATION = "reason_temporary_deactivation";
24
+
25
+ ////////////////////////////////////////////////////////////////////////////////////////
26
+ // Constructor & Destructor //
27
+ ////////////////////////////////////////////////////////////////////////////////////////
28
+ public function __construct( $config = array() ) {
29
+ $this->config = $config;
30
+ $wd_options = $this->config;
31
+
32
+ $this->deactivate_reasons = array(
33
+ 1 => array(
34
+ 'id' => self::REASON_PLUGIN_IS_HARD_TO_USE_TECHNICAL_PROBLEMS,
35
+ 'text' => __( 'Technical problems / hard to use', $wd_options->prefix ),
36
+ ),
37
+ 2 => array(
38
+ 'id' => self::REASON_FREE_VERSION_IS_LIMITED,
39
+ 'text' => __( 'Free version is limited', $wd_options->prefix ),
40
+ ),
41
+ 3 => array(
42
+ 'id' => self::REASON_PRO_EXPENSIVE,
43
+ 'text' => __( 'Premium is expensive', $wd_options->prefix ),
44
+ ),
45
+ 4 => array(
46
+ 'id' => self::REASON_UPGRADING_TO_PAID_VERSION,
47
+ 'text' => __( 'Upgrading to paid version', $wd_options->prefix ),
48
+ ),
49
+ 5 => array(
50
+ 'id' => self::REASON_TEMPORARY_DEACTIVATION,
51
+ 'text' => __( 'Temporary deactivation', $wd_options->prefix ),
52
+ ),
53
+ );
54
+
55
+ add_action( 'admin_footer', array( $this, 'add_deactivation_feedback_dialog_box' ) );
56
+ add_action( 'admin_init', array( $this, 'submit_and_deactivate' ) );
57
+
58
+
59
+ add_action( 'admin_enqueue_scripts', array( $this, 'scripts' ) );
60
+
61
+
62
+
63
+
64
+ }
65
+ ////////////////////////////////////////////////////////////////////////////////////////
66
+ // Public Methods //
67
+ ////////////////////////////////////////////////////////////////////////////////////////
68
+ public function add_deactivation_feedback_dialog_box(){
69
+ $deactivate_reasons = $this->deactivate_reasons;
70
+ $wd_options = $this->config;
71
+
72
+ ?>
73
+ <script>
74
+ jQuery(document).ready(function () {
75
+ wdReady("<?php echo $wd_options->prefix; ?>");
76
+ });
77
+ </script>
78
+ <?php
79
+ require ( $wd_options->wd_dir_templates . '/display_deactivation_popup.php' );
80
+ }
81
+
82
+
83
+
84
+ public function scripts(){
85
+ $wd_options = $this->config;
86
+ wp_enqueue_style( 'wd-deactivate-popup', $wd_options->wd_url_css . '/deactivate_popup.css', array(), get_option($wd_options->prefix . "_version" ) );
87
+ wp_enqueue_script( 'wd-deactivate-popup', $wd_options->wd_url_js . '/deactivate_popup.js', array(), get_option($wd_options->prefix . "_version" ));
88
+
89
+ $admin_data = wp_get_current_user();
90
+ wp_localize_script( 'wd-deactivate-popup', $wd_options->prefix . 'WDDeactivateVars' , array(
91
+ "prefix" => $wd_options->prefix ,
92
+ "deactivate_class" => $wd_options->prefix . '_deactivate_link',
93
+ "email" => $admin_data->data->user_email,
94
+ "plugin_wd_url" => $wd_options->plugin_wd_url,
95
+ ));
96
+
97
+
98
+ }
99
+ public function submit_and_deactivate(){
100
+ $wd_options = $this->config;
101
+ if( isset( $_POST[$wd_options->prefix . "_submit_and_deactivate"] ) ){
102
+
103
+ if( $_POST[$wd_options->prefix . "_submit_and_deactivate"] == 2 || $_POST[$wd_options->prefix . "_submit_and_deactivate"] == 3 ){
104
+ $api = new DoradoWebApi( $wd_options );
105
+ $hash = $api->get_hash();
106
+ if($hash != null){
107
+ $data = array();
108
+
109
+ $data["reason"] = isset($_POST[$wd_options->prefix . "_reasons"]) ? $_POST[$wd_options->prefix . "_reasons"] : "";
110
+ $data["site_url"] = site_url();
111
+ $data["plugin_slug"] = $wd_options->plugin_wordpress_slug;
112
+
113
+ $data["additional_details"] = isset($_POST[$wd_options->prefix . "_additional_details"]) ? $_POST[$wd_options->prefix . "_additional_details"] : "";
114
+ $admin_data = wp_get_current_user();
115
+ $data["email"] = isset($_POST[$wd_options->prefix . "_email"]) ? $_POST[$wd_options->prefix . "_email"] : $admin_data->data->user_email;
116
+ $user_first_name = get_user_meta( $admin_data->ID, "first_name", true );
117
+ $user_last_name = get_user_meta( $admin_data->ID, "last_name", true );
118
+
119
+ $data["name"] = $user_first_name || $user_last_name ? $user_first_name . " " . $user_last_name : $admin_data->data->user_login;
120
+ $data["hash"] = $hash;
121
+ $response = wp_remote_post( "https://api.web-dorado.com/deactivatereasons", array(
122
+ 'method' => 'POST',
123
+ 'timeout' => 45,
124
+ 'redirection' => 5,
125
+ 'httpversion' => '1.0',
126
+ 'blocking' => true,
127
+ 'headers' => array(),
128
+ 'body' => json_encode($data),
129
+ 'cookies' => array()
130
+ )
131
+ );
132
+
133
+ $response_body = isset( $response["body"] ) ? json_decode( $response["body"], true ) : null;
134
+ if( is_array( $response_body ) && $response_body["body"]["msg"] == "Access" ) {
135
+
136
+ }
137
+ }
138
+ }
139
+ if($_POST[$wd_options->prefix . "_submit_and_deactivate"] == 2 || $_POST[$wd_options->prefix . "_submit_and_deactivate"] == 1 ){
140
+ $deactivate_url =
141
+ add_query_arg(
142
+ array(
143
+ 'action' => 'deactivate',
144
+ 'plugin' => plugin_basename( $wd_options->plugin_main_file ),
145
+ '_wpnonce' => wp_create_nonce( 'deactivate-plugin_' . plugin_basename( $wd_options->plugin_main_file ) )
146
+ ),
147
+ admin_url( 'plugins.php' )
148
+ );
149
+ echo '<script>window.location.href="' . $deactivate_url . '";</script>';
150
+ }
151
+
152
+ }
153
+ }
154
+
155
+ ////////////////////////////////////////////////////////////////////////////////////////
156
+ // Getters & Setters //
157
+ ////////////////////////////////////////////////////////////////////////////////////////
158
+ ////////////////////////////////////////////////////////////////////////////////////////
159
+ // Private Methods //
160
+ ////////////////////////////////////////////////////////////////////////////////////////
161
+
162
+ ////////////////////////////////////////////////////////////////////////////////////////
163
+ // Listeners //
164
+ ////////////////////////////////////////////////////////////////////////////////////////
165
+
166
+ }
167
+
168
+
wd/includes/notices.php ADDED
@@ -0,0 +1,223 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( !defined( 'ABSPATH' ) ) {
3
+ exit;
4
+ }
5
+
6
+ class DoradoWebNotices {
7
+
8
+ protected $promo_link = '';
9
+
10
+ public $config;
11
+ public $notice_spam = 0;
12
+ public $notice_spam_max = 2;
13
+
14
+ // Basic actions to run
15
+ public function __construct( $config = array() ) {
16
+ $this->config = $config;
17
+ // Runs the admin notice ignore function incase a dismiss button has been clicked
18
+ add_action( 'admin_init', array( $this, 'admin_notice_ignore' ) );
19
+ // Runs the admin notice temp ignore function incase a temp dismiss link has been clicked
20
+ add_action( 'admin_init', array( $this, 'admin_notice_temp_ignore' ) );
21
+ add_action( 'admin_notices', array( $this, 'wd_admin_notices' ) );
22
+ }
23
+
24
+ // Checks to ensure notices aren't disabled and the user has the correct permissions.
25
+ public function wd_admin_notice() {
26
+ $wd_options = $this->config;
27
+ $settings = get_option($wd_options->prefix . '_admin_notice');
28
+ if ( !isset( $settings['disable_admin_notices'] ) || ( isset( $settings['disable_admin_notices'] ) && $settings['disable_admin_notices'] == 0 ) ) {
29
+ if ( current_user_can( 'manage_options' ) ) {
30
+ return true;
31
+ }
32
+ }
33
+ return false;
34
+ }
35
+
36
+ // Primary notice function that can be called from an outside function sending necessary variables
37
+ public function admin_notice( $admin_notices ) {
38
+ $wd_options = $this->config;
39
+ // Check options
40
+ if ( !$this->wd_admin_notice() ) {
41
+ return false;
42
+ }
43
+ foreach ( $admin_notices as $slug => $admin_notice ) {
44
+ // Call for spam protection
45
+ if ( $this->anti_notice_spam() ) {
46
+ return false;
47
+ }
48
+
49
+ // Check for proper page to display on
50
+ if (isset( $admin_notices[$slug]['pages']) && is_array( $admin_notices[$slug]['pages'])) {
51
+ if ( !$this->admin_notice_pages( $admin_notices[$slug]['pages'] ) ) {
52
+ return false;
53
+ }
54
+ }
55
+
56
+ // Check for required fields
57
+ if ( !$this->required_fields( $admin_notices[$slug] ) ) {
58
+
59
+ // Get the current date then set start date to either passed value or current date value and add interval
60
+ $current_date = current_time( "n/j/Y" );
61
+ $start = ( isset( $admin_notices[$slug]['start'] ) ? $admin_notices[$slug]['start'] : $current_date );
62
+ $start = date( "n/j/Y", strtotime( $start ) );
63
+ $date_array = explode( '/', $start );
64
+ $interval = ( isset( $admin_notices[$slug]['int'] ) ? $admin_notices[$slug]['int'] : 0 );
65
+
66
+ $date_array[1] += $interval;
67
+ $start = date( "n/j/Y", mktime( 0, 0, 0, $date_array[0], $date_array[1], $date_array[2] ) );
68
+
69
+ // This is the main notices storage option
70
+ $admin_notices_option = get_option( $wd_options->prefix . '_admin_notice', array() );
71
+ // Check if the message is already stored and if so just grab the key otherwise store the message and its associated date information
72
+ if ( !array_key_exists( $slug, $admin_notices_option ) ) {
73
+ $admin_notices_option[$slug]['start'] = $start;
74
+ $admin_notices_option[$slug]['int'] = $interval;
75
+ update_option( $wd_options->prefix . '_admin_notice', $admin_notices_option );
76
+ }
77
+
78
+ // Sanity check to ensure we have accurate information
79
+ // New date information will not overwrite old date information
80
+ $admin_display_check = ( isset( $admin_notices_option[$slug]['dismissed'] ) ? $admin_notices_option[$slug]['dismissed'] : 0 );
81
+ $admin_display_start = ( isset( $admin_notices_option[$slug]['start'] ) ? $admin_notices_option[$slug]['start'] : $start );
82
+ $admin_display_interval = ( isset($admin_notices_option[$slug]['int'] ) ? $admin_notices_option[$slug]['int'] : $interval );
83
+ $admin_display_msg = ( isset($admin_notices[$slug]['msg'] ) ? $admin_notices[$slug]['msg'] : '' );
84
+ $admin_display_title = ( isset($admin_notices[$slug]['title'] ) ? $admin_notices[$slug]['title'] : '' );
85
+ $admin_display_link = ( isset( $admin_notices[$slug]['link'] ) ? $admin_notices[$slug]['link'] : '' );
86
+ $output_css = false;
87
+
88
+ // Ensure the notice hasn't been hidden and that the current date is after the start date
89
+ if ( $admin_display_check == 0 && strtotime($admin_display_start) <= strtotime($current_date ) ) {
90
+
91
+ // Get remaining query string
92
+ $query_str = ( isset( $admin_notices[$slug]['later_link'] ) ? $admin_notices[$slug]['later_link'] : esc_url(add_query_arg( $wd_options->prefix . '_admin_notice_ignore', $slug ) ) );
93
+ if ( strpos($slug, 'promo' ) === FALSE ) {
94
+ // Admin notice display output
95
+ echo '<div class="update-nag wd-admin-notice">
96
+ <div class="wd-notice-logo" style="background-image: url(' . $wd_options->wd_url_img . '/' . $wd_options->prefix . '_main_plugin.png);"></div>
97
+ <p class="wd-notice-title">' . $admin_display_title . '</p>
98
+ <p class="wd-notice-body">' . $admin_display_msg . '</p>
99
+ <ul class="wd-notice-body wd-blue">' . $admin_display_link . '</ul>
100
+ <a href="' . $query_str . '" class="dashicons dashicons-dismiss"></a>
101
+ </div>';
102
+ }
103
+ else {
104
+ echo '<div class="admin-notice-promo">';
105
+ echo $admin_display_msg;
106
+ echo '<ul class="notice-body-promo blue">
107
+ ' . $admin_display_link . '
108
+ </ul>';
109
+ echo '<a href="' . $query_str . '" class="dashicons dashicons-dismiss close-promo"></a>';
110
+ echo '</div>';
111
+ }
112
+ $this->notice_spam += 1;
113
+ $output_css = true;
114
+ }
115
+ if ( $output_css ) {
116
+ wp_enqueue_style( $wd_options->prefix . '-admin-notices', $wd_options->wd_url_css . '/notices.css', array(), get_option($wd_options->prefix . "_version" ) );
117
+ }
118
+ }
119
+ }
120
+ }
121
+
122
+ // Spam protection check
123
+ public function anti_notice_spam() {
124
+ if ( $this->notice_spam >= $this->notice_spam_max ) {
125
+ return true;
126
+ }
127
+ return false;
128
+ }
129
+
130
+ // Ignore function that gets ran at admin init to ensure any messages that were dismissed get marked
131
+ public function admin_notice_ignore() {
132
+ $wd_options = $this->config;
133
+ // If user clicks to ignore the notice, update the option to not show it again
134
+ if ( isset( $_GET[$wd_options->prefix . '_admin_notice_ignore'] ) ) {
135
+ $admin_notices_option = get_option( $wd_options->prefix . '_admin_notice', array() );
136
+ $admin_notices_option[$_GET[$wd_options->prefix . '_admin_notice_ignore']]['dismissed'] = 1;
137
+ update_option( $wd_options->prefix . '_admin_notice', $admin_notices_option );
138
+ $query_str = remove_query_arg( $wd_options->prefix . '_admin_notice_ignore' );
139
+ wp_redirect( $query_str );
140
+ exit;
141
+ }
142
+ }
143
+
144
+ // Temp Ignore function that gets ran at admin init to ensure any messages that were temp dismissed get their start date changed
145
+ public function admin_notice_temp_ignore() {
146
+ $wd_options = $this->config;
147
+ // If user clicks to temp ignore the notice, update the option to change the start date - default interval of 14 days
148
+ if ( isset( $_GET[$wd_options->prefix . '_admin_notice_temp_ignore'] ) ) {
149
+ $admin_notices_option = get_option( $wd_options->prefix . '_admin_notice', array() );
150
+ $current_date = current_time( "n/j/Y" );
151
+ $date_array = explode( '/', $current_date );
152
+ $interval = (isset($_GET['wd_int']) ? $_GET['wd_int'] : 14);
153
+ $date_array[1] += $interval;
154
+ $new_start = date( "n/j/Y", mktime( 0, 0, 0, $date_array[0], $date_array[1], $date_array[2] ) );
155
+
156
+ $admin_notices_option[$_GET[$wd_options->prefix . '_admin_notice_temp_ignore']]['start'] = $new_start;
157
+ $admin_notices_option[$_GET[$wd_options->prefix . '_admin_notice_temp_ignore']]['dismissed'] = 0;
158
+ update_option( $wd_options->prefix . '_admin_notice', $admin_notices_option );
159
+ $query_str = remove_query_arg( array( $wd_options->prefix . '_admin_notice_temp_ignore', 'wd_int' ) );
160
+ wp_redirect( $query_str );
161
+ exit;
162
+ }
163
+ }
164
+
165
+ public function admin_notice_pages($pages) {
166
+ $wd_options = $this->config;
167
+ foreach ( $pages as $key => $page ) {
168
+ if (is_array($page)) {
169
+ if ( isset( $_GET['page'] ) && $_GET['page'] == $page[0] && isset($_GET['tab']) && $_GET['tab'] == $page[1] ) {
170
+ return true;
171
+ }
172
+ }
173
+ else {
174
+ if ( $page == 'all' ) {
175
+ return true;
176
+ }
177
+ if ( get_current_screen()->id === $page ) {
178
+ return true;
179
+ }
180
+ if ( isset($_GET['page']) && $_GET['page'] == $page ) {
181
+ return true;
182
+ }
183
+ }
184
+ return false;
185
+ }
186
+ }
187
+
188
+ // Required fields check
189
+ public function required_fields( $fields ) {
190
+ if ( !isset( $fields['msg'] ) || ( isset($fields['msg'] ) && empty( $fields['msg'] ) ) ) {
191
+ return true;
192
+ }
193
+ if ( !isset( $fields['title'] ) || ( isset( $fields['title'] ) && empty( $fields['title'] ) ) ) {
194
+ return true;
195
+ }
196
+ return false;
197
+ }
198
+
199
+ // Special parameters function that is to be used in any extension of this class
200
+ public function special_parameters($admin_notices) {
201
+ // Intentionally left blank
202
+ }
203
+
204
+ public function wd_admin_notices() {
205
+ $wd_options = $this->config;
206
+ $two_week_review_ignore = add_query_arg( array( $wd_options->prefix . '_admin_notice_ignore' => 'two_week_review' ) );
207
+ $two_week_review_temp = add_query_arg( array( $wd_options->prefix . '_admin_notice_temp_ignore' => 'two_week_review', 'int' => 14 ) );
208
+ $promo_close = add_query_arg( array( $wd_options->prefix . '_admin_notice_ignore' => 'ecommerce_promo' ) );
209
+
210
+ $notices['two_week_review'] = array(
211
+ 'title' => __('Leave A Review?', $wd_options->prefix),
212
+ 'msg' => sprintf(__('We hope you\'ve enjoyed using WordPress %s! Would you consider leaving us a review on WordPress.org?', $wd_options->prefix), $wd_options->plugin_title),
213
+ 'link' => '<li><span class="dashicons dashicons-external"></span><a href="https://wordpress.org/support/view/plugin-reviews/' . $wd_options->plugin_wordpress_slug . '?filter=5" target="_blank">' . __('Sure! I\'d love to!', $wd_options->prefix) . '</a></li>
214
+ <li><span class="dashicons dashicons-smiley"></span><a href="' . $two_week_review_ignore . '"> ' . __('I\'ve already left a review', $wd_options->prefix) . '</a></li>
215
+ <li><span class="dashicons dashicons-calendar-alt"></span><a href="' . $two_week_review_temp . '">' . __('Maybe Later', $wd_options->prefix) . '</a></li>
216
+ <li><span class="dashicons dashicons-dismiss"></span><a href="' . $two_week_review_ignore . '">' . __('Never show again', $wd_options->prefix) . '</a></li>',
217
+ 'later_link' => $two_week_review_temp,
218
+ 'int' => 14
219
+ );
220
+
221
+ $this->admin_notice($notices);
222
+ }
223
+ }
wd/includes/overview.php ADDED
@@ -0,0 +1,310 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( !defined( 'ABSPATH' ) ) {
3
+ exit;
4
+ }
5
+
6
+ class DoradoWebOverview{
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Events //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ ////////////////////////////////////////////////////////////////////////////////////////
11
+ // Constants //
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ ////////////////////////////////////////////////////////////////////////////////////////
14
+ // Variables //
15
+ ////////////////////////////////////////////////////////////////////////////////////////
16
+ public $config ;
17
+ private $tabs = array();
18
+
19
+ ////////////////////////////////////////////////////////////////////////////////////////
20
+ // Constructor & Destructor //
21
+ ////////////////////////////////////////////////////////////////////////////////////////
22
+ public function __construct( $config = array() ) {
23
+ $this->config = $config;
24
+ $wd_options = $this->config;
25
+ $this->tabs = array(
26
+ 'welcome' => array(
27
+ 'name' => __( "Welcome", $wd_options->prefix ),
28
+ 'view' => array( $this, 'wd_overview_welcome' )
29
+ ),
30
+ 'user_guide' => array(
31
+ 'name' => __( "User Guide", $wd_options->prefix ),
32
+ 'view' => array( $this, 'wd_overview_user_guide' )
33
+ ),
34
+ 'deals' => array(
35
+ 'name' => __( 'Deals', $wd_options->prefix ),
36
+ 'view' => array( $this, 'wd_overview_deals' )
37
+ ),
38
+ 'support' => array(
39
+ 'name' => __( "Support", $wd_options->prefix ),
40
+ 'view' => array( $this, 'wd_overview_support' )
41
+ ),
42
+ 'https://web-dorado.com/support/submit-your-idea.html' => array(
43
+ 'name' => __( "Submit Your Idea", $wd_options->prefix ),
44
+ 'view' => false
45
+ ),
46
+ 'https://wordpress.org/support/plugin/' . $wd_options->plugin_wordpress_slug => array(
47
+ 'name' => __( "Forum", $wd_options->prefix ),
48
+ 'view' => false
49
+ )
50
+ );
51
+
52
+
53
+
54
+ }
55
+ ////////////////////////////////////////////////////////////////////////////////////////
56
+ // Public Methods //
57
+ ////////////////////////////////////////////////////////////////////////////////////////
58
+ public function display_overview_page(){
59
+ $wd_options = $this->config;
60
+ $tabs = $this->tabs;
61
+ require_once( $wd_options->wd_dir_templates . "/display_overview.php" );
62
+ }
63
+ public function wd_overview_welcome(){
64
+ $wd_options = $this->config;
65
+ //http://api.wordpress.org/plugins/info/1.0/wd-google-maps
66
+ require_once( $wd_options->wd_dir_templates . "/display_overview_welcome.php" );
67
+ }
68
+ public function wd_overview_user_guide(){
69
+ $wd_options = $this->config;
70
+ $user_guide = $wd_options->user_guide;
71
+ require_once( $wd_options->wd_dir_templates . "/display_overview_user_guide.php" );
72
+ }
73
+ public function wd_overview_deals(){
74
+
75
+ $wd_options = $this->config;
76
+ $plugins = array(
77
+ "form-maker" => array(
78
+ 'title' => 'Form Maker',
79
+ 'text' => __( 'Wordpress form builder plugin', $wd_options->prefix ),
80
+ 'content' => __( 'Form Maker is a modern and advanced tool for creating WordPress forms easily and fast.', $wd_options->prefix ),
81
+ 'href' => 'https://web-dorado.com/products/wordpress-form.html'
82
+ ),
83
+ "photo-gallery" => array(
84
+ 'title' => 'Photo Gallery',
85
+ 'text' => __( 'WordPress Photo Gallery plugin', $wd_options->prefix ),
86
+ 'content' => __( 'Photo Gallery is a fully responsive WordPress Gallery plugin with advanced functionality.', $wd_options->prefix ),
87
+ 'href' => 'https://web-dorado.com/products/wordpress-photo-gallery-plugin.html'
88
+ ),
89
+ "event-calendar-wd" => array(
90
+ 'title' => 'Event Calendar WD',
91
+ 'text' => __( 'WordPress calendar plugin', $wd_options->prefix ),
92
+ 'content' => __( 'Organize and publish your events in an easy and elegant way using Event Calendar WD.', $wd_options->prefix ),
93
+ 'href' => 'https://web-dorado.com/products/wordpress-event-calendar-wd.html'
94
+ ),
95
+ "wd-google-maps" => array(
96
+ 'title' => 'WD Google Maps',
97
+ 'text' => __( 'WD Google Maps plugin', $wd_options->prefix ),
98
+ 'content' => __( 'Google Maps WD is an intuitive tool for creating Google maps with advanced markers, custom layers and overlays for your website.', $wd_options->prefix ),
99
+ 'href' => 'https://web-dorado.com/products/wordpress-google-maps-plugin.html'
100
+ ),
101
+ "slider-wd" => array(
102
+ 'title' => 'Slider WD',
103
+ 'text' => __( 'WordPress slider plugin', $wd_options->prefix ),
104
+ 'content' => __( 'Create responsive, highly configurable sliders with various effects for your WordPress site.', $wd_options->prefix ),
105
+ 'href' => 'https://web-dorado.com/products/wordpress-slider-plugin.html'
106
+ ),
107
+ "spider-event-calendar" => array(
108
+ 'title' => 'Spider Calendar',
109
+ 'text' => __( 'WordPress event calendar plugin', $wd_options->prefix ),
110
+ 'content' => __( 'Spider Event Calendar is a highly configurable product which allows you to have multiple organized events.', $wd_options->prefix ),
111
+ 'href' => 'https://web-dorado.com/products/wordpress-calendar.html'
112
+ ),
113
+ "wd-instagram-feed" => array(
114
+ 'title' => 'Instagram Feed WD',
115
+ 'text' => __( 'WordPress Instagram Feed plugin', $wd_options->prefix ),
116
+ 'content' => __( 'WD Instagram Feed is a user-friendly tool for displaying user or hashtag-based feeds on your website.', $wd_options->prefix ),
117
+ 'href' => 'https://web-dorado.com/products/wordpress-instagram-feed-wd.html'
118
+ ),
119
+ );
120
+ unset($plugins[$wd_options->plugin_wordpress_slug]) ;
121
+
122
+ // foreach ( $plugins as $wp_slug => &$plugin ){
123
+ // $wp_data = $this->remote_get($wp_slug);
124
+ // $plugin["downloaded"] = $wp_data["downloaded"];
125
+ // $plugin["rating"] = $wp_data["rating"];
126
+ // }
127
+
128
+ $themes = array(
129
+ "business_elite" => array(
130
+ 'title' => 'Business Elite Theme',
131
+ 'href' => 'https://web-dorado.com/wordpress-themes/business-elite.html'
132
+ ),
133
+ "portfolio_gallery" => array(
134
+ 'title' => 'Portfolio Gallery Theme',
135
+ 'href' => 'https://web-dorado.com/wordpress-themes/portfolio-gallery.html'
136
+ ),
137
+ "sauron" => array(
138
+ 'title' => 'Sauron Theme',
139
+ 'href' => 'https://web-dorado.com/wordpress-themes/sauron.html'
140
+ ),
141
+ "business_world" => array(
142
+ 'title' => 'Business World Theme',
143
+ 'href' => 'https://web-dorado.com/wordpress-themes/business-world.html'
144
+ ),
145
+ );
146
+
147
+ require_once( $wd_options->wd_dir_templates . "/display_overview_deals.php" );
148
+ }
149
+ public function wd_overview_support(){
150
+ $wd_options = $this->config;
151
+ global $wpdb;
152
+ $server_info = array();
153
+
154
+ // Get PHP Version
155
+ $server_info["Operating System"] = PHP_OS . " (" . ( PHP_INT_SIZE * 8 ) . ")";
156
+ $server_info["PHP Version"] = PHP_VERSION;
157
+ $server_info["Server"] = $_SERVER["SERVER_SOFTWARE"];
158
+
159
+ // Get MYSQL Version
160
+ $sql_version = $wpdb->get_var( "SELECT VERSION() AS version" );
161
+ $server_info["MySQL Version"] = $sql_version;
162
+
163
+ // GET SQL Mode
164
+ $mysqlinfo = $wpdb->get_results( "SHOW VARIABLES LIKE 'sql_mode'" );
165
+ if ( is_array( $mysqlinfo ) )
166
+ $sql_mode = $mysqlinfo[0]->Value;
167
+ if ( empty( $sql_mode ) )
168
+ $sql_mode = __( 'Not set', $wd_options->prefix );
169
+ $server_info["SQL Mode"] = $sql_mode;
170
+
171
+ // Get PHP Safe Mode
172
+ if( ini_get( 'safe_mode' ) )
173
+ $safe_mode = __( 'On', $wd_options->prefix );
174
+ else
175
+ $safe_mode = __( 'Off', $wd_options->prefix );
176
+ $server_info["PHP Safe Mode"] = $safe_mode;
177
+
178
+ // Get PHP allow_url_fopen
179
+ if( ini_get( 'allow_url_fopen' ) )
180
+ $allow_url_fopen = __( 'On', $wd_options->prefix );
181
+ else
182
+ $allow_url_fopen = __( 'Off', $wd_options->prefix );
183
+ $server_info["PHP Allow URL fopen"] = $allow_url_fopen;
184
+
185
+ // Get PHP Max Upload Size
186
+ if (function_exists('wp_max_upload_size'))
187
+ $upload_max = strval(round((int) wp_max_upload_size() / (1024 * 1024))) . 'M';
188
+ else if(ini_get('upload_max_filesize'))
189
+ $upload_max = ini_get('upload_max_filesize');
190
+ else
191
+ $upload_max = __('N/A', $wd_options->prefix);
192
+
193
+ $server_info["PHP Max Upload Size"] = $upload_max;
194
+
195
+ // Get PHP Output buffer Size
196
+ if( ini_get( 'pcre.backtrack_limit' ) )
197
+ $backtrack_limit = ini_get( 'pcre.backtrack_limit' );
198
+ else
199
+ $backtrack_limit = __( 'N/A', $wd_options->prefix );
200
+ $server_info["PCRE Backtracking Limit"] = $backtrack_limit;
201
+
202
+ // Get PHP Max Post Size
203
+ if( ini_get( 'post_max_size' ) )
204
+ $post_max = ini_get( 'post_max_size' );
205
+ else
206
+ $post_max = __( 'N/A', $wd_options->prefix );
207
+ $server_info["PHP Max Post Size"] = $post_max;
208
+
209
+ // Get PHP Max execution time
210
+ if( ini_get( 'max_execution_time' ) )
211
+ $max_execute = ini_get( 'max_execution_time' );
212
+ else
213
+ $max_execute = __( 'N/A', $wd_options->prefix );
214
+ $server_info["PHP Max Script Execute Time"] = $max_execute;
215
+
216
+
217
+ // Get PHP Memory Limit
218
+ if( ini_get( 'memory_limit' ) )
219
+ $memory_limit = ini_get( 'memory_limit' );
220
+ else
221
+ $memory_limit = __( 'N/A', $wd_options->prefix );
222
+ $server_info["PHP Memory Limit"] = $memory_limit;
223
+
224
+ // Get actual memory_get_usage
225
+ if ( function_exists( 'memory_get_usage' ) )
226
+ $memory_usage = round( memory_get_usage() / 1024 / 1024, 2 ) . __( ' MByte', $wd_options->prefix );
227
+ else
228
+ $memory_usage = __( 'N/A', $wd_options->prefix );
229
+ $server_info["Memory usage"] = $memory_usage;
230
+
231
+ // required for EXIF read
232
+ if ( is_callable( 'exif_read_data' ) )
233
+ $exif = __( 'Yes', $wd_options->prefix ). " (V" . substr( phpversion( 'exif' ), 0, 4 ) . ")" ;
234
+ else
235
+ $exif = __( 'No', $wd_options->prefix );
236
+ $server_info["PHP Exif support"] = $exif;
237
+
238
+ // required for meta data
239
+ if ( is_callable( 'iptcparse' ) )
240
+ $iptc = __( 'Yes', $wd_options->prefix );
241
+ else
242
+ $iptc = __( 'No', $wd_options->prefix );
243
+ $server_info["PHP IPTC support"] = $iptc;
244
+
245
+ // required for meta data
246
+ if ( is_callable( 'xml_parser_create' ) )
247
+ $xml = __( 'Yes', $wd_options->prefix );
248
+ else
249
+ $xml = __( 'No', $wd_options->prefix );
250
+ $server_info["PHP XML support"] = $xml;
251
+
252
+ $gd_info = array( "GD support" => __( 'No', $wd_options->prefix ) );
253
+ if( function_exists( "gd_info" ) ){
254
+ $gd_info = array();
255
+ foreach( gd_info() as $key => $val ){
256
+ if( is_bool($val) ){
257
+ $gd_info[$key] = $val ? __( 'Yes', $wd_options->prefix ) : __( 'No', $wd_options->prefix );
258
+ }
259
+ else{
260
+ $gd_info[$key] = $val;
261
+ }
262
+ }
263
+ }
264
+
265
+ require_once( $wd_options->wd_dir_templates . "/display_overview_support.php" );
266
+ }
267
+
268
+ public function overview_styles() {
269
+ $wd_options = $this->config;
270
+ $version = get_option( $wd_options->prefix . "_version" );
271
+ wp_enqueue_style( $wd_options->prefix . '_overview_css', $wd_options->wd_url_css . '/overview.css', array(), $version );
272
+
273
+ }
274
+ public function overview_scripts() {
275
+ $wd_options = $this->config;
276
+ $version = get_option( $wd_options->prefix . "_version" );
277
+ wp_enqueue_script( $wd_options->prefix . '_overview_js', $wd_options->wd_url_js . '/overview.js', array(), $version );
278
+
279
+ }
280
+ ////////////////////////////////////////////////////////////////////////////////////////
281
+ // Getters & Setters //
282
+ ////////////////////////////////////////////////////////////////////////////////////////
283
+ ////////////////////////////////////////////////////////////////////////////////////////
284
+ // Private Methods //
285
+ ////////////////////////////////////////////////////////////////////////////////////////
286
+ private function remote_get($plugin_wp_slug){
287
+ $request = wp_remote_get(" http://api.wordpress.org/plugins/info/1.0/" . $plugin_wp_slug);
288
+ $data = array();
289
+ if (!is_wp_error($request) || wp_remote_retrieve_response_code($request) === 200) {
290
+ $body = unserialize($request['body']);
291
+ $data["downloaded"] = $body->downloaded;
292
+ $ratings = $body->ratings;
293
+ if( $ratings[5] == 0 && $ratings[4] == 0 && $ratings[3] == 0 && $ratings[2] == 0 && $ratings[1] == 0){
294
+ $data["rating"] = 100;
295
+ }
296
+ else{
297
+ $data["rating"] = round( ( ( $ratings[5] * 5 + $ratings[4] * 4 + $ratings[3] * 3 + $ratings[2] * 2 + $ratings[1] * 1 ) / $body->num_ratings ) , 1 );
298
+
299
+ $data["rating"] = round( ( $data["rating"] / 5 ) * 100 );
300
+ }
301
+ return $data;
302
+ }
303
+ return false;
304
+
305
+ }
306
+ ////////////////////////////////////////////////////////////////////////////////////////
307
+ // Listeners //
308
+ ////////////////////////////////////////////////////////////////////////////////////////
309
+
310
+ }
wd/includes/subscribe.php ADDED
@@ -0,0 +1,138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'ABSPATH' ) ) {
3
+ exit;
4
+ }
5
+ class DoradoWebSubscribe {
6
+ // //////////////////////////////////////////////////////////////////////////////////////
7
+ // Events //
8
+ // //////////////////////////////////////////////////////////////////////////////////////
9
+ // //////////////////////////////////////////////////////////////////////////////////////
10
+ // Constants //
11
+ // //////////////////////////////////////////////////////////////////////////////////////
12
+ // //////////////////////////////////////////////////////////////////////////////////////
13
+ // Variables //
14
+ // //////////////////////////////////////////////////////////////////////////////////////
15
+ public $config;
16
+ // //////////////////////////////////////////////////////////////////////////////////////
17
+ // Constructor & Destructor //
18
+ // //////////////////////////////////////////////////////////////////////////////////////
19
+ public function __construct( $config = array() ){
20
+ $this->config = $config;
21
+ add_action( 'admin_init', array( $this, 'after_subscribe' ) );
22
+ }
23
+ // //////////////////////////////////////////////////////////////////////////////////////
24
+ // Public Methods //
25
+ // //////////////////////////////////////////////////////////////////////////////////////
26
+
27
+ public function subscribe_scripts() {
28
+ $wd_options = $this->config;
29
+ wp_register_script ( 'subscribe_js', $wd_options->wd_url_js . '/subsribe.js' );
30
+ wp_enqueue_script ( 'subscribe_js' );
31
+
32
+ }
33
+ public function subscribe_styles() {
34
+ $wd_options = $this->config;
35
+ wp_enqueue_style( $wd_options->prefix . 'subscribe', $wd_options->wd_url_css . '/subscribe.css' );
36
+
37
+ }
38
+
39
+ public function subscribe_display_page() {
40
+ $wd_options = $this->config;
41
+ $list = array(
42
+ 0 => array(
43
+ "title" => __( "Your name &", $wd_options->prefix ),
44
+ "small_text" => __( "Email address", $wd_options->prefix ),
45
+ "img" => $wd_options->wd_url_img . '/sub_1.png',
46
+ ),
47
+ 1 => array(
48
+ "title" => __( "Site URL", $wd_options->prefix ),
49
+ "small_text" => __( "Wordpress version", $wd_options->prefix ),
50
+ "img" => $wd_options->wd_url_img . '/sub_2.png',
51
+ ),
52
+ 2 => array(
53
+ "title" => __( "List of plugins", $wd_options->prefix ),
54
+ "small_text" => "",
55
+ "img" => $wd_options->wd_url_img . '/sub_4.png',
56
+ ),
57
+ );
58
+
59
+ require_once ( $wd_options->wd_dir_templates . "/display_subscribe.php" );
60
+ }
61
+ public function after_subscribe(){
62
+ $wd_options = $this->config;
63
+ if( isset( $_GET[ $wd_options->prefix . "_sub_action"] ) ){
64
+
65
+ if( $_GET[$wd_options->prefix . "_sub_action"] == "allow" ){
66
+ $api = new DoradoWebApi($wd_options);
67
+ $hash = $api->get_hash();
68
+
69
+ if( $hash != null ){
70
+ $all_plugins = array();
71
+ $plugins = get_plugins();
72
+ foreach ( $plugins as $slug => $data ) {
73
+ $plugin = array(
74
+ "Name" => $data["Name"],
75
+ "PluginURI" => $data["PluginURI"],
76
+ "Author" => $data["Author"],
77
+ "AuthorURI" => $data["AuthorURI"]
78
+ );
79
+ $all_plugins[$slug] = $plugin;
80
+ }
81
+
82
+ $data = array();
83
+ $data["site_url"] = site_url();
84
+
85
+ $admin_data = wp_get_current_user();
86
+
87
+ $user_first_name = get_user_meta( $admin_data->ID, "first_name", true );
88
+ $user_last_name = get_user_meta( $admin_data->ID, "last_name", true );
89
+
90
+ $data["name"] = $user_first_name || $user_last_name ? $user_first_name . " " . $user_last_name : $admin_data->data->user_login;
91
+
92
+ $data["email"] = $admin_data->data->user_email;
93
+ $data["wp_version"] = get_bloginfo( 'version' );
94
+ $data["plugin_id"] = $wd_options->wd_plugin_id;
95
+ $data["hash"] = $hash;
96
+ $data["all_plugins"] = $all_plugins;
97
+
98
+
99
+ $response = wp_remote_post( "https://api.web-dorado.com/collectuserdata", array(
100
+ 'method' => 'POST',
101
+ 'timeout' => 45,
102
+ 'redirection' => 5,
103
+ 'httpversion' => '1.0',
104
+ 'blocking' => true,
105
+ 'headers' => array(),
106
+ 'body' => json_encode($data),
107
+ 'cookies' => array()
108
+ )
109
+ );
110
+
111
+ $response_body = isset( $response["body"] ) ? json_decode( $response["body"], true ) : null;
112
+
113
+ if( is_array( $response_body ) && $response_body["body"]["msg"] == "Access" ) {
114
+
115
+ }
116
+ }
117
+ }
118
+ if ( get_option( $wd_options->prefix . "_subscribe_done" ) != 1 ) {
119
+ update_option( $wd_options->prefix . "_subscribe_done", 1 );
120
+ }
121
+ else {
122
+ add_option( $wd_options->prefix . "_subscribe_done" , "1", '', 'no');
123
+ }
124
+
125
+ wp_safe_redirect( $wd_options->after_subscribe );
126
+ }
127
+
128
+ }
129
+ // //////////////////////////////////////////////////////////////////////////////////////
130
+ // Getters & Setters //
131
+ // //////////////////////////////////////////////////////////////////////////////////////
132
+ // //////////////////////////////////////////////////////////////////////////////////////
133
+ // Private Methods //
134
+ // //////////////////////////////////////////////////////////////////////////////////////
135
+ // //////////////////////////////////////////////////////////////////////////////////////
136
+ // Listeners //
137
+ // //////////////////////////////////////////////////////////////////////////////////////
138
+ }
wd/start.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'ABSPATH' ) ) {
3
+ exit;
4
+ }
5
+ define( 'DORADO_WEB_API_PLUGIN_DATA_PATH', 'https://api.web-dorado.com/v2/_id_/plugindata' );
6
+ require_once dirname( __FILE__ ) . '/config.php';
7
+
8
+ /**
9
+ * @param options for Plugin details.
10
+ * prefix;
11
+ * wd_plugin_id;
12
+ * plugin_title;
13
+ * plugin_dir;
14
+ * plugin_main_file;
15
+ * description;
16
+ * plugin_features;
17
+ * user_guide;
18
+ * video_youtube_id;
19
+ * plugin_wd_url;
20
+ * plugin_wd_demo_link;
21
+ * plugin_wd_addons_link;
22
+ * plugin_wizard_link;
23
+ * after_subscribe;
24
+ * plugin_menu_title;
25
+ * plugin_menu_icon;
26
+ * custom_post;
27
+ */
28
+
29
+ function dorado_web_init( $options ) {
30
+
31
+ // load files
32
+ require_once dirname( __FILE__ ) . '/wd.php';
33
+
34
+ $wd = new DoradoWeb();
35
+ $wd->wd_init( $options );
36
+
37
+ }
38
+
39
+
40
+
41
+
wd/templates/display_deactivation_popup.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="wd-opacity wd-<?php echo $wd_options->prefix; ?>-opacity"></div>
2
+ <div class="wd-deactivate-popup wd-<?php echo $wd_options->prefix; ?>-deactivate-popup">
3
+ <div class="wd-deactivate-popup-opacity wd-deactivate-popup-opacity-<?php echo $wd_options->prefix; ?>">
4
+ <img src="<?php echo $wd_options->wd_url_img . '/spinner.gif'; ?>" class="wd-img-loader" >
5
+ </div>
6
+ <form method="post" id="<?php echo $wd_options->prefix; ?>_deactivate_form">
7
+ <div class="wd-deactivate-popup-header">
8
+ <?php _e( "Please let us know why you are deactivating. Your answer will help us to serve you better", $wd_options->prefix ); ?>:
9
+ </div>
10
+
11
+ <div class="wd-deactivate-popup-body">
12
+ <?php foreach( $deactivate_reasons as $deactivate_reason_slug => $deactivate_reason ) { ?>
13
+ <div class="wd-<?php echo $wd_options->prefix; ?>-reasons">
14
+ <input type="radio" value="<?php echo $deactivate_reason["id"];?>" id="<?php echo $wd_options->prefix . "-" .$deactivate_reason["id"]; ?>" name="<?php echo $wd_options->prefix; ?>_reasons" >
15
+ <label for="<?php echo $wd_options->prefix . "-" . $deactivate_reason["id"]; ?>"><?php echo $deactivate_reason["text"];?></label>
16
+ </div>
17
+ <?php } ?>
18
+ <div class="<?php echo $wd_options->prefix; ?>_additional_details_wrap"></div>
19
+ </div>
20
+ <div class="wd-btns">
21
+ <a href="#" data-val="1" class="button button-secondary button-close wd-<?php echo $wd_options->prefix; ?>-deactivate" id="wd-<?php echo $wd_options->prefix; ?>-deactivate"><?php _e( "Deactivate" , $wd_options->prefix ); ?></a>
22
+ <a href="#" data-val="2" class="button button-secondary button-close wd-<?php echo $wd_options->prefix; ?>-deactivate" id="wd-<?php echo $wd_options->prefix; ?>-submit-and-deactivate" style="display:none;"><?php _e( "Submit and deactivate" , $wd_options->prefix ); ?></a>
23
+ <a href="#" class="button button-primary wd-<?php echo $wd_options->prefix; ?>-cancel"><?php _e( "Cancel" , $wd_options->prefix ); ?></a>
24
+ </div>
25
+ <input type="hidden" name="<?php echo $wd_options->prefix . "_submit_and_deactivate"; ?>" value="" >
26
+ <?php wp_nonce_field( $wd_options->prefix . '_save_form', $wd_options->prefix . '_save_form_fild'); ?>
27
+ </form>
28
+ </div>
wd/templates/display_overview.php ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="overview_welcome">
2
+ <div class="wd-cell wd-valign-middle">
3
+ <a href="<?php echo $wd_options->plugin_wd_url; ?>" target="_blank"><img src="<?php echo $wd_options->wd_url_img . '/' . $wd_options->prefix . '_main_plugin.png'; ?>"></a>
4
+ </div>
5
+ <div class="wd-cell wd-valign-middle">
6
+ <h2><?php echo sprintf( __( "Welcome to %s", $wd_options->prefix ), $wd_options->plugin_title ); ?></h2>
7
+ <div class="overview_welcome_text">
8
+ <div><?php echo sprintf( __( "CONGRATS! You've successfully installed %s WordPress plugin.", $wd_options->prefix ), $wd_options->plugin_title ) ; ?></div>
9
+ <div><?php echo $wd_options->description ; ?></div>
10
+ </div>
11
+ </div>
12
+ </div>
13
+ <div class="overview_wrap">
14
+ <ul class="overview_tabs">
15
+ <?php
16
+ foreach ( $tabs as $tab_key => $tab ) {
17
+ $href = $tab['view'] !== false ? "#" . $tab_key : $tab_key;
18
+ $target = $tab['view'] == false ? 'target="_blank" class="not_tab"' : '';
19
+ $overview_tab_active_class = $tab_key == 'welcome' ? 'class="overview_tab_active"' : ''
20
+ ?>
21
+ <li class=""><a href="<?php echo $href; ?>" <?php echo $overview_tab_active_class; ?> <?php echo $target; ?>><?php echo esc_html( $tab['name'] ); ?></a></li>
22
+ <?php } ?>
23
+ </ul>
24
+ <div class="overview_content">
25
+ <?php
26
+ foreach ( $tabs as $tab_key => $tab ) {
27
+ if( $tab['view'] !== false ){
28
+ echo call_user_func( $tab['view'] );
29
+ }
30
+ }
31
+ ?>
32
+ </div>
33
+ </div>
wd/templates/display_overview_deals.php ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div id="deals">
2
+
3
+ <div id="plugins">
4
+ <div class="deals_header deals_header_plugins">
5
+ <a href="https://web-dorado.com/wordpress-plugins-bundle.html" target="_blank">
6
+ <div class="wd-table">
7
+ <div class="wd-cell wd-text-right wd-valign-middle">
8
+ <img src="<?php echo $wd_options->wd_url_img . '/' . $wd_options->prefix . '_main_plugin.png'; ?>" width="100px">
9
+ </div>
10
+ <div class="wd-cell wd-valign-middle">
11
+ <div class="titles_wrap">
12
+ <div class="deals_main_title"><?php echo sprintf( __( "Get %s", $wd_options->prefix ), $wd_options->plugin_title ); ?></div>
13
+ <div class="deals_main_title"><span class="higlight">+27 </span><?php echo __( "plugins", $wd_options->prefix ); ?></div>
14
+ <div class="deals_secondary_title"><?php echo __( "for", $wd_options->prefix ); ?><span class="higlight"> $99 </span><?php echo __( "only", $wd_options->prefix ); ?></div>
15
+ </div>
16
+ <div class="deals_save"><?php echo __( "Save 80%", $wd_options->prefix ); ?></div>
17
+ </div>
18
+ </div>
19
+ </a>
20
+ </div>
21
+ <div class="deals_content">
22
+ <?php foreach( $plugins as $wp_slug => &$plugin ){ ?>
23
+
24
+ <div class="deal_block">
25
+ <div class="deal_title">
26
+ <a href="<?php echo $plugin["href"]; ?>" target="_blank" >
27
+ <img src = "<?php echo $wd_options->wd_url_img . '/plugins/' . $wp_slug . '.png'; ?>">
28
+ <h2><?php echo $plugin["title"]; ?></h2>
29
+ </a>
30
+ </div>
31
+ <div class="deal_desc">
32
+ <p><?php echo $plugin["content"]; ?></p>
33
+ <div class="deal_desc_footer">
34
+ <!--<div class="downloads">
35
+ <div class="rating" data-rating="<?php echo $plugin["rating"]; ?>"></div>
36
+ <div class="spans">
37
+ <span><?php _e( "Downloads", $wd_options->prefix ); ?></span>
38
+ <span><?php echo number_format($plugin["downloaded"], 0); ?></span>
39
+ </div>
40
+ </div>-->
41
+ <div class="download_btn">
42
+ <a href="<?php echo $plugin["href"]; ?>" target="_blank" ><?php _e( "Download", $wd_options->prefix ); ?></a>
43
+ </div>
44
+ </div>
45
+ </div>
46
+
47
+ </div>
48
+ <?php } ?>
49
+ </div>
50
+ <div class="get_all_deals">
51
+ <a href="https://web-dorado.com/wordpress-plugins-bundle.html" target="_blank" >
52
+ <?php _e( "Get all plugins", $wd_options->prefix ); ?>
53
+ </a>
54
+ </div>
55
+ </div>
56
+ <div id="themes">
57
+ <div class="deals_header deals_header_themes">
58
+ <a href="https://web-dorado.com/wordpress-themes-bundle.html" target="_blank">
59
+ <div class="wd-table">
60
+ <div class="wd-cell wd-text-right wd-valign-middle">
61
+ </div>
62
+ <div class="wd-cell wd-valign-middle">
63
+ <div class="titles_wrap">
64
+ <div class="deals_main_title"><?php echo __( "Get all 11 themes", $wd_options->prefix ); ?></div>
65
+ <div class="deals_main_title"><?php echo __( "for", $wd_options->prefix ); ?><span class="higlight"> $40 </span><?php echo __( "only", $wd_options->prefix ); ?></div>
66
+ </div>
67
+ <div class="deals_save"><?php echo __( "Save 70%", $wd_options->prefix ); ?></div>
68
+ </div>
69
+ </div>
70
+ </a>
71
+ </div>
72
+ <div class="deals_content">
73
+ <?php foreach( $themes as $slug => $theme ){ ?>
74
+ <div class="theme_block">
75
+ <a href="<?php echo $theme["href"]; ?>" target="_blank" >
76
+ <img src = "<?php echo $wd_options->wd_url_img . '/plugins/' . $slug . '.png'; ?>" width="100%;">
77
+ <div><?php echo $theme["title"]; ?></div>
78
+ </a>
79
+ </div>
80
+ <?php } ?>
81
+ </div>
82
+ <div class="get_all_deals">
83
+ <a href="https://web-dorado.com/wordpress-themes-bundle.html" target="_blank" >
84
+ <?php _e( "Find out more", $wd_options->prefix ); ?>
85
+ </a>
86
+ </div>
87
+ </div>
88
+ </div>
wd/templates/display_overview_support.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div id="support">
2
+ <p class="wd-support-main">
3
+ <?php echo sprintf( __("You may contact us by filling in this form or by email %s any time you need professional support or have any questions. You can also fill in the form to leave your comments or feedback.", $wd_options->prefix), "<span class='support_email'>(support@web-dorado.com)</span>") ;?>
4
+ </p>
5
+ <div class="wd-overview-site-deatils">
6
+ <h2><?php _e( "Site Deatils", $wd_options->prefix ); ?></h2>
7
+ <p>
8
+ <?php _e( "When contacting support, consider copying and pasting this information in your support request.", $wd_options->prefix ); ?>
9
+ <br>
10
+ <?php _e( "It helps us troubleshoot more quickly.", $wd_options->prefix ); ?>
11
+ </p>
12
+ <?php
13
+ if ( function_exists('current_user_can' ) ) {
14
+ if ( current_user_can('manage_options') ) {
15
+ ?>
16
+ <div class="wd-site-deatils wd-table">
17
+ <button id="wd-copy"><?php _e( "Copy to Clipboard", $wd_options->prefix ); ?></button>
18
+ <div id="wd-site-deatils">
19
+ <textarea rows="10" id="wd-site-deatils-textarea"><?php
20
+ _e( "Server Settings", $wd_options->prefix );
21
+ echo '&#13;&#10;&#13;&#10;';
22
+ foreach( $server_info as $key => $val ){
23
+ echo $key . ": " . $val . '&#13;&#10;';
24
+ }
25
+ echo '&#13;&#10;';
26
+ _e( "Graphic Library", $wd_options->prefix );
27
+ echo '&#13;&#10;&#13;&#10;';
28
+ foreach( $gd_info as $key => $val ){
29
+ echo $key . ": " . $val . '&#13;&#10;';
30
+ }
31
+ ?></textarea>
32
+ </div>
33
+ </div>
34
+ <?php
35
+ }
36
+ }
37
+ ?>
38
+
39
+ </div>
40
+ <div class="contact_us_wrap">
41
+ <a href="https://web-dorado.com/support/contact-us.html" target="_blank" class="contact_us"><?php _e("Contact us", $wd_options->prefix); ?></a>
42
+ </div>
43
+ </div>
wd/templates/display_overview_user_guide.php ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div id="user_guide">
2
+ <div class="wd-table">
3
+ <div class="wd-cell">
4
+ <?php for( $i = 0; $i < ceil( count($user_guide) / 2 ); $i++) { ?>
5
+ <div class="user_guide_item">
6
+ <a href="<?php echo $user_guide[$i]["url"]; ?>" class="user_guide_title" target="_blank"><?php echo $user_guide[$i]["main_title"]; ?></a>
7
+ <?php foreach( $user_guide[$i]["titles"] as $title ) { ?>
8
+ <div><a href="<?php echo $title["url"]; ?>" target="_blank" class="user_guide_titles"><?php echo $title["title"]; ?></a></div>
9
+ <?php } ?>
10
+ </div>
11
+ <?php } ?>
12
+ </div>
13
+ <div class="wd-cell">
14
+ <?php for( $i = $i; $i < count($user_guide); $i++) { ?>
15
+ <div class="user_guide_item">
16
+ <a href="<?php echo $user_guide[$i]["url"]; ?>" class="user_guide_title" target="_blank"><?php echo $user_guide[$i]["main_title"]; ?></a>
17
+ <?php foreach( $user_guide[$i]["titles"] as $title ) { ?>
18
+ <div><a href="<?php echo $title["url"]; ?>" target="_blank" class="user_guide_titles"><?php echo $title["title"]; ?></a></div>
19
+ <?php } ?>
20
+ </div>
21
+ <?php } ?>
22
+ </div>
23
+ <div class="wd-cell">
24
+ <?php if($wd_options->plugin_wd_demo_link) { ?>
25
+ <a href="<?php echo $wd_options->plugin_wd_demo_link; ?>" class="user_guide_demo" target="_blank">
26
+ <?php _e( "Demo", $wd_options->prefix ); ?>
27
+ </a>
28
+ <?php } ?>
29
+ <a href="<?php echo $wd_options->plugin_wd_url; ?>" class="user_guide_plugin" target="_blank">
30
+ <?php echo $wd_options->plugin_title; ?>
31
+ </a>
32
+ <a href="https://wordpress.org/support/plugin/<?php echo $wd_options->plugin_wordpress_slug; ?>" class="user_guide_support_forum" target="_blank">
33
+ <?php _e( "Support Forum", $wd_options->prefix ); ?>
34
+ </a>
35
+ <a href="https://web-dorado.com/support/faq.html" class="user_guide_faq" target="_blank">
36
+ <?php _e( "FAQ", $wd_options->prefix ); ?>
37
+ </a>
38
+ <?php if($wd_options->plugin_wd_addons_link) { ?>
39
+ <a href="<?php echo $wd_options->plugin_wd_addons_link; ?>" class="user_guide_addons" target="_blank">
40
+ <?php _e( "Addons", $wd_options->prefix ); ?>
41
+ </a>
42
+ <?php } ?>
43
+ </div>
44
+ </div>
45
+ </div>
46
+
wd/templates/display_overview_welcome.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div id="welcome">
2
+ <!-- display plugin video -->
3
+ <?php if( $wd_options->video_youtube_id ){ ?>
4
+ <div class="wd-video_container">
5
+ <iframe width="100%" height="400" src="//www.youtube.com/embed/<?php echo $wd_options->video_youtube_id; ?>?rel=0" frameborder="0" allowfullscreen></iframe>
6
+ </div>
7
+ <?php }
8
+ else if( $wd_options->overview_welcome_image ) { ?>
9
+ <img src="<?php echo $wd_options->overview_welcome_image; ?>" width="100%" />
10
+
11
+ <?php } ?>
12
+
13
+ <!-- display plugin features -->
14
+ <div class="plugin_features">
15
+ <!-- if your plugin has a wizard-->
16
+ <?php if( $wd_options->plugin_wizard_link ) { ?>
17
+ <div class="wd-tour">
18
+ <a class="wd-tour-btn" href="<?php echo $wd_options->plugin_wizard_link;?>"><?php _e( "Run Install Wizard ",$wd_options->prefix); ?></a>
19
+ </div>
20
+ <?php } ?>
21
+ <?php foreach( $wd_options->plugin_features as $feature ){ ?>
22
+ <h2 class="plugin_feature_title"><?php echo $feature["title"]; ?></h2>
23
+ <div class="plugin_feature_description"><?php echo $feature["description"]; ?></div>
24
+ <?php } ?>
25
+ <div class="more_features_wrap">
26
+ <a href="<?php echo $wd_options->plugin_wd_url; ?>" class="more_features" target="_blank"><?php _e( "More features", $wd_options->prefix ); ?></a>
27
+ </div>
28
+ </div>
29
+
30
+ </div>
31
+
wd/templates/display_subscribe.php ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="wd-subscribe">
2
+ <div class="wd-subscribe-content">
3
+ <div class="imgs">
4
+ <img src="<?php echo $wd_options->wd_url_img . '/wp_logo.png'; ?>">
5
+ <span>+</span>
6
+ <img src="<?php echo $wd_options->wd_url_img . '/' . $wd_options->prefix . '_main_plugin.png'; ?>">
7
+ </div>
8
+ <div class="texts">
9
+ <p><?php _e( "Hi there", $wd_options->prefix ); ?>,</p>
10
+ <p>
11
+ <?php echo sprintf( __( "Allow %s to collect some usage data. This will allow you to get more out of your plugin experience – get awesome customer support, receive exclusive deals and discounts on premium products and more. You can choose to skip this step, %s will still work just fine.", $wd_options->prefix ), '<strong>Web-Dorado</strong>', $wd_options->plugin_title ); ?>
12
+ </p>
13
+ </div>
14
+ <div class="btns">
15
+ <a href="<?php echo "admin.php?page=" . $wd_options->prefix . "_subscribe&". $wd_options->prefix . "_sub_action=allow" ;?>" class="allow_and_continue"></a>
16
+ <img src="<?php echo $wd_options->wd_url_img . '/loader.gif';?>" class="wd_loader">
17
+ <a href="<?php echo "admin.php?page=" . $wd_options->prefix . "_subscribe&" . $wd_options->prefix . "_sub_action=skip" ;?>" class="skip" ></a>
18
+ </div>
19
+ <a href="#" class="permissions"><?php _e( "What data is being collected?" , $wd_options->prefix ); ?></a>
20
+ <div class="list">
21
+ <?php foreach( $list as $list_item ) { ?>
22
+ <div class="list_item">
23
+ <div class="list_img_wrap"><img src="<?php echo $list_item["img"]; ?>"></div>
24
+ <div class="list_text_wrap">
25
+ <div class="list_title"><?php echo $list_item["title"]; ?></div>
26
+ <div class="list_text"><?php echo $list_item["small_text"]; ?></div>
27
+ </div>
28
+ </div>
29
+ <?php } ?>
30
+ </div>
31
+ </div>
32
+ <div class="wd-subscribe-footer">
33
+ <ul class="wd-footer-menu">
34
+ <li>
35
+ <a href="https://web-dorado.com/web-dorado-privacy-statement.html" target="_blank">
36
+ <?php _e( "Privacy Policy", $wd_options->prefix ); ?>
37
+ </a>
38
+ <span>.</span>
39
+ </li>
40
+ <li>
41
+ <a href="https://web-dorado.com/terms-of-service.html" target="_blank">
42
+ <?php _e( "Terms of Use", $wd_options->prefix ); ?>
43
+ </a>
44
+ </li>
45
+ </ul>
46
+ </div>
47
+ </div>
wd/wd.php ADDED
@@ -0,0 +1,146 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'ABSPATH' ) ) {
3
+ exit;
4
+ }
5
+
6
+ class DoradoWeb {
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Events //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ ////////////////////////////////////////////////////////////////////////////////////////
11
+ // Constants //
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ ////////////////////////////////////////////////////////////////////////////////////////
14
+ // Variables //
15
+ ////////////////////////////////////////////////////////////////////////////////////////
16
+ public static $instance;
17
+ public $overview_instance;
18
+ public $subscribe_instance;
19
+ public $config;
20
+ private $version = "1.0.2";
21
+
22
+ ////////////////////////////////////////////////////////////////////////////////////////
23
+ // Constructor & Destructor //
24
+ ////////////////////////////////////////////////////////////////////////////////////////
25
+ public function __construct() {
26
+ // Add menu for Overview page
27
+ add_action( 'admin_menu', array( $this, 'wd_overview_menu_page' ), 10 );
28
+
29
+ }
30
+ ////////////////////////////////////////////////////////////////////////////////////////
31
+ // Public Methods //
32
+ ////////////////////////////////////////////////////////////////////////////////////////
33
+
34
+ // Init plugin data
35
+ public function wd_init( $options ) {
36
+
37
+ if(!is_array($options)){
38
+ return false;
39
+ }
40
+ $config = new DoradoWebConfig();
41
+ $config->set_options( $options );
42
+ $this->config = $config;
43
+ if( !class_exists("DoradoWebApi") ){
44
+ $this->wd_includes();
45
+ }
46
+
47
+ $this->init_classes();
48
+ $this->register_hooks();
49
+
50
+ }
51
+
52
+ // Create overview menu page
53
+ public function wd_overview_menu_page() {
54
+ $wd_options = $this->config;
55
+
56
+ $capability = $wd_options->menu_capability ? $wd_options->menu_capability : "manage_options";
57
+ if( get_option( $wd_options->prefix . "_subscribe_done" ) == 1 || $wd_options->subscribe === false ){
58
+ $parent_slug = $wd_options->custom_post;
59
+ }
60
+ else{
61
+
62
+ $subscribe_page = add_menu_page( $wd_options->plugin_menu_title, $wd_options->plugin_menu_title, "manage_options", $wd_options->prefix . '_subscribe' , array( $this, 'display_subscribew_page' ), $wd_options->plugin_menu_icon, $wd_options->menu_position );
63
+
64
+ $subscribe_instance = new DoradoWebSubscribe($this->config);
65
+ $this->subscribe_instance = $subscribe_instance;
66
+ add_action( 'admin_print_styles-' . $subscribe_page, array( $subscribe_instance, 'subscribe_styles' ) );
67
+ add_action( 'admin_print_scripts-' . $subscribe_page, array( $subscribe_instance, 'subscribe_scripts' ) );
68
+
69
+ $parent_slug = null;
70
+ }
71
+
72
+ $overview_page = add_submenu_page( $parent_slug, __( 'Overview', $wd_options->prefix ), __( 'Overview', $wd_options->prefix ), $capability, 'overview_' . $wd_options->prefix, array( $this, 'display_overview_page' ));
73
+
74
+
75
+ $overview_instance = new DoradoWebOverview($this->config);
76
+ $this->overview_instance = $overview_instance;
77
+ add_action( 'admin_print_styles-' . $overview_page, array( $overview_instance, 'overview_styles' ) );
78
+ add_action( 'admin_print_scripts-' . $overview_page, array( $overview_instance, 'overview_scripts' ) );
79
+ }
80
+
81
+ public function display_subscribew_page(){
82
+ $this->subscribe_instance->subscribe_display_page();
83
+ }
84
+
85
+ // Display overview page
86
+ public function display_overview_page() {
87
+ $this->overview_instance->display_overview_page();
88
+ }
89
+
90
+
91
+ // Includs
92
+ public function wd_includes(){
93
+ $wd_options = $this->config;
94
+
95
+ require_once $wd_options->wd_dir_includes . '/deactivate.php' ;
96
+ // notices
97
+ require_once $wd_options->wd_dir_includes . '/api.php';
98
+ require_once $wd_options->wd_dir_includes . '/notices.php';
99
+ require_once $wd_options->wd_dir_includes . "/overview.php";
100
+ require_once $wd_options->wd_dir_includes . "/subscribe.php";
101
+
102
+ }
103
+ public function init_classes(){
104
+ $wd_options = $this->config;
105
+
106
+ $current_url = $_SERVER['REQUEST_URI'];
107
+ if( $wd_options->deactivate === true ){
108
+ if(strpos( $current_url, "plugins.php" ) !== false ){
109
+ new DoradoWebDeactivate( $this->config );
110
+ }
111
+ }
112
+
113
+ new DoradoWebNotices( $this->config );
114
+
115
+ }
116
+
117
+ public function register_hooks(){
118
+ $wd_options = $this->config;
119
+ if( $wd_options->deactivate === true ){
120
+ add_filter( 'plugin_action_links_' . plugin_basename( $wd_options->plugin_main_file ), array( $this, 'change_deactivation_link' ) );
121
+ }
122
+
123
+ }
124
+
125
+
126
+ public function change_deactivation_link ( $links ) {
127
+ $wd_options = $this->config;
128
+ $links["deactivate"] = '<a href="#" class="' . $wd_options->prefix . '_deactivate_link">Deactivate</a>';
129
+ return $links;
130
+ }
131
+
132
+ ////////////////////////////////////////////////////////////////////////////////////////
133
+ // Getters & Setters //
134
+ ////////////////////////////////////////////////////////////////////////////////////////
135
+ ////////////////////////////////////////////////////////////////////////////////////////
136
+ // Private Methods //
137
+ ////////////////////////////////////////////////////////////////////////////////////////
138
+
139
+ ////////////////////////////////////////////////////////////////////////////////////////
140
+ // Listeners //
141
+ ////////////////////////////////////////////////////////////////////////////////////////
142
+
143
+ }
144
+
145
+
146
+