Photo Gallery by WD – Responsive Photo Gallery - Version 1.5.34

Version Description

  • Added: Webinar banner.
Download this release

Release Info

Developer 10web
Plugin Icon 128x128 Photo Gallery by WD – Responsive Photo Gallery
Version 1.5.34
Comparing to
See all releases

Code changes from version 1.5.32 to 1.5.34

admin/controllers/Options.php CHANGED
@@ -94,7 +94,7 @@ class OptionsController_bwg {
94
  BWG()->nonce => wp_create_nonce(BWG()->nonce),
95
  ), admin_url('admin-ajax.php') );
96
 
97
- $params['instagram_return_url'] = 'https://api.instagram.com/oauth/authorize/?client_id=54da896cf80343ecb0e356ac5479d9ec&scope=basic+public_content&redirect_uri=http://api.web-dorado.com/instagram/&state=' . urlencode( admin_url('admin.php?options_bwg')) . '&response_type=token';
98
  $params['instagram_reset_href'] = add_query_arg( array(
99
  'page' => $this->page,
100
  'task' => 'reset_instagram_access_token',
94
  BWG()->nonce => wp_create_nonce(BWG()->nonce),
95
  ), admin_url('admin-ajax.php') );
96
 
97
+ $params['instagram_return_url'] = 'https://api.instagram.com/oauth/authorize/?client_id=54da896cf80343ecb0e356ac5479d9ec&scope=basic&redirect_uri=http://api.web-dorado.com/instagram/&state=' . urlencode( admin_url('admin.php?options_bwg')) . '&response_type=token';
98
  $params['instagram_reset_href'] = add_query_arg( array(
99
  'page' => $this->page,
100
  'task' => 'reset_instagram_access_token',
framework/TWWebinar.php ADDED
@@ -0,0 +1,184 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+
4
+ class TWPGWebinar {
5
+ private $menu_postfix;
6
+ private $title;
7
+ private $description;
8
+ /**
9
+ * @var 'youtube', 'image'
10
+ */
11
+ private $preview_type;
12
+ private $preview_url;
13
+ private $button_text;
14
+ private $button_link;
15
+ private $dismiss_url;
16
+
17
+ /**
18
+ * TWWebinar constructor.
19
+ * @param $args array
20
+ */
21
+ public function __construct( $args = array() ) {
22
+ $this->menu_postfix = isset( $args[ 'menu_postfix' ] ) ? $args[ 'menu_postfix' ] : '';
23
+ $this->title = isset( $args[ 'title' ] ) ? $args[ 'title' ] : '';
24
+ $this->description = isset( $args[ 'description' ] ) ? $args[ 'description' ] : '';
25
+ $this->preview_type = isset( $args[ 'preview_type' ] ) ? $args[ 'preview_type' ] : '';
26
+ $this->preview_url = isset( $args[ 'preview_url' ] ) ? $args[ 'preview_url' ] : '';
27
+ $this->button_text = isset( $args[ 'button_text' ] ) ? $args[ 'button_text' ] : '';
28
+ $this->button_link = isset( $args[ 'button_link' ] ) ? $args[ 'button_link' ] : '';
29
+ $this->dismiss_url = add_query_arg( array( 'action' => 'tenweb_webinar_dismiss' ), admin_url( 'admin-ajax.php' ) );
30
+ add_action( 'wp_ajax_tenweb_webinar_dismiss', array( $this, 'dismiss' ) );
31
+ // Check the page to show banner.
32
+ if ( ( !isset($_GET['page']) || ( preg_match("/^$this->menu_postfix/", esc_html( $_GET['page'] )) === 0 && preg_match("/$this->menu_postfix$/", esc_html( $_GET['page'] )) === 0 ) ) || ( isset($_GET['task']) && !strpos(esc_html($_GET['task']), 'edit') === TRUE && !(strpos(esc_html($_GET['task']), 'display') > -1)) ) {
33
+ return;
34
+ }
35
+ add_action( 'admin_notices', array( $this, 'view' ) );
36
+ }
37
+
38
+ public function view() {
39
+ $meta_value = get_option('tenweb_webinar_status');
40
+ if ( $meta_value !== '' && $meta_value !== FALSE ) {
41
+ return;
42
+ }
43
+ ob_start();
44
+ wp_enqueue_style('tw-open-sans', 'https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800');
45
+ ?>
46
+ <style>
47
+ .tw-webinar-wrap {
48
+ display: inline-flex;
49
+ flex-wrap: wrap;
50
+ align-items: center;
51
+ background-color: #ffffff;
52
+ padding: 15px 30px 15px 15px;
53
+ box-shadow: 0px 2px 8px #323A4514;
54
+ border-radius: 15px;
55
+ position: relative;
56
+ font-family: 'Open Sans';
57
+ }
58
+ .tw-webinar-image {
59
+ padding: 5px;
60
+ }
61
+ .tw-webinar-image > iframe,
62
+ .tw-webinar-image > img {
63
+ border-radius: 15px;
64
+ }
65
+ .tw-webinar-body {
66
+ flex: 1;
67
+ padding: 5px;
68
+ }
69
+ .tw-webinar-body .tw-webinar-title {
70
+ font-size: 34px;
71
+ font-weight: 800;
72
+ color: #333B46;
73
+ line-height: 28px;
74
+ letter-spacing: 0.28px;
75
+ padding: 5px;
76
+ }
77
+ .tw-webinar-body .tw-webinar-description {
78
+ font-size: 22px;
79
+ color: #333B46;
80
+ padding: 5px;
81
+ line-height: 28px;
82
+ letter-spacing: 0.18px;
83
+ }
84
+ .tw-webinar-button {
85
+ padding: 5px;
86
+ }
87
+ .tw-webinar-button a {
88
+ background-color: #2160B5;
89
+ color: #ffffff;
90
+ font-size: 20px;
91
+ font-weight: 500;
92
+ border-radius: 30px;
93
+ padding: 15px 85px;
94
+ text-decoration: none;
95
+ letter-spacing: 0.17px;
96
+ line-height: 27px;
97
+ }
98
+ .wd_tenweb_notice_dissmiss.notice-dismiss:hover:before, .wd_tenweb_notice_dissmiss.notice-dismiss:active:before, .wd_tenweb_notice_dissmiss.notice-dismiss:focus:before {
99
+ color: #72777c;
100
+ }
101
+ @media only screen and (max-width: 1440px) {
102
+ .tw-webinar-body .tw-webinar-title {
103
+ font-size: 30px;
104
+ letter-spacing: 0.25px;
105
+ }
106
+ .tw-webinar-body .tw-webinar-description {
107
+ font-size: 18px;
108
+ letter-spacing: 0.15px;
109
+ }
110
+ }
111
+ @media only screen and (max-width: 1024px) {
112
+ .tw-webinar-button {
113
+ display: flex;
114
+ flex: 1 100%;
115
+ justify-content: flex-end;
116
+ }
117
+ .tw-webinar-button a {
118
+ font-size: 18px;
119
+ padding: 15px 60px;
120
+ }
121
+ }
122
+ @media only screen and (max-width: 425px) {
123
+ .tw-webinar-body .tw-webinar-title {
124
+ font-size: 22px;
125
+ text-align: center;
126
+ letter-spacing: 0.18px;
127
+ }
128
+ .tw-webinar-body .tw-webinar-description {
129
+ font-size: 16px;
130
+ text-align: center;
131
+ letter-spacing: 0.13px;
132
+ line-height: 24px;
133
+ }
134
+ .tw-webinar-wrap > *:not(.notice-dismiss) {
135
+ display: flex;
136
+ flex: 1 100%;
137
+ justify-content: center;
138
+ flex-wrap: wrap;
139
+ }
140
+ .tw-webinar-image > iframe,
141
+ .tw-webinar-image > img {
142
+ width: 260px;
143
+ height: 146.25px;
144
+ }
145
+ }
146
+ </style>
147
+ <div class="wrap tw-webinar-wrap">
148
+ <?php
149
+ if ( 'youtube' === $this->preview_type ) {
150
+ ?>
151
+ <div class="tw-webinar-image">
152
+ <iframe width="200" height="112.5" src="https://www.youtube.com/embed/<?php echo $this->preview_url; ?>?controls=0&rel=0&modestbranding=1&autohide=1&showinfo=0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
153
+ </div>
154
+ <?php
155
+ }
156
+ else {
157
+ ?>
158
+ <div class="tw-webinar-image">
159
+ </div>
160
+ <?php
161
+ }
162
+ ?>
163
+ <div class="tw-webinar-body">
164
+ <div class="tw-webinar-title">
165
+ <?php echo $this->title; ?>
166
+ </div>
167
+ <div class="tw-webinar-description">
168
+ <?php echo $this->description; ?>
169
+ </div>
170
+ </div>
171
+ <div class="tw-webinar-button">
172
+ <a href="<?php echo $this->button_link; ?>" target="_blank"><?php echo $this->button_text; ?></a>
173
+ </div>
174
+ <button type="button" class="wd_tenweb_notice_dissmiss notice-dismiss" onclick="jQuery(this).closest('.tw-webinar-wrap').attr('style', 'display: none !important;'); jQuery.post('<?php echo $this->dismiss_url; ?>');">
175
+ </div>
176
+ <?php
177
+ $view = ob_get_clean();
178
+ echo $view;
179
+ }
180
+
181
+ public function dismiss() {
182
+ update_option('tenweb_webinar_status', '1', 'no');
183
+ }
184
+ }
photo-gallery.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Photo Gallery
4
  * Plugin URI: https://10web.io/plugins/wordpress-photo-gallery/?utm_source=photo_gallery&utm_medium=free_plugin
5
  * Description: This plugin is a fully responsive gallery plugin with advanced functionality. It allows having different image galleries for your posts and pages. You can create unlimited number of galleries, combine them into albums, and provide descriptions and tags.
6
- * Version: 1.5.32
7
  * Author: Photo Gallery Team
8
  * Author URI: https://10web.io/plugins/?utm_source=photo_gallery&utm_medium=free_plugin
9
  * License: GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
@@ -84,8 +84,8 @@ final class BWG {
84
  $this->plugin_dir = WP_PLUGIN_DIR . "/" . plugin_basename(dirname(__FILE__));
85
  $this->plugin_url = plugins_url(plugin_basename(dirname(__FILE__)));
86
  $this->main_file = plugin_basename(__FILE__);
87
- $this->plugin_version = '1.5.32';
88
- $this->db_version = '1.5.32';
89
  $this->prefix = 'bwg';
90
  $this->nicename = __('Photo Gallery', $this->prefix);
91
 
@@ -236,6 +236,8 @@ final class BWG {
236
 
237
  // Add noindex/nofollow to custom posts to not allow search engines to index custom posts.
238
  add_action('wp_head', array($this, 'robots'), 9, 1);
 
 
239
  }
240
 
241
  /**
@@ -1926,6 +1928,22 @@ final class BWG {
1926
  add_action('wp_enqueue_scripts', array( $this, 'global_script' ));
1927
  }
1928
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1929
  }
1930
 
1931
  /**
3
  * Plugin Name: Photo Gallery
4
  * Plugin URI: https://10web.io/plugins/wordpress-photo-gallery/?utm_source=photo_gallery&utm_medium=free_plugin
5
  * Description: This plugin is a fully responsive gallery plugin with advanced functionality. It allows having different image galleries for your posts and pages. You can create unlimited number of galleries, combine them into albums, and provide descriptions and tags.
6
+ * Version: 1.5.34
7
  * Author: Photo Gallery Team
8
  * Author URI: https://10web.io/plugins/?utm_source=photo_gallery&utm_medium=free_plugin
9
  * License: GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
84
  $this->plugin_dir = WP_PLUGIN_DIR . "/" . plugin_basename(dirname(__FILE__));
85
  $this->plugin_url = plugins_url(plugin_basename(dirname(__FILE__)));
86
  $this->main_file = plugin_basename(__FILE__);
87
+ $this->plugin_version = '1.5.34';
88
+ $this->db_version = '1.5.34';
89
  $this->prefix = 'bwg';
90
  $this->nicename = __('Photo Gallery', $this->prefix);
91
 
236
 
237
  // Add noindex/nofollow to custom posts to not allow search engines to index custom posts.
238
  add_action('wp_head', array($this, 'robots'), 9, 1);
239
+
240
+ $this->webinar_banner();
241
  }
242
 
243
  /**
1928
  add_action('wp_enqueue_scripts', array( $this, 'global_script' ));
1929
  }
1930
  }
1931
+
1932
+ public function webinar_banner() {
1933
+ // Webinar banner
1934
+ if ( !class_exists( 'TWPGWebinar' ) ) {
1935
+ require_once( $this->plugin_dir . '/framework/TWWebinar.php' );
1936
+ }
1937
+ new TWPGWebinar(array(
1938
+ 'menu_postfix' => '_' . $this->prefix,
1939
+ 'title' => 'Join the Webinar',
1940
+ 'description' => 'How to Create Fully Functional WP Website with Beautiful Photo Gallery in Just an Hour + SPECIAL GIFT FOR WEBINAR ATTENDEES',
1941
+ 'preview_type' => 'youtube',
1942
+ 'preview_url' => 'A111ykjWdW8',
1943
+ 'button_text' => 'SIGN UP',
1944
+ 'button_link' => 'https://my.demio.com/ref/ydTJSUzyVqOgcUOV',
1945
+ ));
1946
+ }
1947
  }
1948
 
1949
  /**
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: webdorado,wdsupport,photogallerysupport,10web
3
  Tags: gallery, photo gallery, image gallery, responsive gallery, wordpress gallery plugin, photo albums, gallery slider, gallery lightbox, wordpress photo gallery plugin, fullscreen gallery, watermarking, video gallery
4
  Requires at least: 3.4
5
  Tested up to: 5.2
6
- Stable tag: 1.5.32
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -268,7 +268,7 @@ To publish gallery plugin widgets, go to Appearance > Widgets. Here select the w
268
  **Slideshow effect.** Select the effect to apply to the slideshow.
269
  **Time interval.** Define the time interval between the images in seconds.
270
  **Enable shuffle.** Choose whether to have shuffle for the slideshow images or not.
271
- **Theme.** Choose the theme to be applied to the gallery slideshow.
272
 
273
  **Photo Gallery Widget**
274
 
@@ -282,20 +282,26 @@ Choose whether to display random or the first/last specific number of images.
282
 
283
  == Changelog ==
284
 
 
 
 
 
 
 
285
  = 1.5.32 =
286
- Added: Possibility to bulk remove tags.
287
- Added: Possibility to use AND operator for tag filtering.
288
- Added: 'How to insert a shortcode in Gutenberg?' to 'How to use'.
289
- Fixed: Minor bug on file upload and import from media library.
290
- Fixed: Link in gallery group description.
291
- Fixed: Removing link from images alt.
292
- Fixed: Order by date in filemanager for folders.
293
- Fixed: Scroll load and load more loading should not cover all gallery.
294
- Fixed: Instagram sign in.
295
- Improved: Automatically select image after upload.
296
- Improved: Automatically deactivate gallery after uninstalling.
297
- Improved: Auto rotate images depend on image orientation saved in metadata.
298
- Improved: Short url for lightbox.
299
 
300
  = 1.5.31 =
301
  * Fixed: Vulnerability problem reported by 'Tin Duong of Fortinet's FortiGuard Labs'.
3
  Tags: gallery, photo gallery, image gallery, responsive gallery, wordpress gallery plugin, photo albums, gallery slider, gallery lightbox, wordpress photo gallery plugin, fullscreen gallery, watermarking, video gallery
4
  Requires at least: 3.4
5
  Tested up to: 5.2
6
+ Stable tag: 1.5.34
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
268
  **Slideshow effect.** Select the effect to apply to the slideshow.
269
  **Time interval.** Define the time interval between the images in seconds.
270
  **Enable shuffle.** Choose whether to have shuffle for the slideshow images or not.
271
+ **Theme.** Choose the theme to be applied to the gallery slideshow.
272
 
273
  **Photo Gallery Widget**
274
 
282
 
283
  == Changelog ==
284
 
285
+ = 1.5.34 =
286
+ * Added: Webinar banner.
287
+
288
+ = 1.5.33 =
289
+ * Fixed: Error from Instagram after connecting a Personal account.
290
+
291
  = 1.5.32 =
292
+ * Added: Possibility to bulk remove tags.
293
+ * Added: Possibility to use AND operator for tag filtering.
294
+ * Added: 'How to insert a shortcode in Gutenberg?' to 'How to use'.
295
+ * Fixed: Minor bug on file upload and import from media library.
296
+ * Fixed: Link in gallery group description.
297
+ * Fixed: Removing link from images alt.
298
+ * Fixed: Order by date in filemanager for folders.
299
+ * Fixed: Scroll load and load more loading should not cover all gallery.
300
+ * Fixed: Instagram sign in.
301
+ * Improved: Automatically select image after upload.
302
+ * Improved: Automatically deactivate gallery after uninstalling.
303
+ * Improved: Auto rotate images depend on image orientation saved in metadata.
304
+ * Improved: Short url for lightbox.
305
 
306
  = 1.5.31 =
307
  * Fixed: Vulnerability problem reported by 'Tin Duong of Fortinet's FortiGuard Labs'.