Slider by WD – Responsive Slider - Version 1.1.74

Version Description

  • Added: Default options for layers.
  • Added: Overview page.
  • Fixed: Google fonts bug.
Download this release

Release Info

Developer webdorado
Plugin Icon 128x128 Slider by WD – Responsive Slider
Version 1.1.74
Comparing to
See all releases

Code changes from version 1.1.73 to 1.1.74

Files changed (116) hide show
  1. admin/controllers/WDSControllerGoptions_wds.php +118 -4
  2. admin/controllers/WDSControllerSliders_wds.php +0 -12
  3. admin/controllers/WDSControllerUninstall_wds.php +8 -0
  4. admin/models/WDSModelSliders_wds.php +1 -2
  5. admin/models/WDSModelUninstall_wds.php +2 -2
  6. admin/views/WDSViewGoptions_wds.php +290 -16
  7. admin/views/WDSViewSliders_wds.php +36 -37
  8. admin/views/WDSViewUninstall_wds.php +1 -1
  9. css/notices.css +26 -0
  10. css/wds_tables.css +33 -2
  11. featured/featured.php +0 -171
  12. featured/featured_themes.php +0 -79
  13. featured/images/best_magazine.jpg +0 -0
  14. featured/images/business_elite.jpg +0 -0
  15. featured/images/business_world.jpg +0 -0
  16. featured/images/catalog.png +0 -0
  17. featured/images/contact.builder.png +0 -0
  18. featured/images/contact.maker.png +0 -0
  19. featured/images/contacts.png +0 -0
  20. featured/images/down.png +0 -0
  21. featured/images/download_plugins.png +0 -0
  22. featured/images/ecommerce.png +0 -0
  23. featured/images/facebook.png +0 -0
  24. featured/images/faq.png +0 -0
  25. featured/images/faq_wd.png +0 -0
  26. featured/images/flash.calendar.png +0 -0
  27. featured/images/fm-import.png +0 -0
  28. featured/images/folder.menu.png +0 -0
  29. featured/images/news_magazine.jpg +0 -0
  30. featured/images/player.png +0 -0
  31. featured/images/portfolio.jpg +0 -0
  32. featured/images/post-slider.png +0 -0
  33. featured/images/random.post.png +0 -0
  34. featured/images/sauron.jpg +0 -0
  35. featured/images/twittertools.png +0 -0
  36. featured/images/zoom.png +0 -0
  37. featured/style.css +0 -202
  38. featured/themes_style.css +0 -200
  39. filemanager/js/default.js +0 -3
  40. filemanager/view.php +4 -4
  41. framework/WDW_S_Library.php +1 -4
  42. frontend/models/WDSModelSlider.php +1 -1
  43. frontend/views/WDSViewSlider.php +6 -3
  44. images/wd_logo.png +0 -0
  45. js/wds.js +67 -31
  46. licensing/licensing.php +7 -3
  47. readme.txt +6 -1
  48. slider-wd.php +145 -43
  49. sliders-insert.php +3 -0
  50. sliders-update.php +33 -1
  51. wd/README.md +129 -0
  52. wd/assets/css/deactivate_popup.css +86 -0
  53. wd/assets/css/img/allow&continue.png +0 -0
  54. wd/assets/css/img/coupon_bg.png +0 -0
  55. wd/assets/css/img/plugins_header_bg.png +0 -0
  56. wd/assets/css/img/skip.png +0 -0
  57. wd/assets/css/img/themes_headrer_bg.png +0 -0
  58. wd/assets/css/img/ug-icon-1.png +0 -0
  59. wd/assets/css/img/ug-icon-2.png +0 -0
  60. wd/assets/css/img/ug-icon-3.png +0 -0
  61. wd/assets/css/img/ug-icon-4.png +0 -0
  62. wd/assets/css/img/ug-icon-5.png +0 -0
  63. wd/assets/css/img/welcome_bg.png +0 -0
  64. wd/assets/css/notices.css +88 -0
  65. wd/assets/css/overview.css +455 -0
  66. wd/assets/css/subscribe.css +114 -0
  67. wd/assets/img/bwg_main_plugin.png +0 -0
  68. wd/assets/img/ecwd_main_plugin.png +0 -0
  69. wd/assets/img/faqwd_main_plugin.png +0 -0
  70. wd/assets/img/ffwd_main_plugin.png +0 -0
  71. wd/assets/img/fwd_main_plugin.png +0 -0
  72. wd/assets/img/gawd_main_plugin.png +0 -0
  73. wd/assets/img/gmwd_main_plugin.png +0 -0
  74. wd/assets/img/loader.gif +0 -0
  75. wd/assets/img/mwd_main_plugin.png +0 -0
  76. wd/assets/img/plugins/business_elite.png +0 -0
  77. wd/assets/img/plugins/business_world.png +0 -0
  78. featured/images/events-wd.png → wd/assets/img/plugins/event-calendar-wd.png +0 -0
  79. featured/images/form.png → wd/assets/img/plugins/form-maker.png +0 -0
  80. {featured/images → wd/assets/img/plugins}/photo-gallery.png +0 -0
  81. wd/assets/img/plugins/portfolio_gallery.png +0 -0
  82. wd/assets/img/plugins/sauron.png +0 -0
  83. featured/images/slider.png → wd/assets/img/plugins/slider-wd.png +0 -0
  84. featured/images/spider.calendar.png → wd/assets/img/plugins/spider-event-calendar.png +0 -0
  85. featured/images/google-maps.png → wd/assets/img/plugins/wd-google-maps.png +0 -0
  86. featured/images/instagram_feed.png → wd/assets/img/plugins/wd-instagram-feed.png +0 -0
  87. wd/assets/img/spinner.gif +0 -0
  88. wd/assets/img/sub_1.png +0 -0
  89. wd/assets/img/sub_2.png +0 -0
  90. wd/assets/img/sub_4.png +0 -0
  91. wd/assets/img/twd_main_plugin.png +0 -0
  92. wd/assets/img/wd_ads_main_plugin.png +0 -0
  93. wd/assets/img/wde_main_plugin.png +0 -0
  94. wd/assets/img/wdi_main_plugin.png +0 -0
  95. wd/assets/img/wdps_main_plugin.png +0 -0
  96. wd/assets/img/wds_main_plugin.png +0 -0
  97. wd/assets/img/wp_logo.png +0 -0
  98. wd/assets/img/ytwd_main_plugin.png +0 -0
  99. wd/assets/js/deactivate_popup.js +106 -0
  100. wd/assets/js/overview.js +56 -0
  101. wd/assets/js/subsribe.js +36 -0
  102. wd/config.php +127 -0
  103. wd/includes/api.php +81 -0
  104. wd/includes/deactivate.php +168 -0
  105. wd/includes/notices.php +223 -0
  106. wd/includes/overview.php +310 -0
  107. wd/includes/subscribe.php +138 -0
  108. wd/start.php +41 -0
  109. wd/templates/display_deactivation_popup.php +28 -0
  110. wd/templates/display_overview.php +33 -0
  111. wd/templates/display_overview_deals.php +88 -0
  112. wd/templates/display_overview_support.php +43 -0
  113. wd/templates/display_overview_user_guide.php +46 -0
  114. wd/templates/display_overview_welcome.php +31 -0
  115. wd/templates/display_subscribe.php +47 -0
  116. wd/wd.php +146 -0
admin/controllers/WDSControllerGoptions_wds.php CHANGED
@@ -42,13 +42,127 @@ class WDSControllerGoptions_wds {
42
  $view = new WDSViewGoptions_wds($model);
43
  $view->display();
44
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
 
46
  public function save() {
47
- $wds_register_scripts = (isset($_REQUEST['wds_register_scripts']) ? (int) $_REQUEST['wds_register_scripts'] : 0);
48
  $loading_gif = (isset($_REQUEST['loading_gif']) ? esc_html($_REQUEST['loading_gif']) : 0);
49
- update_option("wds_register_scripts", $wds_register_scripts);
50
- update_option("wds_loading_gif", $loading_gif);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
  $page = WDW_S_Library::get('page');
52
- WDW_S_Library::spider_redirect(add_query_arg(array('page' => $page, 'task' => 'display', 'message' => 1), admin_url('admin.php')));
 
 
 
53
  }
54
  }
42
  $view = new WDSViewGoptions_wds($model);
43
  $view->display();
44
  }
45
+
46
+ public function save_font_family() {
47
+ $wds_global_options = json_decode(get_option("wds_global_options"), true);
48
+ $possib_add_ffamily = (isset($_REQUEST['possib_add_ffamily']) ? esc_html($_REQUEST['possib_add_ffamily']) : '');
49
+ $possib_add_ffamily_google = (isset($_REQUEST['possib_add_ffamily_google']) ? esc_html($_REQUEST['possib_add_ffamily_google']) : '');
50
+
51
+ $wds_global_options['possib_add_ffamily'] = $possib_add_ffamily;
52
+ $wds_global_options['possib_add_ffamily_google'] = $possib_add_ffamily_google;
53
+ $global_options = json_encode($wds_global_options);
54
+ update_option("wds_global_options", $global_options);
55
+
56
+ $page = WDW_S_Library::get('page');
57
+ WDW_S_Library::spider_redirect(add_query_arg(array( 'page' => $page,
58
+ 'task' => 'display',
59
+ 'message' => 1,
60
+ ), admin_url('admin.php')));
61
+ }
62
 
63
  public function save() {
64
+ $register_scripts = (isset($_REQUEST['register_scripts']) ? (int) $_REQUEST['register_scripts'] : 0);
65
  $loading_gif = (isset($_REQUEST['loading_gif']) ? esc_html($_REQUEST['loading_gif']) : 0);
66
+ $default_layer_fweight = (isset($_REQUEST['default_layer_fweight']) ? esc_html($_REQUEST['default_layer_fweight']) : '');
67
+ $default_layer_start = (isset($_REQUEST['default_layer_start']) ? esc_html($_REQUEST['default_layer_start']) : 0);
68
+ $default_layer_effect_in = (isset($_REQUEST['default_layer_effect_in']) ? esc_html($_REQUEST['default_layer_effect_in']) : '');
69
+ $default_layer_duration_eff_in = (isset($_REQUEST['default_layer_duration_eff_in']) ? esc_html($_REQUEST['default_layer_duration_eff_in']) : 0);
70
+ $default_layer_infinite_in = (isset($_REQUEST['default_layer_infinite_in']) ? esc_html($_REQUEST['default_layer_infinite_in']) : 1);
71
+ $default_layer_end = (isset($_REQUEST['default_layer_end']) ? esc_html($_REQUEST['default_layer_end']) : 0);
72
+ $default_layer_effect_out = (isset($_REQUEST['default_layer_effect_out']) ? esc_html($_REQUEST['default_layer_effect_out']) : '');
73
+ $default_layer_duration_eff_out = (isset($_REQUEST['default_layer_duration_eff_out']) ? esc_html($_REQUEST['default_layer_duration_eff_out']) : 0);
74
+ $default_layer_infinite_out = (isset($_REQUEST['default_layer_infinite_out']) ? esc_html($_REQUEST['default_layer_infinite_out']) : 1);
75
+ $default_layer_add_class = (isset($_REQUEST['default_layer_add_class']) ? esc_html($_REQUEST['default_layer_add_class']) : '');
76
+ $default_layer_ffamily = (isset($_REQUEST['default_layer_ffamily']) ? esc_html($_REQUEST['default_layer_ffamily']) : '');
77
+ $default_layer_google_fonts = (isset($_REQUEST['default_layer_google_fonts']) ? esc_html($_REQUEST['default_layer_google_fonts']) : 0);
78
+ $spider_uploader = (isset($_REQUEST['spider_uploader']) ? esc_html($_REQUEST['spider_uploader']) : 0);
79
+ $possib_add_ffamily = (isset($_REQUEST['possib_add_ffamily']) ? esc_html($_REQUEST['possib_add_ffamily']) : '');
80
+ $possib_add_ffamily_google = (isset($_REQUEST['possib_add_ffamily_google']) ? esc_html($_REQUEST['possib_add_ffamily_google']) : '');
81
+ $global_options = array(
82
+ 'default_layer_fweight' => $default_layer_fweight,
83
+ 'default_layer_start' => $default_layer_start,
84
+ 'default_layer_effect_in' => $default_layer_effect_in,
85
+ 'default_layer_duration_eff_in' => $default_layer_duration_eff_in,
86
+ 'default_layer_infinite_in' => $default_layer_infinite_in,
87
+ 'default_layer_end' => $default_layer_end,
88
+ 'default_layer_effect_out' => $default_layer_effect_out,
89
+ 'default_layer_duration_eff_out' => $default_layer_duration_eff_out,
90
+ 'default_layer_infinite_out' => $default_layer_infinite_out,
91
+ 'default_layer_add_class' => $default_layer_add_class,
92
+ 'default_layer_ffamily' => $default_layer_ffamily,
93
+ 'default_layer_google_fonts' => $default_layer_google_fonts,
94
+ 'register_scripts' => $register_scripts,
95
+ 'loading_gif' => $loading_gif,
96
+ 'spider_uploader' => $spider_uploader,
97
+ 'possib_add_ffamily' => $possib_add_ffamily,
98
+ 'possib_add_ffamily_google' => $possib_add_ffamily_google,
99
+ );
100
+ $global_options = json_encode($global_options);
101
+ update_option("wds_global_options", $global_options);
102
+ $page = WDW_S_Library::get('page');
103
+ WDW_S_Library::spider_redirect(add_query_arg(array( 'page' => $page,
104
+ 'task' => 'display',
105
+ 'message' => 1,
106
+ ), admin_url('admin.php')));
107
+ }
108
+
109
+ public function change_layer_options() {
110
+ global $wpdb;
111
+ $lay_option = (isset($_POST["lay_option"]) ? esc_html($_REQUEST['lay_option']) : '');
112
+ $default_layer_add_class = (isset($_POST["default_layer_add_class"]) ? esc_html($_REQUEST['default_layer_add_class']) : '');
113
+ $default_layer_fweight = (isset($_POST["default_layer_fweight"]) ? esc_html($_REQUEST['default_layer_fweight']) : '');
114
+ $default_layer_ffamily = (isset($_POST["default_layer_ffamily"]) ? esc_html($_REQUEST['default_layer_ffamily']) : '');
115
+ $default_layer_google_fonts = (isset($_POST["default_layer_google_fonts"]) ? esc_html($_REQUEST['default_layer_google_fonts']) : 0);
116
+ $default_layer_start = (isset($_POST["default_layer_start"]) ? esc_html($_REQUEST['default_layer_start']) : 0);
117
+ $default_layer_effect_in = (isset($_POST["default_layer_effect_in"]) ? esc_html($_REQUEST['default_layer_effect_in']) : '');
118
+ $default_layer_duration_eff_in = (isset($_POST["default_layer_duration_eff_in"]) ? esc_html($_REQUEST['default_layer_duration_eff_in']) : 0);
119
+ $default_layer_infinite_in = (isset($_POST["default_layer_infinite_in"]) ? esc_html($_REQUEST['default_layer_infinite_in']) : 1);
120
+ $default_layer_end = (isset($_POST["default_layer_end"]) ? esc_html($_REQUEST['default_layer_end']) : 0);
121
+ $default_layer_effect_out = (isset($_POST["default_layer_effect_out"]) ? esc_html($_REQUEST['default_layer_effect_out']) : '');
122
+ $default_layer_duration_eff_out = (isset($_POST["default_layer_duration_eff_out"]) ? esc_html($_REQUEST['default_layer_duration_eff_out']) : 0);
123
+ $default_layer_infinite_out = (isset($_POST["default_layer_infinite_out"]) ? esc_html($_REQUEST['default_layer_infinite_out']) : 1);
124
+ $colls = array();
125
+ switch ( $lay_option ) {
126
+ case "add_class":
127
+ $colls = array(
128
+ '`add_class`="' . $default_layer_add_class . '"',
129
+ );
130
+ break;
131
+ case "fweight":
132
+ $colls = array(
133
+ '`fweight`="' . $default_layer_fweight . '"',
134
+ );
135
+ break;
136
+ case "font_family":
137
+ $colls = array(
138
+ '`ffamily`="' . $default_layer_ffamily . '"',
139
+ '`google_fonts`="' . $default_layer_google_fonts . '"',
140
+ );
141
+ break;
142
+ case "effectin":
143
+ $colls = array(
144
+ '`start`=' . $default_layer_start,
145
+ '`layer_effect_in`="' . $default_layer_effect_in . '"',
146
+ '`duration_eff_in`=' . $default_layer_duration_eff_in,
147
+ '`infinite_in`=' . $default_layer_infinite_in,
148
+ );
149
+ break;
150
+ case "effectout":
151
+ $colls = array(
152
+ 'end=' . $default_layer_end,
153
+ 'layer_effect_out="' . $default_layer_effect_out . '"',
154
+ 'duration_eff_out=' . $default_layer_duration_eff_out,
155
+ 'infinite_out=' . $default_layer_infinite_out,
156
+ );
157
+ break;
158
+ }
159
+ $save = $wpdb->query('UPDATE ' . $wpdb->prefix . 'wdslayer SET ' . implode(',', $colls) . '');
160
+
161
+ $messaage = $wpdb->last_error ? 2 : 1;
162
  $page = WDW_S_Library::get('page');
163
+ WDW_S_Library::spider_redirect(add_query_arg(array( 'page' => $page,
164
+ 'task' => 'display',
165
+ 'message' => $messaage,
166
+ ), admin_url('admin.php')));
167
  }
168
  }
