Version Description
- Added: Webinar banner.
Download this release
Release Info
Developer | 10web |
Plugin | 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 +1 -1
- framework/TWWebinar.php +184 -0
- photo-gallery.php +21 -3
- readme.txt +21 -15
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
|
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.
|
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.
|
88 |
-
$this->db_version = '1.5.
|
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.
|
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 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
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'.
|