admin/controllers/WDSControllerSliders_wds.php CHANGED
@@ -89,7 +89,6 @@ class WDSControllerSliders_wds {
89
  $name = ((isset($params_array['name'])) ? esc_html(stripslashes($params_array['name'])) : '');
90
  $published = ((isset($params_array['published'])) ? (int) esc_html(stripslashes($params_array['published'])) : 1);
91
  $full_width = ((isset($params_array['full_width'])) ? (int) esc_html(stripslashes($params_array['full_width'])) : 0);
92
- $spider_uploader = ((isset($params_array['spider_uploader'])) ? (int) esc_html(stripslashes($params_array['spider_uploader'])) : 0);
93
  $width = ((isset($params_array['width'])) ? (int) esc_html(stripslashes($params_array['width'])) : 800);
94
  $height = ((isset($params_array['height'])) ? (int) esc_html((stripslashes($params_array['height']))) : 300);
95
  $bg_fit = ((isset($params_array['bg_fit'])) ? esc_html(stripslashes($params_array['bg_fit'])) : 'cover');
@@ -202,7 +201,6 @@ class WDSControllerSliders_wds {
202
  $touch_swipe_nav = ((isset($params_array['touch_swipe_nav'])) ? (int) esc_html(stripslashes($params_array['touch_swipe_nav'])) : 1);
203
  $mouse_wheel_nav = ((isset($params_array['mouse_wheel_nav'])) ? (int) esc_html(stripslashes($params_array['mouse_wheel_nav'])) : 0);
204
  $keyboard_nav = ((isset($params_array['keyboard_nav'])) ? (int) esc_html(stripslashes($params_array['keyboard_nav'])) : 0);
205
- $possib_add_ffamily = ((isset($params_array['possib_add_ffamily'])) ? esc_html(stripslashes($params_array['possib_add_ffamily'])) : '');
206
  $show_thumbnail = ((isset($params_array['show_thumbnail'])) ? (int) esc_html(stripslashes($params_array['show_thumbnail'])) : 0);
207
  $thumb_size = ((isset($params_array['thumb_size'])) ? esc_html(stripslashes($params_array['thumb_size'])) : '0.3');
208
  $fixed_bg = ((isset($params_array['fixed_bg'])) ? (int) esc_html(stripslashes($params_array['fixed_bg'])) : 0);
@@ -215,8 +213,6 @@ class WDSControllerSliders_wds {
215
  $bull_back_act_color = ((isset($params_array['bull_back_act_color'])) ? esc_html(stripslashes($params_array['bull_back_act_color'])) : '000000');
216
  $bull_back_color = ((isset($params_array['bull_back_color'])) ? esc_html(stripslashes($params_array['bull_back_color'])) : 'CCCCCC');
217
  $bull_radius = ((isset($params_array['bull_radius'])) ? esc_html(stripslashes($params_array['bull_radius'])) : '20px');
218
- $possib_add_google_fonts = ((isset($params_array['possib_add_google_fonts'])) ? (int) esc_html(stripslashes($params_array['possib_add_google_fonts'])) : 0);
219
- $possib_add_ffamily_google = ((isset($params_array['possib_add_ffamily_google'])) ? esc_html(stripslashes($params_array['possib_add_ffamily_google'])) : '');
220
  $slider_loop = ((isset($params_array['slider_loop'])) ? (int) esc_html(stripslashes($params_array['slider_loop'])) : 1);
221
  $hide_on_mobile = ((isset($params_array['hide_on_mobile'])) ? (int) esc_html(stripslashes($params_array['hide_on_mobile'])) : 0);
222
  $twoway_slideshow = ((isset($params_array['twoway_slideshow'])) ? (int) esc_html(stripslashes($params_array['twoway_slideshow'])) : 0);
@@ -290,7 +286,6 @@ class WDSControllerSliders_wds {
290
  'timer_bar_color' => $timer_bar_color,
291
  'timer_bar_transparent' => $timer_bar_transparent,
292
  'layer_out_next' => $layer_out_next,
293
- 'spider_uploader' => $spider_uploader,
294
  'stop_animation' => $stop_animation,
295
  'right_butt_url' => $right_butt_url,
296
  'left_butt_url' => $left_butt_url,
@@ -318,7 +313,6 @@ class WDSControllerSliders_wds {
318
  'touch_swipe_nav' => $touch_swipe_nav,
319
  'mouse_wheel_nav' => $mouse_wheel_nav,
320
  'keyboard_nav' => $keyboard_nav,
321
- 'possib_add_ffamily' => $possib_add_ffamily,
322
  'show_thumbnail' => $show_thumbnail,
323
  'thumb_size' => $thumb_size,
324
  'fixed_bg' => $fixed_bg,
@@ -331,8 +325,6 @@ class WDSControllerSliders_wds {
331
  'bull_back_act_color' => $bull_back_act_color,
332
  'bull_back_color' => $bull_back_color,
333
  'bull_radius' => $bull_radius,
334
- 'possib_add_google_fonts' => $possib_add_google_fonts,
335
- 'possib_add_ffamily_google' => $possib_add_ffamily_google,
336
  'slider_loop' => $slider_loop,
337
  'hide_on_mobile' => $hide_on_mobile,
338
  'twoway_slideshow' => $twoway_slideshow,
@@ -824,7 +816,6 @@ class WDSControllerSliders_wds {
824
  'timer_bar_color' => $slider_row->timer_bar_color,
825
  'timer_bar_transparent' => $slider_row->timer_bar_transparent,
826
  'layer_out_next' => $slider_row->layer_out_next,
827
- 'spider_uploader' => $slider_row->spider_uploader,
828
  'stop_animation' => $slider_row->stop_animation,
829
  'right_butt_url' => $slider_row->right_butt_url,
830
  'left_butt_url' => $slider_row->left_butt_url,
@@ -855,9 +846,6 @@ class WDSControllerSliders_wds {
855
  'bull_radius' => $slider_row->bull_radius,
856
  'smart_crop' => $slider_row->smart_crop,
857
  'crop_image_position' => $slider_row->crop_image_position,
858
- 'possib_add_google_fonts' => $slider_row->possib_add_google_fonts,
859
- 'possib_add_ffamily' => $slider_row->possib_add_ffamily,
860
- 'possib_add_ffamily_google' => $slider_row->possib_add_ffamily_google,
861
  'slider_loop' => $slider_row->slider_loop,
862
  'bull_hover' => $slider_row->bull_hover,
863
  'show_thumbnail' => $slider_row->show_thumbnail,
89
  $name = ((isset($params_array['name'])) ? esc_html(stripslashes($params_array['name'])) : '');
90
  $published = ((isset($params_array['published'])) ? (int) esc_html(stripslashes($params_array['published'])) : 1);
91
  $full_width = ((isset($params_array['full_width'])) ? (int) esc_html(stripslashes($params_array['full_width'])) : 0);
 
92
  $width = ((isset($params_array['width'])) ? (int) esc_html(stripslashes($params_array['width'])) : 800);
93
  $height = ((isset($params_array['height'])) ? (int) esc_html((stripslashes($params_array['height']))) : 300);
94
  $bg_fit = ((isset($params_array['bg_fit'])) ? esc_html(stripslashes($params_array['bg_fit'])) : 'cover');
201
  $touch_swipe_nav = ((isset($params_array['touch_swipe_nav'])) ? (int) esc_html(stripslashes($params_array['touch_swipe_nav'])) : 1);
202
  $mouse_wheel_nav = ((isset($params_array['mouse_wheel_nav'])) ? (int) esc_html(stripslashes($params_array['mouse_wheel_nav'])) : 0);
203
  $keyboard_nav = ((isset($params_array['keyboard_nav'])) ? (int) esc_html(stripslashes($params_array['keyboard_nav'])) : 0);
 
204
  $show_thumbnail = ((isset($params_array['show_thumbnail'])) ? (int) esc_html(stripslashes($params_array['show_thumbnail'])) : 0);
205
  $thumb_size = ((isset($params_array['thumb_size'])) ? esc_html(stripslashes($params_array['thumb_size'])) : '0.3');
206
  $fixed_bg = ((isset($params_array['fixed_bg'])) ? (int) esc_html(stripslashes($params_array['fixed_bg'])) : 0);
213
  $bull_back_act_color = ((isset($params_array['bull_back_act_color'])) ? esc_html(stripslashes($params_array['bull_back_act_color'])) : '000000');
214
  $bull_back_color = ((isset($params_array['bull_back_color'])) ? esc_html(stripslashes($params_array['bull_back_color'])) : 'CCCCCC');
215
  $bull_radius = ((isset($params_array['bull_radius'])) ? esc_html(stripslashes($params_array['bull_radius'])) : '20px');
 
 
216
  $slider_loop = ((isset($params_array['slider_loop'])) ? (int) esc_html(stripslashes($params_array['slider_loop'])) : 1);
217
  $hide_on_mobile = ((isset($params_array['hide_on_mobile'])) ? (int) esc_html(stripslashes($params_array['hide_on_mobile'])) : 0);
218
  $twoway_slideshow = ((isset($params_array['twoway_slideshow'])) ? (int) esc_html(stripslashes($params_array['twoway_slideshow'])) : 0);
286
  'timer_bar_color' => $timer_bar_color,
287
  'timer_bar_transparent' => $timer_bar_transparent,
288
  'layer_out_next' => $layer_out_next,
 
289
  'stop_animation' => $stop_animation,
290
  'right_butt_url' => $right_butt_url,
291
  'left_butt_url' => $left_butt_url,
313
  'touch_swipe_nav' => $touch_swipe_nav,
314
  'mouse_wheel_nav' => $mouse_wheel_nav,
315
  'keyboard_nav' => $keyboard_nav,
 
316
  'show_thumbnail' => $show_thumbnail,
317
  'thumb_size' => $thumb_size,
318
  'fixed_bg' => $fixed_bg,
325
  'bull_back_act_color' => $bull_back_act_color,
326
  'bull_back_color' => $bull_back_color,
327
  'bull_radius' => $bull_radius,
 
 
328
  'slider_loop' => $slider_loop,
329
  'hide_on_mobile' => $hide_on_mobile,
330
  'twoway_slideshow' => $twoway_slideshow,
816
  'timer_bar_color' => $slider_row->timer_bar_color,
817
  'timer_bar_transparent' => $slider_row->timer_bar_transparent,
818
  'layer_out_next' => $slider_row->layer_out_next,
 
819
  'stop_animation' => $slider_row->stop_animation,
820
  'right_butt_url' => $slider_row->right_butt_url,
821
  'left_butt_url' => $slider_row->left_butt_url,
846
  'bull_radius' => $slider_row->bull_radius,
847
  'smart_crop' => $slider_row->smart_crop,
848
  'crop_image_position' => $slider_row->crop_image_position,
 
 
 
849
  'slider_loop' => $slider_row->slider_loop,
850
  'bull_hover' => $slider_row->bull_hover,
851
  'show_thumbnail' => $slider_row->show_thumbnail,
admin/controllers/WDSControllerUninstall_wds.php CHANGED
@@ -14,6 +14,14 @@ class WDSControllerUninstall_wds {
14
  // Constructor & Destructor //
15
  ////////////////////////////////////////////////////////////////////////////////////////
16
  public function __construct() {
 
 
 
 
 
 
 
 
17
  }
18
  ////////////////////////////////////////////////////////////////////////////////////////
19
  // Public Methods //
14
  // Constructor & Destructor //
15
  ////////////////////////////////////////////////////////////////////////////////////////
16
  public function __construct() {
17
+ global $wds_options;
18
+ if (!class_exists("DoradoWebConfig")) {
19
+ include_once(WD_S_DIR . "/wd/config.php");
20
+ }
21
+ $config = new DoradoWebConfig();
22
+ $config->set_options($wds_options);
23
+ $deactivate_reasons = new DoradoWebDeactivate($config);
24
+ $deactivate_reasons->submit_and_deactivate();
25
  }
26
  ////////////////////////////////////////////////////////////////////////////////////////
27
  // Public Methods //
admin/models/WDSModelSliders_wds.php CHANGED
@@ -21,7 +21,7 @@ class WDSModelSliders_wds {
21
 
22
  public function get_slides_count($slider_id) {
23
  global $wpdb;
24
- $count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(id) FROM " . $wpdb->prefix . "wdsslide WHERE slider_id='%d' AND image_url<>''", $slider_id));
25
  return $count;
26
  }
27
 
@@ -130,7 +130,6 @@ class WDSModelSliders_wds {
130
  $row->width = 800;
131
  $row->height = 300;
132
  $row->full_width = 0;
133
- $row->spider_uploader = get_option("wds_version_1.0.46") ? 0 : 1;
134
  $row->bg_fit = 'cover';
135
  $row->align = 'center';
136
  $row->effect = 'fade';
21
 
22
  public function get_slides_count($slider_id) {
23
  global $wpdb;
24
+ $count = $wpdb->get_var("SELECT COUNT(id) FROM " . $wpdb->prefix . "wdsslide WHERE slider_id='". $slider_id ."' AND image_url<>'' AND image_url NOT LIKE '%images/no-image.png%'");
25
  return $count;
26
  }
27
 
130
  $row->width = 800;
131
  $row->height = 300;
132
  $row->full_width = 0;
 
133
  $row->bg_fit = 'cover';
134
  $row->align = 'center';
135
  $row->effect = 'fade';
admin/models/WDSModelUninstall_wds.php CHANGED
@@ -26,8 +26,8 @@ class WDSModelUninstall_wds {
26
 
27
  delete_option("wds_version");
28
  delete_option("wds_theme_version");
29
- delete_option("wds_loading_gif");
30
- delete_option("wds_register_scripts");
31
  }
32
  ////////////////////////////////////////////////////////////////////////////////////////
33
  // Getters & Setters //
26
 
27
  delete_option("wds_version");
28
  delete_option("wds_theme_version");
29
+ delete_option("wds_global_options");
30
+ delete_option("wds_subscribe_done");
31
  }
32
  ////////////////////////////////////////////////////////////////////////////////////////
33
  // Getters & Setters //
admin/views/WDSViewGoptions_wds.php CHANGED
@@ -23,8 +23,106 @@ class WDSViewGoptions_wds {
23
  ////////////////////////////////////////////////////////////////////////////////////////
24
 
25
  public function display() {
26
- $register_scripts = get_option("wds_register_scripts", 0);
27
- $wds_loading_gif = get_option("wds_loading_gif", 0);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  $loading_gifs = array(
29
  0 => 'Loading default',
30
  1 => 'Loading1',
@@ -33,6 +131,31 @@ class WDSViewGoptions_wds {
33
  4 => 'Loading4',
34
  5 => 'Loading5',
35
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  ?>
37
  <div style="clear: both; float: left; width: 99%;">
38
  <div style="float: left; font-size: 14px; font-weight: bold;">
@@ -40,7 +163,16 @@ class WDSViewGoptions_wds {
40
  <a style="color: blue; text-decoration: none;" target="_blank" href="https://web-dorado.com/wordpress-slider-wd/adding-images.html">Read More in User Manual</a>
41
  </div>
42
  </div>
43
- <div class="clear"></div>
 
 
 
 
 
 
 
 
 
44
  <form class="wrap wds_form" id="sliders_form" method="post" action="admin.php?page=goptions_wds" style="width: 99%;" enctype="multipart/form-data">
45
  <?php wp_nonce_field('nonce_wd', 'nonce_wd'); ?>
46
  <div class="wds-options-page-banner">
@@ -49,7 +181,7 @@ class WDSViewGoptions_wds {
49
  <?php _e('Global Options', 'wds'); ?>
50
  </div>
51
  <div class="wds-page-actions">
52
- <button class="wds_button-secondary wds_save_slider" onclick="spider_set_input_value('task', 'save');">
53
  <span></span>
54
  <?php _e('Save', 'wds'); ?>
55
  </button>
@@ -57,35 +189,177 @@ class WDSViewGoptions_wds {
57
  </div>
58
  <table>
59
  <tbody>
60
- <tr>
61
  <td class="spider_label"><label><?php _e('Include scripts/styles only on necessary pages', 'wds'); ?>:</label></td>
62
  <td>
63
- <input type="radio" id="wds_register_scripts1" name="wds_register_scripts" <?php echo (($register_scripts == 1)? "checked='checked'" : ""); ?> value="1" /><label <?php echo ($register_scripts ? 'class="selected_color"' : ''); ?> for="wds_register_scripts1"><?php _e('Yes', 'wds'); ?></label>
64
- <input type="radio" id="wds_register_scripts0" name="wds_register_scripts" <?php echo (($register_scripts == 0)? "checked='checked'" : ""); ?> value="0" /><label <?php echo ($register_scripts ? '' : 'class="selected_color"'); ?> for="wds_register_scripts0"><?php _e('No', 'wds'); ?></label>
65
  <div class="spider_description"><?php _e('Helps to decrease page load time. Might not function with some custom themes.', 'wds'); ?></div>
66
  </td>
67
  </tr>
68
- <tr>
69
  <td class="spider_label">
70
  <label for="loading_gif">Loading icon:</label>
71
  </td>
72
  <td>
73
  <select class="select_icon select_icon_320 select_gif" name="loading_gif" id="loading_gif" onchange="wds_loading_gif(jQuery(this).val(), '<?php echo WD_S_URL ?>')">
74
  <?php
75
- foreach ($loading_gifs as $key => $loading_gif) {
76
- ?>
77
- <option value="<?php echo $key; ?>" <?php if ($wds_loading_gif == $key) echo 'selected="selected"'; ?>><?php echo $loading_gif; ?></option>
78
- <?php
79
- }
80
  ?>
81
  </select>
82
- <img id="load_gif_img" src="<?php echo WD_S_URL . '/images/loading/' . $wds_loading_gif . '.gif'; ?>"></img>
 
 
 
83
  <div class="spider_description"></div>
84
  </td>
85
- </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
  </tbody>
87
- </table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
88
  <input id="task" name="task" type="hidden" value="" />
 
89
  </form>
90
  <?php
91
  }
23
  ////////////////////////////////////////////////////////////////////////////////////////
24
 
25
  public function display() {
26
+ $default_layer_fweights = array(
27
+ 'lighter' => 'Lighter',
28
+ 'normal' => 'Normal',
29
+ 'bold' => 'Bold',
30
+ );
31
+ $default_layer_effects_in = array(
32
+ 'none' => 'None',
33
+ 'bounce' => 'Bounce',
34
+ 'flash' => 'Flash',
35
+ 'pulse' => 'Pulse',
36
+ 'rubberBand' => 'RubberBand',
37
+ 'shake' => 'Shake',
38
+ 'swing' => 'Swing',
39
+ 'tada' => 'Tada',
40
+ 'wobble' => 'Wobble',
41
+ 'hinge' => 'Hinge',
42
+ 'lightSpeedIn' => 'LightSpeedIn',
43
+ 'rollIn' => 'RollIn',
44
+ 'bounceIn' => 'BounceIn',
45
+ 'bounceInDown' => 'BounceInDown',
46
+ 'bounceInLeft' => 'BounceInLeft',
47
+ 'bounceInRight' => 'BounceInRight',
48
+ 'bounceInUp' => 'BounceInUp',
49
+ 'fadeIn' => 'FadeIn',
50
+ 'fadeInDown' => 'FadeInDown',
51
+ 'fadeInDownBig' => 'FadeInDownBig',
52
+ 'fadeInLeft' => 'FadeInLeft',
53
+ 'fadeInLeftBig' => 'FadeInLeftBig',
54
+ 'fadeInRight' => 'FadeInRight',
55
+ 'fadeInRightBig' => 'FadeInRightBig',
56
+ 'fadeInUp' => 'FadeInUp',
57
+ 'fadeInUpBig' => 'FadeInUpBig',
58
+ 'flip' => 'Flip',
59
+ 'flipInX' => 'FlipInX',
60
+ 'flipInY' => 'FlipInY',
61
+ 'rotateIn' => 'RotateIn',
62
+ 'rotateInDownLeft' => 'RotateInDownLeft',
63
+ 'rotateInDownRight' => 'RotateInDownRight',
64
+ 'rotateInUpLeft' => 'RotateInUpLeft',
65
+ 'rotateInUpRight' => 'RotateInUpRight',
66
+ 'zoomIn' => 'ZoomIn',
67
+ 'zoomInDown' => 'ZoomInDown',
68
+ 'zoomInLeft' => 'ZoomInLeft',
69
+ 'zoomInRight' => 'ZoomInRight',
70
+ 'zoomInUp' => 'ZoomInUp',
71
+ );
72
+ $default_layer_effects_out = array(
73
+ 'none' => 'None',
74
+ 'bounce' => 'Bounce',
75
+ 'flash' => 'Flash',
76
+ 'pulse' => 'Pulse',
77
+ 'rubberBand' => 'RubberBand',
78
+ 'shake' => 'Shake',
79
+ 'swing' => 'Swing',
80
+ 'tada' => 'Tada',
81
+ 'wobble' => 'Wobble',
82
+ 'hinge' => 'Hinge',
83
+ 'lightSpeedOut' => 'LightSpeedOut',
84
+ 'rollOut' => 'RollOut',
85
+ 'bounceOut' => 'BounceOut',
86
+ 'bounceOutDown' => 'BounceOutDown',
87
+ 'bounceOutLeft' => 'BounceOutLeft',
88
+ 'bounceOutRight' => 'BounceOutRight',
89
+ 'bounceOutUp' => 'BounceOutUp',
90
+ 'fadeOut' => 'FadeOut',
91
+ 'fadeOutDown' => 'FadeOutDown',
92
+ 'fadeOutDownBig' => 'FadeOutDownBig',
93
+ 'fadeOutLeft' => 'FadeOutLeft',
94
+ 'fadeOutLeftBig' => 'FadeOutLeftBig',
95
+ 'fadeOutRight' => 'FadeOutRight',
96
+ 'fadeOutRightBig' => 'FadeOutRightBig',
97
+ 'fadeOutUp' => 'FadeOutUp',
98
+ 'fadeOutUpBig' => 'FadeOutUpBig',
99
+ 'flip' => 'Flip',
100
+ 'flipOutX' => 'FlipOutX',
101
+ 'flipOutY' => 'FlipOutY',
102
+ 'rotateOut' => 'RotateOut',
103
+ 'rotateOutDownLeft' => 'RotateOutDownLeft',
104
+ 'rotateOutDownRight' => 'RotateOutDownRight',
105
+ 'rotateOutUpLeft' => 'RotateOutUpLeft',
106
+ 'rotateOutUpRight' => 'RotateOutUpRight',
107
+ 'zoomOut' => 'ZoomOut',
108
+ 'zoomOutDown' => 'ZoomOutDown',
109
+ 'zoomOutLeft' => 'ZoomOutLeft',
110
+ 'zoomOutRight' => 'ZoomOutRight',
111
+ 'zoomOutUp' => 'ZoomOutUp',
112
+ );
113
+ $font_families = array(
114
+ 'arial' => 'Arial',
115
+ 'lucida grande' => 'Lucida grande',
116
+ 'segoe ui' => 'Segoe ui',
117
+ 'tahoma' => 'Tahoma',
118
+ 'trebuchet ms' => 'Trebuchet ms',
119
+ 'verdana' => 'Verdana',
120
+ 'cursive' =>'Cursive',
121
+ 'fantasy' => 'Fantasy',
122
+ 'monospace' => 'Monospace',
123
+ 'serif' => 'Serif',
124
+ );
125
+ $google_fonts = WDW_S_Library::get_google_fonts();
126
  $loading_gifs = array(
127
  0 => 'Loading default',
128
  1 => 'Loading1',
131
  4 => 'Loading4',
132
  5 => 'Loading5',
133
  );
134
+
135
+ $wds_global_options = get_option("wds_global_options", 0);
136
+ $global_options = json_decode($wds_global_options);
137
+ if ( !$wds_global_options ) {
138
+ $global_options = (object) wds_global_options_defults();
139
+ $global_options->loading_gif = get_option("wds_loading_gif", 0);
140
+ $global_options->register_scripts = get_option("wds_register_scripts", 0);
141
+ }
142
+
143
+ if ( $global_options->possib_add_ffamily != '' ) {
144
+ $possib_add_ffamily = explode("*WD*", $global_options->possib_add_ffamily);
145
+ foreach ( $possib_add_ffamily as $possib_add_value ) {
146
+ if ( $possib_add_value ) {
147
+ $font_families[strtolower($possib_add_value)] = $possib_add_value;
148
+ }
149
+ }
150
+ }
151
+ if ( $global_options->possib_add_ffamily_google != '' ) {
152
+ $possib_add_ffamily_google = explode("*WD*", $global_options->possib_add_ffamily_google);
153
+ foreach ( $possib_add_ffamily_google as $possib_add_value_google ) {
154
+ if ( $possib_add_value_google ) {
155
+ $google_fonts[strtolower($possib_add_value_google)] = $possib_add_value_google;
156
+ }
157
+ }
158
+ }
159
  ?>
160
  <div style="clear: both; float: left; width: 99%;">
161
  <div style="float: left; font-size: 14px; font-weight: bold;">
163
  <a style="color: blue; text-decoration: none;" target="_blank" href="https://web-dorado.com/wordpress-slider-wd/adding-images.html">Read More in User Manual</a>
164
  </div>
165
  </div>
166
+ <div class="wds_pro_container">
167
+ <a class="wds_pro_link wds_pro_text" target="_blank" href="https://web-dorado.com/files/fromslider.php">
168
+ <?php
169
+ $text = strtoupper(__('Upgrade to paid version', 'wds'));
170
+ ?>
171
+ <span><?php echo $text; ?></span>
172
+ <img class="wds_pro_image" alt="web-dorado.com" title="<?php echo $text; ?>" src="<?php echo WD_S_URL . '/images/wd_logo.png?v2'; ?>"" />
173
+ </a>
174
+ </div>
175
+ <div class="clear"></div>
176
  <form class="wrap wds_form" id="sliders_form" method="post" action="admin.php?page=goptions_wds" style="width: 99%;" enctype="multipart/form-data">
177
  <?php wp_nonce_field('nonce_wd', 'nonce_wd'); ?>
178
  <div class="wds-options-page-banner">
181
  <?php _e('Global Options', 'wds'); ?>
182
  </div>
183
  <div class="wds-page-actions">
184
+ <button class="wds_button-secondary wds_save_slider" onclick="spider_set_input_value('task', 'save');">
185
  <span></span>
186
  <?php _e('Save', 'wds'); ?>
187
  </button>
189
  </div>
190
  <table>
191
  <tbody>
192
+ <tr>
193
  <td class="spider_label"><label><?php _e('Include scripts/styles only on necessary pages', 'wds'); ?>:</label></td>
194
  <td>
195
+ <input type="radio" id="register_scripts1" name="register_scripts" <?php echo (($global_options->register_scripts == 1)? "checked='checked'" : ""); ?> value="1" /><label <?php echo ($global_options->register_scripts ? 'class="selected_color"' : ''); ?> for="register_scripts1"><?php _e('Yes', 'wds'); ?></label>
196
+ <input type="radio" id="register_scripts0" name="register_scripts" <?php echo (($global_options->register_scripts == 0)? "checked='checked'" : ""); ?> value="0" /><label <?php echo ($global_options->register_scripts ? '' : 'class="selected_color"'); ?> for="register_scripts0"><?php _e('No', 'wds'); ?></label>
197
  <div class="spider_description"><?php _e('Helps to decrease page load time. Might not function with some custom themes.', 'wds'); ?></div>
198
  </td>
199
  </tr>
200
+ <tr>
201
  <td class="spider_label">
202
  <label for="loading_gif">Loading icon:</label>
203
  </td>
204
  <td>
205
  <select class="select_icon select_icon_320 select_gif" name="loading_gif" id="loading_gif" onchange="wds_loading_gif(jQuery(this).val(), '<?php echo WD_S_URL ?>')">
206
  <?php
207
+ foreach ($loading_gifs as $key => $loading_gif) {
208
+ ?>
209
+ <option value="<?php echo $key; ?>" <?php if ($global_options->loading_gif == $key) echo 'selected="selected"'; ?>><?php echo $loading_gif; ?></option>
210
+ <?php
211
+ }
212
  ?>
213
  </select>
214
+ <fieldset class="wds_fieldset wds_center">
215
+ <legend><?php _e('Preview', 'wds'); ?></legend>
216
+ <img id="load_gif_img" class="load_gif_img" src="<?php echo WD_S_URL . '/images/loading/' . $global_options->loading_gif . '.gif'; ?>" />
217
+ </fieldset>
218
  <div class="spider_description"></div>
219
  </td>
220
+ </tr>
221
+ <tr>
222
+ <td class="spider_label"><label><?php _e('Turn SliderWD Media Upload', 'wds'); ?>:</label></td>
223
+ <td>
224
+ <input type="radio" id="spider_uploader1" name="spider_uploader" <?php echo (($global_options->spider_uploader == 1)? "checked='checked'" : ""); ?> value="1" /><label <?php echo ($global_options->spider_uploader ? 'class="selected_color"' : ''); ?> for="spider_uploader1"><?php _e('Yes', 'wds'); ?></label>
225
+ <input type="radio" id="spider_uploader0" name="spider_uploader" <?php echo (($global_options->spider_uploader == 0)? "checked='checked'" : ""); ?> value="0" /><label <?php echo ($global_options->spider_uploader ? '' : 'class="selected_color"'); ?> for="spider_uploader0"><?php _e('No', 'wds'); ?></label>
226
+ <div class="spider_description"><?php _e('Choose the option to use the custom media upload instead of the WordPress default for adding images.', 'wds'); ?></div>
227
+ </td>
228
+ </tr>
229
+ <tr>
230
+ <td class="spider_label"><label for="possib_add_ffamily_input">Add font-family: </label></td>
231
+ <td>
232
+ <input type="text" id="possib_add_ffamily_input" value="" class="spider_box_input"/>
233
+ <input type="hidden" id="possib_add_ffamily" name="possib_add_ffamily" value="<?php echo $global_options->possib_add_ffamily; ?>"/>
234
+ <input type="hidden" id="possib_add_ffamily_google" name="possib_add_ffamily_google" value="<?php echo $global_options->possib_add_ffamily_google; ?>"/>
235
+ <input id="possib_add_google_fonts" type="checkbox" name="possib_add_google_fonts" value="1"/><label for="possib_add_google_fonts">Add to Google fonts</label>
236
+ <input id="add_font_family" class="wds_not_image_buttons" type="button" onclick="set_ffamily_value();spider_set_input_value('task', 'save_font_family');spider_form_submit(event, 'sliders_form')" value="Add font-family"/>
237
+ <div class="spider_description">The added font family will appear in the drop-down list of fonts.</div>
238
+ </td>
239
+ </tr>
240
  </tbody>
241
+ </table>
242
+ <fieldset class="wds_fieldset" disabled="disabled">
243
+ <legend><?php _e('Default options for layers', 'wds'); ?></legend>
244
+ <div class="wd_error" style="padding: 5px; font-size: 14px; color: #000000 !important;">This functionality is disabled in free version.</div>
245
+ <table>
246
+ <tbody>
247
+ <tr>
248
+ <td class="spider_label">
249
+ <label for="default_layer_ffamily">Font family: </label>
250
+ </td>
251
+ <td>
252
+ <select class="select_icon select_icon_320" style="width: 200px;" id="default_layer_ffamily" onchange="wds_change_fonts('', 1)" name="default_layer_ffamily">
253
+ <?php
254
+ $fonts = (isset($global_options->default_layer_google_fonts) && $global_options->default_layer_google_fonts) ? $google_fonts : $font_families;
255
+ foreach ($fonts as $key => $font_family) {
256
+ ?>
257
+ <option value="<?php echo $key; ?>" <?php echo (($global_options->default_layer_ffamily == $key) ? 'selected="selected"' : ''); ?>><?php echo $font_family; ?></option>
258
+ <?php
259
+ }
260
+ ?>
261
+ </select>
262
+ <input id="default_layer_google_fonts1" type="radio" name="default_layer_google_fonts" value="1" <?php echo (($global_options->default_layer_google_fonts) ? 'checked="checked"' : ''); ?> onchange="wds_change_fonts()" />
263
+ <label for="default_layer_google_fonts1">Google fonts</label>
264
+ <input id="default_layer_google_fonts0" type="radio" name="default_layer_google_fonts" value="0" <?php echo (($global_options->default_layer_google_fonts) ? '' : 'checked="checked"'); ?> onchange="wds_change_fonts()" />
265
+ <label for="default_layer_google_fonts0">Default</label>
266
+ <div class="spider_description"></div>
267
+ </td>
268
+ </tr>
269
+ <tr>
270
+ <td class="spider_label">
271
+ <label for="default_layer_fweight">Font weight: </label>
272
+ </td>
273
+ <td>
274
+ <select class="select_icon select_icon_320" style="width:70px" id="default_layer_fweight" name="default_layer_fweight">
275
+ <?php
276
+ foreach ($default_layer_fweights as $key => $default_layer_fweight) {
277
+ ?>
278
+ <option value="<?php echo $key; ?>" <?php echo (($global_options->default_layer_fweight == $key) ? 'selected="selected"' : ''); ?>><?php echo $default_layer_fweight; ?></option>
279
+ <?php
280
+ }
281
+ ?>
282
+ </select>
283
+ <div class="spider_description"></div>
284
+ </td>
285
+ </tr>
286
+ <tr>
287
+ <td class="spider_label">
288
+ <label for="default_layer_effect_in">Effect In:</label>
289
+ </td>
290
+ <td>
291
+ <span style="display: table-cell;">
292
+ <input id="default_layer_start" class="spider_int_input" type="text" value="<?php echo $global_options->default_layer_start; ?>" name="default_layer_start"/>ms
293
+ <div class="spider_description">Start</div>
294
+ </span>
295
+ <span style="display: table-cell;">
296
+ <select class="select_icon select_icon_320" name="default_layer_effect_in" id="default_layer_effect_in" style="width:150px;">
297
+ <?php
298
+ foreach ( $default_layer_effects_in as $key => $default_layer_effect_in ) {
299
+ ?>
300
+ <option value="<?php echo $key; ?>" <?php if ( $global_options->default_layer_effect_in == $key ) {
301
+ echo 'selected="selected"';
302
+ } ?>><?php echo $default_layer_effect_in; ?></option>
303
+ <?php
304
+ }
305
+ ?>
306
+ </select>
307
+ <div class="spider_description">Effect</div>
308
+ </span>
309
+ <span style="display: table-cell;">
310
+ <input id="default_layer_duration_eff_in" class="spider_int_input" type="text" value="<?php echo $global_options->default_layer_duration_eff_in; ?>" name="default_layer_duration_eff_in"/>ms
311
+ <div class="spider_description">Duration</div>
312
+ </span>
313
+ <span style="display: table-cell;">
314
+ <input id="default_layer_infinite_in" type="text" name="default_layer_infinite_in" value="<?php echo $global_options->default_layer_infinite_in; ?>" class="spider_int_input" title="0 for play infinte times" />
315
+ <div class="spider_description">Iteration</div>
316
+ </span>
317
+ </td>
318
+ </tr>
319
+ <tr>
320
+ <td class="spider_label">
321
+ <label for="default_layer_effect_out">Effect Out:</label>
322
+ </td>
323
+ <td>
324
+ <span style="display: table-cell;">
325
+ <input id="default_layer_end" class="spider_int_input" type="text" value="<?php echo $global_options->default_layer_end; ?>" name="default_layer_end">ms
326
+ <div class="spider_description">Start</div>
327
+ </span>
328
+ <span style="display: table-cell;">
329
+ <select class="select_icon select_icon_320" name="default_layer_effect_out" id="default_layer_effect_out" style="width:150px;">
330
+ <?php
331
+ foreach ($default_layer_effects_out as $key => $default_layer_effect_out) {
332
+ ?>
333
+ <option value="<?php echo $key; ?>" <?php if ($global_options->default_layer_effect_out == $key) echo 'selected="selected"'; ?>><?php echo $default_layer_effect_out; ?></option>
334
+ <?php
335
+ }
336
+ ?>
337
+ </select>
338
+ <div class="spider_description">Effect</div>
339
+ </span>
340
+ <span style="display: table-cell;">
341
+ <input id="default_layer_duration_eff_out" class="spider_int_input" type="text" onkeypress="return spider_check_isnum(event)" value="<?php echo $global_options->default_layer_duration_eff_out; ?>" name="default_layer_duration_eff_out">ms
342
+ <div class="spider_description">Duration</div>
343
+ </span>
344
+ <span style="display: table-cell;">
345
+ <input id="default_layer_infinite_out" type="text" name="default_layer_infinite_out" value="<?php echo $global_options->default_layer_infinite_out; ?>" class="spider_int_input" title="0 for play infinte times" />
346
+ <div class="spider_description">Iteration</div>
347
+ </span>
348
+ </td>
349
+ </tr>
350
+ <tr>
351
+ <td title="Add class" class="spider_label">
352
+ <label for="default_layer_add_class">Add class: </label>
353
+ </td>
354
+ <td>
355
+ <input id="default_layer_add_class" class="spider_char_input" type="text" value="<?php echo $global_options->default_layer_add_class; ?>" name="default_layer_add_class" />
356
+ </td>
357
+ </tr>
358
+ </tbody>
359
+ </table>
360
+ </fieldset>
361
  <input id="task" name="task" type="hidden" value="" />
362
+ <input id="lay_option" name="lay_option" type="hidden" value="" />
363
  </form>
364
  <?php
365
  }
admin/views/WDSViewSliders_wds.php CHANGED
@@ -72,9 +72,13 @@ class WDSViewSliders_wds {
72
  This section allows you to create, edit and delete sliders.
73
  <a style="color: blue; text-decoration: none;" target="_blank" href="https://web-dorado.com/wordpress-slider-wd/adding-images.html">Read More in User Manual</a>
74
  </div>
75
- <div style="float: right; text-align: right;">
76
- <a style="text-decoration: none;" target="_blank" href="https://web-dorado.com/files/fromslider.php">
77
- <img width="215" border="0" alt="web-dorado.com" src="<?php echo WD_S_URL . '/images/wd_logo.png'; ?>" />
 
 
 
 
78
  </a>
79
  </div>
80
  </div>
@@ -251,6 +255,12 @@ class WDSViewSliders_wds {
251
  }
252
 
253
  public function edit($id, $reset = FALSE) {
 
 
 
 
 
 
254
  $query_url = add_query_arg(array('action' => 'addImage', 'width' => '700', 'height' => '550', 'extensions' => 'jpg,jpeg,png,gif', 'callback' => 'bwg_add_preview_image'), admin_url('admin-ajax.php'));
255
  $query_url = wp_nonce_url($query_url, 'addImage', 'nonce_wd');
256
 
@@ -301,19 +311,20 @@ class WDSViewSliders_wds {
301
  'serif' => 'Serif',
302
  );
303
  $google_fonts = WDW_S_Library::get_google_fonts();
304
- if ($row->possib_add_ffamily != '') {
305
- $possib_add_ffamily = explode("*WD*", $row->possib_add_ffamily);
 
306
  foreach($possib_add_ffamily as $possib_add_value) {
307
  if ($possib_add_value) {
308
  $font_families[strtolower($possib_add_value)] = $possib_add_value;
309
  }
310
  }
311
  }
312
- if ($row->possib_add_ffamily_google != '') {
313
- $possib_add_ffamily_google = explode("*WD*", $row->possib_add_ffamily_google);
314
  foreach($possib_add_ffamily_google as $possib_add_value_google) {
315
  if ($possib_add_value_google) {
316
- $google_fonts[strtolower($possib_add_value_google)] = $possib_add_value_google;
317
  }
318
  }
319
  }
@@ -575,9 +586,13 @@ class WDSViewSliders_wds {
575
  This section allows you to add/edit slider.
576
  <a style="color: blue; text-decoration: none;" target="_blank" href="https://web-dorado.com/wordpress-slider-wd/adding-images.html">Read More in User Manual</a>
577
  </div>
578
- <div style="float: right; text-align: right;">
579
- <a style="text-decoration: none;" target="_blank" href="https://web-dorado.com/files/fromslider.php">
580
- <img width="215" border="0" alt="web-dorado.com" src="<?php echo WD_S_URL . '/images/wd_logo.png'; ?>" />
 
 
 
 
581
  </a>
582
  </div>
583
  </div>
@@ -961,25 +976,6 @@ class WDSViewSliders_wds {
961
  <div class="spider_description">Choose whether to have the layer effect out regardless of the timing between the hit to the next slider or skip the effect out and get to the next image.</div>
962
  </td>
963
  </tr>
964
- <tr>
965
- <td class="spider_label"><label>Turn SliderWD Media Upload: </label></td>
966
- <td>
967
- <input type="radio" id="spider_uploader1" name="spider_uploader" <?php echo (($row->spider_uploader) ? 'checked="checked"' : ''); ?> value="1" /><label <?php echo (($row->spider_uploader) ? 'class="selected_color"' : ''); ?> for="spider_uploader1">Yes</label>
968
- <input type="radio" id="spider_uploader0" name="spider_uploader" <?php echo (($row->spider_uploader) ? '' : 'checked="checked"'); ?> value="0" /><label <?php echo (($row->spider_uploader) ? '' : 'class="selected_color"'); ?> for="spider_uploader0">No</label>
969
- <div class="spider_description">Choose the option to use the custom media upload instead of the WordPress default for adding images.</div>
970
- </td>
971
- </tr>
972
- <tr>
973
- <td class="spider_label"><label for="possib_add_ffamily_input">Add font-family: </label></td>
974
- <td>
975
- <input type="text" id="possib_add_ffamily_input" value="" class="spider_box_input" />
976
- <input type="hidden" id="possib_add_ffamily" name="possib_add_ffamily" value="<?php echo $row->possib_add_ffamily; ?>" />
977
- <input type="hidden" id="possib_add_ffamily_google" name="possib_add_ffamily_google" value="<?php echo $row->possib_add_ffamily_google; ?>" />
978
- <input id="possib_add_google_fonts" type="checkbox" name="possib_add_google_fonts" <?php echo (($row->possib_add_google_fonts) ? 'checked="checked"' : ''); ?> value="1" /><label for="possib_add_google_fonts">Add to Google fonts</label>
979
- <input id="add_font_family" class="wds_not_image_buttons" type="button" onclick="spider_ajax_save('sliders_form', event); return false;" value="Add font-family" />
980
- <div class="spider_description">The added font family will appear in the drop-down list of fonts.</div>
981
- </td>
982
- </tr>
983
  <tr>
984
  <td class="spider_label"><label>Published: </label></td>
985
  <td>
@@ -1986,7 +1982,7 @@ class WDSViewSliders_wds {
1986
  <td>
1987
  <input type="text" id="built_in_watermark_url" name="built_in_watermark_url" style="width: 68%;" value="<?php echo $row->built_in_watermark_url; ?>" style="display:inline-block;" onchange="preview_built_in_watermark()" />
1988
  <?php
1989
- if (!$row->spider_uploader) {
1990
  ?>
1991
  <input id="wat_img_add_butt" class="wds_not_image_buttons" type="button" onclick="spider_media_uploader('watermark', event, false); return false;" value="Add Image" />
1992
  <?php
@@ -2186,7 +2182,7 @@ class WDSViewSliders_wds {
2186
  </div>
2187
  <div class="wds_buttons">
2188
  <?php
2189
- if ($row->spider_uploader) {
2190
  ?>
2191
  <div class="wds_button_wrap">
2192
  <a href="<?php echo add_query_arg(array('callback' => 'wds_add_image', 'image_for' => 'add_slides', 'TB_iframe' => '1'), $query_url); ?>" class="wds_buttons_320 action_buttons thickbox thickbox-preview add_images" title="Add Images" onclick="return false;">
@@ -2253,7 +2249,7 @@ class WDSViewSliders_wds {
2253
  <div class="overlay" >
2254
  <div id="hover_buttons">
2255
  <?php
2256
- if ($row->spider_uploader) {
2257
  ?>
2258
  <a href="<?php echo add_query_arg(array('callback' => 'wds_add_image', 'image_for' => 'add_update_slide','slide_id' => $slide_row->id, 'TB_iframe' => '1'), $query_url); ?>" class="wds_change_thumbnail thickbox thickbox-preview" title="Add/Edit Image" onclick="return false;">
2259
  </a>
@@ -2295,7 +2291,7 @@ class WDSViewSliders_wds {
2295
  <h2 class="titles">Edit Slide</h2>
2296
  <div id="slide_add_buttons">
2297
  <?php
2298
- if (!$row->spider_uploader) {
2299
  ?>
2300
  <div class="slide_add_buttons_wrap">
2301
  <input type="button" class="action_buttons edit_slide" id="button_image_url<?php echo $slide_row->id; ?>" onclick="spider_media_uploader('<?php echo $slide_row->id; ?>', event, false); return false;" value="Add/Edit Image" />
@@ -2343,7 +2339,7 @@ class WDSViewSliders_wds {
2343
  <div id="wds_preview_image<?php echo $slide_row->id; ?>" class="wds_preview_image<?php echo $slide_row->id; ?> wds_preview_image"
2344
  style='background-color: <?php echo WDW_S_Library::spider_hex2rgba($row->background_color, (100 - $row->background_transparent) / 100); ?>;
2345
  background-image: url("<?php echo $slide_row->type != 'image' ? $slide_row->thumb_url : $slide_row->image_url . '?date=' . date('Y-m-d H:i:s'); ?>");
2346
- background-position: center center;
2347
  background-repeat: no-repeat;
2348
  background-size: <?php echo $row->bg_fit; ?>;
2349
  width: inherit;
@@ -2429,7 +2425,7 @@ class WDSViewSliders_wds {
2429
  <button class="action_buttons add_text_layer <?php echo !$fv ? "" : "wds_free_button"; ?> button-small" onclick="<?php echo !$fv ? "wds_add_layer('text', '" . $slide_row->id . "')" : "alert('This functionality is disabled in free version.')"; ?>; return false;" >Add Text Layer</button>
2430
  </div>
2431
  <?php
2432
- if (!$row->spider_uploader) {
2433
  ?>
2434
  <div class="layer_add_buttons_wrap">
2435
  <button class="action_buttons add_image_layer <?php echo !$fv ? "" : " wds_free_button"; ?> button-small" onclick="<?php echo !$fv ? "wds_add_layer('image', '" . $slide_row->id . "', '', event)" : "alert('This functionality is disabled in free version.')"; ?>; return false;" >Add Image Layer</button>
@@ -3198,7 +3194,7 @@ class WDSViewSliders_wds {
3198
  <input id="tab" name="tab" type="hidden" value="<?php echo WDW_S_Library::get('tab', 'slides'); ?>" />
3199
  <input id="sub_tab" name="sub_tab" type="hidden" value="<?php echo $sub_tab_type; ?>" />
3200
  <script>
3201
- var spider_uploader = <?php echo $row->spider_uploader; ?>;
3202
  </script>
3203
  </div>
3204
  <input id="task" name="task" type="hidden" value="" />
@@ -3233,6 +3229,9 @@ class WDSViewSliders_wds {
3233
  <input type="button" id="add_image_url_button" class="wds_not_image_buttons" value="Add" />
3234
  <input type="button" class="wds_not_image_buttons_grey" onclick="jQuery('.opacity_add_image_url').hide(); return false;" value="Cancel" />
3235
  <div class="spider_description">Enter absolute url of the image.</div>
 
 
 
3236
  </div>
3237
  </form>
3238
  <?php
72
  This section allows you to create, edit and delete sliders.
73
  <a style="color: blue; text-decoration: none;" target="_blank" href="https://web-dorado.com/wordpress-slider-wd/adding-images.html">Read More in User Manual</a>
74
  </div>
75
+ <div class="wds_pro_container">
76
+ <a class="wds_pro_link wds_pro_text" target="_blank" href="https://web-dorado.com/files/fromslider.php">
77
+ <?php
78
+ $text = strtoupper(__('Upgrade to paid version', 'wds'));
79
+ ?>
80
+ <span><?php echo $text; ?></span>
81
+ <img class="wds_pro_image" alt="web-dorado.com" title="<?php echo $text; ?>" src="<?php echo WD_S_URL . '/images/wd_logo.png?v2'; ?>"" />
82
  </a>
83
  </div>
84
  </div>
255
  }
256
 
257
  public function edit($id, $reset = FALSE) {
258
+ $wds_global_options = get_option("wds_global_options", 0);
259
+ $global_options = json_decode($wds_global_options);
260
+ $spider_uploader = isset($global_options->spider_uploader) ? $global_options->spider_uploader : 0;
261
+ $possib_add_ffamily = isset($global_options->possib_add_ffamily) ? $global_options->possib_add_ffamily : '';
262
+ $possib_add_ffamily_google = isset($global_options->possib_add_ffamily_google) ? $global_options->possib_add_ffamily_google : '';
263
+
264
  $query_url = add_query_arg(array('action' => 'addImage', 'width' => '700', 'height' => '550', 'extensions' => 'jpg,jpeg,png,gif', 'callback' => 'bwg_add_preview_image'), admin_url('admin-ajax.php'));
265
  $query_url = wp_nonce_url($query_url, 'addImage', 'nonce_wd');
266
 
311
  'serif' => 'Serif',
312
  );
313
  $google_fonts = WDW_S_Library::get_google_fonts();
314
+
315
+ if ($possib_add_ffamily != '') {
316
+ $possib_add_ffamily = explode("*WD*", $possib_add_ffamily);
317
  foreach($possib_add_ffamily as $possib_add_value) {
318
  if ($possib_add_value) {
319
  $font_families[strtolower($possib_add_value)] = $possib_add_value;
320
  }
321
  }
322
  }
323
+ if ($possib_add_ffamily_google != '') {
324
+ $possib_add_ffamily_google = explode("*WD*", $possib_add_ffamily_google);
325
  foreach($possib_add_ffamily_google as $possib_add_value_google) {
326
  if ($possib_add_value_google) {
327
+ $google_fonts[$possib_add_value_google] = $possib_add_value_google;
328
  }
329
  }
330
  }
586
  This section allows you to add/edit slider.
587
  <a style="color: blue; text-decoration: none;" target="_blank" href="https://web-dorado.com/wordpress-slider-wd/adding-images.html">Read More in User Manual</a>
588
  </div>
589
+ <div class="wds_pro_container">
590
+ <a class="wds_pro_link wds_pro_text" target="_blank" href="https://web-dorado.com/files/fromslider.php">
591
+ <?php
592
+ $text = strtoupper(__('Upgrade to paid version', 'wds'));
593
+ ?>
594
+ <span><?php echo $text; ?></span>
595
+ <img class="wds_pro_image" alt="web-dorado.com" title="<?php echo $text; ?>" src="<?php echo WD_S_URL . '/images/wd_logo.png?v2'; ?>"" />
596
  </a>
597
  </div>
598
  </div>
976
  <div class="spider_description">Choose whether to have the layer effect out regardless of the timing between the hit to the next slider or skip the effect out and get to the next image.</div>
977
  </td>
978
  </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
979
  <tr>
980
  <td class="spider_label"><label>Published: </label></td>
981
  <td>
1982
  <td>
1983
  <input type="text" id="built_in_watermark_url" name="built_in_watermark_url" style="width: 68%;" value="<?php echo $row->built_in_watermark_url; ?>" style="display:inline-block;" onchange="preview_built_in_watermark()" />
1984
  <?php
1985
+ if (!$spider_uploader) {
1986
  ?>
1987
  <input id="wat_img_add_butt" class="wds_not_image_buttons" type="button" onclick="spider_media_uploader('watermark', event, false); return false;" value="Add Image" />
1988
  <?php
2182
  </div>
2183
  <div class="wds_buttons">
2184
  <?php
2185
+ if ($spider_uploader) {
2186
  ?>
2187
  <div class="wds_button_wrap">
2188
  <a href="<?php echo add_query_arg(array('callback' => 'wds_add_image', 'image_for' => 'add_slides', 'TB_iframe' => '1'), $query_url); ?>" class="wds_buttons_320 action_buttons thickbox thickbox-preview add_images" title="Add Images" onclick="return false;">
2249
  <div class="overlay" >
2250
  <div id="hover_buttons">
2251
  <?php
2252
+ if ($spider_uploader) {
2253
  ?>
2254
  <a href="<?php echo add_query_arg(array('callback' => 'wds_add_image', 'image_for' => 'add_update_slide','slide_id' => $slide_row->id, 'TB_iframe' => '1'), $query_url); ?>" class="wds_change_thumbnail thickbox thickbox-preview" title="Add/Edit Image" onclick="return false;">
2255
  </a>
2291
  <h2 class="titles">Edit Slide</h2>
2292
  <div id="slide_add_buttons">
2293
  <?php
2294
+ if (!$spider_uploader) {
2295
  ?>
2296
  <div class="slide_add_buttons_wrap">
2297
  <input type="button" class="action_buttons edit_slide" id="button_image_url<?php echo $slide_row->id; ?>" onclick="spider_media_uploader('<?php echo $slide_row->id; ?>', event, false); return false;" value="Add/Edit Image" />
2339
  <div id="wds_preview_image<?php echo $slide_row->id; ?>" class="wds_preview_image<?php echo $slide_row->id; ?> wds_preview_image"
2340
  style='background-color: <?php echo WDW_S_Library::spider_hex2rgba($row->background_color, (100 - $row->background_transparent) / 100); ?>;
2341
  background-image: url("<?php echo $slide_row->type != 'image' ? $slide_row->thumb_url : $slide_row->image_url . '?date=' . date('Y-m-d H:i:s'); ?>");
2342
+ background-position: <?php echo ($row->smart_crop == '1' && ($row->bg_fit == 'cover' || $row->bg_fit == 'contain')) ? $row->crop_image_position : 'center center'; ?>;
2343
  background-repeat: no-repeat;
2344
  background-size: <?php echo $row->bg_fit; ?>;
2345
  width: inherit;
2425
  <button class="action_buttons add_text_layer <?php echo !$fv ? "" : "wds_free_button"; ?> button-small" onclick="<?php echo !$fv ? "wds_add_layer('text', '" . $slide_row->id . "')" : "alert('This functionality is disabled in free version.')"; ?>; return false;" >Add Text Layer</button>
2426
  </div>
2427
  <?php
2428
+ if (!$spider_uploader) {
2429
  ?>
2430
  <div class="layer_add_buttons_wrap">
2431
  <button class="action_buttons add_image_layer <?php echo !$fv ? "" : " wds_free_button"; ?> button-small" onclick="<?php echo !$fv ? "wds_add_layer('image', '" . $slide_row->id . "', '', event)" : "alert('This functionality is disabled in free version.')"; ?>; return false;" >Add Image Layer</button>
3194
  <input id="tab" name="tab" type="hidden" value="<?php echo WDW_S_Library::get('tab', 'slides'); ?>" />
3195
  <input id="sub_tab" name="sub_tab" type="hidden" value="<?php echo $sub_tab_type; ?>" />
3196
  <script>
3197
+ var spider_uploader = <?php echo $spider_uploader; ?>;
3198
  </script>
3199
  </div>
3200
  <input id="task" name="task" type="hidden" value="" />
3229
  <input type="button" id="add_image_url_button" class="wds_not_image_buttons" value="Add" />
3230
  <input type="button" class="wds_not_image_buttons_grey" onclick="jQuery('.opacity_add_image_url').hide(); return false;" value="Cancel" />
3231
  <div class="spider_description">Enter absolute url of the image.</div>
3232
+ <input type="hidden" id="current_prefix" value="" />
3233
+ <input type="hidden" id="possib_add_ffamily" value="<?php echo $global_options->possib_add_ffamily; ?>" />
3234
+ <input type="hidden" id="possib_add_ffamily_google" value="<?php echo $global_options->possib_add_ffamily_google; ?>" />
3235
  </div>
3236
  </form>
3237
  <?php
admin/views/WDSViewUninstall_wds.php CHANGED
@@ -104,7 +104,7 @@ class WDSViewUninstall_wds {
104
  </div>
105
  <div class="wrap">
106
  <h2>Uninstall Slider WD</h2>
107
- <p><strong><a href="<?php echo $deactivate_url; ?>">Click Here</a> To Finish the Uninstallation and Slider WD will be Deactivated Automatically.</strong></p>
108
  <input id="task" name="task" type="hidden" value="" />
109
  </div>
110
  <?php
104
  </div>
105
  <div class="wrap">
106
  <h2>Uninstall Slider WD</h2>
107
+ <p><strong><a href="<?php echo $deactivate_url; ?>" class="wds_deactivate_link" data-uninstall="1">Click Here</a> To Finish the Uninstallation and Slider WD will be Deactivated Automatically.</strong></p>
108
  <input id="task" name="task" type="hidden" value="" />
109
  </div>
110
  <?php
css/notices.css CHANGED
@@ -86,4 +86,30 @@
86
  .hny a {
87
  display: block;
88
  height: 100%;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
89
  }
86
  .hny a {
87
  display: block;
88
  height: 100%;
89
+ }
90
+
91
+ .wds_pro_container {
92
+ text-align: right;
93
+ width: 100%;
94
+ }
95
+ .wds_pro_link {
96
+ border: none;
97
+ box-shadow: none !important;
98
+ text-decoration: none;
99
+ }
100
+ a.wds_pro_text, a.wds_pro_text:active, a.wds_pro_text:visited, a.wds_pro_text:hover {
101
+ background-color: #D8D8D8;
102
+ color: #175c8b;
103
+ display: inline-block;
104
+ font-size: 11px;
105
+ font-weight: bold;
106
+ height: 54px;
107
+ line-height: 50px;
108
+ padding: 0 10px;
109
+ vertical-align: middle;
110
+ }
111
+ .wds_pro_image {
112
+ border: none;
113
+ display: inline-block;
114
+ vertical-align: middle;
115
  }
css/wds_tables.css CHANGED
@@ -1794,6 +1794,7 @@ th.sorted a span {
1794
  -webkit-box-sizing: border-box;
1795
  -moz-box-sizing: border-box;
1796
  box-sizing: border-box;
 
1797
  }
1798
 
1799
  .wds_reverse_buttons {
@@ -1836,12 +1837,11 @@ th.sorted a span {
1836
  box-sizing: border-box;
1837
  }
1838
 
1839
- #load_gif_img {
1840
  display: inline-block;
1841
  vertical-align: middle;
1842
  width: 40px;
1843
  height: 40px;
1844
- padding-left: 15px;
1845
  }
1846
 
1847
  #select_slider_merge option {
@@ -1850,4 +1850,35 @@ th.sorted a span {
1850
 
1851
  .wds_category_name {
1852
  height: 32px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1853
  }
1794
  -webkit-box-sizing: border-box;
1795
  -moz-box-sizing: border-box;
1796
  box-sizing: border-box;
1797
+ vertical-align: middle;
1798
  }
1799
 
1800
  .wds_reverse_buttons {
1837
  box-sizing: border-box;
1838
  }
1839
 
1840
+ .load_gif_img {
1841
  display: inline-block;
1842
  vertical-align: middle;
1843
  width: 40px;
1844
  height: 40px;
 
1845
  }
1846
 
1847
  #select_slider_merge option {
1850
 
1851
  .wds_category_name {
1852
  height: 32px;
1853
+ }
1854
+
1855
+ .wds_fieldset {
1856
+ display: inline-block;
1857
+ border: 1px solid #ccc;
1858
+ color: #666666;
1859
+ padding: 10px;
1860
+ padding-top: 5px;
1861
+ font-size: 10px;
1862
+ }
1863
+
1864
+ .wds_center {
1865
+ text-align: center;
1866
+ }
1867
+
1868
+ .uninstall_icon {
1869
+ background-image: url("../images/uninstall-icon.png");
1870
+ background-repeat: no-repeat;
1871
+ border: none;
1872
+ float: left;
1873
+ height: 32px;
1874
+ margin: 7px 8px 0 0;
1875
+ width: 32px;
1876
+ }
1877
+
1878
+ .wds_form h2 {
1879
+ font-size: 23px;
1880
+ font-weight: normal;
1881
+ line-height: 29px;
1882
+ margin: 0;
1883
+ padding: 11px 15px 4px 0;
1884
  }
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
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
filemanager/js/default.js CHANGED
@@ -287,9 +287,6 @@ function getFileExtension(file) {
287
  }
288
 
289
 
290
- ////////////////////////////////////////////////////////////////////////////////////////
291
- // Listeners //
292
- ////////////////////////////////////////////////////////////////////////////////////////
293
  //ctrls bar handlers
294
  function onBtnUpClick(event, obj) {
295
  var destDir = dir.substring(0, dir.lastIndexOf(DS));
287
  }
288
 
289
 
 
 
 
290
  //ctrls bar handlers
291
  function onBtnUpClick(event, obj) {
292
  var destDir = dir.substring(0, dir.lastIndexOf(DS));
filemanager/view.php CHANGED
@@ -29,7 +29,7 @@ class FilemanagerView {
29
  ////////////////////////////////////////////////////////////////////////////////////////
30
  // Public Methods //
31
  ////////////////////////////////////////////////////////////////////////////////////////
32
- public function display($ajax = false, $load_count = 0) {
33
  if (isset($_GET['filemanager_msg']) && esc_html($_GET['filemanager_msg']) != '') {
34
  ?>
35
  <div id="file_manager_message" style="height:40px;">
@@ -40,7 +40,7 @@ class FilemanagerView {
40
  <?php
41
  $_GET['filemanager_msg'] = '';
42
  }
43
- $file_manager_data = $this->model->get_file_manager_data($ajax, $load_count);
44
  $items_view = $file_manager_data['session_data']['items_view'];
45
  $sort_by = $file_manager_data['session_data']['sort_by'];
46
  $sort_order = $file_manager_data['session_data']['sort_order'];
@@ -75,8 +75,8 @@ class FilemanagerView {
75
  var layer_id = "<?php echo (isset($_REQUEST['layer_id']) ? esc_html($_REQUEST['layer_id']) : ''); ?>";
76
  var sortBy = "<?php echo $sort_by; ?>";
77
  var sortOrder = "<?php echo $sort_order; ?>";
78
- var wdb_all_files = <?php echo (json_encode($file_manager_data["all_files"], true)); ?>;
79
- var element_load_count = <?php echo (json_encode($file_manager_data["element_load_count"], true)); ?>;
80
  </script>
81
  <script src="<?php echo WD_S_URL; ?>/filemanager/js/default.js?ver=<?php echo WD_S_VERSION; ?>"></script>
82
  <link href="<?php echo WD_S_URL; ?>/filemanager/css/default.css?ver=<?php echo WD_S_VERSION; ?>" type="text/css" rel="stylesheet">
29
  ////////////////////////////////////////////////////////////////////////////////////////
30
  // Public Methods //
31
  ////////////////////////////////////////////////////////////////////////////////////////
32
+ public function display() {
33
  if (isset($_GET['filemanager_msg']) && esc_html($_GET['filemanager_msg']) != '') {
34
  ?>
35
  <div id="file_manager_message" style="height:40px;">
40
  <?php
41
  $_GET['filemanager_msg'] = '';
42
  }
43
+ $file_manager_data = $this->model->get_file_manager_data();
44
  $items_view = $file_manager_data['session_data']['items_view'];
45
  $sort_by = $file_manager_data['session_data']['sort_by'];
46
  $sort_order = $file_manager_data['session_data']['sort_order'];
75
  var layer_id = "<?php echo (isset($_REQUEST['layer_id']) ? esc_html($_REQUEST['layer_id']) : ''); ?>";
76
  var sortBy = "<?php echo $sort_by; ?>";
77
  var sortOrder = "<?php echo $sort_order; ?>";
78
+ var wdb_all_files = <?php echo isset($file_manager_data["all_files"]) && json_encode($file_manager_data["all_files"]) ? json_encode($file_manager_data["all_files"]) : "''"; ?>;
79
+ var element_load_count = <?php echo isset($file_manager_data["element_load_count"]) && json_encode($file_manager_data["element_load_count"]) ? json_encode($file_manager_data["element_load_count"]) : "''"; ?>;
80
  </script>
81
  <script src="<?php echo WD_S_URL; ?>/filemanager/js/default.js?ver=<?php echo WD_S_VERSION; ?>"></script>
82
  <link href="<?php echo WD_S_URL; ?>/filemanager/css/default.css?ver=<?php echo WD_S_VERSION; ?>" type="text/css" rel="stylesheet">
framework/WDW_S_Library.php CHANGED
@@ -560,10 +560,7 @@ class WDW_S_Library {
560
  }
561
 
562
  public static function get_google_fonts() {
563
- $google_fonts = array('ABeeZee' => 'ABeeZee', 'Abel' => 'Abel', 'Abril+Fatface' => 'Abril Fatface', 'Aclonica' => 'Aclonica', 'Acme' => 'Acme', 'Actor' => 'Actor', 'Adamina' => 'Adamina', 'Advent+Pro' => 'Advent Pro', 'Aguafina+Script' => 'Aguafina Script', 'Akronim' => 'Akronim', 'Aladin' => 'Aladin', 'Aldrich' => 'Aldrich', 'Alef' => 'Alef', 'Alegreya' => 'Alegreya', 'Alegreya+SC' => 'Alegreya SC', 'Alegreya+Sans' => 'Alegreya Sans', 'Alex+Brush' => 'Alex Brush', 'Alfa+Slab+One' => 'Alfa Slab One', 'Alice' => 'Alice', 'Alike' => 'Alike', 'Alike+Angular' => 'Alike Angular', 'Allan' => 'Allan', 'Allerta' => 'Allerta', 'Allerta+Stencil' => 'Allerta Stencil', 'Allura' => 'Allura', 'Almendra' => 'Almendra', 'Almendra+display' => 'Almendra Display', 'Almendra+sc' => 'Almendra SC', 'Amarante' => 'Amarante', 'Amaranth' => 'Amaranth', 'Amatic+sc' => 'Amatic SC', 'Amethysta' => 'Amethysta', 'Amiri' => 'Amiri', 'Amita' => 'Amita', 'Anaheim' => 'Anaheim', 'Andada' => 'Andada', 'Andika' => 'Andika', 'Angkor' => 'Angkor', 'Annie+Use+Your+Telescope' => 'Annie Use Your Telescope', 'Anonymous+Pro' => 'Anonymous Pro', 'Antic' => 'Antic', 'Antic+Didone' => 'Antic Didone', 'Antic+Slab' => 'Antic Slab', 'Anton' => 'Anton', 'Arapey' => 'Arapey', 'Arbutus' => 'Arbutus', 'Arbutus+slab' => 'Arbutus Slab', 'Architects+daughter' => 'Architects Daughter', 'Archivo+black' => 'Archivo Black', 'Archivo+narrow' => 'Archivo Narrow', 'Arimo' => 'Arimo', 'Arizonia' => 'Arizonia', 'Armata' => 'Armata', 'Artifika' => 'Artifika', 'Arvo' => 'Arvo', 'Arya' => 'Arya', 'Asap' => 'Asap', 'Asar' => 'Asar', 'Asset' => 'Asset', 'Astloch' => 'Astloch', 'Asul' => 'Asul', 'Atomic+age' => 'Atomic Age', 'Aubrey' => 'Aubrey', 'Audiowide' => 'Audiowide', 'Autour+one' => 'Autour One', 'Average' => 'Average', 'Average+Sans' => 'Average Sans', 'Averia+Gruesa+Libre' => 'Averia Gruesa Libre', 'Averia+Libre' => 'Averia Libre', 'Averia+Sans+Libre' => 'Averia Sans Libre', 'Averia+Serif+Libre' => 'Averia Serif Libre', 'Bad+Script' => 'Bad Script', 'Balthazar' => 'Balthazar', 'Bangers' => 'Bangers', 'Basic' => 'Basic', 'Battambang' => 'Battambang', 'Baumans' => 'Baumans', 'Bayon' => 'Bayon', 'Belgrano' => 'Belgrano', 'BenchNine' => 'BenchNine', 'Bentham' => 'Bentham', 'Berkshire+Swash' => 'Berkshire Swash', 'Bevan' => 'Bevan', 'Bigelow+Rules' => 'Bigelow Rules', 'Bigshot+One' => 'Bigshot One', 'Bilbo' => 'Bilbo', 'Bilbo+Swash+Caps' => 'Bilbo Swash Caps', 'Biryani' => 'Biryani', 'Bitter' => 'Bitter', 'Black+Ops+One' => 'Black Ops One', 'Bokor' => 'Bokor', 'Bonbon' => 'Bonbon', 'Boogaloo' => 'Boogaloo', 'Bowlby+One' => 'Bowlby One', 'bowlby+One+SC' => 'Bowlby One SC', 'Brawler' => 'Brawler', 'Bree+Serif' => 'Bree Serif', 'Bubblegum+Sans' => 'Bubblegum Sans', 'Bubbler+One' => 'Bubbler One', 'Buda' => 'Buda', 'Buda+Light+300' => 'Buda Light 300', 'Buenard' => 'Buenard', 'Butcherman' => 'Butcherman', 'Butterfly+Kids' => 'Butterfly Kids', 'Cabin' => 'Cabin', 'Cabin+Condensed' => 'Cabin Condensed', 'Cabin+Sketch' => 'Cabin Sketch', 'Caesar+Dressing' => 'Caesar Dressing', 'Cagliostro' => 'Cagliostro', 'Calligraffitti' => 'Calligraffitti', 'Cambay' => 'Cambay', 'Cambo' => 'Cambo', 'Candal' => 'Candal', 'Cantarell' => 'Cantarell', 'Cantata+One' => 'Cantata One', 'Cantora+One' => 'Cantora One', 'Capriola' => 'Capriola', 'Cardo' => 'Cardo', 'Carme' => 'Carme', 'Carrois+Gothic' => 'Carrois Gothic', 'Carrois+Gothic+SC' => 'Carrois Gothic SC', 'Carter+One' => 'Carter One', 'Caudex' => 'Caudex', 'Caveat+Brush' => 'Caveat Brush', 'Cedarville+cursive' => 'Cedarville Cursive', 'Ceviche+One' => 'Ceviche One', 'Changa+One' => 'Changa One', 'Chango' => 'Chango', 'Chau+philomene+One' => 'Chau Philomene One', 'Chela+One' => 'Chela One', 'Chelsea+Market' => 'Chelsea Market', 'Chenla' => 'Chenla', 'Cherry+Cream+Soda' => 'Cherry Cream Soda', 'Chewy' => 'Chewy', 'Chicle' => 'Chicle', 'Chivo' => 'Chivo', 'Chonburi' => 'Chonburi', 'Cinzel' => 'Cinzel', 'Cinzel+Decorative' => 'Cinzel Decorative', 'Clicker+Script' => 'Clicker Script', 'Coda' => 'Coda', 'Coda+Caption' => 'Coda Caption', 'Codystar' => 'Codyst
564
- ar', 'Combo' => 'Combo', 'Comfortaa' => 'Comfortaa', 'Coming+soon' => 'Coming Soon', 'Concert+One' => 'Concert One', 'Condiment' => 'Condiment', 'Content' => 'Content', 'Contrail+One' => 'Contrail One', 'Convergence' => 'Convergence', 'Cookie' => 'Cookie', 'Copse' => 'Copse', 'Corben' => 'Corben', 'Courgette' => 'Courgette', 'Cousine' => 'Cousine', 'Coustard' => 'Coustard', 'Covered+By+Your+Grace' => 'Covered By Your Grace', 'Crafty+Girls' => 'Crafty Girls', 'Creepster' => 'Creepster', 'Crete+Round' => 'Crete Round', 'Crimson+Text' => 'Crimson Text', 'Croissant+One' => 'Croissant One', 'Crushed' => 'Crushed', 'Cuprum' => 'Cuprum', 'Cutive' => 'Cutive', 'Cutive+Mono' => 'Cutive Mono', 'Damion' => 'Damion', 'Dancing+Script' => 'Dancing Script', 'Dangrek' => 'Dangrek', 'Dawning+of+a+New+Day' => 'Dawning of a New Day', 'Days+One' => 'Days One', 'Dekko' => 'Dekko', 'Delius' => 'Delius', 'Delius+Swash+Caps' => 'Delius Swash Caps', 'Delius+Unicase' => 'Delius Unicase', 'Della+Respira' => 'Della Respira', 'Denk+One' => 'Denk One', 'Devonshire' => 'Devonshire', 'Dhurjati' => 'Dhurjati', 'Didact+Gothic' => 'Didact Gothic', 'Diplomata' => 'Diplomata', 'Diplomata+SC' => 'Diplomata SC', 'Domine' => 'Domine', 'Donegal+One' => 'Donegal One', 'Doppio+One' => 'Doppio One', 'Dorsa' => 'Dorsa', 'Dosis' => 'Dosis', 'Dr+Sugiyama' => 'Dr Sugiyama', 'Droid+Sans' => 'Droid Sans', 'Droid+Sans+Mono' => 'Droid Sans Mono', 'Droid+Serif' => 'Droid Serif', 'Duru+Sans' => 'Duru Sans', 'Dynalight' => 'Dynalight', 'Eb+Garamond' => 'EB Garamond', 'Eagle+Lake' => 'Eagle Lake', 'Eater' => 'Eater', 'Economica' => 'Economica', 'Eczar' => 'Eczar', 'Ek+Mukta' => 'Ek Mukta', 'Electrolize' => 'Electrolize', 'Elsie' => 'Elsie', 'Elsie+Swash+Caps' => 'Elsie Swash Caps', 'Emblema+One' => 'Emblema One', 'Emilys+Candy' => 'Emilys Candy', 'Engagement' => 'Engagement', 'Englebert' => 'Englebert', 'Enriqueta' => 'Enriqueta', 'Erica+One' => 'Erica One', 'Esteban' => 'Esteban', 'Euphoria+Script' => 'Euphoria Script', 'Ewert' => 'Ewert', 'Exo' => 'Exo', 'Exo+2' => 'Exo 2', 'Expletus+Sans' => 'Expletus Sans', 'Fanwood+Text' => 'Fanwood Text', 'Fascinate' => 'Fascinate', 'Fascinate+Inline' => 'Fascinate Inline', 'Faster+One' => 'Faster One', 'Fasthand' => 'Fasthand', 'Fauna+One' => 'Fauna One', 'Federant' => 'Federant', 'Federo' => 'Federo', 'Felipa' => 'Felipa', 'Fenix' => 'Fenix', 'Finger+Paint' => 'Finger Paint', 'Fira+Mono' => 'Fira Mono', 'Fjalla+One' => 'Fjalla One', 'Fjord+One' => 'Fjord One', 'Flamenco' => 'Flamenco', 'Flavors' => 'Flavors', 'Fondamento' => 'Fondamento', 'Fontdiner+swanky' => 'Fontdiner Swanky', 'Forum' => 'Forum', 'Francois+One' => 'Francois One', 'Freckle+Face' => 'Freckle Face', 'Fredericka+the+Great' => 'Fredericka the Great', 'Fredoka+One' => 'Fredoka One', 'Freehand' => 'Freehand', 'Fresca' => 'Fresca', 'Frijole' => 'Frijole', 'Fruktur' => 'Fruktur', 'Fugaz+One' => 'Fugaz One', 'GFS+Didot' => 'GFS Didot', 'GFS+Neohellenic' => 'GFS Neohellenic', 'Gabriela' => 'Gabriela', 'Gafata' => 'Gafata', 'Galdeano' => 'Galdeano', 'Galindo' => 'Galindo', 'Gentium+Basic' => 'Gentium Basic', 'Gentium+Book+Basic' => 'Gentium Book Basic', 'Geo' => 'Geo', 'Geostar' => 'Geostar', 'Geostar+Fill' => 'Geostar Fill', 'Germania+One' => 'Germania One', 'Gidugu' => 'Gidugu', 'Gilda+Display' => 'Gilda Display', 'Give+You+Glory' => 'Give You Glory', 'Glass+Antiqua' => 'Glass Antiqua', 'Glegoo' => 'Glegoo', 'Gloria+Hallelujah' => 'Gloria Hallelujah', 'Goblin+One' => 'Goblin One', 'Gochi+Hand' => 'Gochi Hand', 'Gorditas' => 'Gorditas', 'Goudy+Bookletter+1911' => 'Goudy Bookletter 1911', 'Graduate' => 'Graduate', 'Grand+Hotel' => 'Grand Hotel', 'Gravitas+One' => 'Gravitas One', 'Great+Vibes' => 'Great Vibes', 'Griffy' => 'Griffy', 'Gruppo' => 'Gruppo', 'Gudea' => 'Gudea', 'Gurajada' => 'Gurajada', 'Habibi' => 'Habibi', 'Halant' => 'Halant', 'Hammersmith+One' => 'Hammersmith One', 'Hanalei' => 'Hanalei', 'Hanalei+Fill' => 'Hanalei Fill', 'Handlee' => 'Handlee', 'Hanuman' => 'Hanuman', 'Happy+Monkey' => 'Happy Monkey', 'Headland+One' => 'Headland One', 'Henny+Penny' => 'Henny P
565
- enny', 'Herr+Von+Muellerhoff' => 'Herr Von Muellerhoff', 'Hind' => 'Hind', 'Holtwood+One +SC' => 'Holtwood One SC', 'Homemade+Apple' => 'Homemade Apple', 'Homenaje' => 'Homenaje', 'IM+Fell+DW+Pica' => 'IM Fell DW Pica', 'IM+Fell+DW+Pica+SC' => 'IM Fell DW Pica SC', 'IM+Fell+Double+Pica' => 'IM Fell Double Pica', 'IM+Fell+Double+Pica+SC' => 'IM Fell Double Pica SC', 'IM+Fell+English' => 'IM Fell English', 'IM+Fell+English+SC' => 'IM Fell English SC', 'IM+Fell+French+Canon' => 'IM Fell French Canon', 'IM+Fell+French+Canon+SC' => 'IM Fell French Canon SC', 'IM+Fell+Great+Primer' => 'IM Fell Great Primer', 'IM+Fell+Great+Primer+SC' => 'IM Fell Great Primer SC', 'Iceberg' => 'Iceberg', 'Iceland' => 'Iceland', 'Imprima' => 'Imprima', 'Inconsolata' => 'Inconsolata', 'Inder' => 'Inder', 'Indie+Flower' => 'Indie Flower', 'Inika' => 'Inika', 'Inknut+Antiqua' => 'Inknut Antiqua', 'Irish+Grover' => 'Irish Grover', 'Istok+Web' => 'Istok Web', 'Italiana' => 'Italiana', 'Italianno' => 'Italianno', 'Itim' => 'Itim', 'Jacques+Francois' => 'Jacques Francois', 'Jacques+Francois+Shadow' => 'Jacques Francois Shadow', 'Jaldi' => 'Jaldi', 'Jim+Nightshade' => 'Jim Nightshade', 'Jockey+One' => 'Jockey One', 'Jolly+Lodger' => 'Jolly Lodger', 'Josefin+Sans' => 'Josefin Sans', 'Josefin+Slab' => 'Josefin Slab', 'Joti+One' => 'Joti One', 'Judson' => 'Judson', 'Julee' => 'Julee', 'Julius+Sans+One' => 'Julius Sans One', 'Junge' => 'Junge', 'Jura' => 'Jura', 'Just+Another+Hand' => 'Just Another Hand', 'Just+Me+Again+Down+Here' => 'Just Me Again Down Here', 'Kadwa' => 'Kadwa', 'Kameron' => 'Kameron', 'Kanit' => 'Kanit', 'Karla' => 'Karla', 'Kaushan+Script' => 'Kaushan Script', 'Kavoon' => 'Kavoon', 'Keania+One' => 'Keania One', 'kelly+Slab' => 'Kelly Slab', 'Kenia' => 'Kenia', 'Khand' => 'Khand', 'Khmer' => 'Khmer', 'Khula' => 'Khula', 'Kite+One' => 'Kite One', 'Knewave' => 'Knewave', 'Kotta+One' => 'Kotta One', 'Koulen' => 'Koulen', 'Kranky' => 'Kranky', 'Kreon' => 'Kreon', 'Kristi' => 'Kristi', 'Krona+One' => 'Krona One', 'Kurale' => 'Kurale', 'La+Belle+Aurore' => 'La Belle Aurore', 'Laila' => 'Laila', 'Lakki+Reddy' => 'Lakki Reddy', 'Lancelot' => 'Lancelot', 'Lateef' => 'Lateef', 'Lato' => 'Lato', 'League+Script' => 'League Script', 'Leckerli+One' => 'Leckerli One', 'Ledger' => 'Ledger', 'Lekton' => 'Lekton', 'Lemon' => 'Lemon', 'Libre+Baskerville' => 'Libre Baskerville', 'Life+Savers' => 'Life Savers', 'Lilita+One' => 'Lilita One', 'Lily+Script+One' => 'Lily Script One', 'Limelight' => 'Limelight', 'Linden+Hill' => 'Linden Hill', 'Lobster' => 'Lobster', 'Lobster+Two' => 'Lobster Two', 'Londrina+Outline' => 'Londrina Outline', 'Londrina+Shadow' => 'Londrina Shadow', 'Londrina+Sketch' => 'Londrina Sketch', 'Londrina+Solid' => 'Londrina Solid', 'Lora' => 'Lora', 'Love+Ya+Like+A+Sister' => 'Love Ya Like A Sister', 'Loved+by+the+King' => 'Loved by the King', 'Lovers+Quarrel' => 'Lovers Quarrel', 'Luckiest+Guy' => 'Luckiest Guy', 'Lusitana' => 'Lusitana', 'Lustria' => 'Lustria', 'Macondo' => 'Macondo', 'Macondo+Swash+Caps' => 'Macondo Swash Caps', 'Magra' => 'Magra', 'Maiden+Orange' => 'Maiden Orange', 'Mako' => 'Mako', 'Mandali' => 'Mandali', 'Marcellus' => 'Marcellus', 'Marcellus+SC' => 'Marcellus SC', 'Marck+Script' => 'Marck Script', 'Margarine' => 'Margarine', 'Marko+One' => 'Marko One', 'Marmelad' => 'Marmelad', 'Martel' => 'Martel', 'Martel+Sans' => 'Martel Sans', 'Marvel' => 'Marvel', 'Mate' => 'Mate', 'Mate+SC' => 'Mate SC', 'Maven+Pro' => 'Maven Pro', 'McLaren' => 'McLaren', 'Meddon' => 'Meddon', 'MedievalSharp' => 'MedievalSharp', 'Medula+One' => 'Medula One', 'Megrim' => 'Megrim', 'Meie+Script' => 'Meie Script', 'Merienda' => 'Merienda', 'Merienda+One' => 'Merienda One', 'Merriweather' => 'Merriweather', 'Merriweather+Sans' => 'Merriweather Sans', 'Metal' => 'Metal', 'Metal+mania' => 'Metal Mania', 'Metamorphous' => 'Metamorphous', 'Metrophobic' => 'Metrophobic', 'Michroma' => 'Michroma', 'Milonga' => 'Milonga', 'Miltonian' => 'Miltonian', 'Miltonian+Tattoo' => 'Miltonian Tattoo', 'Miniver' => 'Miniver', 'Miss+Fajardose' => 'Miss Fajardose', 'Modak' => 'Modak', 'Modern+Antiqua' => 'Modern Antiqua', 'Molengo' => 'Molengo', 'Molle' => 'Molle:400i', 'Monda' => 'Monda', 'Monofett' => 'Monofett', 'Monoton' => 'Monoton', 'Monsieur+La+Doulaise' => 'Monsieur La Doulaise', 'Montaga' => 'Montaga', 'Montez' => 'Montez', 'Montserrat' => 'Montserrat', 'Montserrat+Alternates' => 'Montserrat Alternates', 'Montserrat+Subrayada' => 'Montserrat Subrayada', 'Moul' => 'Moul', 'Moulpali' => 'Moulpali', 'Mountains+of+Christmas' => 'Mountains of Christmas', 'Mouse+Memoirs' => 'Mouse Memoirs', 'Mr+Bedfort' => 'Mr Bedfort', 'Mr+Dafoe' => 'Mr Dafoe', 'Mr+De+Haviland' => 'Mr De Haviland', 'Mrs+Saint+Delafield' => 'Mrs Saint Delafield', 'Mrs+Sheppards' => 'Mrs Sheppards', 'Muli' => 'Muli', 'Mystery+Quest' => 'Mystery Quest', 'NTR' => 'NTR', 'Neucha' => 'Neucha', 'Neuton' => 'Neuton', 'New+Rocker' => 'New Rocker', 'News+Cycle' => 'News Cycle', 'Niconne' => 'Niconne', 'Nixie+One' => 'Nixie One', 'Nobile' => 'Nobile', 'Nokora' => 'Nokora', 'Norican' => 'Norican', 'Nosifer' => 'Nosifer', 'Nothing+You+Could+Do' => 'Nothing You Could Do', 'Noticia+Text' => 'Noticia Text', 'Noto+Sans' => 'Noto Sans', 'Noto+Serif' => 'Noto Serif', 'Nova+Cut' => 'Nova Cut', 'Nova+Flat' => 'Nova Flat', 'Nova+Mono' => 'Nova Mono', 'Nova+Oval' => 'Nova Oval', 'Nova+Round' => 'Nova Round', 'Nova+Script' => 'Nova Script', 'Nova+Slim' => 'Nova Slim', 'Nova+Square' => 'Nova Square', 'Numans' => 'Numans', 'Nunito' => 'Nunito', 'Odor+Mean+Chey' => 'Odor Mean Chey', 'Offside' => 'Offside', 'Old+standard+tt' => 'Old Standard TT', 'Oldenburg' => 'Oldenburg', 'Oleo+Script' => 'Oleo Script', 'Oleo+Script+Swash+Caps' => 'Oleo Script Swash Caps', 'Open+Sans' => 'Open Sans', 'Open+Sans+Condensed' => 'Open Sans Condensed:300', 'Oranienbaum' => 'Oranienbaum', 'Orbitron' => 'Orbitron', 'Oregano' => 'Oregano', 'Orienta' => 'Orienta', 'Original+Surfer' => 'Original Surfer', 'Oswald' => 'Oswald', 'Over+the+Rainbow' => 'Over the Rainbow', 'Overlock' => 'Overlock', 'Overlock+SC' => 'Overlock SC', 'Ovo' => 'Ovo', 'Oxygen' => 'Oxygen', 'Oxygen+Mono' => 'Oxygen Mono', 'PT+Mono' => 'PT Mono', 'PT+Sans' => 'PT Sans', 'PT+Sans+Caption' => 'PT Sans Caption', 'PT+Sans+Narrow' => 'PT Sans Narrow', 'PT+Serif' => 'PT Serif', 'PT+Serif+Caption' => 'PT Serif Caption', 'Pacifico' => 'Pacifico', 'Palanquin' => 'Palanquin', 'Palanquin+Dark' => 'Palanquin Dark', 'Paprika' => 'Paprika', 'Parisienne' => 'Parisienne', 'Passero+One' => 'Passero One', 'Passion+One' => 'Passion One', 'Pathway+Gothic+One' => 'Pathway Gothic One', 'Patrick+Hand' => 'Patrick Hand', 'Patrick+Hand+SC' => 'Patrick Hand SC', 'Patua+One' => 'Patua One', 'Paytone+One' => 'Paytone One', 'Peddana' => 'Peddana', 'Peralta' => 'Peralta', 'Permanent+Marker' => 'Permanent Marker', 'Petit+Formal+Script' => 'Petit Formal Script', 'Petrona' => 'Petrona', 'Philosopher' => 'Philosopher', 'Piedra' => 'Piedra', 'Pinyon+Script' => 'Pinyon Script', 'Pirata+One' => 'Pirata One', 'Plaster' => 'Plaster', 'Play' => 'Play', 'Playball' => 'Playball', 'Playfair+Display' => 'Playfair Display', 'Playfair+Display+SC' => 'Playfair Display SC', 'Podkova' => 'Podkova', 'Poiret+One' => 'Poiret One', 'Poller+One' => 'Poller One', 'Poly' => 'Poly', 'Pompiere' => 'Pompiere', 'Pontano+Sans' => 'Pontano Sans', 'Poppins' => 'Poppins', 'Port+Lligat+Sans' => 'Port Lligat Sans', 'Port+Lligat+Slab' => 'Port Lligat Slab', 'Pragati+Narrow' => 'Pragati Narrow', 'Prata' => 'Prata', 'Preahvihear' => 'Preahvihear', 'Press+start+2P' => 'Press Start 2P', 'Princess+Sofia' => 'Princess Sofia', 'Prociono' => 'Prociono', 'Prosto+One' => 'Prosto One', 'Puritan' => 'Puritan', 'Purple+Purse' => 'Purple Purse', 'Quando' => 'Quando', 'Quantico' => 'Quantico', 'Quattrocento' => 'Quattrocento', 'Quattrocento+Sans' => 'Quattrocento Sans', 'Questrial' => 'Questrial', 'Quicksand' => 'Quicksand', 'Quintessential' => 'Quintessential', 'Qwigley' => 'Qwigley', 'Racing+sans+One' => 'Racing Sans One', 'Radley' => 'Radley', 'Rajdhani' => 'Rajdhani', 'Raleway' => 'Raleway', 'Raleway+Dots' => 'Raleway Dots', 'Ramabhadra' => 'Ramabhadra', 'Ramaraja' => 'Ramaraja', 'Rambla' => 'Rambla', 'Rammetto+One' => 'Rammetto One', 'Ranchers' => 'Ranchers', 'Rancho' => 'Rancho', 'Ranga' => 'Ranga', 'Rationale' => 'Rationale', 'Ravi+Prakash' => 'Ravi Prakash', 'Redressed' => 'Redressed', 'Reenie+Beanie' => 'Reenie Beanie', 'Revalia' => 'Revalia', 'Rhodium+Libre' => 'Rhodium Libre', 'Ribeye' => 'Ribeye', 'Ribeye+Marrow' => 'Ribeye Marrow', 'Righteous' => 'Righteous', 'Risque' => 'Risque', 'Roboto' => 'Roboto', 'Roboto+Condensed' => 'Roboto Condensed', 'Roboto+Mono' => 'Roboto Mono', 'Roboto+Slab' => 'Roboto Slab', 'Rochester' => 'Rochester', 'Rock+Salt' => 'Rock Salt', 'Rokkitt' => 'Rokkitt', 'Romanesco' => 'Romanesco', 'Ropa+Sans' => 'Ropa Sans', 'Rosario' => 'Rosario', 'Rosarivo' => 'Rosarivo', 'Rouge+Script' => 'Rouge Script', 'Rozha+One' => 'Rozha One', 'Rubik' => 'Rubik', 'Rubik+Mono+One' => 'Rubik Mono One', 'Rubik+One' => 'Rubik One', 'Ruda' => 'Ruda', 'Rufina' => 'Rufina', 'Ruge+Boogie' => 'Ruge Boogie', 'Ruluko' => 'Ruluko', 'Rum+Raisin' => 'Rum Raisin', 'Ruslan+Display' => 'Ruslan Display', 'Russo+One' => 'Russo One', 'Ruthie' => 'Ruthie', 'Rye' => 'Rye', 'Sacramento' => 'Sacramento', 'Sahitya' => 'Sahitya', 'Sail' => 'Sail', 'Salsa' => 'Salsa', 'Sanchez' => 'Sanchez', 'Sancreek' => 'Sancreek', 'Sansita+One' => 'Sansita One', 'Sarina' => 'Sarina', 'Sarpanch' => 'Sarpanch', 'Satisfy' => 'Satisfy', 'Scada' => 'Scada', 'Schoolbell' => 'Schoolbell', 'Seaweed+Script' => 'Seaweed Script', 'Sevillana' => 'Sevillana', 'Seymour+One' => 'Seymour One', 'Shadows+Into+Light' => 'Shadows Into Light', 'Shadows+Into+Light+Two' => 'Shadows Into Light Two', 'Shanti' => 'Shanti', 'Share' => 'Share', 'Share+Tech' => 'Share Tech', 'Share+Tech+Mono' => 'Share Tech Mono', 'Shojumaru' => 'Shojumaru', 'Short+Stack' => 'Short Stack', 'Siemreap' => 'Siemreap', 'Sigmar+One' => 'Sigmar One', 'Signika' => 'Signika', 'Signika+Negative' => 'Signika Negative', 'Simonetta' => 'Simonetta', 'Sintony' => 'Sintony', 'Sirin+Stencil' => 'Sirin Stencil', 'Six+Caps' => 'Six Caps', 'Skranji' => 'Skranji', 'Slabo+13px' => 'Slabo 13px', 'Slackey' => 'Slackey', 'Smokum' => 'Smokum', 'Smythe' => 'Smythe', 'Sniglet' => 'Sniglet', 'Snippet' => 'Snippet', 'Snowburst+One' => 'Snowburst One', 'Sofadi+One' => 'Sofadi One', 'Sofia' => 'Sofia', 'Sonsie+One' => 'Sonsie One', 'Sorts+Mill+Goudy' => 'Sorts Mill Goudy', 'Source+Code+Pro' => 'Source Code Pro', 'Source+Sans+Pro' => 'Source Sans Pro', 'Source+Serif+Pro' => 'Source Serif Pro', 'Special+Elite' => 'Special Elite', 'Spicy+Rice' => 'Spicy Rice', 'Spinnaker' => 'Spinnaker', 'Spirax' => 'Spirax', 'Squada+One' => 'Squada One', 'Sree+Krushnadevaraya' => 'Sree Krushnadevaraya', 'Stalemate' => 'Stalemate', 'Stalinist+One' => 'Stalinist One', 'Stardos+Stencil' => 'Stardos Stencil', 'Stint+Ultra+Condensed' => 'Stint Ultra Condensed', 'Stint+Ultra+Expanded' => 'Stint Ultra Expanded', 'Stoke' => 'Stoke', 'Strait' => 'Strait', 'Sue+Ellen+Francisco' => 'Sue Ellen Francisco', 'Sumana' => 'Sumana', 'Sunshiney' => 'Sunshiney', 'Supermercado+One' => 'Supermercado One', 'Sura' => 'Sura', 'Suranna' => 'Suranna', 'Suravaram' => 'Suravaram', 'Suwannaphum' => 'Suwannaphum', 'Swanky+and+Moo+Moo' => 'Swanky and Moo Moo', 'Syncopate' => 'Syncopate', 'Tangerine' => 'Tangerine', 'Taprom' => 'Taprom', 'Tauri' => 'Tauri', 'Teko' => 'Teko', 'Telex' => 'Telex', 'Tenali+Ramakrishna' => 'Tenali Ramakrishna', 'Tenor+Sans' => 'Tenor Sans', 'Text+Me+One' => 'Text Me One', 'The+Girl+Next+Door' => 'The Girl Next Door', 'Tienne' => 'Tienne', 'Tillana' => 'Tillana', 'Timmana' => 'Timmana', 'Tinos' => 'Tinos', 'Titan+One' => 'Titan One', 'Titillium+Web' => 'Titillium Web', 'Trade+Winds' => 'Trade Winds', 'Trocchi' => 'Trocchi', 'Trochut' => 'Trochut', 'Trykker' => 'Trykker', 'Tulpen+One' => 'Tulpen One', 'Ubuntu' => 'Ubuntu', 'Ubuntu+Condensed' => 'Ubuntu Condensed', 'Ubuntu+Mono' => 'Ubuntu Mono', 'Ultra' => 'Ultra', 'Uncial+Antiqua' => 'Uncial Antiqua', 'Underdog' => 'Underdog', 'Unica+One' => 'Unica One', 'UnifrakturCook' => 'UnifrakturC
566
- ook:700', 'UnifrakturMaguntia' => 'UnifrakturMaguntia', 'Unkempt' => 'Unkempt', 'Unlock' => 'Unlock', 'Unna' => 'Unna', 'VT323' => 'VT323', 'Vampiro+One' => 'Vampiro One', 'Varela' => 'Varela', 'Varela+Round' => 'Varela Round', 'Vast+Shadow' => 'Vast Shadow', 'Vibur' => 'Vibur', 'Vidaloka' => 'Vidaloka', 'Viga' => 'Viga', 'Voces' => 'Voces', 'Volkhov' => 'Volkhov', 'Vollkorn' => 'Vollkorn', 'Voltaire' => 'Voltaire', 'Waiting+for+the+sunrise' => 'Waiting for the Sunrise', 'Wallpoet' => 'Wallpoet', 'Walter+Turncoat' => 'Walter Turncoat', 'Warnes' => 'Warnes', 'Wellfleet' => 'Wellfleet', 'Wendy+One' => 'Wendy One', 'Wire+One' => 'Wire One', 'Work+Sans' => 'Work Sans', 'Yanone+Kaffeesatz' => 'Yanone Kaffeesatz', 'Yantramanav' => 'Yantramanav', 'Yellowtail' => 'Yellowtail', 'Yeseva+One' => 'Yeseva One', 'Yesteryear' => 'Yesteryear', 'Zeyada' => 'Zeyada');
567
  return $google_fonts;
568
  }
569
 
560
  }
561
 
562
  public static function get_google_fonts() {
563
+ $google_fonts = array('ABeeZee' => 'ABeeZee', 'Abel' => 'Abel', 'Abril Fatface' => 'Abril Fatface', 'Aclonica' => 'Aclonica', 'Acme' => 'Acme', 'Actor' => 'Actor', 'Adamina' => 'Adamina', 'Advent Pro' => 'Advent Pro', 'Aguafina Script' => 'Aguafina Script', 'Akronim' => 'Akronim', 'Aladin' => 'Aladin', 'Aldrich' => 'Aldrich', 'Alef' => 'Alef', 'Alegreya' => 'Alegreya', 'Alegreya SC' => 'Alegreya SC', 'Alegreya Sans' => 'Alegreya Sans', 'Alex Brush' => 'Alex Brush', 'Alfa Slab One' => 'Alfa Slab One', 'Alice' => 'Alice', 'Alike' => 'Alike', 'Alike Angular' => 'Alike Angular', 'Allan' => 'Allan', 'Allerta' => 'Allerta', 'Allerta Stencil' => 'Allerta Stencil', 'Allura' => 'Allura', 'Almendra' => 'Almendra', 'Almendra display' => 'Almendra Display', 'Almendra sc' => 'Almendra SC', 'Amarante' => 'Amarante', 'Amaranth' => 'Amaranth', 'Amatic sc' => 'Amatic SC', 'Amethysta' => 'Amethysta', 'Amiri' => 'Amiri', 'Amita' => 'Amita', 'Anaheim' => 'Anaheim', 'Andada' => 'Andada', 'Andika' => 'Andika', 'Angkor' => 'Angkor', 'Annie Use Your Telescope' => 'Annie Use Your Telescope', 'Anonymous Pro' => 'Anonymous Pro', 'Antic' => 'Antic', 'Antic Didone' => 'Antic Didone', 'Antic Slab' => 'Antic Slab', 'Anton' => 'Anton', 'Arapey' => 'Arapey', 'Arbutus' => 'Arbutus', 'Arbutus slab' => 'Arbutus Slab', 'Architects daughter' => 'Architects Daughter', 'Archivo black' => 'Archivo Black', 'Archivo narrow' => 'Archivo Narrow', 'Arimo' => 'Arimo', 'Arizonia' => 'Arizonia', 'Armata' => 'Armata', 'Artifika' => 'Artifika', 'Arvo' => 'Arvo', 'Arya' => 'Arya', 'Asap' => 'Asap', 'Asar' => 'Asar', 'Asset' => 'Asset', 'Astloch' => 'Astloch', 'Asul' => 'Asul', 'Atomic age' => 'Atomic Age', 'Aubrey' => 'Aubrey', 'Audiowide' => 'Audiowide', 'Autour one' => 'Autour One', 'Average' => 'Average', 'Average Sans' => 'Average Sans', 'Averia Gruesa Libre' => 'Averia Gruesa Libre', 'Averia Libre' => 'Averia Libre', 'Averia Sans Libre' => 'Averia Sans Libre', 'Averia Serif Libre' => 'Averia Serif Libre', 'Bad Script' => 'Bad Script', 'Balthazar' => 'Balthazar', 'Bangers' => 'Bangers', 'Basic' => 'Basic', 'Battambang' => 'Battambang', 'Baumans' => 'Baumans', 'Bayon' => 'Bayon', 'Belgrano' => 'Belgrano', 'BenchNine' => 'BenchNine', 'Bentham' => 'Bentham', 'Berkshire Swash' => 'Berkshire Swash', 'Bevan' => 'Bevan', 'Bigelow Rules' => 'Bigelow Rules', 'Bigshot One' => 'Bigshot One', 'Bilbo' => 'Bilbo', 'Bilbo Swash Caps' => 'Bilbo Swash Caps', 'Biryani' => 'Biryani', 'Bitter' => 'Bitter', 'Black Ops One' => 'Black Ops One', 'Bokor' => 'Bokor', 'Bonbon' => 'Bonbon', 'Boogaloo' => 'Boogaloo', 'Bowlby One' => 'Bowlby One', 'bowlby One SC' => 'Bowlby One SC', 'Brawler' => 'Brawler', 'Bree Serif' => 'Bree Serif', 'Bubblegum Sans' => 'Bubblegum Sans', 'Bubbler One' => 'Bubbler One', 'Buda' => 'Buda', 'Buda Light 300' => 'Buda Light 300', 'Buenard' => 'Buenard', 'Butcherman' => 'Butcherman', 'Butterfly Kids' => 'Butterfly Kids', 'Cabin' => 'Cabin', 'Cabin Condensed' => 'Cabin Condensed', 'Cabin Sketch' => 'Cabin Sketch', 'Caesar Dressing' => 'Caesar Dressing', 'Cagliostro' => 'Cagliostro', 'Calligraffitti' => 'Calligraffitti', 'Cambay' => 'Cambay', 'Cambo' => 'Cambo', 'Candal' => 'Candal', 'Cantarell' => 'Cantarell', 'Cantata One' => 'Cantata One', 'Cantora One' => 'Cantora One', 'Capriola' => 'Capriola', 'Cardo' => 'Cardo', 'Carme' => 'Carme', 'Carrois Gothic' => 'Carrois Gothic', 'Carrois Gothic SC' => 'Carrois Gothic SC', 'Carter One' => 'Carter One', 'Caudex' => 'Caudex', 'Caveat Brush' => 'Caveat Brush', 'Cedarville cursive' => 'Cedarville Cursive', 'Ceviche One' => 'Ceviche One', 'Changa One' => 'Changa One', 'Chango' => 'Chango', 'Chau philomene One' => 'Chau Philomene One', 'Chela One' => 'Chela One', 'Chelsea Market' => 'Chelsea Market', 'Chenla' => 'Chenla', 'Cherry Cream Soda' => 'Cherry Cream Soda', 'Chewy' => 'Chewy', 'Chicle' => 'Chicle', 'Chivo' => 'Chivo', 'Chonburi' => 'Chonburi', 'Cinzel' => 'Cinzel', 'Cinzel Decorative' => 'Cinzel Decorative', 'Clicker Script' => 'Clicker Script', 'Coda' => 'Coda', 'Coda Caption' => 'Coda Caption', 'Codystar' => 'Codystar', 'Combo' => 'Combo', 'Comfortaa' => 'Comfortaa', 'Coming soon' => 'Coming Soon', 'Concert One' => 'Concert One', 'Condiment' => 'Condiment', 'Content' => 'Content', 'Contrail One' => 'Contrail One', 'Convergence' => 'Convergence', 'Cookie' => 'Cookie', 'Copse' => 'Copse', 'Corben' => 'Corben', 'Courgette' => 'Courgette', 'Cousine' => 'Cousine', 'Coustard' => 'Coustard', 'Covered By Your Grace' => 'Covered By Your Grace', 'Crafty Girls' => 'Crafty Girls', 'Creepster' => 'Creepster', 'Crete Round' => 'Crete Round', 'Crimson Text' => 'Crimson Text', 'Croissant One' => 'Croissant One', 'Crushed' => 'Crushed', 'Cuprum' => 'Cuprum', 'Cutive' => 'Cutive', 'Cutive Mono' => 'Cutive Mono', 'Damion' => 'Damion', 'Dancing Script' => 'Dancing Script', 'Dangrek' => 'Dangrek', 'Dawning of a New Day' => 'Dawning of a New Day', 'Days One' => 'Days One', 'Dekko' => 'Dekko', 'Delius' => 'Delius', 'Delius Swash Caps' => 'Delius Swash Caps', 'Delius Unicase' => 'Delius Unicase', 'Della Respira' => 'Della Respira', 'Denk One' => 'Denk One', 'Devonshire' => 'Devonshire', 'Dhurjati' => 'Dhurjati', 'Didact Gothic' => 'Didact Gothic', 'Diplomata' => 'Diplomata', 'Diplomata SC' => 'Diplomata SC', 'Domine' => 'Domine', 'Donegal One' => 'Donegal One', 'Doppio One' => 'Doppio One', 'Dorsa' => 'Dorsa', 'Dosis' => 'Dosis', 'Dr Sugiyama' => 'Dr Sugiyama', 'Droid Sans' => 'Droid Sans', 'Droid Sans Mono' => 'Droid Sans Mono', 'Droid Serif' => 'Droid Serif', 'Duru Sans' => 'Duru Sans', 'Dynalight' => 'Dynalight', 'Eb Garamond' => 'EB Garamond', 'Eagle Lake' => 'Eagle Lake', 'Eater' => 'Eater', 'Economica' => 'Economica', 'Eczar' => 'Eczar', 'Ek Mukta' => 'Ek Mukta', 'Electrolize' => 'Electrolize', 'Elsie' => 'Elsie', 'Elsie Swash Caps' => 'Elsie Swash Caps', 'Emblema One' => 'Emblema One', 'Emilys Candy' => 'Emilys Candy', 'Engagement' => 'Engagement', 'Englebert' => 'Englebert', 'Enriqueta' => 'Enriqueta', 'Erica One' => 'Erica One', 'Esteban' => 'Esteban', 'Euphoria Script' => 'Euphoria Script', 'Ewert' => 'Ewert', 'Exo' => 'Exo', 'Exo 2' => 'Exo 2', 'Expletus Sans' => 'Expletus Sans', 'Fanwood Text' => 'Fanwood Text', 'Fascinate' => 'Fascinate', 'Fascinate Inline' => 'Fascinate Inline', 'Faster One' => 'Faster One', 'Fasthand' => 'Fasthand', 'Fauna One' => 'Fauna One', 'Federant' => 'Federant', 'Federo' => 'Federo', 'Felipa' => 'Felipa', 'Fenix' => 'Fenix', 'Finger Paint' => 'Finger Paint', 'Fira Mono' => 'Fira Mono', 'Fjalla One' => 'Fjalla One', 'Fjord One' => 'Fjord One', 'Flamenco' => 'Flamenco', 'Flavors' => 'Flavors', 'Fondamento' => 'Fondamento', 'Fontdiner swanky' => 'Fontdiner Swanky', 'Forum' => 'Forum', 'Francois One' => 'Francois One', 'Freckle Face' => 'Freckle Face', 'Fredericka the Great' => 'Fredericka the Great', 'Fredoka One' => 'Fredoka One', 'Freehand' => 'Freehand', 'Fresca' => 'Fresca', 'Frijole' => 'Frijole', 'Fruktur' => 'Fruktur', 'Fugaz One' => 'Fugaz One', 'GFS Didot' => 'GFS Didot', 'GFS Neohellenic' => 'GFS Neohellenic', 'Gabriela' => 'Gabriela', 'Gafata' => 'Gafata', 'Galdeano' => 'Galdeano', 'Galindo' => 'Galindo', 'Gentium Basic' => 'Gentium Basic', 'Gentium Book Basic' => 'Gentium Book Basic', 'Geo' => 'Geo', 'Geostar' => 'Geostar', 'Geostar Fill' => 'Geostar Fill', 'Germania One' => 'Germania One', 'Gidugu' => 'Gidugu', 'Gilda Display' => 'Gilda Display', 'Give You Glory' => 'Give You Glory', 'Glass Antiqua' => 'Glass Antiqua', 'Glegoo' => 'Glegoo', 'Gloria Hallelujah' => 'Gloria Hallelujah', 'Goblin One' => 'Goblin One', 'Gochi Hand' => 'Gochi Hand', 'Gorditas' => 'Gorditas', 'Goudy Bookletter 1911' => 'Goudy Bookletter 1911', 'Graduate' => 'Graduate', 'Grand Hotel' => 'Grand Hotel', 'Gravitas One' => 'Gravitas One', 'Great Vibes' => 'Great Vibes', 'Griffy' => 'Griffy', 'Gruppo' => 'Gruppo', 'Gudea' => 'Gudea', 'Gurajada' => 'Gurajada', 'Habibi' => 'Habibi', 'Halant' => 'Halant', 'Hammersmith One' => 'Hammersmith One', 'Hanalei' => 'Hanalei', 'Hanalei Fill' => 'Hanalei Fill', 'Handlee' => 'Handlee', 'Hanuman' => 'Hanuman', 'Happy Monkey' => 'Happy Monkey', 'Headland One' => 'Headland One', 'Henny Penny' => 'Henny Penny', 'Herr Von Muellerhoff' => 'Herr Von Muellerhoff', 'Hind' => 'Hind', 'Holtwood One SC' => 'Holtwood One SC', 'Homemade Apple' => 'Homemade Apple', 'Homenaje' => 'Homenaje', 'IM Fell DW Pica' => 'IM Fell DW Pica', 'IM Fell DW Pica SC' => 'IM Fell DW Pica SC', 'IM Fell Double Pica' => 'IM Fell Double Pica', 'IM Fell Double Pica SC' => 'IM Fell Double Pica SC', 'IM Fell English' => 'IM Fell English', 'IM Fell English SC' => 'IM Fell English SC', 'IM Fell French Canon' => 'IM Fell French Canon', 'IM Fell French Canon SC' => 'IM Fell French Canon SC', 'IM Fell Great Primer' => 'IM Fell Great Primer', 'IM Fell Great Primer SC' => 'IM Fell Great Primer SC', 'Iceberg' => 'Iceberg', 'Iceland' => 'Iceland', 'Imprima' => 'Imprima', 'Inconsolata' => 'Inconsolata', 'Inder' => 'Inder', 'Indie Flower' => 'Indie Flower', 'Inika' => 'Inika', 'Inknut Antiqua' => 'Inknut Antiqua', 'Irish Grover' => 'Irish Grover', 'Istok Web' => 'Istok Web', 'Italiana' => 'Italiana', 'Italianno' => 'Italianno', 'Itim' => 'Itim', 'Jacques Francois' => 'Jacques Francois', 'Jacques Francois Shadow' => 'Jacques Francois Shadow', 'Jaldi' => 'Jaldi', 'Jim Nightshade' => 'Jim Nightshade', 'Jockey One' => 'Jockey One', 'Jolly Lodger' => 'Jolly Lodger', 'Josefin Sans' => 'Josefin Sans', 'Josefin Slab' => 'Josefin Slab', 'Joti One' => 'Joti One', 'Judson' => 'Judson', 'Julee' => 'Julee', 'Julius Sans One' => 'Julius Sans One', 'Junge' => 'Junge', 'Jura' => 'Jura', 'Just Another Hand' => 'Just Another Hand', 'Just Me Again Down Here' => 'Just Me Again Down Here', 'Kadwa' => 'Kadwa', 'Kameron' => 'Kameron', 'Kanit' => 'Kanit', 'Karla' => 'Karla', 'Kaushan Script' => 'Kaushan Script', 'Kavoon' => 'Kavoon', 'Keania One' => 'Keania One', 'kelly Slab' => 'Kelly Slab', 'Kenia' => 'Kenia', 'Khand' => 'Khand', 'Khmer' => 'Khmer', 'Khula' => 'Khula', 'Kite One' => 'Kite One', 'Knewave' => 'Knewave', 'Kotta One' => 'Kotta One', 'Koulen' => 'Koulen', 'Kranky' => 'Kranky', 'Kreon' => 'Kreon', 'Kristi' => 'Kristi', 'Krona One' => 'Krona One', 'Kurale' => 'Kurale', 'La Belle Aurore' => 'La Belle Aurore', 'Laila' => 'Laila', 'Lakki Reddy' => 'Lakki Reddy', 'Lancelot' => 'Lancelot', 'Lateef' => 'Lateef', 'Lato' => 'Lato', 'League Script' => 'League Script', 'Leckerli One' => 'Leckerli One', 'Ledger' => 'Ledger', 'Lekton' => 'Lekton', 'Lemon' => 'Lemon', 'Libre Baskerville' => 'Libre Baskerville', 'Life Savers' => 'Life Savers', 'Lilita One' => 'Lilita One', 'Lily Script One' => 'Lily Script One', 'Limelight' => 'Limelight', 'Linden Hill' => 'Linden Hill', 'Lobster' => 'Lobster', 'Lobster Two' => 'Lobster Two', 'Londrina Outline' => 'Londrina Outline', 'Londrina Shadow' => 'Londrina Shadow', 'Londrina Sketch' => 'Londrina Sketch', 'Londrina Solid' => 'Londrina Solid', 'Lora' => 'Lora', 'Love Ya Like A Sister' => 'Love Ya Like A Sister', 'Loved by the King' => 'Loved by the King', 'Lovers Quarrel' => 'Lovers Quarrel', 'Luckiest Guy' => 'Luckiest Guy', 'Lusitana' => 'Lusitana', 'Lustria' => 'Lustria', 'Macondo' => 'Macondo', 'Macondo Swash Caps' => 'Macondo Swash Caps', 'Magra' => 'Magra', 'Maiden Orange' => 'Maiden Orange', 'Mako' => 'Mako', 'Mandali' => 'Mandali', 'Marcellus' => 'Marcellus', 'Marcellus SC' => 'Marcellus SC', 'Marck Script' => 'Marck Script', 'Margarine' => 'Margarine', 'Marko One' => 'Marko One', 'Marmelad' => 'Marmelad', 'Martel' => 'Martel', 'Martel Sans' => 'Martel Sans', 'Marvel' => 'Marvel', 'Mate' => 'Mate', 'Mate SC' => 'Mate SC', 'Maven Pro' => 'Maven Pro', 'McLaren' => 'McLaren', 'Meddon' => 'Meddon', 'MedievalSharp' => 'MedievalSharp', 'Medula One' => 'Medula One', 'Megrim' => 'Megrim', 'Meie Script' => 'Meie Script', 'Merienda' => 'Merienda', 'Merienda One' => 'Merienda One', 'Merriweather' => 'Merriweather', 'Merriweather Sans' => 'Merriweather Sans', 'Metal' => 'Metal', 'Metal mania' => 'Metal Mania', 'Metamorphous' => 'Metamorphous', 'Metrophobic' => 'Metrophobic', 'Michroma' => 'Michroma', 'Milonga' => 'Milonga', 'Miltonian' => 'Miltonian', 'Miltonian Tattoo' => 'Miltonian Tattoo', 'Miniver' => 'Miniver', 'Miss Fajardose' => 'Miss Fajardose', 'Modak' => 'Modak', 'Modern Antiqua' => 'Modern Antiqua', 'Molengo' => 'Molengo', 'Molle' => 'Molle:400i', 'Monda' => 'Monda', 'Monofett' => 'Monofett', 'Monoton' => 'Monoton', 'Monsieur La Doulaise' => 'Monsieur La Doulaise', 'Montaga' => 'Montaga', 'Montez' => 'Montez', 'Montserrat' => 'Montserrat', 'Montserrat Alternates' => 'Montserrat Alternates', 'Montserrat Subrayada' => 'Montserrat Subrayada', 'Moul' => 'Moul', 'Moulpali' => 'Moulpali', 'Mountains of Christmas' => 'Mountains of Christmas', 'Mouse Memoirs' => 'Mouse Memoirs', 'Mr Bedfort' => 'Mr Bedfort', 'Mr Dafoe' => 'Mr Dafoe', 'Mr De Haviland' => 'Mr De Haviland', 'Mrs Saint Delafield' => 'Mrs Saint Delafield', 'Mrs Sheppards' => 'Mrs Sheppards', 'Muli' => 'Muli', 'Mystery Quest' => 'Mystery Quest', 'NTR' => 'NTR', 'Neucha' => 'Neucha', 'Neuton' => 'Neuton', 'New Rocker' => 'New Rocker', 'News Cycle' => 'News Cycle', 'Niconne' => 'Niconne', 'Nixie One' => 'Nixie One', 'Nobile' => 'Nobile', 'Nokora' => 'Nokora', 'Norican' => 'Norican', 'Nosifer' => 'Nosifer', 'Nothing You Could Do' => 'Nothing You Could Do', 'Noticia Text' => 'Noticia Text', 'Noto Sans' => 'Noto Sans', 'Noto Serif' => 'Noto Serif', 'Nova Cut' => 'Nova Cut', 'Nova Flat' => 'Nova Flat', 'Nova Mono' => 'Nova Mono', 'Nova Oval' => 'Nova Oval', 'Nova Round' => 'Nova Round', 'Nova Script' => 'Nova Script', 'Nova Slim' => 'Nova Slim', 'Nova Square' => 'Nova Square', 'Numans' => 'Numans', 'Nunito' => 'Nunito', 'Odor Mean Chey' => 'Odor Mean Chey', 'Offside' => 'Offside', 'Old standard tt' => 'Old Standard TT', 'Oldenburg' => 'Oldenburg', 'Oleo Script' => 'Oleo Script', 'Oleo Script Swash Caps' => 'Oleo Script Swash Caps', 'Open Sans' => 'Open Sans', 'Open Sans Condensed' => 'Open Sans Condensed:300', 'Oranienbaum' => 'Oranienbaum', 'Orbitron' => 'Orbitron', 'Oregano' => 'Oregano', 'Orienta' => 'Orienta', 'Original Surfer' => 'Original Surfer', 'Oswald' => 'Oswald', 'Over the Rainbow' => 'Over the Rainbow', 'Overlock' => 'Overlock', 'Overlock SC' => 'Overlock SC', 'Ovo' => 'Ovo', 'Oxygen' => 'Oxygen', 'Oxygen Mono' => 'Oxygen Mono', 'PT Mono' => 'PT Mono', 'PT Sans' => 'PT Sans', 'PT Sans Caption' => 'PT Sans Caption', 'PT Sans Narrow' => 'PT Sans Narrow', 'PT Serif' => 'PT Serif', 'PT Serif Caption' => 'PT Serif Caption', 'Pacifico' => 'Pacifico', 'Palanquin' => 'Palanquin', 'Palanquin Dark' => 'Palanquin Dark', 'Paprika' => 'Paprika', 'Parisienne' => 'Parisienne', 'Passero One' => 'Passero One', 'Passion One' => 'Passion One', 'Pathway Gothic One' => 'Pathway Gothic One', 'Patrick Hand' => 'Patrick Hand', 'Patrick Hand SC' => 'Patrick Hand SC', 'Patua One' => 'Patua One', 'Paytone One' => 'Paytone One', 'Peddana' => 'Peddana', 'Peralta' => 'Peralta', 'Permanent Marker' => 'Permanent Marker', 'Petit Formal Script' => 'Petit Formal Script', 'Petrona' => 'Petrona', 'Philosopher' => 'Philosopher', 'Piedra' => 'Piedra', 'Pinyon Script' => 'Pinyon Script', 'Pirata One' => 'Pirata One', 'Plaster' => 'Plaster', 'Play' => 'Play', 'Playball' => 'Playball', 'Playfair Display' => 'Playfair Display', 'Playfair Display SC' => 'Playfair Display SC', 'Podkova' => 'Podkova', 'Poiret One' => 'Poiret One', 'Poller One' => 'Poller One', 'Poly' => 'Poly', 'Pompiere' => 'Pompiere', 'Pontano Sans' => 'Pontano Sans', 'Poppins' => 'Poppins', 'Port Lligat Sans' => 'Port Lligat Sans', 'Port Lligat Slab' => 'Port Lligat Slab', 'Pragati Narrow' => 'Pragati Narrow', 'Prata' => 'Prata', 'Preahvihear' => 'Preahvihear', 'Press start 2P' => 'Press Start 2P', 'Princess Sofia' => 'Princess Sofia', 'Prociono' => 'Prociono', 'Prosto One' => 'Prosto One', 'Puritan' => 'Puritan', 'Purple Purse' => 'Purple Purse', 'Quando' => 'Quando', 'Quantico' => 'Quantico', 'Quattrocento' => 'Quattrocento', 'Quattrocento Sans' => 'Quattrocento Sans', 'Questrial' => 'Questrial', 'Quicksand' => 'Quicksand', 'Quintessential' => 'Quintessential', 'Qwigley' => 'Qwigley', 'Racing sans One' => 'Racing Sans One', 'Radley' => 'Radley', 'Rajdhani' => 'Rajdhani', 'Raleway' => 'Raleway', 'Raleway Dots' => 'Raleway Dots', 'Ramabhadra' => 'Ramabhadra', 'Ramaraja' => 'Ramaraja', 'Rambla' => 'Rambla', 'Rammetto One' => 'Rammetto One', 'Ranchers' => 'Ranchers', 'Rancho' => 'Rancho', 'Ranga' => 'Ranga', 'Rationale' => 'Rationale', 'Ravi Prakash' => 'Ravi Prakash', 'Redressed' => 'Redressed', 'Reenie Beanie' => 'Reenie Beanie', 'Revalia' => 'Revalia', 'Rhodium Libre' => 'Rhodium Libre', 'Ribeye' => 'Ribeye', 'Ribeye Marrow' => 'Ribeye Marrow', 'Righteous' => 'Righteous', 'Risque' => 'Risque', 'Roboto' => 'Roboto', 'Roboto Condensed' => 'Roboto Condensed', 'Roboto Mono' => 'Roboto Mono', 'Roboto Slab' => 'Roboto Slab', 'Rochester' => 'Rochester', 'Rock Salt' => 'Rock Salt', 'Rokkitt' => 'Rokkitt', 'Romanesco' => 'Romanesco', 'Ropa Sans' => 'Ropa Sans', 'Rosario' => 'Rosario', 'Rosarivo' => 'Rosarivo', 'Rouge Script' => 'Rouge Script', 'Rozha One' => 'Rozha One', 'Rubik' => 'Rubik', 'Rubik Mono One' => 'Rubik Mono One', 'Rubik One' => 'Rubik One', 'Ruda' => 'Ruda', 'Rufina' => 'Rufina', 'Ruge Boogie' => 'Ruge Boogie', 'Ruluko' => 'Ruluko', 'Rum Raisin' => 'Rum Raisin', 'Ruslan Display' => 'Ruslan Display', 'Russo One' => 'Russo One', 'Ruthie' => 'Ruthie', 'Rye' => 'Rye', 'Sacramento' => 'Sacramento', 'Sahitya' => 'Sahitya', 'Sail' => 'Sail', 'Salsa' => 'Salsa', 'Sanchez' => 'Sanchez', 'Sancreek' => 'Sancreek', 'Sansita One' => 'Sansita One', 'Sarina' => 'Sarina', 'Sarpanch' => 'Sarpanch', 'Satisfy' => 'Satisfy', 'Scada' => 'Scada', 'Schoolbell' => 'Schoolbell', 'Seaweed Script' => 'Seaweed Script', 'Sevillana' => 'Sevillana', 'Seymour One' => 'Seymour One', 'Shadows Into Light' => 'Shadows Into Light', 'Shadows Into Light Two' => 'Shadows Into Light Two', 'Shanti' => 'Shanti', 'Share' => 'Share', 'Share Tech' => 'Share Tech', 'Share Tech Mono' => 'Share Tech Mono', 'Shojumaru' => 'Shojumaru', 'Short Stack' => 'Short Stack', 'Siemreap' => 'Siemreap', 'Sigmar One' => 'Sigmar One', 'Signika' => 'Signika', 'Signika Negative' => 'Signika Negative', 'Simonetta' => 'Simonetta', 'Sintony' => 'Sintony', 'Sirin Stencil' => 'Sirin Stencil', 'Six Caps' => 'Six Caps', 'Skranji' => 'Skranji', 'Slabo 13px' => 'Slabo 13px', 'Slackey' => 'Slackey', 'Smokum' => 'Smokum', 'Smythe' => 'Smythe', 'Sniglet' => 'Sniglet', 'Snippet' => 'Snippet', 'Snowburst One' => 'Snowburst One', 'Sofadi One' => 'Sofadi One', 'Sofia' => 'Sofia', 'Sonsie One' => 'Sonsie One', 'Sorts Mill Goudy' => 'Sorts Mill Goudy', 'Source Code Pro' => 'Source Code Pro', 'Source Sans Pro' => 'Source Sans Pro', 'Source Serif Pro' => 'Source Serif Pro', 'Special Elite' => 'Special Elite', 'Spicy Rice' => 'Spicy Rice', 'Spinnaker' => 'Spinnaker', 'Spirax' => 'Spirax', 'Squada One' => 'Squada One', 'Sree Krushnadevaraya' => 'Sree Krushnadevaraya', 'Stalemate' => 'Stalemate', 'Stalinist One' => 'Stalinist One', 'Stardos Stencil' => 'Stardos Stencil', 'Stint Ultra Condensed' => 'Stint Ultra Condensed', 'Stint Ultra Expanded' => 'Stint Ultra Expanded', 'Stoke' => 'Stoke', 'Strait' => 'Strait', 'Sue Ellen Francisco' => 'Sue Ellen Francisco', 'Sumana' => 'Sumana', 'Sunshiney' => 'Sunshiney', 'Supermercado One' => 'Supermercado One', 'Sura' => 'Sura', 'Suranna' => 'Suranna', 'Suravaram' => 'Suravaram', 'Suwannaphum' => 'Suwannaphum', 'Swanky and Moo Moo' => 'Swanky and Moo Moo', 'Syncopate' => 'Syncopate', 'Tangerine' => 'Tangerine', 'Taprom' => 'Taprom', 'Tauri' => 'Tauri', 'Teko' => 'Teko', 'Telex' => 'Telex', 'Tenali Ramakrishna' => 'Tenali Ramakrishna', 'Tenor Sans' => 'Tenor Sans', 'Text Me One' => 'Text Me One', 'The Girl Next Door' => 'The Girl Next Door', 'Tienne' => 'Tienne', 'Tillana' => 'Tillana', 'Timmana' => 'Timmana', 'Tinos' => 'Tinos', 'Titan One' => 'Titan One', 'Titillium Web' => 'Titillium Web', 'Trade Winds' => 'Trade Winds', 'Trocchi' => 'Trocchi', 'Trochut' => 'Trochut', 'Trykker' => 'Trykker', 'Tulpen One' => 'Tulpen One', 'Ubuntu' => 'Ubuntu', 'Ubuntu Condensed' => 'Ubuntu Condensed', 'Ubuntu Mono' => 'Ubuntu Mono', 'Ultra' => 'Ultra', 'Uncial Antiqua' => 'Uncial Antiqua', 'Underdog' => 'Underdog', 'Unica One' => 'Unica One', 'UnifrakturCook' => 'UnifrakturCook:700', 'UnifrakturMaguntia' => 'UnifrakturMaguntia', 'Unkempt' => 'Unkempt', 'Unlock' => 'Unlock', 'Unna' => 'Unna', 'VT323' => 'VT323', 'Vampiro One' => 'Vampiro One', 'Varela' => 'Varela', 'Varela Round' => 'Varela Round', 'Vast Shadow' => 'Vast Shadow', 'Vibur' => 'Vibur', 'Vidaloka' => 'Vidaloka', 'Viga' => 'Viga', 'Voces' => 'Voces', 'Volkhov' => 'Volkhov', 'Vollkorn' => 'Vollkorn', 'Voltaire' => 'Voltaire', 'Waiting for the Sunrise' => 'Waiting for the Sunrise', 'Wallpoet' => 'Wallpoet', 'Walter Turncoat' => 'Walter Turncoat', 'Warnes' => 'Warnes', 'Wellfleet' => 'Wellfleet', 'Wendy One' => 'Wendy One', 'Wire One' => 'Wire One', 'Work Sans' => 'Work Sans', 'Yanone Kaffeesatz' => 'Yanone Kaffeesatz', 'Yantramanav' => 'Yantramanav', 'Yellowtail' => 'Yellowtail', 'Yeseva One' => 'Yeseva One', 'Yesteryear' => 'Yesteryear', 'Zeyada' => 'Zeyada');
 
 
 
564
  return $google_fonts;
565
  }
566
 
frontend/models/WDSModelSlider.php CHANGED
@@ -21,7 +21,7 @@ class WDSModelSlider {
21
 
22
  public function get_slide_rows_data($id, $order_dir = 'asc') {
23
  global $wpdb;
24
- $rows = $wpdb->get_results($wpdb->prepare('SELECT * FROM ' . $wpdb->prefix . 'wdsslide WHERE published=1 AND slider_id="%d" AND image_url<>"" ORDER BY `order` ' . esc_sql($order_dir), $id));
25
  foreach ($rows as $row) {
26
  $row->image_url = str_replace('{site_url}', site_url(), $row->image_url);
27
  $row->thumb_url = str_replace('{site_url}', site_url(), $row->thumb_url);
21
 
22
  public function get_slide_rows_data($id, $order_dir = 'asc') {
23
  global $wpdb;
24
+ $rows = $wpdb->get_results('SELECT * FROM ' . $wpdb->prefix . 'wdsslide WHERE published=1 AND slider_id="'. $id .'" AND image_url<>"" AND image_url NOT LIKE "%images/no-image.png%" ORDER BY `order` ' . esc_sql($order_dir));
25
  foreach ($rows as $row) {
26
  $row->image_url = str_replace('{site_url}', site_url(), $row->image_url);
27
  $row->thumb_url = str_replace('{site_url}', site_url(), $row->thumb_url);
frontend/views/WDSViewSlider.php CHANGED
@@ -23,9 +23,12 @@ class WDSViewSlider {
23
  // Public Methods //
24
  ////////////////////////////////////////////////////////////////////////////////////////
25
  public function display($id, $from_shortcode = 0, $wds = 0) {
26
- $wds_register_scripts = get_option("wds_register_scripts");
27
- $loading_gif = get_option("wds_loading_gif", 0);
28
- if ($wds_register_scripts) {
 
 
 
29
  wp_enqueue_style('wds_frontend');
30
  wp_enqueue_style('wds_effects');
31
  wp_enqueue_style('wds_font-awesome');
23
  // Public Methods //
24
  ////////////////////////////////////////////////////////////////////////////////////////
25
  public function display($id, $from_shortcode = 0, $wds = 0) {
26
+ $wds_global_options = get_option("wds_global_options", 0);
27
+ $global_options = json_decode($wds_global_options);
28
+ $register_scripts = isset($global_options->register_scripts) ? $global_options->register_scripts : 0;
29
+ $loading_gif = isset($global_options->loading_gif) ? $global_options->loading_gif : 0;
30
+
31
+ if ($register_scripts) {
32
  wp_enqueue_style('wds_frontend');
33
  wp_enqueue_style('wds_effects');
34
  wp_enqueue_style('wds_font-awesome');
images/wd_logo.png CHANGED
Binary file
js/wds.js CHANGED
@@ -137,7 +137,6 @@ function spider_ajax_save(form_id, event) {
137
  slider_data["built_in_watermark_url"] = jQuery("#built_in_watermark_url").val();
138
  slider_data["built_in_watermark_size"] = jQuery("#built_in_watermark_size").val();
139
 
140
- slider_data["spider_uploader"] = jQuery("input[name=spider_uploader]:checked").val();
141
  slider_data["mouse_swipe_nav"] = jQuery("input[name=mouse_swipe_nav]:checked").val();
142
  slider_data["bull_hover"] = jQuery("input[name=bull_hover]:checked").val();
143
  slider_data["touch_swipe_nav"] = jQuery("input[name=touch_swipe_nav]:checked").val();
@@ -274,8 +273,12 @@ function spider_ajax_save(form_id, event) {
274
  default:
275
  break;
276
  }
277
- json_data["left"] = jQuery("#" + prefix + "_left").val();
278
- json_data["top"] = jQuery("#" + prefix + "_top").val();
 
 
 
 
279
  json_data["published"] = jQuery("input[name=slide" + slide_id + "_layer" + layer_id + "_published]:checked").val();
280
  json_data["start"] = jQuery("#" + prefix + "_start").val();
281
  json_data["layer_effect_in"] = jQuery("#" + prefix + "_layer_effect_in").val();
@@ -1639,8 +1642,7 @@ function wds_add_image(files, image_for, slide_id, layer_id) {
1639
  document.getElementById("bull_img_hov").src = files[0]['url'];
1640
  break;
1641
  }
1642
-
1643
- case 'play_but': {
1644
  /* Add hover image for right buttons.*/
1645
  document.getElementById("play_butt_url").value = files[0]['url'];
1646
  document.getElementById("play_butt_img").src = files[0]['url'];
@@ -1652,14 +1654,13 @@ function wds_add_image(files, image_for, slide_id, layer_id) {
1652
  document.getElementById("play_butt_hov_img").src = files[0]['url'];
1653
  break;
1654
  }
1655
-
1656
- case 'paus_but': {
1657
  /* Add image for main button.*/
1658
  document.getElementById("paus_butt_url").value = files[0]['url'];
1659
  document.getElementById("paus_butt_img").src = files[0]['url'];
1660
  break;
1661
  }
1662
- case 'paus_hov_but': {
1663
  /* Add image for hover button.*/
1664
  document.getElementById("paus_butt_hov_url").value = files[0]['url'];
1665
  document.getElementById("paus_butt_hov_img").src = files[0]['url'];
@@ -1672,7 +1673,7 @@ function wds_add_image(files, image_for, slide_id, layer_id) {
1672
  }
1673
 
1674
  function wds_change_sub_tab_title(that, box) {
1675
- var slideID = box.substring("9");
1676
  jQuery("#sub_tab").val(jQuery(that).attr("tab_type"));
1677
  jQuery(".tab_buttons").removeClass("wds_sub_active");
1678
  jQuery(".tab_link").removeClass("wds_sub_active");
@@ -1788,11 +1789,15 @@ function wds_duplicate_layer(type, id, layerID, new_id) {
1788
  id = new_id;
1789
  jQuery("#" + new_prefix + "_left").val(jQuery("#" + prefix + "_left").val());
1790
  jQuery("#" + new_prefix + "_top").val(jQuery("#" + prefix + "_top").val());
 
 
1791
  }
1792
  else {
1793
  /* From layer duplication.*/
1794
  jQuery("#" + new_prefix + "_left").val(0);
1795
  jQuery("#" + new_prefix + "_top").val(0);
 
 
1796
  }
1797
  jQuery("#" + new_prefix + "_text").val(jQuery("#" + prefix + "_text").val());
1798
  jQuery("#" + new_prefix + "_link").val(jQuery("#" + prefix + "_link").val());
@@ -2003,6 +2008,7 @@ function wds_duplicate_slide(slide_id) {
2003
 
2004
  var wds_layerID = 0;
2005
  function wds_add_layer(type, id, layerID, duplicate, files, edit) {
 
2006
  var layers_count = jQuery(".wds_slide" + id + " .layer_table_count").length;
2007
  wds_layerID = layers_count + 1;
2008
  if (typeof layerID == "undefined" || layerID == "") {
@@ -2110,20 +2116,20 @@ function wds_add_layer(type, id, layerID, duplicate, files, edit) {
2110
  'zoomOutDown' : 'ZoomOutDown',
2111
  'zoomOutLeft' : 'ZoomOutLeft',
2112
  'zoomOutRight' : 'ZoomOutRight',
2113
- 'zoomOutUp' : 'ZoomOutUp',
2114
  };
2115
 
2116
  for (var i in layer_effects_in) {
2117
- layer_effects_in_option += '<option ' + ((jQuery.inArray(i, free_layer_effects) == -1) ? 'disabled="disabled" title="This effect is disabled in free version."' : '') + ' value="' + i + '">' + layer_effects_in[i] + '</option>';
2118
  }
2119
  for (var i in layer_effects_out) {
2120
- layer_effects_out_option += '<option ' + ((jQuery.inArray(i, free_layer_effects) == -1) ? 'disabled="disabled" title="This effect is disabled in free version."' : '') + ' value="' + i + '">' + layer_effects_out[i] + '</option>';
2121
  }
2122
 
2123
  var font_weights_option = "";
2124
  var font_weights = {'lighter' : 'Lighter', 'normal' : 'Normal', 'bold' : 'Bold'};
2125
  for (var i in font_weights) {
2126
- font_weights_option += '<option value="' + i + '">' + font_weights[i] + '</option>';
2127
  }
2128
  var border_styles_option = "";
2129
  var border_styles = {'none' : 'None', 'solid' : 'Solid', 'dotted' : 'Dotted', 'dashed' : 'Dashed', 'double' : 'Double', 'groove' : 'Groove', 'ridge' : 'Ridge', 'inset' : 'Inset', 'outset' : 'Outset'};
@@ -2138,16 +2144,16 @@ function wds_add_layer(type, id, layerID, duplicate, files, edit) {
2138
 
2139
  var prefix = "slide" + id + "_layer" + layerID;
2140
  var tbodyID = prefix + "_tbody";
2141
-
2142
  var text_alignments_option = "";
2143
  var text_alignments = {'center' : 'Center', 'left' : 'Left', 'right' : 'Right'};
2144
  for (var i in text_alignments) {
2145
  text_alignments_option += '<option value="' + i + '">' + text_alignments[i] + '</option>';
2146
  }
2147
 
2148
- jQuery(".wds_slide" + id + "> table").append(jQuery("<tbody />").attr("id", tbodyID));
2149
  jQuery('#' + tbodyID).attr('style',"background-color:#fff");
2150
- jQuery('#' + tbodyID).addClass("layer_table_count");
2151
  var tbody = '<tr class="wds_layer_head_tr">' +
2152
  '<td colspan="4" class="wds_layer_head">' +
2153
  '<div class="wds_layer_left"><div class="layer_handle handle connectedSortable" title="Drag to re-order"></div>' +
@@ -2189,8 +2195,8 @@ function wds_add_layer(type, id, layerID, duplicate, files, edit) {
2189
  '<td><input type="text" name="' + prefix + '_size" id="' + prefix + '_size" value="18" class="spider_int_input" onkeypress="return spider_check_isnum(event)" onchange="jQuery(\'#' + prefix + '\').css({fontSize: jQuery(this).val() + \'px\', lineHeight: jQuery(this).val() + \'px\'})" /> px<div class="spider_description"></div></td>';
2190
  var ffamily = '<td class="spider_label"><label for="' + prefix + '_ffamily">Font family: </label></td>' +
2191
  '<td><select class="select_icon" style="width: 200px;" name="' + prefix + '_ffamily" id="' + prefix + '_ffamily" onchange="wds_change_fonts(\'' + prefix + '\', 1)"></select>' +
2192
- '<input type="radio" id="' + prefix + '_google_fonts1" name="' + prefix + '_google_fonts" value="1" onchange="wds_change_fonts(\'' + prefix + '\');" /><label for="' + prefix + '_google_fonts1">Google fonts</label>' +
2193
- '<input type="radio" id="' + prefix + '_google_fonts0" name="' + prefix + '_google_fonts" checked="checked" value="0" onchange="wds_change_fonts(\'' + prefix + '\');" /><label for="' + prefix + '_google_fonts0">Default</label>' +
2194
  '<div class="spider_description"></div></td>';
2195
  var fweight = '<td class="spider_label"><label for="' + prefix + '_fweight">Font weight: </label></td>' +
2196
  '<td><select class="select_icon" name="' + prefix + '_fweight" id="' + prefix + '_fweight" onchange="jQuery(\'#' + prefix + '\').css({fontWeight: jQuery(this).val()})">' + font_weights_option + '</select><div class="spider_description"></div></td>';
@@ -2228,7 +2234,7 @@ function wds_add_layer(type, id, layerID, duplicate, files, edit) {
2228
  var layer_effect_in = '<td class="spider_label"><label>Effect in: </label></td>' +
2229
  '<td>' +
2230
  '<span style="display: table-cell;">' +
2231
- '<input type="text" name="' + prefix + '_start" id="' + prefix + '_start" value="1000" class="spider_int_input" />ms' +
2232
  '<div class="spider_description">Start</div>' +
2233
  '</span>' +
2234
  '<span style="display: table-cell;">' +
@@ -2236,19 +2242,19 @@ function wds_add_layer(type, id, layerID, duplicate, files, edit) {
2236
  '<div class="spider_description">Effect</div>' +
2237
  '</span>' +
2238
  '<span style="display: table-cell;">' +
2239
- '<input id="' + prefix + '_duration_eff_in" class="spider_int_input" type="text" onkeypress="return spider_check_isnum(event)" onchange="wds_trans_effect_in(\'' + id + '\', \'' + prefix + '\', ' + ((type == 'social') ? 1 : 0) + '); wds_trans_end(\'' + prefix + '\', jQuery(\'#' + prefix + '_layer_effect_in\').val());" value="1000" name="' + prefix + '_duration_eff_in">ms' +
2240
  '<div class="spider_description">Duration</div>' +
2241
  '</span>' +
2242
  '<span style="display: table-cell;">' +
2243
- '<input id="' + prefix + '_infinite_in" type="text" name="' + prefix + '_infinite_in" value="1" class="spider_int_input" title="0 for play infinte times" disabled="disabled" onchange="wds_trans_effect_in(\'' + id + '\', \'' + prefix + '\', ' + ((type == 'social') ? 1 : 0) + '); wds_trans_end(\'' + prefix + '\', jQuery(\'#' + prefix + '_layer_effect_in\').val());" />' +
2244
  '<div class="spider_description">Iteration</div>' +
2245
  '</span>' +
2246
  '<div class="spider_description spider_free_version">Some effects are disabled in free version.</div>' +
2247
- '</td>';
2248
  var layer_effect_out = '<td class="spider_label"><label>Effect out: </label></td>' +
2249
  '<td>' +
2250
  '<span style="display: table-cell;">' +
2251
- '<input type="text" name="' + prefix + '_end" id="' + prefix + '_end" value="3000" class="spider_int_input" />ms' +
2252
  '<div class="spider_description">Start</div>' +
2253
  '</span>' +
2254
  '<span style="display: table-cell;">' +
@@ -2256,17 +2262,17 @@ function wds_add_layer(type, id, layerID, duplicate, files, edit) {
2256
  '<div class="spider_description">Effect</div>' +
2257
  '</span>' +
2258
  '<span style="display: table-cell;">' +
2259
- '<input id="' + prefix + '_duration_eff_out" class="spider_int_input" type="text" onkeypress="return spider_check_isnum(event)" onchange="wds_trans_effect_out(\'' + id + '\', \'' + prefix + '\', ' + ((type == 'social') ? 1 : 0) + '); wds_trans_end(\'' + prefix + '\', jQuery(\'#' + prefix + '_layer_effect_out\').val());" value="1000" name="' + prefix + '_duration_eff_out">ms' +
2260
  '<div class="spider_description">Duration</div>' +
2261
  '</span>' +
2262
  '<span style="display: table-cell;">' +
2263
- '<input id="' + prefix + '_infinite_out" type="text" name="' + prefix + '_infinite_out" value="1" class="spider_int_input" title="0 for play infinte times" disabled="disabled" onchange="wds_trans_effect_out(\'' + id + '\', \'' + prefix + '\', ' + ((type == 'social') ? 1 : 0) + '); wds_trans_end(\'' + prefix + '\', jQuery(\'#' + prefix + '_layer_effect_out\').val());" />' +
2264
  '<div class="spider_description">Iteration</div>' +
2265
  '</span>' +
2266
  '<div class="spider_description spider_free_version">Some effects are disabled in free version.</div>' +
2267
  '</td>';
2268
  var add_class = '<td class="spider_label"><label for="' + prefix + '_add_class">Add class: </label></td>' +
2269
- '<td><input type="text" name="' + prefix + '_add_class" id="' + prefix + '_add_class" value="" class="spider_char_input" /><div class="spider_description"></div></td>';
2270
  var text_alignment = '<td class="spider_label"><label for="' + prefix + '_text_alignment">Text alignment: </label></td>' +
2271
  '<td><select class="select_icon" style="width: 70px;" name="' + prefix + '_text_alignment" id="' + prefix + '_text_alignment" onchange="jQuery(\'#' + prefix + '\').css({textAlign: jQuery(this).val()})">' + text_alignments_option + '</select><div class="spider_description"></div></td>';
2272
 
@@ -2440,7 +2446,15 @@ function wds_drag_layer(id) {
2440
  jQuery("#" + prefix + "_left").val(parseInt(jQuery(this).offset().left - jQuery(".wds_preview_image" + id).offset().left));
2441
  }
2442
  jQuery("#" + prefix + "_top").val(parseInt(jQuery(this).offset().top - jQuery(".wds_preview_image" + id).offset().top));
2443
- })
 
 
 
 
 
 
 
 
2444
  jQuery(".wds_draggable_" + id).bind('dragstop', function(event) {
2445
  jQuery(this).removeClass('wds_active_layer');
2446
  var prefix = jQuery(this).attr("id");
@@ -2745,7 +2759,6 @@ function wds_remove_slide(slideID, conf) {
2745
  jQuery(".wds_slide" + slideID).remove();
2746
  jQuery("#wbs_subtab" + slideID).remove();
2747
  jQuery("#wds_subtab_wrap" + slideID).remove();
2748
-
2749
  var delslideIds;
2750
  var slideIDs = jQuery("#slide_ids_string").val();
2751
  slideIDs = slideIDs.replace(slideID + ",", "");
@@ -2754,7 +2767,6 @@ function wds_remove_slide(slideID, conf) {
2754
  delslideIds = jQuery("#del_slide_ids_string").val() + slideID + ",";
2755
  jQuery("#del_slide_ids_string").val(delslideIds);
2756
  }
2757
-
2758
  jQuery(".wbs_subtab div[id^='wbs_subtab']").each(function () {
2759
  var id = jQuery(this).attr("id");
2760
  firstSlideID = id.replace("wbs_subtab", "");
@@ -2986,8 +2998,19 @@ function wde_change_text_bg_color(prefix) {
2986
 
2987
  function wds_change_fonts(prefix, change) {
2988
  var fonts;
 
 
 
2989
  if (jQuery("#" + prefix + "_google_fonts1").is(":checked")) {
2990
- fonts = wds_objectGGF;
 
 
 
 
 
 
 
 
2991
  }
2992
  else {
2993
  fonts = {'arial' : 'Arial', 'lucida grande' : 'Lucida grande', 'segoe ui' : 'Segoe ui', 'tahoma' : 'Tahoma', 'trebuchet ms' : 'Trebuchet ms', 'verdana' : 'Verdana', 'cursive' : 'Cursive', 'fantasy' : 'Fantasy', 'monospace' : 'Monospace', 'serif' : 'Serif'};
@@ -3003,7 +3026,8 @@ function wds_change_fonts(prefix, change) {
3003
  if (typeof change == "undefined") {
3004
  var fonts_option = "";
3005
  for (var i in fonts) {
3006
- fonts_option += '<option value="' + i + '">' + fonts[i] + '</option>';
 
3007
  }
3008
  jQuery("#" + prefix + "_ffamily").html(fonts_option);
3009
  }
@@ -3099,4 +3123,16 @@ function wds_position_left_disabled(that) {
3099
  else {
3100
  jQuery("#" + that + "_left").removeAttr("disabled");
3101
  }
 
 
 
 
 
 
 
 
 
 
 
 
3102
  }
137
  slider_data["built_in_watermark_url"] = jQuery("#built_in_watermark_url").val();
138
  slider_data["built_in_watermark_size"] = jQuery("#built_in_watermark_size").val();
139
 
 
140
  slider_data["mouse_swipe_nav"] = jQuery("input[name=mouse_swipe_nav]:checked").val();
141
  slider_data["bull_hover"] = jQuery("input[name=bull_hover]:checked").val();
142
  slider_data["touch_swipe_nav"] = jQuery("input[name=touch_swipe_nav]:checked").val();
273
  default:
274
  break;
275
  }
276
+ if (typeof(jQuery("#" + prefix + "_left").val()) != "undefined") {
277
+ json_data["left"] = jQuery("#" + prefix + "_left").val();
278
+ }
279
+ if (typeof(jQuery("#" + prefix + "_top").val()) != "undefined") {
280
+ json_data["top"] = jQuery("#" + prefix + "_top").val();
281
+ }
282
  json_data["published"] = jQuery("input[name=slide" + slide_id + "_layer" + layer_id + "_published]:checked").val();
283
  json_data["start"] = jQuery("#" + prefix + "_start").val();
284
  json_data["layer_effect_in"] = jQuery("#" + prefix + "_layer_effect_in").val();
1642
  document.getElementById("bull_img_hov").src = files[0]['url'];
1643
  break;
1644
  }
1645
+ case 'play_but': {
 
1646
  /* Add hover image for right buttons.*/
1647
  document.getElementById("play_butt_url").value = files[0]['url'];
1648
  document.getElementById("play_butt_img").src = files[0]['url'];
1654
  document.getElementById("play_butt_hov_img").src = files[0]['url'];
1655
  break;
1656
  }
1657
+ case 'paus_but': {
 
1658
  /* Add image for main button.*/
1659
  document.getElementById("paus_butt_url").value = files[0]['url'];
1660
  document.getElementById("paus_butt_img").src = files[0]['url'];
1661
  break;
1662
  }
1663
+ case 'paus_hov_but': {
1664
  /* Add image for hover button.*/
1665
  document.getElementById("paus_butt_hov_url").value = files[0]['url'];
1666
  document.getElementById("paus_butt_hov_img").src = files[0]['url'];
1673
  }
1674
 
1675
  function wds_change_sub_tab_title(that, box) {
1676
+ var slideID = box.substring("9");
1677
  jQuery("#sub_tab").val(jQuery(that).attr("tab_type"));
1678
  jQuery(".tab_buttons").removeClass("wds_sub_active");
1679
  jQuery(".tab_link").removeClass("wds_sub_active");
1789
  id = new_id;
1790
  jQuery("#" + new_prefix + "_left").val(jQuery("#" + prefix + "_left").val());
1791
  jQuery("#" + new_prefix + "_top").val(jQuery("#" + prefix + "_top").val());
1792
+ jQuery("#" + new_prefix + "_div_left").val(jQuery("#" + prefix + "_div_left").val());
1793
+ jQuery("#" + new_prefix + "_div_top").val(jQuery("#" + prefix + "_div_top").val());
1794
  }
1795
  else {
1796
  /* From layer duplication.*/
1797
  jQuery("#" + new_prefix + "_left").val(0);
1798
  jQuery("#" + new_prefix + "_top").val(0);
1799
+ jQuery("#" + new_prefix + "_div_left").val(20);
1800
+ jQuery("#" + new_prefix + "_div_top").val(20);
1801
  }
1802
  jQuery("#" + new_prefix + "_text").val(jQuery("#" + prefix + "_text").val());
1803
  jQuery("#" + new_prefix + "_link").val(jQuery("#" + prefix + "_link").val());
2008
 
2009
  var wds_layerID = 0;
2010
  function wds_add_layer(type, id, layerID, duplicate, files, edit) {
2011
+ var laydef_options = wds_object.LDO;
2012
  var layers_count = jQuery(".wds_slide" + id + " .layer_table_count").length;
2013
  wds_layerID = layers_count + 1;
2014
  if (typeof layerID == "undefined" || layerID == "") {
2116
  'zoomOutDown' : 'ZoomOutDown',
2117
  'zoomOutLeft' : 'ZoomOutLeft',
2118
  'zoomOutRight' : 'ZoomOutRight',
2119
+ 'zoomOutUp' : 'ZoomOutUp'
2120
  };
2121
 
2122
  for (var i in layer_effects_in) {
2123
+ layer_effects_in_option += '<option ' + ((jQuery.inArray(i, free_layer_effects) == -1) ? 'disabled="disabled" title="This effect is disabled in free version."' : '') + ' value="' + i + '" ' + (i == laydef_options.default_layer_effect_in ? 'selected' : '') + '>' + layer_effects_in[i] + '</option>';
2124
  }
2125
  for (var i in layer_effects_out) {
2126
+ layer_effects_out_option += '<option ' + ((jQuery.inArray(i, free_layer_effects) == -1) ? 'disabled="disabled" title="This effect is disabled in free version."' : '') + ' value="' + i + '" ' + (i == laydef_options.default_layer_effect_out ? 'selected' : '') + '>' + layer_effects_out[i] + '</option>';
2127
  }
2128
 
2129
  var font_weights_option = "";
2130
  var font_weights = {'lighter' : 'Lighter', 'normal' : 'Normal', 'bold' : 'Bold'};
2131
  for (var i in font_weights) {
2132
+ font_weights_option += '<option value="' + i + '" ' + (i == laydef_options.default_layer_fweight ? 'selected' : '') + '>' + font_weights[i] + '</option>';
2133
  }
2134
  var border_styles_option = "";
2135
  var border_styles = {'none' : 'None', 'solid' : 'Solid', 'dotted' : 'Dotted', 'dashed' : 'Dashed', 'double' : 'Double', 'groove' : 'Groove', 'ridge' : 'Ridge', 'inset' : 'Inset', 'outset' : 'Outset'};
2144
 
2145
  var prefix = "slide" + id + "_layer" + layerID;
2146
  var tbodyID = prefix + "_tbody";
2147
+
2148
  var text_alignments_option = "";
2149
  var text_alignments = {'center' : 'Center', 'left' : 'Left', 'right' : 'Right'};
2150
  for (var i in text_alignments) {
2151
  text_alignments_option += '<option value="' + i + '">' + text_alignments[i] + '</option>';
2152
  }
2153
 
2154
+ jQuery(".wds_slide" + id + ">table").append(jQuery("<tbody />").attr("id", tbodyID));
2155
  jQuery('#' + tbodyID).attr('style',"background-color:#fff");
2156
+ jQuery('#' + tbodyID).addClass("layer_table_count");
2157
  var tbody = '<tr class="wds_layer_head_tr">' +
2158
  '<td colspan="4" class="wds_layer_head">' +
2159
  '<div class="wds_layer_left"><div class="layer_handle handle connectedSortable" title="Drag to re-order"></div>' +
2195
  '<td><input type="text" name="' + prefix + '_size" id="' + prefix + '_size" value="18" class="spider_int_input" onkeypress="return spider_check_isnum(event)" onchange="jQuery(\'#' + prefix + '\').css({fontSize: jQuery(this).val() + \'px\', lineHeight: jQuery(this).val() + \'px\'})" /> px<div class="spider_description"></div></td>';
2196
  var ffamily = '<td class="spider_label"><label for="' + prefix + '_ffamily">Font family: </label></td>' +
2197
  '<td><select class="select_icon" style="width: 200px;" name="' + prefix + '_ffamily" id="' + prefix + '_ffamily" onchange="wds_change_fonts(\'' + prefix + '\', 1)"></select>' +
2198
+ '<input type="radio" id="' + prefix + '_google_fonts1" name="' + prefix + '_google_fonts" value="1" onchange="wds_change_fonts(\'' + prefix + '\');" ' +((laydef_options.default_layer_google_fonts == 1) ? "checked='checked'" : "")+ ' /><label for="' + prefix + '_google_fonts1">Google fonts</label>' +
2199
+ '<input type="radio" id="' + prefix + '_google_fonts0" name="' + prefix + '_google_fonts" ' +((laydef_options.default_layer_google_fonts == 0) ? "checked='checked'" : "")+ ' value="0" onchange="wds_change_fonts(\'' + prefix + '\');" /><label for="' + prefix + '_google_fonts0">Default</label>' +
2200
  '<div class="spider_description"></div></td>';
2201
  var fweight = '<td class="spider_label"><label for="' + prefix + '_fweight">Font weight: </label></td>' +
2202
  '<td><select class="select_icon" name="' + prefix + '_fweight" id="' + prefix + '_fweight" onchange="jQuery(\'#' + prefix + '\').css({fontWeight: jQuery(this).val()})">' + font_weights_option + '</select><div class="spider_description"></div></td>';
2234
  var layer_effect_in = '<td class="spider_label"><label>Effect in: </label></td>' +
2235
  '<td>' +
2236
  '<span style="display: table-cell;">' +
2237
+ '<input type="text" name="' + prefix + '_start" id="' + prefix + '_start" value="' + laydef_options.default_layer_start + '" class="spider_int_input" />ms' +
2238
  '<div class="spider_description">Start</div>' +
2239
  '</span>' +
2240
  '<span style="display: table-cell;">' +
2242
  '<div class="spider_description">Effect</div>' +
2243
  '</span>' +
2244
  '<span style="display: table-cell;">' +
2245
+ '<input id="' + prefix + '_duration_eff_in" class="spider_int_input" type="text" onkeypress="return spider_check_isnum(event)" onchange="wds_trans_effect_in(\'' + id + '\', \'' + prefix + '\', ' + ((type == 'social') ? 1 : 0) + '); wds_trans_end(\'' + prefix + '\', jQuery(\'#' + prefix + '_layer_effect_in\').val());" value="' + laydef_options.default_layer_duration_eff_in + '" name="' + prefix + '_duration_eff_in">ms' +
2246
  '<div class="spider_description">Duration</div>' +
2247
  '</span>' +
2248
  '<span style="display: table-cell;">' +
2249
+ '<input id="' + prefix + '_infinite_in" type="text" name="' + prefix + '_infinite_in" value="' + laydef_options.default_layer_infinite_in + '" class="spider_int_input" title="0 for play infinte times" ' + (laydef_options.default_layer_effect_in == 'none' ? 'disabled="disabled"' : '') + ' onchange="wds_trans_effect_in(\'' + id + '\', \'' + prefix + '\', ' + ((type == 'social') ? 1 : 0) + '); wds_trans_end(\'' + prefix + '\', jQuery(\'#' + prefix + '_layer_effect_in\').val());" />' +
2250
  '<div class="spider_description">Iteration</div>' +
2251
  '</span>' +
2252
  '<div class="spider_description spider_free_version">Some effects are disabled in free version.</div>' +
2253
+ '</td>';
2254
  var layer_effect_out = '<td class="spider_label"><label>Effect out: </label></td>' +
2255
  '<td>' +
2256
  '<span style="display: table-cell;">' +
2257
+ '<input type="text" name="' + prefix + '_end" id="' + prefix + '_end" value="' + laydef_options.default_layer_end + '" class="spider_int_input" /> ms' +
2258
  '<div class="spider_description">Start</div>' +
2259
  '</span>' +
2260
  '<span style="display: table-cell;">' +
2262
  '<div class="spider_description">Effect</div>' +
2263
  '</span>' +
2264
  '<span style="display: table-cell;">' +
2265
+ '<input id="' + prefix + '_duration_eff_out" class="spider_int_input" type="text" onkeypress="return spider_check_isnum(event)" onchange="wds_trans_effect_out(\'' + id + '\', \'' + prefix + '\', ' + ((type == 'social') ? 1 : 0) + '); wds_trans_end(\'' + prefix + '\', jQuery(\'#' + prefix + '_layer_effect_out\').val());" value="' + laydef_options.default_layer_duration_eff_out + '" name="' + prefix + '_duration_eff_out">ms' +
2266
  '<div class="spider_description">Duration</div>' +
2267
  '</span>' +
2268
  '<span style="display: table-cell;">' +
2269
+ '<input id="' + prefix + '_infinite_out" type="text" name="' + prefix + '_infinite_out" value="' + laydef_options.default_layer_infinite_out + '" class="spider_int_input" title="0 for play infinte times" ' + (laydef_options.default_layer_effect_out == 'none' ? 'disabled="disabled"' : '') + ' onchange="wds_trans_effect_out(\'' + id + '\', \'' + prefix + '\', ' + ((type == 'social') ? 1 : 0) + '); wds_trans_end(\'' + prefix + '\', jQuery(\'#' + prefix + '_layer_effect_out\').val());" />' +
2270
  '<div class="spider_description">Iteration</div>' +
2271
  '</span>' +
2272
  '<div class="spider_description spider_free_version">Some effects are disabled in free version.</div>' +
2273
  '</td>';
2274
  var add_class = '<td class="spider_label"><label for="' + prefix + '_add_class">Add class: </label></td>' +
2275
+ '<td><input type="text" name="' + prefix + '_add_class" id="' + prefix + '_add_class" value="' + laydef_options.default_layer_add_class + '" class="spider_char_input" /><div class="spider_description"></div></td>';
2276
  var text_alignment = '<td class="spider_label"><label for="' + prefix + '_text_alignment">Text alignment: </label></td>' +
2277
  '<td><select class="select_icon" style="width: 70px;" name="' + prefix + '_text_alignment" id="' + prefix + '_text_alignment" onchange="jQuery(\'#' + prefix + '\').css({textAlign: jQuery(this).val()})">' + text_alignments_option + '</select><div class="spider_description"></div></td>';
2278
 
2446
  jQuery("#" + prefix + "_left").val(parseInt(jQuery(this).offset().left - jQuery(".wds_preview_image" + id).offset().left));
2447
  }
2448
  jQuery("#" + prefix + "_top").val(parseInt(jQuery(this).offset().top - jQuery(".wds_preview_image" + id).offset().top));
2449
+
2450
+ // Do not set layer width/height on drag.
2451
+ if (jQuery("#" + prefix + "_image_width").val() == 0) {
2452
+ jQuery("#" + prefix).css({'width': ''});
2453
+ }
2454
+ if (jQuery("#" + prefix + "_image_height").val() == 0) {
2455
+ jQuery("#" + prefix).css({'height': ''});
2456
+ }
2457
+ });
2458
  jQuery(".wds_draggable_" + id).bind('dragstop', function(event) {
2459
  jQuery(this).removeClass('wds_active_layer');
2460
  var prefix = jQuery(this).attr("id");
2759
  jQuery(".wds_slide" + slideID).remove();
2760
  jQuery("#wbs_subtab" + slideID).remove();
2761
  jQuery("#wds_subtab_wrap" + slideID).remove();
 
2762
  var delslideIds;
2763
  var slideIDs = jQuery("#slide_ids_string").val();
2764
  slideIDs = slideIDs.replace(slideID + ",", "");
2767
  delslideIds = jQuery("#del_slide_ids_string").val() + slideID + ",";
2768
  jQuery("#del_slide_ids_string").val(delslideIds);
2769
  }
 
2770
  jQuery(".wbs_subtab div[id^='wbs_subtab']").each(function () {
2771
  var id = jQuery(this).attr("id");
2772
  firstSlideID = id.replace("wbs_subtab", "");
2998
 
2999
  function wds_change_fonts(prefix, change) {
3000
  var fonts;
3001
+ if (typeof prefix == "undefined") {
3002
+ var prefix = "default_layer";
3003
+ }
3004
  if (jQuery("#" + prefix + "_google_fonts1").is(":checked")) {
3005
+ fonts = wds_object.GGF;
3006
+ if (jQuery('#possib_add_ffamily_google').val() != '') {
3007
+ var possib_add_ffamily_google = jQuery('#possib_add_ffamily_google').val().split("*WD*");
3008
+ for (var i = 0; i < possib_add_ffamily_google.length; i++) {
3009
+ if (possib_add_ffamily_google[i]) {
3010
+ fonts[possib_add_ffamily_google[i]] = possib_add_ffamily_google[i];
3011
+ }
3012
+ }
3013
+ }
3014
  }
3015
  else {
3016
  fonts = {'arial' : 'Arial', 'lucida grande' : 'Lucida grande', 'segoe ui' : 'Segoe ui', 'tahoma' : 'Tahoma', 'trebuchet ms' : 'Trebuchet ms', 'verdana' : 'Verdana', 'cursive' : 'Cursive', 'fantasy' : 'Fantasy', 'monospace' : 'Monospace', 'serif' : 'Serif'};
3026
  if (typeof change == "undefined") {
3027
  var fonts_option = "";
3028
  for (var i in fonts) {
3029
+ var selected = (wds_object.LDO.default_layer_ffamily == i) ? "selected='selected'" : "";
3030
+ fonts_option += '<option value="' + i + '" ' + selected + '>' + fonts[i] + '</option>';
3031
  }
3032
  jQuery("#" + prefix + "_ffamily").html(fonts_option);
3033
  }
3123
  else {
3124
  jQuery("#" + that + "_left").removeAttr("disabled");
3125
  }
3126
+ }
3127
+
3128
+ function wds_reset(event) {
3129
+ if (confirm('Are you sure you want to reset the settings?')) {
3130
+ if (!wds_check_required()) {
3131
+ return false;
3132
+ }
3133
+ spider_set_input_value('task', 'reset');
3134
+ spider_ajax_save('sliders_form', event);
3135
+ return true;
3136
+ }
3137
+ return false;
3138
  }
licensing/licensing.php CHANGED
@@ -80,9 +80,13 @@
80
  <span class="yes"></span>
81
  </div>
82
  </div>
83
- <div style="float: right; text-align: right;">
84
- <a style="text-decoration: none;" target="_blank" href="https://web-dorado.com/files/fromslider.php">
85
- <img width="215" border="0" alt="web-dorado.com" src="<?php echo WD_S_URL . '/images/wd_logo.png'; ?>" />
 
 
 
 
86
  </a>
87
  </div>
88
  <div style="float: left; clear: both;">
80
  <span class="yes"></span>
81
  </div>
82
  </div>
83
+ <div class="wds_pro_container">
84
+ <a class="wds_pro_link wds_pro_text" target="_blank" href="https://web-dorado.com/files/fromslider.php">
85
+ <?php
86
+ $text = strtoupper(__('Upgrade to paid version', 'wds'));
87
+ ?>
88
+ <span><?php echo $text; ?></span>
89
+ <img class="wds_pro_image" alt="web-dorado.com" title="<?php echo $text; ?>" src="<?php echo WD_S_URL . '/images/wd_logo.png?v2'; ?>"" />
90
  </a>
91
  </div>
92
  <div style="float: left; clear: both;">
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://web-dorado.com/products/wordpress-slider-plugin.html
4
  Tags: easy slider, gallery slider, image slider, images slider, Photo Slider, post slider, responsive slider, slider, slider plugin, video slider, wordpress slider, youtube slider
5
  Requires at least: 3.4
6
  Tested up to: 4.7
7
- Stable tag: 1.1.73
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -125,6 +125,11 @@ After downloading the ZIP file of the slider plugin,
125
 
126
  == Changelog ==
127
 
 
 
 
 
 
128
  = 1.1.73 =
129
  * Fixed: Deleting newly added slides and layers.
130
  * Fixed: Slider height with horizontal filmstrip.
4
  Tags: easy slider, gallery slider, image slider, images slider, Photo Slider, post slider, responsive slider, slider, slider plugin, video slider, wordpress slider, youtube slider
5
  Requires at least: 3.4
6
  Tested up to: 4.7
7
+ Stable tag: 1.1.74
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
125
 
126
  == Changelog ==
127
 
128
+ = 1.1.74 =
129
+ * Added: Default options for layers.
130
+ * Added: Overview page.
131
+ * Fixed: Google fonts bug.
132
+
133
  = 1.1.73 =
134
  * Fixed: Deleting newly added slides and layers.
135
  * Fixed: Slider height with horizontal filmstrip.
slider-wd.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin Name: Slider WD
5
  * Plugin URI: https://web-dorado.com/products/wordpress-slider-plugin.html
6
  * Description: This is a responsive plugin, which allows adding sliders to your posts/pages and to custom location. It uses large number of transition effects and supports various types of layers.
7
- * Version: 1.1.73
8
  * Author: WebDorado
9
  * Author URI: https://web-dorado.com/
10
  * License: GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
@@ -14,7 +14,7 @@ define('WD_S_NAME', plugin_basename(dirname(__FILE__)));
14
  define('WD_S_DIR', WP_PLUGIN_DIR . "/" . WD_S_NAME);
15
  define('WD_S_URL', plugins_url(WD_S_NAME));
16
 
17
- define('WD_S_VERSION', '1.1.73');
18
 
19
  function wds_use_home_url() {
20
  $home_url = str_replace("http://", "", home_url());
@@ -44,23 +44,24 @@ $WD_S_UPLOAD_DIR = str_replace(ABSPATH, '', $upload_dir['basedir']) . '/slider-w
44
 
45
  // Plugin menu.
46
  function wds_options_panel() {
47
- add_menu_page('Slider WD', 'Slider WD', 'manage_options', 'sliders_wds', 'wd_sliders', WD_S_URL . '/images/wd_slider.png');
48
-
49
- $sliders_page = add_submenu_page('sliders_wds', 'Sliders', 'Sliders', 'manage_options', 'sliders_wds', 'wd_sliders');
 
 
 
50
  add_action('admin_print_styles-' . $sliders_page, 'wds_styles');
51
  add_action('admin_print_scripts-' . $sliders_page, 'wds_scripts');
52
 
53
- $global_options_page = add_submenu_page('sliders_wds', 'Global Options', 'Global Options', 'manage_options', 'goptions_wds', 'wd_sliders');
54
  add_action('admin_print_styles-' . $global_options_page, 'wds_styles');
55
  add_action('admin_print_scripts-' . $global_options_page, 'wds_scripts');
56
 
57
- add_submenu_page('sliders_wds', 'Get Pro', 'Get Pro', 'manage_options', 'licensing_wds', 'wds_licensing');
58
- add_submenu_page('sliders_wds', 'Featured Plugins', 'Featured Plugins', 'manage_options', 'featured_plugins_wds', 'wds_featured');
59
- add_submenu_page('sliders_wds', 'Featured Themes', 'Featured Themes', 'manage_options', 'featured_themes_wds', 'wds_featured_themes');
60
 
61
- add_submenu_page('sliders_wds', 'Demo Sliders', 'Demo Sliders', 'manage_options', 'demo_sliders_wds', 'wds_demo_sliders');
62
 
63
- $uninstall_page = add_submenu_page('sliders_wds', 'Uninstall', 'Uninstall', 'manage_options', 'uninstall_wds', 'wd_sliders');
64
  add_action('admin_print_styles-' . $uninstall_page, 'wds_styles');
65
  add_action('admin_print_scripts-' . $uninstall_page, 'wds_scripts');
66
  }
@@ -99,36 +100,6 @@ function wds_licensing() {
99
  require_once(WD_S_DIR . '/licensing/licensing.php');
100
  }
101
 
102
- function wds_featured() {
103
- if (function_exists('current_user_can')) {
104
- if (!current_user_can('manage_options')) {
105
- die('Access Denied');
106
- }
107
- }
108
- else {
109
- die('Access Denied');
110
- }
111
- require_once(WD_S_DIR . '/featured/featured.php');
112
- wp_register_style('wds_featured', WD_S_URL . '/featured/style.css', array(), WD_S_VERSION);
113
- wp_print_styles('wds_featured');
114
- spider_featured('slider_wd');
115
- }
116
-
117
- function wds_featured_themes() {
118
- if (function_exists('current_user_can')) {
119
- if (!current_user_can('manage_options')) {
120
- die('Access Denied');
121
- }
122
- }
123
- else {
124
- die('Access Denied');
125
- }
126
- require_once(WD_S_DIR . '/featured/featured_themes.php');
127
- wp_register_style('wds_featured_themes', WD_S_URL . '/featured/themes_style.css', array(), WD_S_VERSION);
128
- wp_print_styles('wds_featured_themes');
129
- spider_featured_themes('slider_wd');
130
- }
131
-
132
  function wds_demo_sliders() {
133
  if (function_exists('current_user_can')) {
134
  if (!current_user_can('manage_options')) {
@@ -156,6 +127,7 @@ function wds_frontend() {
156
  }
157
 
158
  add_action('wp_ajax_WDSPreview', 'wds_preview');
 
159
  function wds_ajax() {
160
  if (function_exists('current_user_can')) {
161
  if (!current_user_can('manage_options')) {
@@ -501,10 +473,39 @@ function wds_styles() {
501
  $url = 'https://fonts.googleapis.com/css?family=' . $query . '&subset=greek,latin,greek-ext,vietnamese,cyrillic-ext,latin-ext,cyrillic';
502
  wp_enqueue_style('wds_googlefonts_' . $i, $url, null, null);
503
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
504
  }
505
 
506
  // Plugin scripts.
507
  function wds_scripts() {
 
 
 
 
 
508
  wp_enqueue_media();
509
  wp_enqueue_script('thickbox');
510
  wp_enqueue_script('jquery');
@@ -517,7 +518,20 @@ function wds_scripts() {
517
  wp_enqueue_style('wds_effects', WD_S_URL . '/css/wds_effects.css', array(), WD_S_VERSION);
518
  wp_enqueue_style('wds_tooltip', WD_S_URL . '/css/jquery-ui-1.10.3.custom.css', array(), WD_S_VERSION);
519
  require_once(WD_S_DIR . '/framework/WDW_S_Library.php');
520
- wp_localize_script('wds_admin', 'wds_objectGGF', WDW_S_Library::get_google_fonts());
 
 
 
 
 
 
 
 
 
 
 
 
 
521
  }
522
 
523
  function wds_front_end_scripts() {
@@ -585,4 +599,92 @@ function wds_get_sliders() {
585
  }
586
  return $sliders;
587
  }
588
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  * Plugin Name: Slider WD
5
  * Plugin URI: https://web-dorado.com/products/wordpress-slider-plugin.html
6
  * Description: This is a responsive plugin, which allows adding sliders to your posts/pages and to custom location. It uses large number of transition effects and supports various types of layers.
7
+ * Version: 1.1.74
8
  * Author: WebDorado
9
  * Author URI: https://web-dorado.com/
10
  * License: GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
14
  define('WD_S_DIR', WP_PLUGIN_DIR . "/" . WD_S_NAME);
15
  define('WD_S_URL', plugins_url(WD_S_NAME));
16
 
17
+ define('WD_S_VERSION', '1.1.74');
18
 
19
  function wds_use_home_url() {
20
  $home_url = str_replace("http://", "", home_url());
44
 
45
  // Plugin menu.
46
  function wds_options_panel() {
47
+ $parent_slug = null;
48
+ if( get_option( "wds_subscribe_done" ) == 1 ) {
49
+ add_menu_page('Slider WD', 'Slider WD', 'manage_options', 'sliders_wds', 'wd_sliders', WD_S_URL . '/images/wd_slider.png');
50
+ $parent_slug = "sliders_wds";
51
+ }
52
+ $sliders_page = add_submenu_page($parent_slug, 'Sliders', 'Sliders', 'manage_options', 'sliders_wds', 'wd_sliders');
53
  add_action('admin_print_styles-' . $sliders_page, 'wds_styles');
54
  add_action('admin_print_scripts-' . $sliders_page, 'wds_scripts');
55
 
56
+ $global_options_page = add_submenu_page($parent_slug, 'Global Options', 'Global Options', 'manage_options', 'goptions_wds', 'wd_sliders');
57
  add_action('admin_print_styles-' . $global_options_page, 'wds_styles');
58
  add_action('admin_print_scripts-' . $global_options_page, 'wds_scripts');
59
 
60
+ add_submenu_page($parent_slug, 'Get Pro', 'Get Pro', 'manage_options', 'licensing_wds', 'wds_licensing');
 
 
61
 
62
+ add_submenu_page($parent_slug, 'Demo Sliders', 'Demo Sliders', 'manage_options', 'demo_sliders_wds', 'wds_demo_sliders');
63
 
64
+ $uninstall_page = add_submenu_page($parent_slug, 'Uninstall', 'Uninstall', 'manage_options', 'uninstall_wds', 'wd_sliders');
65
  add_action('admin_print_styles-' . $uninstall_page, 'wds_styles');
66
  add_action('admin_print_scripts-' . $uninstall_page, 'wds_scripts');
67
  }
100
  require_once(WD_S_DIR . '/licensing/licensing.php');
101
  }
102
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
103
  function wds_demo_sliders() {
104
  if (function_exists('current_user_can')) {
105
  if (!current_user_can('manage_options')) {
127
  }
128
 
129
  add_action('wp_ajax_WDSPreview', 'wds_preview');
130
+
131
  function wds_ajax() {
132
  if (function_exists('current_user_can')) {
133
  if (!current_user_can('manage_options')) {
473
  $url = 'https://fonts.googleapis.com/css?family=' . $query . '&subset=greek,latin,greek-ext,vietnamese,cyrillic-ext,latin-ext,cyrillic';
474
  wp_enqueue_style('wds_googlefonts_' . $i, $url, null, null);
475
  }
476
+ wp_enqueue_style('wds_deactivate-css', WD_S_URL . '/wd/assets/css/deactivate_popup.css', array(), WD_S_VERSION);
477
+ }
478
+
479
+ function wds_global_options_defults() {
480
+ $global_options = array(
481
+ 'default_layer_fweight' => 'normal',
482
+ 'default_layer_start' => 1000,
483
+ 'default_layer_effect_in' => 'none',
484
+ 'default_layer_duration_eff_in' => 1000,
485
+ 'default_layer_infinite_in' => 1,
486
+ 'default_layer_end' => 3000,
487
+ 'default_layer_effect_out' => 'none',
488
+ 'default_layer_duration_eff_out' => 1000,
489
+ 'default_layer_infinite_out' => 1,
490
+ 'default_layer_add_class' => '',
491
+ 'default_layer_ffamily' => 'arial',
492
+ 'default_layer_google_fonts' => 0,
493
+ 'loading_gif' => 0,
494
+ 'register_scripts' => 0,
495
+ 'spider_uploader' => 0,
496
+ 'possib_add_ffamily' => '',
497
+ 'possib_add_ffamily_google' => '',
498
+ );
499
+ return $global_options;
500
  }
501
 
502
  // Plugin scripts.
503
  function wds_scripts() {
504
+ $wds_global_options = get_option("wds_global_options", 0);
505
+ $global_options = json_decode($wds_global_options);
506
+ if (!$wds_global_options) {
507
+ $wds_global_options = wds_global_options_defults();
508
+ }
509
  wp_enqueue_media();
510
  wp_enqueue_script('thickbox');
511
  wp_enqueue_script('jquery');
518
  wp_enqueue_style('wds_effects', WD_S_URL . '/css/wds_effects.css', array(), WD_S_VERSION);
519
  wp_enqueue_style('wds_tooltip', WD_S_URL . '/css/jquery-ui-1.10.3.custom.css', array(), WD_S_VERSION);
520
  require_once(WD_S_DIR . '/framework/WDW_S_Library.php');
521
+ wp_localize_script('wds_admin', 'wds_object', array(
522
+ "GGF" => WDW_S_Library::get_google_fonts(),
523
+ "LDO" => $global_options,
524
+ ));
525
+
526
+ wp_enqueue_script('wds-deactivate-popup', WD_S_URL.'/wd/assets/js/deactivate_popup.js', array(), WD_S_VERSION, true );
527
+ $admin_data = wp_get_current_user();
528
+
529
+ wp_localize_script( 'wds-deactivate-popup', 'wdsWDDeactivateVars', array(
530
+ "prefix" => "wds" ,
531
+ "deactivate_class" => 'wds_deactivate_link',
532
+ "email" => $admin_data->data->user_email,
533
+ "plugin_wd_url" => "https://web-dorado.com/products/wordpress-slider-plugin.html",
534
+ ));
535
  }
536
 
537
  function wds_front_end_scripts() {
599
  }
600
  return $sliders;
601
  }
602
+
603
+ function wds_overview() {
604
+ if (is_admin() && !isset($_REQUEST['ajax'])) {
605
+ if (!class_exists("DoradoWeb")) {
606
+ require_once(WD_S_DIR . '/wd/start.php');
607
+ }
608
+ global $wds_options;
609
+ $wds_options = array(
610
+ "prefix" => "wds",
611
+ "wd_plugin_id" => 69,
612
+ "plugin_title" => "Slider WD",
613
+ "plugin_wordpress_slug" => "slider-wd",
614
+ "plugin_dir" => WD_S_DIR,
615
+ "plugin_main_file" => __FILE__,
616
+ "description" => __('Slider WD is a responsive plugin, which allows adding sliders to your posts/pages and to custom location. It uses large number of transition effects and supports various types of layers.', 'wds'),
617
+ // from web-dorado.com
618
+ "plugin_features" => array(
619
+ 0 => array(
620
+ "title" => __("Responsive", "wds"),
621
+ "description" => __("Sleek, powerful and intuitive design and layout brings the slides on a new level, for perfect and fast web surfing. Ways that users interact with 100% responsive Slider WD guarantees better and brave experience.", "wds"),
622
+ ),
623
+ 1 => array(
624
+ "title" => __("SEO Friendly", "wds"),
625
+ "description" => __("Slider WD has developed the best practices in SEO field. The plugin supports all functions necessary for top-rankings.", "wds"),
626
+ ),
627
+ 2 => array(
628
+ "title" => __("Drag & Drop Back-End Interface", "wds"),
629
+ "description" => __("Arrange each and every layer via user friendly drag and drop interface in seconds. This function guarantees fast and effective usability of the plugin without any development skills.", "wds"),
630
+ ),
631
+ 3 => array(
632
+ "title" => __("Touch Swipe Navigation", "wds"),
633
+ "description" => __("Touch the surface of your mobile devices and experience smooth finger navigation. In desktop devices you can experience the same navigation using mouse dragging.", "wds"),
634
+ ),
635
+ 4 => array(
636
+ "title" => __("Navigation Custom Buttons", "wds"),
637
+ "description" => __("You can choose among variety of navigation button designs included in the plugin or upload and use your custom ones, based on preferences.", "wds"),
638
+ )
639
+ ),
640
+ // user guide from web-dorado.com
641
+ "user_guide" => array(
642
+ 0 => array(
643
+ "main_title" => __("Installing the Slider WD", "wds"),
644
+ "url" => "https://web-dorado.com/wordpress-slider-wd/installing.html",
645
+ "titles" => array()
646
+ ),
647
+ 1 => array(
648
+ "main_title" => __("Adding Images to Sliders", "wds"),
649
+ "url" => "https://web-dorado.com/wordpress-slider-wd/adding-images.html",
650
+ "titles" => array()
651
+ ),
652
+ 2 => array(
653
+ "main_title" => __("Adding Layers to The Slide", "wds"),
654
+ "url" => "https://web-dorado.com/wordpress-slider-wd/adding-layers.html",
655
+ "titles" => array()
656
+ ),
657
+ 3 => array(
658
+ "main_title" => __("Changing/Modifying Slider Settings", "wds"),
659
+ "url" => "https://web-dorado.com/wordpress-slider-wd/changing-settings.html",
660
+ "titles" => array()
661
+ ),
662
+ 4 => array(
663
+ "main_title" => __("Publishing the Created Slider", "wds"),
664
+ "url" => "https://web-dorado.com/wordpress-slider-wd/publishing-slider.html",
665
+ "titles" => array()
666
+ ),
667
+ 5 => array(
668
+ "main_title" => __("Importing/Exporting Sliders", "wds"),
669
+ "url" => "https://web-dorado.com/wordpress-slider-wd/import-export.html",
670
+ "titles" => array()
671
+ ),
672
+ ),
673
+ "video_youtube_id" => "xebpM_-GwG0", // e.g. https://www.youtube.com/watch?v=acaexefeP7o youtube id is the acaexefeP7o
674
+ "plugin_wd_url" => "https://web-dorado.com/products/wordpress-slider-plugin.html",
675
+ "plugin_wd_demo_link" => "http://wpdemo.web-dorado.com/slider/",
676
+ "plugin_wd_addons_link" => "",
677
+ "after_subscribe" => admin_url('admin.php?page=overview_wds'), // this can be plagin overview page or set up page
678
+ "plugin_wizard_link" => '',
679
+ "plugin_menu_title" => "Slider WD",
680
+ "plugin_menu_icon" => WD_S_URL . '/images/wd_slider.png',
681
+ "deactivate" => true,
682
+ "subscribe" => true,
683
+ "custom_post" => 'sliders_wds',
684
+ "menu_position" => null,
685
+ );
686
+
687
+ dorado_web_init($wds_options);
688
+ }
689
+ }
690
+ add_action('init', 'wds_overview');
sliders-insert.php CHANGED
@@ -200,5 +200,8 @@ function wds_insert() {
200
  PRIMARY KEY (`id`)
201
  ) DEFAULT CHARSET=utf8;";
202
  $wpdb->query($wdslayer);
 
 
 
203
  return;
204
  }
200
  PRIMARY KEY (`id`)
201
  ) DEFAULT CHARSET=utf8;";
202
  $wpdb->query($wdslayer);
203
+
204
+ $global_options = json_encode(wds_global_options_defults());
205
+ update_option('wds_global_options', $global_options);
206
  return;
207
  }
sliders-update.php CHANGED
@@ -134,7 +134,7 @@ function wds_update($version) {
134
  if (version_compare($version, '1.1.29') == -1) {
135
  $wpdb->query("ALTER TABLE " . $wpdb->prefix . "wdslayer ADD `layer_callback_list` varchar(32) NOT NULL DEFAULT ''");
136
  }
137
- if (version_compare($version, '1.1.32') == -1) {
138
  $wpdb->query("ALTER TABLE " . $wpdb->prefix . "wdslayer ADD `hotspot_text_display` varchar(8) NOT NULL DEFAULT 'hover'");
139
  }
140
  if (version_compare($version, '1.1.41') == -1) {
@@ -172,5 +172,37 @@ function wds_update($version) {
172
  if (version_compare($version, '1.1.70') == -1) {
173
  $wpdb->query("ALTER TABLE " . $wpdb->prefix . "wdsslider ADD `order_dir` varchar(4) NOT NULL DEFAULT 'asc'");
174
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
175
  return;
176
  }
134
  if (version_compare($version, '1.1.29') == -1) {
135
  $wpdb->query("ALTER TABLE " . $wpdb->prefix . "wdslayer ADD `layer_callback_list` varchar(32) NOT NULL DEFAULT ''");
136
  }
137
+ if (version_compare($version, '1.1.32') == -1) {
138
  $wpdb->query("ALTER TABLE " . $wpdb->prefix . "wdslayer ADD `hotspot_text_display` varchar(8) NOT NULL DEFAULT 'hover'");
139
  }
140
  if (version_compare($version, '1.1.41') == -1) {
172
  if (version_compare($version, '1.1.70') == -1) {
173
  $wpdb->query("ALTER TABLE " . $wpdb->prefix . "wdsslider ADD `order_dir` varchar(4) NOT NULL DEFAULT 'asc'");
174
  }
175
+ if ( version_compare($version, '1.1.74') == -1 ) {
176
+ $sliders = $wpdb->get_results('SELECT * FROM ' . $wpdb->prefix . 'wdsslider');
177
+ if ( $wpdb->last_error || is_null($sliders) ) {
178
+ return;
179
+ }
180
+
181
+ $wds_register_scripts = get_option("wds_register_scripts");
182
+ $loading_gif = get_option("wds_loading_gif", 0);
183
+ delete_option("wds_loading_gif");
184
+ delete_option("wds_register_scripts");
185
+
186
+ $possib_add_ffamily = array();
187
+ $possib_add_ffamily_google = array();
188
+ foreach ( $sliders as $slider ) {
189
+ $possib_add_ffamily = array_merge($possib_add_ffamily, explode("*WD*", $slider->possib_add_ffamily));
190
+ $possib_add_ffamily_google = array_merge($possib_add_ffamily_google, explode("*WD*", $slider->possib_add_ffamily_google));
191
+ $spider_uploader = $slider->spider_uploader;
192
+ }
193
+ $possib_add_ffamily = array_unique($possib_add_ffamily);
194
+ $font_family = implode("*WD*", $possib_add_ffamily);
195
+ $possib_add_ffamily_google = array_unique($possib_add_ffamily_google);
196
+ $google_font = implode("*WD*", $possib_add_ffamily_google);
197
+
198
+ $global_options = wds_global_options_defults();
199
+ $global_options['loading_gif'] = $loading_gif;
200
+ $global_options['register_scripts'] = $wds_register_scripts;
201
+ $global_options['spider_uploader'] = $spider_uploader;
202
+ $global_options['possib_add_ffamily'] = $font_family;
203
+ $global_options['possib_add_ffamily_google'] = $google_font;
204
+ $global_options = json_encode($global_options);
205
+ update_option('wds_global_options', $global_options);
206
+ }
207
  return;
208
  }
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,86 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .wd-opacity{
2
+ position: fixed;
3
+ top: 0px;
4
+ bottom: 0px;
5
+ left: 0px;
6
+ right: 0px;
7
+ z-index: 9999;
8
+ background: #000;
9
+ opacity: 0.5;
10
+ display: none;
11
+ }
12
+
13
+ .wd-deactivate-popup{
14
+ position: fixed;
15
+ top: 0px;
16
+ bottom: 0px;
17
+ left: 0px;
18
+ right: 0px;
19
+ background: #fff;
20
+ z-index: 999999;
21
+ width: 600px;
22
+ height: 281px;
23
+ margin: auto;
24
+ display: none;
25
+ box-sizing: border-box;
26
+ }
27
+
28
+
29
+ .wd-deactivate-popup-header{
30
+ border-bottom: 1px solid #ccc;
31
+ padding: 18px 40px;
32
+ font-size: 16px;
33
+ background: rgba(221, 221, 221, 0.14);
34
+ }
35
+ .wd-deactivate-popup-body{
36
+ padding: 20px 40px;
37
+ border-bottom: 1px solid #ccc;
38
+ }
39
+ .wd-deactivate-popup-body input[type=text]{
40
+ width: 220px;
41
+ }
42
+ .wd-deactivate-popup-body textarea{
43
+ width: 100%;
44
+ }
45
+
46
+ .wd-btns{
47
+ position: absolute;
48
+ bottom: 19px;
49
+ right: 19px
50
+ }
51
+
52
+ .additional_details_wrap{
53
+ margin-top: 20px;
54
+ }
55
+
56
+ .wd-additional-active{
57
+ background: rgba(204, 204, 204, 0.18);
58
+ padding: 15px;
59
+ margin: 14px 0px 5px;
60
+ }
61
+ .wd-popup-active1{
62
+ height: 523px !important;
63
+ }
64
+
65
+ .wd-popup-active2{
66
+ height: 426px !important
67
+ }
68
+ .wd-deactivate-popup-opacity{
69
+ width: 100%;
70
+ height: 100%;
71
+ background: #D9D9D9;
72
+ opacity: 0.3;
73
+ z-index: 45;
74
+ position: absolute;
75
+ display: none;
76
+ }
77
+
78
+ .wd-deactivate-popup-opacity .wd-img-loader{
79
+ position: absolute;
80
+ top: 0;
81
+ left: 0;
82
+ right: 0;
83
+ bottom: 0;
84
+ margin: auto;
85
+ z-index: 63;
86
+ }
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
wd/assets/css/notices.css ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .wd-admin-notice {
2
+ background: #fff;
3
+ border: 4px;
4
+ display: block;
5
+ min-height: 68px;
6
+ padding: 10px 40px 10px 125px;
7
+ position: relative;
8
+ }
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%;
19
+ width: 125px;
20
+ position: absolute;
21
+ top: 0;
22
+ bottom: 0;
23
+ left: 5px;
24
+ }
25
+ .wd-admin-notice > .dashicons {
26
+ color: #424242;
27
+ position: absolute;
28
+ right: 20px;
29
+ top: 40%;
30
+ }
31
+ .wd-notice-title {
32
+ font-size: 24px;
33
+ margin: 0;
34
+ }
35
+ .wd-notice-body {
36
+ font-weight: normal;
37
+ margin: 5px 0;
38
+ }
39
+ .wd-notice-body:after {
40
+ clear: both;
41
+ content: "";
42
+ display: block;
43
+ }
44
+ .wd-notice-body li {
45
+ float: left;
46
+ margin-right: 20px;
47
+ }
48
+ .wd-notice-body .dashicons {
49
+ font-size: 17px;
50
+ }
51
+ .wd-blue {
52
+ color: #10738B;
53
+ }
54
+
55
+ .admin-notice-promo {
56
+ background: #fff;
57
+ border-top: 4px;
58
+ display: block;
59
+ min-height: 68px;
60
+ padding: 10px 40px 0px 10px;
61
+ margin: 10px 0;
62
+ position: relative;
63
+ }
64
+
65
+ .admin-notice-promo:after {
66
+ content: '';
67
+ display: table;
68
+ clear: both;
69
+ }
70
+
71
+ .close-promo {
72
+ position: absolute;
73
+ top: 5px;
74
+ right: 5px;
75
+ }
76
+
77
+ .promo {
78
+ background-position: center;
79
+ background-repeat: no-repeat;
80
+ background-size: 972px 200px;
81
+ height: 200px;
82
+ max-width: 100%;
83
+ }
84
+
85
+ .promo a {
86
+ display: block;
87
+ height: 100%;
88
+ }
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
+