Gallery by BestWebSoft - Version 4.6.7

Version Description

  • 28.01.2021 =
  • Update : All functionality was updated for WordPress 5.6
  • Update : BWS Panel section was updated.
  • Bugfix : The bug with displaying single gallery was fixed.
Download this release

Release Info

Developer bestwebsoft
Plugin Icon 128x128 Gallery by BestWebSoft
Version 4.6.7
Comparing to
See all releases

Code changes from version 4.6.6 to 4.6.7

bws_menu/bws_functions.php CHANGED
@@ -183,8 +183,16 @@ if ( ! function_exists( 'bws_admin_notices' ) ) {
183
 
184
  /* bws_plugin_banner_go_pro */
185
  if ( ! empty( $bws_plugin_banner_go_pro ) ) {
 
 
 
186
  foreach ( $bstwbsftwppdtplgns_banner_array as $value ) {
187
  if ( isset( $bws_plugin_banner_go_pro[ $value[0] ] ) && ! isset( $_COOKIE[ $value[0] ] ) ) {
 
 
 
 
 
188
  $single_banner_value = $bws_plugin_banner_go_pro[ $value[0] ]; ?>
189
  <div class="updated" style="padding: 0; margin: 0; border: none; background: none;">
190
  <div class="<?php echo $single_banner_value['prefix']; ?>_message bws_banner_on_plugin_page bws_go_pro_banner" style="display: none;">
@@ -335,7 +343,7 @@ if ( ! function_exists( 'bws_plugin_banner_go_pro' ) ) {
335
  $bws_link = esc_url( 'https://bestwebsoft.com/products/wordpress/plugins/' . $bws_link_slug . '/?k=' . $link_key . '&pn=' . $link_pn . '&v=' . $plugin_info["Version"] . '&wp_v=' . $wp_version );
336
 
337
  if ( false == strrpos( $banner_url_or_slug, '/' ) ) {
338
- $banner_url_or_slug = '//ps.w.org/' . $banner_url_or_slug . '/assets/icon-128x128.png';
339
  }
340
 
341
  $bws_plugin_banner_go_pro[ $this_banner_prefix . '_hide_banner_on_plugin_page' ] = array(
@@ -360,7 +368,7 @@ if ( ! function_exists( 'bws_add_plugin_banner_timeout' ) ) {
360
  if ( isset( $bstwbsftwppdtplgns_options['time_out'][ $plugin_key ] ) && ( strtotime( $bstwbsftwppdtplgns_options['time_out'][ $plugin_key ] ) < strtotime( date("m/d/Y") . '+1 month' ) ) && ( strtotime( $bstwbsftwppdtplgns_options['time_out'][ $plugin_key ] ) > strtotime( date("m/d/Y") ) ) ) {
361
 
362
  if ( false == strrpos( $banner_url_or_slug, '/' ) ) {
363
- $banner_url_or_slug = '//ps.w.org/' . $banner_url_or_slug . '/assets/icon-128x128.png';
364
  }
365
 
366
  $bws_plugin_banner_timeout[] = array(
@@ -394,7 +402,7 @@ if ( ! function_exists( 'bws_plugin_banner_to_settings' ) ) {
394
  }
395
 
396
  if ( false == strrpos( $banner_url_or_slug, '/' ) ) {
397
- $banner_url_or_slug = '//ps.w.org/' . $banner_url_or_slug . '/assets/icon-128x128.png';
398
  }
399
 
400
  $bws_plugin_banner_to_settings[] = array(
@@ -451,7 +459,7 @@ if ( ! function_exists( 'bws_plugin_suggest_feature_banner' ) ) {
451
  }
452
 
453
  if ( false == strrpos( $banner_url_or_slug, '/' ) ) {
454
- $banner_url_or_slug = '//ps.w.org/' . $banner_url_or_slug . '/assets/icon-128x128.png';
455
  } ?>
456
  <div class="updated" style="padding: 0; margin: 0; border: none; background: none;">
457
  <div class="bws_banner_on_plugin_page bws_suggest_feature_banner">
@@ -597,7 +605,7 @@ if ( ! function_exists ( 'bws_admin_enqueue_scripts' ) ) {
597
  };
598
  $( '." . $prefix . "_close_icon' ).click( function() {
599
  $( '." . $prefix . "_message' ).css( 'display', 'none' );
600
- $.cookie( '" . $prefix . "_hide_banner_on_plugin_page', 'true', { expires: 32 } );
601
  });
602
  });
603
  })(jQuery);";
@@ -623,7 +631,7 @@ if ( ! function_exists ( 'bws_admin_enqueue_scripts' ) ) {
623
  }
624
  $( '." . $banner_value['prefix'] . "_close_icon' ).click( function() {
625
  $( '." . $banner_value['prefix'] . "_message_timeout' ).css( 'display', 'none' );
626
- $.cookie( '" . $banner_value['prefix'] . "_timeout_hide_banner_on_plugin_page', 'true', { expires: 30 } );
627
  });";
628
  }
629
 
@@ -1087,4 +1095,4 @@ add_action( 'admin_notices', 'bws_admin_notices', 30 );
1087
 
1088
  add_action( 'wp_enqueue_scripts', 'bws_enqueue_custom_code_css_js', 20 );
1089
 
1090
- bws_enqueue_custom_code_php();
183
 
184
  /* bws_plugin_banner_go_pro */
185
  if ( ! empty( $bws_plugin_banner_go_pro ) ) {
186
+ /* get $bws_plugins */
187
+ require( dirname( __FILE__ ) . '/product_list.php' );
188
+
189
  foreach ( $bstwbsftwppdtplgns_banner_array as $value ) {
190
  if ( isset( $bws_plugin_banner_go_pro[ $value[0] ] ) && ! isset( $_COOKIE[ $value[0] ] ) ) {
191
+
192
+ if ( isset( $bws_plugins[ $value[1] ]['pro_version'] ) && is_plugin_active( $bws_plugins[ $value[1] ]['pro_version'] ) ) {
193
+ continue;
194
+ }
195
+
196
  $single_banner_value = $bws_plugin_banner_go_pro[ $value[0] ]; ?>
197
  <div class="updated" style="padding: 0; margin: 0; border: none; background: none;">
198
  <div class="<?php echo $single_banner_value['prefix']; ?>_message bws_banner_on_plugin_page bws_go_pro_banner" style="display: none;">
343
  $bws_link = esc_url( 'https://bestwebsoft.com/products/wordpress/plugins/' . $bws_link_slug . '/?k=' . $link_key . '&pn=' . $link_pn . '&v=' . $plugin_info["Version"] . '&wp_v=' . $wp_version );
344
 
345
  if ( false == strrpos( $banner_url_or_slug, '/' ) ) {
346
+ $banner_url_or_slug = '//ps.w.org/' . $banner_url_or_slug . '/assets/icon-256x256.png';
347
  }
348
 
349
  $bws_plugin_banner_go_pro[ $this_banner_prefix . '_hide_banner_on_plugin_page' ] = array(
368
  if ( isset( $bstwbsftwppdtplgns_options['time_out'][ $plugin_key ] ) && ( strtotime( $bstwbsftwppdtplgns_options['time_out'][ $plugin_key ] ) < strtotime( date("m/d/Y") . '+1 month' ) ) && ( strtotime( $bstwbsftwppdtplgns_options['time_out'][ $plugin_key ] ) > strtotime( date("m/d/Y") ) ) ) {
369
 
370
  if ( false == strrpos( $banner_url_or_slug, '/' ) ) {
371
+ $banner_url_or_slug = '//ps.w.org/' . $banner_url_or_slug . '/assets/icon-256x256.png';
372
  }
373
 
374
  $bws_plugin_banner_timeout[] = array(
402
  }
403
 
404
  if ( false == strrpos( $banner_url_or_slug, '/' ) ) {
405
+ $banner_url_or_slug = '//ps.w.org/' . $banner_url_or_slug . '/assets/icon-256x256.png';
406
  }
407
 
408
  $bws_plugin_banner_to_settings[] = array(
459
  }
460
 
461
  if ( false == strrpos( $banner_url_or_slug, '/' ) ) {
462
+ $banner_url_or_slug = '//ps.w.org/' . $banner_url_or_slug . '/assets/icon-256x256.png';
463
  } ?>
464
  <div class="updated" style="padding: 0; margin: 0; border: none; background: none;">
465
  <div class="bws_banner_on_plugin_page bws_suggest_feature_banner">
605
  };
606
  $( '." . $prefix . "_close_icon' ).click( function() {
607
  $( '." . $prefix . "_message' ).css( 'display', 'none' );
608
+ $.cookie( '" . $prefix . "_hide_banner_on_plugin_page', 'true', { expires: 32, secure: true } );
609
  });
610
  });
611
  })(jQuery);";
631
  }
632
  $( '." . $banner_value['prefix'] . "_close_icon' ).click( function() {
633
  $( '." . $banner_value['prefix'] . "_message_timeout' ).css( 'display', 'none' );
634
+ $.cookie( '" . $banner_value['prefix'] . "_timeout_hide_banner_on_plugin_page', 'true', { expires: 30, secure: true } );
635
  });";
636
  }
637
 
1095
 
1096
  add_action( 'wp_enqueue_scripts', 'bws_enqueue_custom_code_css_js', 20 );
1097
 
1098
+ bws_enqueue_custom_code_php();
bws_menu/bws_menu.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /*
3
  * Function for displaying BestWebSoft menu
4
- * Version: 2.2.9
5
  */
6
 
7
  if ( ! function_exists ( 'bws_admin_enqueue_scripts' ) )
@@ -9,7 +9,7 @@ if ( ! function_exists ( 'bws_admin_enqueue_scripts' ) )
9
 
10
  if ( ! function_exists( 'bws_add_menu_render' ) ) {
11
  function bws_add_menu_render() {
12
- global $wpdb, $wp_version, $bws_plugin_info, $bstwbsftwppdtplgns_options;
13
  $error = $message = '';
14
 
15
  /**
@@ -138,6 +138,7 @@ if ( ! function_exists( 'bws_add_menu_render' ) ) {
138
  } elseif ( is_array( $value->package ) && ! empty( $value->package ) ) {
139
  $plugins_array = $_SESSION['bws_membership_list'] = $value->package;
140
  $_SESSION['bws_membership_time_check'] = strtotime( 'now' );
 
141
  if ( isset( $bstwbsftwppdtplgns_options[ $bws_license_plugin ] ) && $bws_license_key == $bstwbsftwppdtplgns_options[ $bws_license_plugin ] ) {
142
  $message = __( 'The license key is valid.', 'bestwebsoft' );
143
  if ( isset( $value->time_out ) && $value->time_out != '' )
@@ -459,7 +460,7 @@ if ( ! function_exists( 'bws_add_menu_render' ) ) {
459
 
460
  $key_plugin_explode = explode( '/', $key_plugin );
461
 
462
- $icon = isset( $value_plugin['icon'] ) ? $value_plugin['icon'] : '//ps.w.org/' . $key_plugin_explode[0] . '/assets/icon-128x128.png';
463
  $is_pro_isset = isset( $value_plugin['pro_version'] );
464
  $is_installed = array_key_exists( $key_plugin, $all_plugins );
465
  $is_active = in_array( $key_plugin, $active_plugins ) || isset( $sitewide_active_plugins[ $key_plugin ] );
@@ -546,7 +547,7 @@ if ( ! function_exists( 'bws_add_menu_render' ) ) {
546
  <?php } elseif ( $is_installed ) { ?>
547
  <a class="button button-secondary" href="<?php echo esc_url( wp_nonce_url( self_admin_url( $current_page . '&bws_activate_plugin=' . $key_plugin ), 'bws_activate_plugin' . $key_plugin ) ); ?>" title="<?php _e( 'Activate this plugin', 'bestwebsoft' ); ?>"><?php _e( 'Activate', 'bestwebsoft' ); ?></a>
548
  <?php } else {
549
- $install_url = isset( $value_plugin['install_url'] ) ? $value_plugin['install_url'] : self_admin_url( 'plugin-install.php?tab=search&type=term&s=' . str_replace( array( ' ', '-' ), '+', str_replace( '&', '', $value_plugin['name'] ) ) . '+BestWebSoft&plugin-search-input=Search+Plugins' ); ?>
550
  <a class="button button-secondary" href="<?php echo esc_url( $install_url ); ?>" title="<?php _e( 'Install this plugin', 'bestwebsoft' ); ?>" target="_blank"><?php _e( 'Install Now', 'bestwebsoft' ); ?></a>
551
  <?php }
552
  } ?>
@@ -706,4 +707,4 @@ if ( ! function_exists( 'bws_get_banner_array' ) ) {
706
  array( 'cstmdmnpg_hide_banner_on_plugin_page', 'custom-admin-page/custom-admin-page.php', '1.0.0' )
707
  );
708
  }
709
- }
1
  <?php
2
  /*
3
  * Function for displaying BestWebSoft menu
4
+ * Version: 2.3.6
5
  */
6
 
7
  if ( ! function_exists ( 'bws_admin_enqueue_scripts' ) )
9
 
10
  if ( ! function_exists( 'bws_add_menu_render' ) ) {
11
  function bws_add_menu_render() {
12
+ global $wpdb, $wp_version, $bstwbsftwppdtplgns_options;
13
  $error = $message = '';
14
 
15
  /**
138
  } elseif ( is_array( $value->package ) && ! empty( $value->package ) ) {
139
  $plugins_array = $_SESSION['bws_membership_list'] = $value->package;
140
  $_SESSION['bws_membership_time_check'] = strtotime( 'now' );
141
+
142
  if ( isset( $bstwbsftwppdtplgns_options[ $bws_license_plugin ] ) && $bws_license_key == $bstwbsftwppdtplgns_options[ $bws_license_plugin ] ) {
143
  $message = __( 'The license key is valid.', 'bestwebsoft' );
144
  if ( isset( $value->time_out ) && $value->time_out != '' )
460
 
461
  $key_plugin_explode = explode( '/', $key_plugin );
462
 
463
+ $icon = isset( $value_plugin['icon'] ) ? $value_plugin['icon'] : '//ps.w.org/' . $key_plugin_explode[0] . '/assets/icon-256x256.png';
464
  $is_pro_isset = isset( $value_plugin['pro_version'] );
465
  $is_installed = array_key_exists( $key_plugin, $all_plugins );
466
  $is_active = in_array( $key_plugin, $active_plugins ) || isset( $sitewide_active_plugins[ $key_plugin ] );
547
  <?php } elseif ( $is_installed ) { ?>
548
  <a class="button button-secondary" href="<?php echo esc_url( wp_nonce_url( self_admin_url( $current_page . '&bws_activate_plugin=' . $key_plugin ), 'bws_activate_plugin' . $key_plugin ) ); ?>" title="<?php _e( 'Activate this plugin', 'bestwebsoft' ); ?>"><?php _e( 'Activate', 'bestwebsoft' ); ?></a>
549
  <?php } else {
550
+ $install_url = isset( $value_plugin['install_url'] ) ? $value_plugin['install_url'] : network_admin_url( 'plugin-install.php?tab=search&type=term&s=' . str_replace( array( ' ', '-' ), '+', str_replace( '&', '', $value_plugin['name'] ) ) . '+BestWebSoft&plugin-search-input=Search+Plugins' ); ?>
551
  <a class="button button-secondary" href="<?php echo esc_url( $install_url ); ?>" title="<?php _e( 'Install this plugin', 'bestwebsoft' ); ?>" target="_blank"><?php _e( 'Install Now', 'bestwebsoft' ); ?></a>
552
  <?php }
553
  } ?>
707
  array( 'cstmdmnpg_hide_banner_on_plugin_page', 'custom-admin-page/custom-admin-page.php', '1.0.0' )
708
  );
709
  }
710
+ }
bws_menu/class-bws-settings.php CHANGED
@@ -10,6 +10,7 @@ if ( ! class_exists( 'Bws_Settings_Tabs' ) ) {
10
  private $tabs;
11
  private $pro_plugin_is_activated = false;
12
  private $custom_code_args = array();
 
13
 
14
  public $plugin_basename;
15
  public $prefix;
@@ -53,6 +54,8 @@ if ( ! class_exists( 'Bws_Settings_Tabs' ) ) {
53
  * @param array|string $args
54
  */
55
  public function __construct( $args = array() ) {
 
 
56
  $args = wp_parse_args( $args, array(
57
  'plugin_basename' => '',
58
  'prefix' => '',
@@ -66,8 +69,6 @@ if ( ! class_exists( 'Bws_Settings_Tabs' ) ) {
66
  'wp_slug' => '',
67
  'demo_data' => false,
68
  /* if this is free version and pro exist */
69
- 'pro_page' => '',
70
- 'bws_license_plugin' => '',
71
  'link_key' => '',
72
  'link_pn' => '',
73
  'trial_days' => false,
@@ -90,14 +91,27 @@ if ( ! class_exists( 'Bws_Settings_Tabs' ) ) {
90
  $this->doc_link = $args['doc_link'];
91
  $this->doc_video_link = $args['doc_video_link'];
92
 
93
- $this->pro_page = $args['pro_page'];
94
- $this->bws_license_plugin = $args['bws_license_plugin'];
95
  $this->link_key = $args['link_key'];
96
  $this->link_pn = $args['link_pn'];
97
  $this->trial_days = $args['trial_days'];
98
  $this->licenses = $args['licenses'];
99
 
100
- $this->hide_pro_tabs = bws_hide_premium_options_check( $this->options );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
101
  $this->version = '1.0.0';
102
  $this->is_multisite = is_multisite();
103
 
@@ -112,7 +126,7 @@ if ( ! class_exists( 'Bws_Settings_Tabs' ) ) {
112
  $this->licenses[ $this->plugins_info['TextDomain'] ] = array(
113
  'name' => $this->plugins_info['Name'],
114
  'slug' => $this->plugins_info['TextDomain'],
115
- 'pro_slug' => stristr( $this->bws_license_plugin, '/', TRUE ),
116
  'basename' => $this->plugin_basename,
117
  'pro_basename' => $this->bws_license_plugin
118
  );
@@ -155,8 +169,12 @@ if ( ! class_exists( 'Bws_Settings_Tabs' ) ) {
155
  <div class="submitbox" id="submitpost">
156
  <div id="minor-publishing">
157
  <div id="misc-publishing-actions">
158
- <?php if ( $this->is_pro ) {
159
- if ( ! array_key_exists( $this->plugin_basename, $bstwbsftwppdtplgns_options['time_out'] ) || isset( $bstwbsftwppdtplgns_options['wrong_license_key'][ $this->plugin_basename ] ) ) {
 
 
 
 
160
  $license_type = 'Pro';
161
  $license_status = __( 'Inactive', 'bestwebsoft' ) . ' <a href="#' . $this->prefix . '_license_tab" class="bws_trigger_tab_click">' . __( 'Learn More', 'bestwebsoft' ) . '</a>';
162
  } else {
@@ -191,6 +209,10 @@ if ( ! class_exists( 'Bws_Settings_Tabs' ) ) {
191
  <div class="misc-pub-section">
192
  <strong><?php _e( 'Version', 'bestwebsoft' ); ?>:</strong> <?php echo $this->plugins_info['Version']; ?>
193
  </div><!-- .misc-pub-section -->
 
 
 
 
194
  </div>
195
  <div class="clear"></div>
196
  </div>
@@ -234,8 +256,7 @@ if ( ! class_exists( 'Bws_Settings_Tabs' ) ) {
234
  * @param void
235
  * @return void
236
  */
237
- public function display_tabs() {
238
- global $wp_version; ?>
239
  <div id="bws_settings_tabs_wrapper">
240
  <ul id="bws_settings_tabs">
241
  <?php $this->display_tabs_list(); ?>
@@ -762,18 +783,15 @@ if ( ! class_exists( 'Bws_Settings_Tabs' ) ) {
762
  </tr>
763
  </table>
764
  <?php } else {
765
- $attr = '';
766
  if ( isset( $bstwbsftwppdtplgns_options['go_pro'][ $this->bws_license_plugin ]['count'] ) &&
767
  '5' < $bstwbsftwppdtplgns_options['go_pro'][ $this->bws_license_plugin ]['count'] &&
768
  $bstwbsftwppdtplgns_options['go_pro'][ $this->bws_license_plugin ]['time'] > ( time() - ( 24 * 60 * 60 ) ) )
769
  $attr = 'disabled="disabled"';
770
 
771
- $license_key = '';
772
- if( ! empty( $single_license['pro_basename'] ) ) {
773
  $license_key = ! empty( $bstwbsftwppdtplgns_options[ $single_license['pro_basename'] ] ) ? $bstwbsftwppdtplgns_options[ $single_license['pro_basename'] ] : '';
774
- }
775
- $current_plugin_link = ( ! empty( $this->link_key ) && ! empty( $this->link_pn ) ? esc_url( 'https://bestwebsoft.com/products/wordpress/plugins/' . $this->wp_slug . '/' . '?k=' . $this->link_key . '&pn=' . $this->link_pn . '&v=' . $this->plugins_info["Version"] . '&wp_v=' . $wp_version ) : esc_url( 'https://bestwebsoft.com/products/wordpress/plugins/' . $this->wp_slug . '/' ) );
776
- ?>
777
  <table class="form-table">
778
  <tr>
779
  <th scope="row"><?php echo $pro_plugin_name . ' License'; ?></th>
@@ -782,7 +800,7 @@ if ( ! class_exists( 'Bws_Settings_Tabs' ) ) {
782
  <input <?php echo $attr; ?> type="hidden" name="bws_license_plugin_<?php echo ( ! empty( $single_license['pro_slug'] ) ) ? $single_license['pro_slug'] : $single_license['slug']; ?>" value="<?php echo esc_attr( ( ! empty( $single_license['pro_slug'] ) ) ? $single_license['pro_slug'] : $single_license['slug'] ); ?>" />
783
  <input <?php echo $attr; ?> type="submit" class="button button-secondary" name="bws_license_submit" value="<?php _e( 'Activate', 'bestwebsoft' ); ?>" />
784
  <div class="bws_info">
785
- <?php printf( __( 'Enter your license key to activate %s and get premium plugin features.', 'bestwebsoft' ), '<a href="' . $current_plugin_link . '" target="_blank" title="' . $pro_plugin_name . '">' . $pro_plugin_name . '</a>' ); ?>
786
  </div>
787
  <?php if ( '' != $attr ) { ?>
788
  <p><?php _e( "Unfortunately, you have exceeded the number of available tries per day. Please, upload the plugin manually.", 'bestwebsoft' ); ?></p>
@@ -832,6 +850,7 @@ if ( ! class_exists( 'Bws_Settings_Tabs' ) ) {
832
  private function save_options_license_key() {
833
  global $wp_version, $bstwbsftwppdtplgns_options;
834
  /*$empty_field_error - added to avoid error when 1 field is empty while another field contains license key*/
 
835
  $error = $message = $empty_field_error = '';
836
 
837
  foreach ( $this->licenses as $single_license) {
@@ -855,7 +874,7 @@ if ( ! class_exists( 'Bws_Settings_Tabs' ) ) {
855
  if ( ! empty( $this->all_plugins ) && ! empty( $current ) && isset( $current->response ) && is_array( $current->response ) ) {
856
  $to_send = array();
857
  $to_send["plugins"][ $single_license['basename'] ] = $this->all_plugins[ $single_license['basename'] ];
858
- $to_send["plugins"][ $single_license['basename'] ]["bws_license_key"] = $bws_license_key;
859
  $to_send["plugins"][ $single_license['basename'] ]["bws_illegal_client"] = true;
860
  $options = array(
861
  'timeout' => ( ( defined( 'DOING_CRON' ) && DOING_CRON ) ? 30 : 3 ),
@@ -1106,4 +1125,4 @@ if ( ! class_exists( 'Bws_Settings_Tabs' ) ) {
1106
  }
1107
  }
1108
  }
1109
- }
10
  private $tabs;
11
  private $pro_plugin_is_activated = false;
12
  private $custom_code_args = array();
13
+ private $bws_plugin_link = '';
14
 
15
  public $plugin_basename;
16
  public $prefix;
54
  * @param array|string $args
55
  */
56
  public function __construct( $args = array() ) {
57
+ global $wp_version;
58
+
59
  $args = wp_parse_args( $args, array(
60
  'plugin_basename' => '',
61
  'prefix' => '',
69
  'wp_slug' => '',
70
  'demo_data' => false,
71
  /* if this is free version and pro exist */
 
 
72
  'link_key' => '',
73
  'link_pn' => '',
74
  'trial_days' => false,
91
  $this->doc_link = $args['doc_link'];
92
  $this->doc_video_link = $args['doc_video_link'];
93
 
 
 
94
  $this->link_key = $args['link_key'];
95
  $this->link_pn = $args['link_pn'];
96
  $this->trial_days = $args['trial_days'];
97
  $this->licenses = $args['licenses'];
98
 
99
+ $this->pro_page = $this->bws_license_plugin = '';
100
+ /* get $bws_plugins */
101
+ require( dirname( __FILE__ ) . '/product_list.php' );
102
+ if ( isset( $bws_plugins[ $this->plugin_basename ] ) ) {
103
+ if ( isset( $bws_plugins[ $this->plugin_basename ]['pro_settings'] ) ) {
104
+ $this->pro_page = $bws_plugins[ $this->plugin_basename ]['pro_settings'];
105
+ $this->bws_license_plugin = $bws_plugins[ $this->plugin_basename ]['pro_version'];
106
+ }
107
+
108
+ $this->bws_plugin_link = substr( $bws_plugins[ $this->plugin_basename ]['link'],0 , strpos( $bws_plugins[ $this->plugin_basename ]['link'], '?' ) );
109
+
110
+ if ( ! empty( $this->link_key ) && ! empty( $this->link_pn ) )
111
+ $this->bws_plugin_link .= '?k=' . $this->link_key . '&pn=' . $this->link_pn . '&v=' . $this->plugins_info["Version"] . '&wp_v=' . $wp_version;
112
+ }
113
+
114
+ $this->hide_pro_tabs = bws_hide_premium_options_check( $this->options );
115
  $this->version = '1.0.0';
116
  $this->is_multisite = is_multisite();
117
 
126
  $this->licenses[ $this->plugins_info['TextDomain'] ] = array(
127
  'name' => $this->plugins_info['Name'],
128
  'slug' => $this->plugins_info['TextDomain'],
129
+ 'pro_slug' => substr( $this->bws_license_plugin, 0, stripos( $this->bws_license_plugin, '/' ) ),
130
  'basename' => $this->plugin_basename,
131
  'pro_basename' => $this->bws_license_plugin
132
  );
169
  <div class="submitbox" id="submitpost">
170
  <div id="minor-publishing">
171
  <div id="misc-publishing-actions">
172
+ <?php /**
173
+ * action - Display additional content for #misc-publishing-actions
174
+ */
175
+ do_action( __CLASS__ . '_information_postbox_top' ); ?>
176
+ <?php if ( $this->is_pro ) {
177
+ if ( isset( $bstwbsftwppdtplgns_options['wrong_license_key'][ $this->plugin_basename ] ) || empty( $bstwbsftwppdtplgns_options['time_out'] ) || ! array_key_exists( $this->plugin_basename, $bstwbsftwppdtplgns_options['time_out'] ) ) {
178
  $license_type = 'Pro';
179
  $license_status = __( 'Inactive', 'bestwebsoft' ) . ' <a href="#' . $this->prefix . '_license_tab" class="bws_trigger_tab_click">' . __( 'Learn More', 'bestwebsoft' ) . '</a>';
180
  } else {
209
  <div class="misc-pub-section">
210
  <strong><?php _e( 'Version', 'bestwebsoft' ); ?>:</strong> <?php echo $this->plugins_info['Version']; ?>
211
  </div><!-- .misc-pub-section -->
212
+ <?php /**
213
+ * action - Display additional content for #misc-publishing-actions
214
+ */
215
+ do_action( __CLASS__ . '_information_postbox_bottom' ); ?>
216
  </div>
217
  <div class="clear"></div>
218
  </div>
256
  * @param void
257
  * @return void
258
  */
259
+ public function display_tabs() { ?>
 
260
  <div id="bws_settings_tabs_wrapper">
261
  <ul id="bws_settings_tabs">
262
  <?php $this->display_tabs_list(); ?>
783
  </tr>
784
  </table>
785
  <?php } else {
786
+ $attr = $license_key = '';
787
  if ( isset( $bstwbsftwppdtplgns_options['go_pro'][ $this->bws_license_plugin ]['count'] ) &&
788
  '5' < $bstwbsftwppdtplgns_options['go_pro'][ $this->bws_license_plugin ]['count'] &&
789
  $bstwbsftwppdtplgns_options['go_pro'][ $this->bws_license_plugin ]['time'] > ( time() - ( 24 * 60 * 60 ) ) )
790
  $attr = 'disabled="disabled"';
791
 
792
+ if ( ! empty( $single_license['pro_basename'] ) ) {
 
793
  $license_key = ! empty( $bstwbsftwppdtplgns_options[ $single_license['pro_basename'] ] ) ? $bstwbsftwppdtplgns_options[ $single_license['pro_basename'] ] : '';
794
+ } ?>
 
 
795
  <table class="form-table">
796
  <tr>
797
  <th scope="row"><?php echo $pro_plugin_name . ' License'; ?></th>
800
  <input <?php echo $attr; ?> type="hidden" name="bws_license_plugin_<?php echo ( ! empty( $single_license['pro_slug'] ) ) ? $single_license['pro_slug'] : $single_license['slug']; ?>" value="<?php echo esc_attr( ( ! empty( $single_license['pro_slug'] ) ) ? $single_license['pro_slug'] : $single_license['slug'] ); ?>" />
801
  <input <?php echo $attr; ?> type="submit" class="button button-secondary" name="bws_license_submit" value="<?php _e( 'Activate', 'bestwebsoft' ); ?>" />
802
  <div class="bws_info">
803
+ <?php printf( __( 'Enter your license key to activate %s and get premium plugin features.', 'bestwebsoft' ), '<a href="' . $this->bws_plugin_link . '" target="_blank" title="' . $pro_plugin_name . '">' . $pro_plugin_name . '</a>' ); ?>
804
  </div>
805
  <?php if ( '' != $attr ) { ?>
806
  <p><?php _e( "Unfortunately, you have exceeded the number of available tries per day. Please, upload the plugin manually.", 'bestwebsoft' ); ?></p>
850
  private function save_options_license_key() {
851
  global $wp_version, $bstwbsftwppdtplgns_options;
852
  /*$empty_field_error - added to avoid error when 1 field is empty while another field contains license key*/
853
+
854
  $error = $message = $empty_field_error = '';
855
 
856
  foreach ( $this->licenses as $single_license) {
874
  if ( ! empty( $this->all_plugins ) && ! empty( $current ) && isset( $current->response ) && is_array( $current->response ) ) {
875
  $to_send = array();
876
  $to_send["plugins"][ $single_license['basename'] ] = $this->all_plugins[ $single_license['basename'] ];
877
+ $to_send["plugins"][ $single_license['basename'] ]["bws_license_key"] = $bws_license_key;
878
  $to_send["plugins"][ $single_license['basename'] ]["bws_illegal_client"] = true;
879
  $options = array(
880
  'timeout' => ( ( defined( 'DOING_CRON' ) && DOING_CRON ) ? 30 : 3 ),
1125
  }
1126
  }
1127
  }
1128
+ }
bws_menu/css/general_style.css CHANGED
@@ -330,7 +330,7 @@ div.bws_banner_on_plugin_page .icon {
330
  margin: 12px 8px 8px 12px;
331
  }
332
  .bws_banner_on_plugin_page .icon img {
333
- max-width: 60px;
334
  }
335
  .bws_go_pro_banner .icon:before {
336
  content: 'PRO';
@@ -661,6 +661,9 @@ span.bws_code {
661
  #bws_settings_tabs li.bws-tab-notifications a:before {
662
  content: "\f466";
663
  }
 
 
 
664
  #bws_settings_tabs li.bws-tab-output a:before {
665
  content: "\f498";
666
  }
@@ -813,4 +816,4 @@ span.bws_code {
813
  padding-left: 0;
814
  padding-right: 0;
815
  }
816
- }
330
  margin: 12px 8px 8px 12px;
331
  }
332
  .bws_banner_on_plugin_page .icon img {
333
+ max-width: 64px;
334
  }
335
  .bws_go_pro_banner .icon:before {
336
  content: 'PRO';
661
  #bws_settings_tabs li.bws-tab-notifications a:before {
662
  content: "\f466";
663
  }
664
+ #bws_settings_tabs li.bws-tab-reports a:before {
665
+ content: "\f535";
666
+ }
667
  #bws_settings_tabs li.bws-tab-output a:before {
668
  content: "\f498";
669
  }
816
  padding-left: 0;
817
  padding-right: 0;
818
  }
819
+ }
bws_menu/css/style.css CHANGED
@@ -260,7 +260,7 @@ table.bws-system-info tbody tr:nth-child(odd) {
260
  box-shadow: none;
261
  }
262
  .bws_product_image img {
263
- height: 60px;
264
  }
265
  .bws_product_content {
266
  max-width: 200px;
@@ -484,4 +484,4 @@ a.bws_donate {
484
  max-width: 160px;
485
  padding-right: 10px;
486
  }
487
- }
260
  box-shadow: none;
261
  }
262
  .bws_product_image img {
263
+ height: 64px;
264
  }
265
  .bws_product_content {
266
  max-width: 200px;
484
  max-width: 160px;
485
  padding-right: 10px;
486
  }
487
+ }
bws_menu/deactivation-form.php CHANGED
@@ -360,7 +360,7 @@ if ( ! function_exists( 'bws_submit_uninstall_reason_action' ) ) {
360
  exit;
361
  }
362
 
363
- $reason_info = isset( $_REQUEST['reason_info'] ) ? stripcslashes( sanitize_textarea_field( $_REQUEST['reason_info'] ) ) : '';
364
  if ( ! empty( $reason_info ) ) {
365
  $reason_info = substr( $reason_info, 0, 255 );
366
  }
360
  exit;
361
  }
362
 
363
+ $reason_info = isset( $_REQUEST['reason_info'] ) ? stripcslashes( sanitize_text_field( $_REQUEST['reason_info'] ) ) : '';
364
  if ( ! empty( $reason_info ) ) {
365
  $reason_info = substr( $reason_info, 0, 255 );
366
  }
bws_menu/fonts/bwsicons.eot CHANGED
Binary file
bws_menu/fonts/bwsicons.svg CHANGED
@@ -18,6 +18,7 @@
18
  <glyph unicode="&#xe90a;" glyph-name="Donate" d="M512 887.385c241.231 0 439.385-198.154 439.385-439.385s-198.154-437.662-439.385-437.662c-241.231 0-439.385 194.708-439.385 437.662s198.154 439.385 439.385 439.385zM530.954 752.985h-48.246c-10.338 0-18.954-8.615-18.954-18.954v0-48.246c-62.031-17.231-101.662-65.477-101.662-129.231 0-68.923 46.523-120.615 139.569-153.354 65.477-22.4 70.646-39.631 72.369-60.308 0-13.785 0-48.246-60.308-48.246-31.015 0-63.754 20.677-84.431 36.185-8.615 6.892-20.677 6.892-29.292-1.723v0l-32.738-34.462c-8.615-8.615-8.615-24.123 1.723-32.738 18.954-15.508 53.415-39.631 94.769-51.692v0-48.246c0-10.338 8.615-18.954 18.954-18.954v0h48.246c10.338 0 18.954 8.615 18.954 18.954v0 44.8c70.646 12.062 115.446 63.754 115.446 136.123 0 101.662-91.323 134.4-130.954 148.185-79.262 27.569-79.262 55.138-79.262 67.2 0 39.631 46.523 44.8 60.308 44.8 22.4 1.723 43.077-10.338 58.585-18.954 8.615-5.169 20.677-5.169 27.569 3.446v0l32.738 34.462c8.615 8.615 6.892 24.123-3.446 32.738-17.231 12.062-46.523 29.292-80.985 36.185v0 43.077c0 10.338-8.615 18.954-18.954 18.954v0z" />
19
  <glyph unicode="&#xe90c;" glyph-name="Error-Low-Viewer" d="M530.824 875.807v-318.289h297.754v-537.326h-636.578v855.615h338.824zM484.62 370.995c-47.059 0-77.005-35.936-77.005-82.995 0-45.348 27.38-80.428 74.439-80.428 46.203 0 77.861 30.802 77.861 82.995 0 43.636-26.524 80.428-75.294 80.428zM674.567 370.139c-51.337 0-89.84-29.947-90.695-82.995 0-23.102 7.701-43.636 22.246-57.326 14.545-14.545 35.080-21.39 64.171-21.39 21.39 0 41.925 5.134 53.048 8.556v0 84.706h-59.037v-28.235h24.813v-33.369c-3.422-1.711-9.412-2.567-17.968-2.567-29.091 0-49.626 19.679-49.626 52.193 0 34.225 22.246 51.337 52.193 51.337 17.112 0 28.235-3.422 36.791-6.845v0l7.701 28.235c-7.701 3.422-23.102 7.701-43.636 7.701zM331.465 373.561h-31.658v-160h95.829v32.513h-64.171v127.487zM483.764 342.759c24.813 0 38.503-24.813 38.503-53.048 0-30.802-13.69-53.904-37.647-53.904s-38.502 22.246-38.502 53.048c0 30.802 13.689 53.904 37.646 53.904zM589.861 875.807l242.139-259.251h-242.139v259.251z" />
20
  <glyph unicode="&#xe90d;" glyph-name="Like-Share" d="M486.596 864c50.181 0 83.635-22 83.635-88v0-176h179.816c33.454 0 66.908-13.2 87.817-44 20.909-22 29.272-57.2 25.091-92.4v0l-33.454-202.4c-8.364-57.2-54.363-101.2-108.726-101.2v0h-359.632v352c4.182 0 100.362 330 100.362 330 0 13.2 12.545 22 25.091 22zM260.571 512v-352h-100.571v352h100.571z" />
 
21
  <glyph unicode="&#xe910;" glyph-name="Gallery" d="M424 316c24.288 0 44-19.712 44-44v-132c0-24.288-19.712-44-44-44h-220c-24.288 0-44 19.712-44 44v132c0 24.288 19.712 44 44 44h220zM820 448c24.288 0 44-19.712 44-44v-264c0-24.288-19.712-44-44-44h-220c-24.288 0-44 19.712-44 44v264c0 24.288 19.712 44 44 44h220zM424 800c24.288 0 44-19.712 44-44v-308c0-24.288-19.712-44-44-44h-220c-24.288 0-44 19.712-44 44v308c0 24.288 19.712 44 44 44h220zM820 800c24.288 0 44-19.712 44-44v-176c0-24.288-19.712-44-44-44h-220c-24.288 0-44 19.712-44 44v176c0 24.288 19.712 44 44 44h220z" />
22
  <glyph unicode="&#xe911;" glyph-name="Analytics" d="M896 784v-672h-192v672h192zM608 592v-480h-192v480h192zM320 400v-288h-192v288h192z" />
23
  <glyph unicode="&#xe912;" glyph-name="reCaptcha" d="M758.4 800c58.321 0 105.6-47.279 105.6-105.6v-492.8c0-58.321-47.279-105.6-105.6-105.6h-492.8c-58.321 0-105.6 47.279-105.6 105.6v492.8c0 58.321 47.279 105.6 105.6 105.6h492.8zM680.96 606.4l-232.32-168.96-105.6 63.36-42.24-42.24 147.84-168.96 274.56 274.56-42.24 42.24z" />
@@ -27,12 +28,14 @@
27
  <glyph unicode="&#xe916;" glyph-name="Sitemap" d="M747.219 474.709v-112.829h-111.873v112.829h-104.223v112.829h103.267v225.657h-244.781v-225.657h104.223v-112.829h-104.223v-113.785h-112.829v113.785h-244.781v-263.904h244.781v113.785h112.829v-113.785h245.737v112.829h111.873v-112.829h244.781v263.904z" />
28
  <glyph unicode="&#xe917;" glyph-name="Htaccess" d="M754.258 516.596v143.83c0 132.766-108.426 203.574-241.191 203.574-132.77 0-238.983-73.021-238.983-203.574v-146.043c-44.255-2.213-88.511-24.34-88.511-70.809v-327.489c0-46.468 37.617-84.085 84.085-84.085h486.813c46.468 0 81.872 37.617 81.872 84.085v327.489c2.213 44.255-39.83 70.809-84.085 73.021zM590.514 173.617c-2.213-4.426-6.638-6.638-11.064-6.638h-130.558c-4.426 0-8.851 2.213-11.064 6.638s-2.213 8.851-2.213 13.277l30.979 81.872c-17.702 13.277-26.553 35.404-26.553 55.319 0 39.83 33.191 73.021 73.026 73.021 39.83 0 73.021-33.191 73.021-73.021 0-22.128-11.064-42.043-26.553-55.319l30.979-81.872c4.426-4.426 2.213-11.064 0-13.277zM665.748 512.17h-303.153v146.043c0 66.383 88.511 117.277 154.898 117.277 66.383 0 150.468-50.894 150.468-117.277v-146.043h-2.213z" />
29
  <glyph unicode="&#xe918;" glyph-name="Job-Board" d="M896 514.397v-358.701c0-36.735-24.961-66.978-57.026-70.847l-6.974-0.418h-640c-32.99 0-60.15 27.794-63.624 63.5l-0.376 7.765v358.701l31.446-8.609c231.151-60.388 473.957-60.388 705.108 0l31.446 8.609zM598.875 811.57c53.019 0 96-42.981 96-96v0l-0.027-60.992 137.152-0.024c32.99 0 60.15-27.794 63.624-63.5l0.376-7.765v-19.088l-31.446-8.609c-76.091-19.879-153.446-33.214-231.231-40.005-10.69-4.044-22.306-6.298-34.447-6.298v0h-173.75c-12.142 0-23.757 2.254-34.45 6.367-77.783 6.723-155.137 20.058-231.228 39.937l-31.446 8.609v19.088c0 36.735 24.961 66.978 57.026 70.847l6.974 0.418 137.088 0.024 0.037 60.992c0 49.901 38.073 90.909 86.755 95.561l9.245 0.439zM598.875 747.57h-173.75c-17.673 0-32-14.327-32-32v0l-0.037-60.992h237.76l0.027 60.992c0 15.709-11.32 28.775-26.248 31.484l-5.752 0.516z" />
 
30
  <glyph unicode="&#xe91a;" glyph-name="Limit-Attempts" d="M522.762 861.982c102.234-59.188 196.398-86.092 312.084-94.163 10.762-2.69 18.833-10.762 18.833-24.213v-295.942c0-239.444-158.732-295.942-328.226-411.628-8.071-5.381-18.833-5.381-24.213 0-169.494 115.686-330.917 172.184-330.917 411.628v295.942c0 13.452 8.071 21.523 21.523 24.213 112.996 8.071 209.85 34.975 309.394 94.163 8.071 2.69 16.142 2.69 21.523 0zM510.623 572.245c-43.013 0-78.853-35.84-78.853-78.848 0-21.504 9.557-45.397 28.672-59.733v0l-33.451-88.405c0-4.779 0-9.557 2.389-14.336s7.168-7.168 11.947-7.168v0h140.975c4.779 0 9.557 2.389 11.947 7.168 2.389 2.389 4.779 9.557 0 14.336v0l-33.451 88.405c16.725 14.336 28.672 35.84 28.672 59.733 0 43.008-35.84 78.848-78.848 78.848z" />
31
  <glyph unicode="&#xe91b;" glyph-name="Linked" d="M512 910.625c78.77 0 142.625-63.855 142.625-142.625l-0.005 1.909c79.751-35.386 143.904-99.538 179.29-179.29 77.869-1.008 140.716-64.475 140.716-142.62 0-78.77-63.855-142.625-142.625-142.625l1.909 0.005c-35.386-79.751-99.538-143.904-179.29-179.29-1.008-77.869-64.475-140.716-142.62-140.716-78.77 0-142.625 63.855-142.625 142.625l0.005-1.909c-79.751 35.386-143.904 99.538-179.29 179.29-77.869 1.008-140.716 64.475-140.716 142.62 0 78.77 63.855 142.625 142.625 142.625l-1.909-0.005c35.386 79.751 99.538 143.904 179.29 179.29 1.008 77.869 64.475 140.716 142.62 140.716zM640.336 705.896l-2.076-4.292c-23.885-45.327-71.464-76.229-126.26-76.229-56.471 0-105.276 32.819-128.383 80.424-55.959-27.827-101.589-73.457-129.513-129.463 47.702-23.061 80.521-71.866 80.521-128.336s-32.819-105.276-80.424-128.383c27.827-55.959 73.457-101.589 129.463-129.513 23.061 47.702 71.866 80.521 128.336 80.521s105.276-32.819 128.383-80.424c55.959 27.827 101.589 73.457 129.513 129.463-47.702 23.061-80.521 71.866-80.521 128.336s32.819 105.276 80.424 128.383c-27.827 55.959-73.457 101.589-129.463 129.513z" />
32
  <glyph unicode="&#xe91c;" glyph-name="Multilanguage" d="M656.768 160.896l104-8.32-35.776-105.664-24.96 40.768c-40.768-24.96-89.024-43.264-133.12-50.752-14.144-2.496-31.616-5.824-46.592-5.824v0h-41.6c-53.248 0-151.424 31.616-194.688 63.232-5.824 4.16-7.488 8.321-7.488 14.145 0 9.984 7.488 17.472 16.64 17.472 4.16 0 10.816-3.328 27.456-12.48 4.16-2.496 8.32-4.993 9.984-5.825 39.104-19.136 102.336-41.6 153.92-41.6 61.568 0 103.168 8.32 157.248 31.617 9.984 4.16 19.968 9.984 29.952 15.808v0l8.32 4.992-23.296 42.431zM809.856 928c5.824 0 9.984-4.16 9.984-10.816v0-207.168l73.216-23.296v-536.64c-355.383 113.568-381.485 121.68-383.4 122.259-8.472-3.283-363.736-123.091-368.728-123.091-4.16 0-7.488 2.496-9.152 6.656v0l-0.832 1.664v534.976c0 1.664 0.832 4.16 1.664 4.992 3.328 4.16 6.657 4.992 9.985 5.824 1.664 0.832 31.616 10.816 74.048 24.96v0 190.528l277.056-98.176c3.328 0.832 312 107.328 316.16 107.328zM493.696 784.896l-327.808-115.648v-472.576l327.808 108.16v480.064zM418.816 595.2l2.496-7.488c0.832-4.16 0-16.64-0.832-19.136 0-1.664-1.664-4.16-18.304-38.272-4.992-9.152-8.32-17.472-9.984-19.968 0-0.832-11.648-24.128-33.28-58.24 8.32-3.328 18.304-7.488 23.296-9.984 8.32-4.16 65.728-28.288 69.056-29.12 9.984-3.328 13.312-33.28 12.48-37.44-0.832-3.328-3.328-6.656-9.152-6.656-4.992 0-12.48 2.496-27.456 9.152-2.496 0.832-4.16 1.664-5.824 2.496-7.488 3.328-37.44 19.968-44.928 24.96-4.16 2.496-11.648 8.32-19.968 14.976v0l-13.312 9.984c-20.8-31.616-41.6-59.904-62.4-84.032v0l-4.992-5.824c-16.64-19.136-34.944-40.768-49.088-49.92-4.992-3.328-19.968-3.328-19.968-3.328-3.328 0-4.992 0-7.488 2.496v0l-11.647 5.824 9.984 7.488c4.992 4.16 19.968 21.632 29.952 33.28 3.328 4.16 6.656 8.32 9.152 10.816 12.48 14.144 70.72 95.68 80.704 113.984 8.32 15.808 26.624 52.416 36.608 72.384-8.32-2.496-19.968-6.656-34.944-11.648v0l-3.328-0.832c-4.16-1.664-10.816-3.328-17.472-4.992-5.824-1.664-13.312-3.328-17.472-4.992 0.832-2.496 0.832-4.992-0.832-7.488-3.328-6.656-17.472-10.816-20.8-11.648-4.16-1.664-14.976-3.328-26.624 0-8.32 2.496-15.808 10.816-18.304 14.144-0.832 0.832-2.496 4.992-3.328 14.976v0 5.824l5.824 1.664c3.328 0.832 7.488 1.664 12.48 2.496l4.622 0.863c3.328 0.616 7.026 1.356 10.354 2.465 11.648 3.328 37.44 10.816 51.584 15.808 4.16 1.664 9.984 3.328 15.808 5.824 14.144 4.992 29.12 9.984 35.776 11.648 4.16 0 13.312 4.992 20.8 9.152l5.72 3.211c5.772 3.237 11.544 6.357 15.912 7.605 4.16 1.664 7.488 2.496 10.816 4.16 5.824 1.664 8.32 3.328 11.648 3.328v0h6.656zM676.736 655.104l-107.328-265.408 50.752-14.976 22.464 54.912 104.832-32.448 18.304-66.56 50.752-16.64-89.856 326.144-49.92 14.976zM699.2 570.24l31.616-112.32-69.056 20.8 37.44 91.52zM341.441 635.967c9.984 0 16.639-5.824 19.135-14.976 1.664-10.816-0.831-16.64-2.495-19.136-6.656-13.312-22.464-20.8-29.12-23.296-7.488-3.328-20.801-6.656-32.449-6.656v0h-0.831c-6.656 0.832-16.64 3.328-29.12 16.64-5.824 6.656-13.313 24.128-10.817 30.784v0l2.497 4.992h8.32l1.663-1.664c2.496-0.832 7.488-1.664 12.48-1.664v0h4.16c4.992 0.832 16.64 4.16 24.128 6.656v0l4.16 0.832c6.656 2.496 22.465 6.656 28.289 7.488zM784.064 878.080l-252.096-86.528 252.096-74.88v161.408z" />
33
  <glyph unicode="&#xe91d;" glyph-name="Pagination" d="M487.976 672v-434.806h-261.515c-112.64 0-204.012 97.674-204.012 217.403 0 120.517 91.372 217.403 204.012 217.403v0h261.515zM797.541 672c111.85 0 203.222-96.886 204.010-217.403 0-120.517-91.372-217.403-204.010-217.403v0h-261.515v434.806zM312.32 540.455c-4.726 7.877-14.966 9.452-22.843 3.151v0l-89.797-74.831c-3.938-3.151-6.301-8.665-6.301-14.178s2.362-11.028 6.301-14.178v0l92.161-75.618c3.151-2.363 6.301-3.151 9.452-3.151 4.726 0 9.452 2.363 12.603 7.089 5.514 7.877 3.939 18.905-3.15 24.418v0l-74.831 61.44 73.255 60.652c7.089 6.302 8.665 17.329 3.151 25.206zM732.948 543.606c-6.302 6.302-16.54 4.726-22.054-3.151s-3.939-18.905 3.15-25.206v0l73.255-60.652-74.831-61.44c-7.089-5.514-8.665-16.542-3.152-24.418 3.151-4.726 7.878-7.089 12.604-7.089 3.151 0 6.301 0.788 9.452 3.151v0l92.159 75.618c3.938 3.938 6.302 8.665 5.514 14.178 0 5.514-2.363 11.028-6.302 14.178v0z" />
34
  <glyph unicode="&#xe91e;" glyph-name="PDF-Print" d="M371.714 531.511h-14.455v-43.369h10.326c9.292 0 16.521 2.065 21.683 5.163 5.163 4.13 7.228 9.293 7.228 16.522s-2.065 12.391-6.196 16.522c-4.129 3.098-10.325 5.163-18.586 5.163zM486.334 435.479h13.423c29.945 0 45.433 16.522 45.433 48.532s-14.455 47.5-42.335 47.5h-16.521v-96.032zM899.379 659.555h-146.63v106.358c0 36.141-29.946 66.087-66.087 66.087h-370.706c-36.141 0-66.087-29.946-66.087-66.087v-105.326h-145.597c-21.685 0-40.272-17.554-40.272-39.239v-356.249c0-21.685 17.554-40.272 40.272-40.272h146.63v-72.282c0-36.141 29.946-66.087 66.087-66.087h370.706c36.141 0 66.087 29.946 66.087 66.087v73.315h146.63c21.685 0 40.272 17.554 40.272 40.272v354.184c-2.065 21.685-19.619 39.239-41.304 39.239zM315.956 796.891h370.706c17.554 0 32.011-14.456 32.011-32.011v-105.326h-433.695v106.358c0 17.554 13.424 30.978 30.978 30.978zM717.64 151.513c0-17.554-14.456-32.011-32.011-32.011h-369.674c-17.554 0-32.011 14.456-32.011 32.011v159.021h433.695v-159.021zM781.662 560.425c-13.424 0-24.783 11.359-24.783 24.783s11.359 24.783 24.783 24.783c13.424 0 24.783-11.359 24.783-24.783s-11.359-24.783-24.783-24.783zM862.205 562.49c-13.424 0-24.783 11.359-24.783 24.783s11.359 24.783 24.783 24.783c13.424 0 24.783-11.359 24.783-24.783s-11.359-24.783-24.783-24.783z" />
35
  <glyph unicode="&#xe91f;" glyph-name="Pinning" d="M597.265 213.084c4.511 38.791-3.607 68.56-24.355 89.308l165.984 165.984c10.825-10.825 26.161-17.14 41.496-16.238 32.475 0 58.636 26.161 58.636 58.636 0.902 15.335-5.413 30.671-16.238 41.496l-205.677 205.677c-10.825 10.825-26.161 17.14-41.496 16.238-32.475 0-58.636-26.161-58.636-58.636-0.902-15.335 5.413-30.671 16.238-41.496l-166.887-166.887c-21.65 21.65-51.419 29.769-89.306 24.355-36.986-4.51-71.266-20.747-97.426-46.908-5.413-5.413-9.021-12.629-8.119-20.748 0-7.217 2.707-15.336 8.12-20.749l128.998-128.998-133.509-182.222c-5.413-5.413-3.608-14.433 0.902-18.944 2.706-2.706 5.413-3.608 9.021-3.608s7.217 1.804 9.923 2.706l173.201 140.726 138.020-138.020c5.413-5.413 12.629-9.021 20.748-8.119 7.217 0 15.336 2.706 20.748 8.119 28.867 27.063 45.104 61.342 49.615 98.328z" />
 
36
  <glyph unicode="&#xe921;" glyph-name="Portfolio" d="M480 416v-334.133h-334.133v334.133h334.133zM878.133 416v-334.133h-334.133v334.133h334.133zM480 814.133v-334.133h-334.133v334.133h334.133zM878.133 814.133v-334.133h-334.133v334.133h334.133z" />
37
  <glyph unicode="&#xe922;" glyph-name="Post-to-CSV" d="M531.052 876.092v-318.833h297.837v-537.351h-636.889v856.184h339.052zM513.348 381.026l-7.181-0.292c-17.108 0-31.106-3.888-41.215-12.442s-14.775-20.219-14.775-34.994c0-7.776 1.555-13.998 4.666-20.219s6.999-10.887 12.442-15.553c4.666-4.666 12.442-9.332 22.552-13.998 10.887-5.443 17.886-9.332 21.774-11.665 3.111-2.333 6.221-4.666 7.776-6.999 2.333-2.333 3.111-5.443 3.111-8.554 0-6.221-2.333-10.109-6.221-13.22s-10.109-4.666-17.886-4.666c-6.221 0-13.22 0.778-20.996 3.111s-17.886 6.221-28.773 10.887v0-32.661c13.998-6.999 29.55-10.109 47.436-10.109 19.441 0 34.216 4.666 45.103 13.22s16.33 20.996 16.33 35.772c0 10.887-3.111 19.441-8.554 27.217s-16.33 14.775-31.883 22.552c-11.665 5.443-19.441 9.332-22.552 11.665s-5.443 4.666-6.999 6.999c-1.555 2.333-2.333 5.443-2.333 8.554 0 5.443 1.555 9.332 5.443 12.442s8.554 4.666 15.553 4.666c5.443 0 11.665-0.778 17.108-2.333s13.22-3.888 21.774-7.776v0l11.665 27.217c-8.554 3.888-17.108 6.221-24.885 8.554s-15.553 3.111-25.662 2.333zM380.189 381.512c-15.553 0-29.55-3.111-41.215-10.109s-20.996-17.108-27.217-30.328c-6.221-13.22-9.332-28.773-9.332-45.881 0-27.217 6.221-48.214 19.441-62.989s31.883-21.774 55.99-21.774c17.108 0 31.883 3.111 45.881 8.554v0 29.55c-17.108-5.443-31.106-8.554-42.77-8.554-27.995 0-41.993 18.663-42.77 55.213 0 17.886 3.888 31.883 10.887 41.993 7.776 10.109 17.886 14.775 31.106 14.775 6.221 0 12.442-0.778 18.663-3.111s12.442-4.666 18.663-7.776v0l11.665 28.773c-16.33 7.776-32.661 11.665-48.991 11.665zM602.595 379.179h-36.549l56.768-166.415h38.882l56.768 166.415h-35.772l-31.883-99.538c-4.666-17.108-7.776-29.55-8.554-36.549l-0.015 0.104-0.253 2.666c-0.34 2.139-0.972 4.86-1.701 8.165l-1.142 5.395c-1.555 7.776-3.888 13.998-5.443 20.219v0l-31.106 99.538zM589.376 876.092l242.624-258.955h-242.624v258.955z" />
38
  <glyph unicode="&#xe923;" glyph-name="Profile-Extra-Fields" d="M959.524 265.24v-128h-895.048v128h895.048zM420.213 758.76v-373.809h-35.194c-20.926 82.752-39.948 141.724-141.723 141.724s-120.798-58.972-140.773-142.675v0h-38.047v374.76h355.737zM959.524 512v-128h-420.141v128h420.141zM243.296 695.032c-38.047 0-68.484-30.437-68.484-68.484 0-42.803 30.437-68.484 68.484-68.484s68.484 30.437 68.484 68.484c0 38.047-30.437 68.484-68.484 68.484zM959.524 758.76v-128h-420.141v128h420.141z" />
18
  <glyph unicode="&#xe90a;" glyph-name="Donate" d="M512 887.385c241.231 0 439.385-198.154 439.385-439.385s-198.154-437.662-439.385-437.662c-241.231 0-439.385 194.708-439.385 437.662s198.154 439.385 439.385 439.385zM530.954 752.985h-48.246c-10.338 0-18.954-8.615-18.954-18.954v0-48.246c-62.031-17.231-101.662-65.477-101.662-129.231 0-68.923 46.523-120.615 139.569-153.354 65.477-22.4 70.646-39.631 72.369-60.308 0-13.785 0-48.246-60.308-48.246-31.015 0-63.754 20.677-84.431 36.185-8.615 6.892-20.677 6.892-29.292-1.723v0l-32.738-34.462c-8.615-8.615-8.615-24.123 1.723-32.738 18.954-15.508 53.415-39.631 94.769-51.692v0-48.246c0-10.338 8.615-18.954 18.954-18.954v0h48.246c10.338 0 18.954 8.615 18.954 18.954v0 44.8c70.646 12.062 115.446 63.754 115.446 136.123 0 101.662-91.323 134.4-130.954 148.185-79.262 27.569-79.262 55.138-79.262 67.2 0 39.631 46.523 44.8 60.308 44.8 22.4 1.723 43.077-10.338 58.585-18.954 8.615-5.169 20.677-5.169 27.569 3.446v0l32.738 34.462c8.615 8.615 6.892 24.123-3.446 32.738-17.231 12.062-46.523 29.292-80.985 36.185v0 43.077c0 10.338-8.615 18.954-18.954 18.954v0z" />
19
  <glyph unicode="&#xe90c;" glyph-name="Error-Low-Viewer" d="M530.824 875.807v-318.289h297.754v-537.326h-636.578v855.615h338.824zM484.62 370.995c-47.059 0-77.005-35.936-77.005-82.995 0-45.348 27.38-80.428 74.439-80.428 46.203 0 77.861 30.802 77.861 82.995 0 43.636-26.524 80.428-75.294 80.428zM674.567 370.139c-51.337 0-89.84-29.947-90.695-82.995 0-23.102 7.701-43.636 22.246-57.326 14.545-14.545 35.080-21.39 64.171-21.39 21.39 0 41.925 5.134 53.048 8.556v0 84.706h-59.037v-28.235h24.813v-33.369c-3.422-1.711-9.412-2.567-17.968-2.567-29.091 0-49.626 19.679-49.626 52.193 0 34.225 22.246 51.337 52.193 51.337 17.112 0 28.235-3.422 36.791-6.845v0l7.701 28.235c-7.701 3.422-23.102 7.701-43.636 7.701zM331.465 373.561h-31.658v-160h95.829v32.513h-64.171v127.487zM483.764 342.759c24.813 0 38.503-24.813 38.503-53.048 0-30.802-13.69-53.904-37.647-53.904s-38.502 22.246-38.502 53.048c0 30.802 13.689 53.904 37.646 53.904zM589.861 875.807l242.139-259.251h-242.139v259.251z" />
20
  <glyph unicode="&#xe90d;" glyph-name="Like-Share" d="M486.596 864c50.181 0 83.635-22 83.635-88v0-176h179.816c33.454 0 66.908-13.2 87.817-44 20.909-22 29.272-57.2 25.091-92.4v0l-33.454-202.4c-8.364-57.2-54.363-101.2-108.726-101.2v0h-359.632v352c4.182 0 100.362 330 100.362 330 0 13.2 12.545 22 25.091 22zM260.571 512v-352h-100.571v352h100.571z" />
21
+ <glyph unicode="&#xe90e;" glyph-name="featured-posts" d="M128 576h256v-64h-256v64zM128 448h128v-64h-128v64zM128 320h128v-64h-128v64zM128 704h512v-64h-512v64zM128 832h512v-64h-512v64zM768 626.432v234.496c0 54.592-43.136 99.072-96.128 99.072h-575.744c-52.992 0-96.128-44.48-96.128-99.072v-697.792c0-54.656 43.136-99.136 96.128-99.136h304.384c64.576-78.080 162.176-127.872 271.424-127.872 194.432 0 352 157.568 352 351.936 0.064 161.024-108.288 296.512-255.936 338.368zM320 288.064c0-57.728 14.144-112 38.784-160.064h-262.656c-16.96 0-32.128 15.104-32.128 33.728v699.2c0 18.624 15.168 35.072 32.128 35.072h575.68c17.024 0 32.192-16.448 32.192-35.072v-222.528c-10.56 0.96-21.184 1.6-32 1.6-194.432 0-352-157.568-352-351.936zM917.76 317.504l-109.376-97.408 36.48-148.224c8.128-25.408-20.288-50.752-44.544-33.856l-125.632 80.448-125.568-80.448c-20.224-16.96-52.672 4.224-44.544 33.856l32.448 148.224-109.44 97.408c-20.224 16.96-12.16 55.040 12.16 55.040l145.856 12.736 56.704 139.712c12.16 25.472 44.608 25.472 56.768 0l56.704-139.712 145.856-12.736c24.256 0 36.416-38.080 16.128-55.040z" />
22
  <glyph unicode="&#xe910;" glyph-name="Gallery" d="M424 316c24.288 0 44-19.712 44-44v-132c0-24.288-19.712-44-44-44h-220c-24.288 0-44 19.712-44 44v132c0 24.288 19.712 44 44 44h220zM820 448c24.288 0 44-19.712 44-44v-264c0-24.288-19.712-44-44-44h-220c-24.288 0-44 19.712-44 44v264c0 24.288 19.712 44 44 44h220zM424 800c24.288 0 44-19.712 44-44v-308c0-24.288-19.712-44-44-44h-220c-24.288 0-44 19.712-44 44v308c0 24.288 19.712 44 44 44h220zM820 800c24.288 0 44-19.712 44-44v-176c0-24.288-19.712-44-44-44h-220c-24.288 0-44 19.712-44 44v176c0 24.288 19.712 44 44 44h220z" />
23
  <glyph unicode="&#xe911;" glyph-name="Analytics" d="M896 784v-672h-192v672h192zM608 592v-480h-192v480h192zM320 400v-288h-192v288h192z" />
24
  <glyph unicode="&#xe912;" glyph-name="reCaptcha" d="M758.4 800c58.321 0 105.6-47.279 105.6-105.6v-492.8c0-58.321-47.279-105.6-105.6-105.6h-492.8c-58.321 0-105.6 47.279-105.6 105.6v492.8c0 58.321 47.279 105.6 105.6 105.6h492.8zM680.96 606.4l-232.32-168.96-105.6 63.36-42.24-42.24 147.84-168.96 274.56 274.56-42.24 42.24z" />
28
  <glyph unicode="&#xe916;" glyph-name="Sitemap" d="M747.219 474.709v-112.829h-111.873v112.829h-104.223v112.829h103.267v225.657h-244.781v-225.657h104.223v-112.829h-104.223v-113.785h-112.829v113.785h-244.781v-263.904h244.781v113.785h112.829v-113.785h245.737v112.829h111.873v-112.829h244.781v263.904z" />
29
  <glyph unicode="&#xe917;" glyph-name="Htaccess" d="M754.258 516.596v143.83c0 132.766-108.426 203.574-241.191 203.574-132.77 0-238.983-73.021-238.983-203.574v-146.043c-44.255-2.213-88.511-24.34-88.511-70.809v-327.489c0-46.468 37.617-84.085 84.085-84.085h486.813c46.468 0 81.872 37.617 81.872 84.085v327.489c2.213 44.255-39.83 70.809-84.085 73.021zM590.514 173.617c-2.213-4.426-6.638-6.638-11.064-6.638h-130.558c-4.426 0-8.851 2.213-11.064 6.638s-2.213 8.851-2.213 13.277l30.979 81.872c-17.702 13.277-26.553 35.404-26.553 55.319 0 39.83 33.191 73.021 73.026 73.021 39.83 0 73.021-33.191 73.021-73.021 0-22.128-11.064-42.043-26.553-55.319l30.979-81.872c4.426-4.426 2.213-11.064 0-13.277zM665.748 512.17h-303.153v146.043c0 66.383 88.511 117.277 154.898 117.277 66.383 0 150.468-50.894 150.468-117.277v-146.043h-2.213z" />
30
  <glyph unicode="&#xe918;" glyph-name="Job-Board" d="M896 514.397v-358.701c0-36.735-24.961-66.978-57.026-70.847l-6.974-0.418h-640c-32.99 0-60.15 27.794-63.624 63.5l-0.376 7.765v358.701l31.446-8.609c231.151-60.388 473.957-60.388 705.108 0l31.446 8.609zM598.875 811.57c53.019 0 96-42.981 96-96v0l-0.027-60.992 137.152-0.024c32.99 0 60.15-27.794 63.624-63.5l0.376-7.765v-19.088l-31.446-8.609c-76.091-19.879-153.446-33.214-231.231-40.005-10.69-4.044-22.306-6.298-34.447-6.298v0h-173.75c-12.142 0-23.757 2.254-34.45 6.367-77.783 6.723-155.137 20.058-231.228 39.937l-31.446 8.609v19.088c0 36.735 24.961 66.978 57.026 70.847l6.974 0.418 137.088 0.024 0.037 60.992c0 49.901 38.073 90.909 86.755 95.561l9.245 0.439zM598.875 747.57h-173.75c-17.673 0-32-14.327-32-32v0l-0.037-60.992h237.76l0.027 60.992c0 15.709-11.32 28.775-26.248 31.484l-5.752 0.516z" />
31
+ <glyph unicode="&#xe919;" glyph-name="latest-posts" d="M128 576.064h256.032v-64h-256.032v64zM128 448.064h128v-64h-128v64zM128 320.064h128v-64h-128v64zM128 704.096h512.064v-64h-512.064v64zM128 832.096h512.064v-64h-512.064v64zM768.096 626.528v234.528c0 54.656-43.136 99.072-96.128 99.072h-575.808c-52.992 0-96.128-44.48-96.128-99.072v-697.952c0-54.656 43.136-99.072 96.128-99.072h304.416c64.576-78.080 162.208-127.904 271.456-127.904 194.464 0 352.032 157.6 352.032 351.968 0.064 161.056-108.288 296.544-255.968 338.4zM96.128 128.032c-16.96 0-32.128 15.104-32.128 33.728v699.296c0 18.624 15.168 35.072 32.128 35.072h575.744c17.024 0 32.192-16.448 32.192-35.072v-222.56c-10.56 0.96-21.184 1.6-32 1.6-194.464 0-352.032-157.6-352.032-351.968 0-57.728 14.144-112 38.784-160.096h-262.688zM768.096 255.968h-128v256.032h64v-192.032h64v-64z" />
32
  <glyph unicode="&#xe91a;" glyph-name="Limit-Attempts" d="M522.762 861.982c102.234-59.188 196.398-86.092 312.084-94.163 10.762-2.69 18.833-10.762 18.833-24.213v-295.942c0-239.444-158.732-295.942-328.226-411.628-8.071-5.381-18.833-5.381-24.213 0-169.494 115.686-330.917 172.184-330.917 411.628v295.942c0 13.452 8.071 21.523 21.523 24.213 112.996 8.071 209.85 34.975 309.394 94.163 8.071 2.69 16.142 2.69 21.523 0zM510.623 572.245c-43.013 0-78.853-35.84-78.853-78.848 0-21.504 9.557-45.397 28.672-59.733v0l-33.451-88.405c0-4.779 0-9.557 2.389-14.336s7.168-7.168 11.947-7.168v0h140.975c4.779 0 9.557 2.389 11.947 7.168 2.389 2.389 4.779 9.557 0 14.336v0l-33.451 88.405c16.725 14.336 28.672 35.84 28.672 59.733 0 43.008-35.84 78.848-78.848 78.848z" />
33
  <glyph unicode="&#xe91b;" glyph-name="Linked" d="M512 910.625c78.77 0 142.625-63.855 142.625-142.625l-0.005 1.909c79.751-35.386 143.904-99.538 179.29-179.29 77.869-1.008 140.716-64.475 140.716-142.62 0-78.77-63.855-142.625-142.625-142.625l1.909 0.005c-35.386-79.751-99.538-143.904-179.29-179.29-1.008-77.869-64.475-140.716-142.62-140.716-78.77 0-142.625 63.855-142.625 142.625l0.005-1.909c-79.751 35.386-143.904 99.538-179.29 179.29-77.869 1.008-140.716 64.475-140.716 142.62 0 78.77 63.855 142.625 142.625 142.625l-1.909-0.005c35.386 79.751 99.538 143.904 179.29 179.29 1.008 77.869 64.475 140.716 142.62 140.716zM640.336 705.896l-2.076-4.292c-23.885-45.327-71.464-76.229-126.26-76.229-56.471 0-105.276 32.819-128.383 80.424-55.959-27.827-101.589-73.457-129.513-129.463 47.702-23.061 80.521-71.866 80.521-128.336s-32.819-105.276-80.424-128.383c27.827-55.959 73.457-101.589 129.463-129.513 23.061 47.702 71.866 80.521 128.336 80.521s105.276-32.819 128.383-80.424c55.959 27.827 101.589 73.457 129.513 129.463-47.702 23.061-80.521 71.866-80.521 128.336s32.819 105.276 80.424 128.383c-27.827 55.959-73.457 101.589-129.463 129.513z" />
34
  <glyph unicode="&#xe91c;" glyph-name="Multilanguage" d="M656.768 160.896l104-8.32-35.776-105.664-24.96 40.768c-40.768-24.96-89.024-43.264-133.12-50.752-14.144-2.496-31.616-5.824-46.592-5.824v0h-41.6c-53.248 0-151.424 31.616-194.688 63.232-5.824 4.16-7.488 8.321-7.488 14.145 0 9.984 7.488 17.472 16.64 17.472 4.16 0 10.816-3.328 27.456-12.48 4.16-2.496 8.32-4.993 9.984-5.825 39.104-19.136 102.336-41.6 153.92-41.6 61.568 0 103.168 8.32 157.248 31.617 9.984 4.16 19.968 9.984 29.952 15.808v0l8.32 4.992-23.296 42.431zM809.856 928c5.824 0 9.984-4.16 9.984-10.816v0-207.168l73.216-23.296v-536.64c-355.383 113.568-381.485 121.68-383.4 122.259-8.472-3.283-363.736-123.091-368.728-123.091-4.16 0-7.488 2.496-9.152 6.656v0l-0.832 1.664v534.976c0 1.664 0.832 4.16 1.664 4.992 3.328 4.16 6.657 4.992 9.985 5.824 1.664 0.832 31.616 10.816 74.048 24.96v0 190.528l277.056-98.176c3.328 0.832 312 107.328 316.16 107.328zM493.696 784.896l-327.808-115.648v-472.576l327.808 108.16v480.064zM418.816 595.2l2.496-7.488c0.832-4.16 0-16.64-0.832-19.136 0-1.664-1.664-4.16-18.304-38.272-4.992-9.152-8.32-17.472-9.984-19.968 0-0.832-11.648-24.128-33.28-58.24 8.32-3.328 18.304-7.488 23.296-9.984 8.32-4.16 65.728-28.288 69.056-29.12 9.984-3.328 13.312-33.28 12.48-37.44-0.832-3.328-3.328-6.656-9.152-6.656-4.992 0-12.48 2.496-27.456 9.152-2.496 0.832-4.16 1.664-5.824 2.496-7.488 3.328-37.44 19.968-44.928 24.96-4.16 2.496-11.648 8.32-19.968 14.976v0l-13.312 9.984c-20.8-31.616-41.6-59.904-62.4-84.032v0l-4.992-5.824c-16.64-19.136-34.944-40.768-49.088-49.92-4.992-3.328-19.968-3.328-19.968-3.328-3.328 0-4.992 0-7.488 2.496v0l-11.647 5.824 9.984 7.488c4.992 4.16 19.968 21.632 29.952 33.28 3.328 4.16 6.656 8.32 9.152 10.816 12.48 14.144 70.72 95.68 80.704 113.984 8.32 15.808 26.624 52.416 36.608 72.384-8.32-2.496-19.968-6.656-34.944-11.648v0l-3.328-0.832c-4.16-1.664-10.816-3.328-17.472-4.992-5.824-1.664-13.312-3.328-17.472-4.992 0.832-2.496 0.832-4.992-0.832-7.488-3.328-6.656-17.472-10.816-20.8-11.648-4.16-1.664-14.976-3.328-26.624 0-8.32 2.496-15.808 10.816-18.304 14.144-0.832 0.832-2.496 4.992-3.328 14.976v0 5.824l5.824 1.664c3.328 0.832 7.488 1.664 12.48 2.496l4.622 0.863c3.328 0.616 7.026 1.356 10.354 2.465 11.648 3.328 37.44 10.816 51.584 15.808 4.16 1.664 9.984 3.328 15.808 5.824 14.144 4.992 29.12 9.984 35.776 11.648 4.16 0 13.312 4.992 20.8 9.152l5.72 3.211c5.772 3.237 11.544 6.357 15.912 7.605 4.16 1.664 7.488 2.496 10.816 4.16 5.824 1.664 8.32 3.328 11.648 3.328v0h6.656zM676.736 655.104l-107.328-265.408 50.752-14.976 22.464 54.912 104.832-32.448 18.304-66.56 50.752-16.64-89.856 326.144-49.92 14.976zM699.2 570.24l31.616-112.32-69.056 20.8 37.44 91.52zM341.441 635.967c9.984 0 16.639-5.824 19.135-14.976 1.664-10.816-0.831-16.64-2.495-19.136-6.656-13.312-22.464-20.8-29.12-23.296-7.488-3.328-20.801-6.656-32.449-6.656v0h-0.831c-6.656 0.832-16.64 3.328-29.12 16.64-5.824 6.656-13.313 24.128-10.817 30.784v0l2.497 4.992h8.32l1.663-1.664c2.496-0.832 7.488-1.664 12.48-1.664v0h4.16c4.992 0.832 16.64 4.16 24.128 6.656v0l4.16 0.832c6.656 2.496 22.465 6.656 28.289 7.488zM784.064 878.080l-252.096-86.528 252.096-74.88v161.408z" />
35
  <glyph unicode="&#xe91d;" glyph-name="Pagination" d="M487.976 672v-434.806h-261.515c-112.64 0-204.012 97.674-204.012 217.403 0 120.517 91.372 217.403 204.012 217.403v0h261.515zM797.541 672c111.85 0 203.222-96.886 204.010-217.403 0-120.517-91.372-217.403-204.010-217.403v0h-261.515v434.806zM312.32 540.455c-4.726 7.877-14.966 9.452-22.843 3.151v0l-89.797-74.831c-3.938-3.151-6.301-8.665-6.301-14.178s2.362-11.028 6.301-14.178v0l92.161-75.618c3.151-2.363 6.301-3.151 9.452-3.151 4.726 0 9.452 2.363 12.603 7.089 5.514 7.877 3.939 18.905-3.15 24.418v0l-74.831 61.44 73.255 60.652c7.089 6.302 8.665 17.329 3.151 25.206zM732.948 543.606c-6.302 6.302-16.54 4.726-22.054-3.151s-3.939-18.905 3.15-25.206v0l73.255-60.652-74.831-61.44c-7.089-5.514-8.665-16.542-3.152-24.418 3.151-4.726 7.878-7.089 12.604-7.089 3.151 0 6.301 0.788 9.452 3.151v0l92.159 75.618c3.938 3.938 6.302 8.665 5.514 14.178 0 5.514-2.363 11.028-6.302 14.178v0z" />
36
  <glyph unicode="&#xe91e;" glyph-name="PDF-Print" d="M371.714 531.511h-14.455v-43.369h10.326c9.292 0 16.521 2.065 21.683 5.163 5.163 4.13 7.228 9.293 7.228 16.522s-2.065 12.391-6.196 16.522c-4.129 3.098-10.325 5.163-18.586 5.163zM486.334 435.479h13.423c29.945 0 45.433 16.522 45.433 48.532s-14.455 47.5-42.335 47.5h-16.521v-96.032zM899.379 659.555h-146.63v106.358c0 36.141-29.946 66.087-66.087 66.087h-370.706c-36.141 0-66.087-29.946-66.087-66.087v-105.326h-145.597c-21.685 0-40.272-17.554-40.272-39.239v-356.249c0-21.685 17.554-40.272 40.272-40.272h146.63v-72.282c0-36.141 29.946-66.087 66.087-66.087h370.706c36.141 0 66.087 29.946 66.087 66.087v73.315h146.63c21.685 0 40.272 17.554 40.272 40.272v354.184c-2.065 21.685-19.619 39.239-41.304 39.239zM315.956 796.891h370.706c17.554 0 32.011-14.456 32.011-32.011v-105.326h-433.695v106.358c0 17.554 13.424 30.978 30.978 30.978zM717.64 151.513c0-17.554-14.456-32.011-32.011-32.011h-369.674c-17.554 0-32.011 14.456-32.011 32.011v159.021h433.695v-159.021zM781.662 560.425c-13.424 0-24.783 11.359-24.783 24.783s11.359 24.783 24.783 24.783c13.424 0 24.783-11.359 24.783-24.783s-11.359-24.783-24.783-24.783zM862.205 562.49c-13.424 0-24.783 11.359-24.783 24.783s11.359 24.783 24.783 24.783c13.424 0 24.783-11.359 24.783-24.783s-11.359-24.783-24.783-24.783z" />
37
  <glyph unicode="&#xe91f;" glyph-name="Pinning" d="M597.265 213.084c4.511 38.791-3.607 68.56-24.355 89.308l165.984 165.984c10.825-10.825 26.161-17.14 41.496-16.238 32.475 0 58.636 26.161 58.636 58.636 0.902 15.335-5.413 30.671-16.238 41.496l-205.677 205.677c-10.825 10.825-26.161 17.14-41.496 16.238-32.475 0-58.636-26.161-58.636-58.636-0.902-15.335 5.413-30.671 16.238-41.496l-166.887-166.887c-21.65 21.65-51.419 29.769-89.306 24.355-36.986-4.51-71.266-20.747-97.426-46.908-5.413-5.413-9.021-12.629-8.119-20.748 0-7.217 2.707-15.336 8.12-20.749l128.998-128.998-133.509-182.222c-5.413-5.413-3.608-14.433 0.902-18.944 2.706-2.706 5.413-3.608 9.021-3.608s7.217 1.804 9.923 2.706l173.201 140.726 138.020-138.020c5.413-5.413 12.629-9.021 20.748-8.119 7.217 0 15.336 2.706 20.748 8.119 28.867 27.063 45.104 61.342 49.615 98.328z" />
38
+ <glyph unicode="&#xe920;" glyph-name="popular-posts" d="M130.304 576h256v-64h-256v64zM130.304 448h128v-64h-128v64zM130.304 320h128v-64h-128v64zM130.304 704h512v-64h-512v64zM130.304 832h512v-64h-512v64zM770.304 626.432v234.496c0 54.592-43.136 99.072-96.192 99.072h-575.68c-52.992 0-96.128-44.48-96.128-99.072v-697.792c0-54.656 43.136-99.136 96.128-99.136h304.384c64.576-78.080 162.176-127.872 271.424-127.872 194.432 0 352 157.568 352 351.936 0.064 161.024-108.288 296.512-255.936 338.368zM361.088 128h-262.656c-16.96 0-32.128 15.104-32.128 33.728v699.2c0 18.624 15.168 35.072 32.128 35.072h575.68c16.96 0 32.128-16.448 32.128-35.072v-222.528c-10.496 0.96-21.12 1.6-31.936 1.6-194.432 0-352-157.568-352-351.936 0-57.728 14.144-112 38.784-160.064zM615.168 426.56c52.352 68.16 51.392 85.44 51.392 85.44s40.704-26.752 66.88-85.44c26.176-58.688 18.88-128.96 18.88-128.96s12.16 4.608 32.512 30.528c20.352 25.92 20.608 87.168 20.608 87.168s60.8-71.616 60.8-159.68c0-126.080-110.528-184.768-110.528-184.768s-67.904 53.568-89.216 92.352c-21.312 38.016-36.864 103.872-36.864 103.872s-30.080-55.488-30.080-90.88c1.92-69.888 45.568-105.344 45.568-105.344s-162.88 49.216-162.88 164.864c0.128 115.712 80.576 123.52 132.928 190.848z" />
39
  <glyph unicode="&#xe921;" glyph-name="Portfolio" d="M480 416v-334.133h-334.133v334.133h334.133zM878.133 416v-334.133h-334.133v334.133h334.133zM480 814.133v-334.133h-334.133v334.133h334.133zM878.133 814.133v-334.133h-334.133v334.133h334.133z" />
40
  <glyph unicode="&#xe922;" glyph-name="Post-to-CSV" d="M531.052 876.092v-318.833h297.837v-537.351h-636.889v856.184h339.052zM513.348 381.026l-7.181-0.292c-17.108 0-31.106-3.888-41.215-12.442s-14.775-20.219-14.775-34.994c0-7.776 1.555-13.998 4.666-20.219s6.999-10.887 12.442-15.553c4.666-4.666 12.442-9.332 22.552-13.998 10.887-5.443 17.886-9.332 21.774-11.665 3.111-2.333 6.221-4.666 7.776-6.999 2.333-2.333 3.111-5.443 3.111-8.554 0-6.221-2.333-10.109-6.221-13.22s-10.109-4.666-17.886-4.666c-6.221 0-13.22 0.778-20.996 3.111s-17.886 6.221-28.773 10.887v0-32.661c13.998-6.999 29.55-10.109 47.436-10.109 19.441 0 34.216 4.666 45.103 13.22s16.33 20.996 16.33 35.772c0 10.887-3.111 19.441-8.554 27.217s-16.33 14.775-31.883 22.552c-11.665 5.443-19.441 9.332-22.552 11.665s-5.443 4.666-6.999 6.999c-1.555 2.333-2.333 5.443-2.333 8.554 0 5.443 1.555 9.332 5.443 12.442s8.554 4.666 15.553 4.666c5.443 0 11.665-0.778 17.108-2.333s13.22-3.888 21.774-7.776v0l11.665 27.217c-8.554 3.888-17.108 6.221-24.885 8.554s-15.553 3.111-25.662 2.333zM380.189 381.512c-15.553 0-29.55-3.111-41.215-10.109s-20.996-17.108-27.217-30.328c-6.221-13.22-9.332-28.773-9.332-45.881 0-27.217 6.221-48.214 19.441-62.989s31.883-21.774 55.99-21.774c17.108 0 31.883 3.111 45.881 8.554v0 29.55c-17.108-5.443-31.106-8.554-42.77-8.554-27.995 0-41.993 18.663-42.77 55.213 0 17.886 3.888 31.883 10.887 41.993 7.776 10.109 17.886 14.775 31.106 14.775 6.221 0 12.442-0.778 18.663-3.111s12.442-4.666 18.663-7.776v0l11.665 28.773c-16.33 7.776-32.661 11.665-48.991 11.665zM602.595 379.179h-36.549l56.768-166.415h38.882l56.768 166.415h-35.772l-31.883-99.538c-4.666-17.108-7.776-29.55-8.554-36.549l-0.015 0.104-0.253 2.666c-0.34 2.139-0.972 4.86-1.701 8.165l-1.142 5.395c-1.555 7.776-3.888 13.998-5.443 20.219v0l-31.106 99.538zM589.376 876.092l242.624-258.955h-242.624v258.955z" />
41
  <glyph unicode="&#xe923;" glyph-name="Profile-Extra-Fields" d="M959.524 265.24v-128h-895.048v128h895.048zM420.213 758.76v-373.809h-35.194c-20.926 82.752-39.948 141.724-141.723 141.724s-120.798-58.972-140.773-142.675v0h-38.047v374.76h355.737zM959.524 512v-128h-420.141v128h420.141zM243.296 695.032c-38.047 0-68.484-30.437-68.484-68.484 0-42.803 30.437-68.484 68.484-68.484s68.484 30.437 68.484 68.484c0 38.047-30.437 68.484-68.484 68.484zM959.524 758.76v-128h-420.141v128h420.141z" />
bws_menu/fonts/bwsicons.ttf CHANGED
Binary file
bws_menu/fonts/bwsicons.woff CHANGED
Binary file
bws_menu/icons/plugins/bike-rental.png ADDED
Binary file
bws_menu/icons/themes/rent-a-bike.png ADDED
Binary file
bws_menu/js/bws_tooltip.js CHANGED
@@ -9,7 +9,7 @@
9
  /* extend pointer options - add close button */
10
  pointer_options = $.extend( pointer_options, {
11
  buttons: function(event, t) {
12
- var button;
13
  /* check and add dismiss-type buttons */
14
  for ( var but in pointer_buttons ) {
15
  if ( typeof pointer_buttons[ but ]['type'] != 'undefined' && pointer_buttons[ but ]['type'] == 'dismiss' && typeof pointer_buttons[ but ]['text'] != 'undefined' && pointer_buttons[ but ]['text'] != '' ) {
9
  /* extend pointer options - add close button */
10
  pointer_options = $.extend( pointer_options, {
11
  buttons: function(event, t) {
12
+ var button = '';
13
  /* check and add dismiss-type buttons */
14
  for ( var but in pointer_buttons ) {
15
  if ( typeof pointer_buttons[ but ]['type'] != 'undefined' && pointer_buttons[ but ]['type'] == 'dismiss' && typeof pointer_buttons[ but ]['text'] != 'undefined' && pointer_buttons[ but ]['text'] != '' ) {
bws_menu/product_list.php CHANGED
@@ -2,6 +2,7 @@
2
  /*
3
  * BestWebSoft product list
4
  */
 
5
 
6
  $bws_plugins_category = array(
7
  'admin-tools' => array( 'name' => __( 'Admin Tools', 'bestwebsoft' ) ),
@@ -16,6 +17,18 @@ $bws_plugins_category = array(
16
  );
17
 
18
  $bws_plugins = array(
 
 
 
 
 
 
 
 
 
 
 
 
19
  'captcha-bws/captcha-bws.php' => array(
20
  'category' => array( 'security', 'recommended' ),
21
  'name' => 'Captcha',
@@ -70,10 +83,10 @@ $bws_plugins = array(
70
  'name' => 'Contact Form to DB',
71
  'description' => __( 'Save and manage Contact Form messages. Never lose important data.', 'bestwebsoft' ),
72
  'link' => 'https://bestwebsoft.com/products/wordpress/plugins/contact-form-to-db/?k=ba3747d317c2692e4136ca096a8989d6&pn=' . $bws_plugin_info["id"] . '&v=' . $bws_plugin_info["version"] . '&wp_v=' . $wp_version,
73
- 'settings' => 'admin.php?page=cntctfrmtdb_settings',
74
  'pro_version' => 'contact-form-to-db-pro/contact_form_to_db_pro.php',
75
  'purchase' => 'https://bestwebsoft.com/products/wordpress/plugins/contact-form-to-db/buy/?k=6ce5f4a9006ec906e4db643669246c6a&pn=' . $bws_plugin_info["id"] . '&v=' . $bws_plugin_info["version"] . '&wp_v=' . $wp_version,
76
- 'pro_settings' => 'admin.php?page=cntctfrmtdbpr_settings'
77
  ),
78
  'custom-admin-page/custom-admin-page.php' => array(
79
  'category' => array( 'admin-tools' ),
@@ -83,7 +96,7 @@ $bws_plugins = array(
83
  'settings' => 'edit.php?post_type=bws-admin_page&page=custom-admin-page.php',
84
  'pro_version' => 'custom-admin-page-pro/custom-admin-page-pro.php',
85
  'purchase' => 'https://bestwebsoft.com/products/wordpress/plugins/custom-admin-page/buy/?k=b986f456dba092b537f1a7755a363be9&pn=' . $bws_plugin_info["id"] . '&v=' . $bws_plugin_info["version"] . '&wp_v=' . $wp_version,
86
- 'pro_settings' => 'edit.php?post_type=bws-admin_page&page=custom-admin-page.php'
87
  ),
88
  'custom-search-plugin/custom-search-plugin.php' => array(
89
  'category' => array( 'navigation' ),
@@ -141,7 +154,7 @@ $bws_plugins = array(
141
  ),
142
  'adsense-plugin/adsense-plugin.php' => array(
143
  'category' => array( 'marketing' ),
144
- 'name' => 'Ads',
145
  'description' => __( 'Add Adsense ads to WordPress website pages, posts, custom posts, search results, categories, tags, and widgets.', 'bestwebsoft' ),
146
  'link' => 'https://bestwebsoft.com/products/wordpress/plugins/google-adsense/?k=60e3979921e354feb0347e88e7d7b73d&pn=' . $bws_plugin_info["id"] . '&v=' . $bws_plugin_info["version"] . '&wp_v=' . $wp_version,
147
  'settings' => 'admin.php?page=adsense-plugin.php',
@@ -379,7 +392,7 @@ $bws_plugins = array(
379
  'settings' => 'admin.php?page=social-buttons.php',
380
  'pro_version' => 'social-buttons-pack-pro/social-buttons-pack-pro.php',
381
  'purchase' => 'https://bestwebsoft.com/products/wordpress/plugins/social-buttons-pack/buy/?k=e7059cacde0d275b224a5d995c9160fd&pn=' . $bws_plugin_info["id"] . '&v=' . $bws_plugin_info["version"] . '&wp_v=' . $wp_version,
382
- 'pro_settings' => 'admin.php?page=social-buttons.php'
383
  ),
384
  'social-login-bws/social-login-bws.php' => array(
385
  'category' => array( 'smm' ),
@@ -393,10 +406,10 @@ $bws_plugins = array(
393
  'name' => 'Subscriber',
394
  'description' => __( 'Add email newsletter sign up form to WordPress posts, pages and widgets. Collect data and subscribe your users.', 'bestwebsoft' ),
395
  'link' => 'https://bestwebsoft.com/products/wordpress/plugins/subscriber/?k=a4ecc1b7800bae7329fbe8b4b04e9c88&pn=' . $bws_plugin_info["id"] . '&v=' . $bws_plugin_info["version"] . '&wp_v=' . $wp_version,
396
- 'settings' => 'admin.php?page=sbscrbr_settings_page',
397
  'pro_version' => 'subscriber-pro/subscriber-pro.php',
398
  'purchase' => 'https://bestwebsoft.com/products/wordpress/plugins/subscriber/buy/?k=02dbb8b549925d9b74e70adc2a7282e4&pn=' . $bws_plugin_info["id"] . '&v=' . $bws_plugin_info["version"] . '&wp_v=' . $wp_version,
399
- 'pro_settings' => 'admin.php?page=sbscrbrpr_settings_page'
400
  ),
401
  'bws-testimonials/bws-testimonials.php' => array(
402
  'category' => array( 'marketing', 'recommended' ),
@@ -460,10 +473,10 @@ $bws_plugins = array(
460
  'name' => 'Help Center',
461
  'description' => __( 'Backup and export Zendesk Help Center content automatically to your WordPress website database.', 'bestwebsoft' ),
462
  'link' => 'https://bestwebsoft.com/products/wordpress/plugins/zendesk-help-center/?k=2a5fd2f4b2f4bde46f2ca44b8d15846d&pn=' . $bws_plugin_info["id"] . '&v=' . $bws_plugin_info["version"] . '&wp_v=' . $wp_version,
463
- 'settings' => 'admin.php?page=zendesk_hc.php&action=settings',
464
  'pro_version' => 'zendesk-help-center-pro/zendesk-help-center-pro.php',
465
  'purchase' => 'https://bestwebsoft.com/products/wordpress/plugins/zendesk-help-center/buy/?k=45199e4538b5befe4d9566868a61a3aa&pn=' . $bws_plugin_info["id"] . '&v=' . $bws_plugin_info["version"] . '&wp_v=' . $wp_version,
466
- 'pro_settings' => 'admin.php?page=zendesk_hc_pro.php&tab=settings'
467
  )
468
  );
469
 
@@ -478,6 +491,11 @@ $themes = array(
478
  'slug' => 'realestate',
479
  'href' => 'https://bestwebsoft.com/products/wordpress/themes/real-estate-creative-wordpress-theme/'
480
  ),
 
 
 
 
 
481
  (object) array(
482
  'name' => 'Renty',
483
  'slug' => 'renty',
2
  /*
3
  * BestWebSoft product list
4
  */
5
+ global $bws_plugin_info, $wp_version;
6
 
7
  $bws_plugins_category = array(
8
  'admin-tools' => array( 'name' => __( 'Admin Tools', 'bestwebsoft' ) ),
17
  );
18
 
19
  $bws_plugins = array(
20
+ 'bike-rental/bike-rental.php' => array(
21
+ 'category' => array( 'ecommerce' ),
22
+ 'name' => 'Bike Rental',
23
+ 'description' => __( 'Give a birth for your bike rental and booking WordPress website.', 'bestwebsoft' ),
24
+ 'link' => 'https://bestwebsoft.com/products/wordpress/plugins/bike-rental/?k=04387cfc31fc8b9553e4741392762231&pn=' . $bws_plugin_info["id"] . '&v=' . $bws_plugin_info["version"] . '&wp_v=' . $wp_version,
25
+ 'settings' => 'edit.php?post_type=bws_bike&page=bike-rental-settings',
26
+ 'pro_version' => 'bike-rental-pro/bike-rental-pro.php',
27
+ 'purchase' => 'https://bestwebsoft.com/products/wordpress/plugins/bike-rental/buy/?k=9b3222b005340035eaead38a7a495a0d&pn=' . $bws_plugin_info["id"] . '&v=' . $bws_plugin_info["version"] . '&wp_v=' . $wp_version,
28
+ 'pro_settings' => 'edit.php?post_type=bws_bike&page=bkrntl_bws_bike_settings',
29
+ 'icon' => bws_menu_url( "icons/plugins/" ) . 'bike-rental.png',
30
+ 'install_url' => 'https://bestwebsoft.com/products/wordpress/plugins/bike-rental/'
31
+ ),
32
  'captcha-bws/captcha-bws.php' => array(
33
  'category' => array( 'security', 'recommended' ),
34
  'name' => 'Captcha',
83
  'name' => 'Contact Form to DB',
84
  'description' => __( 'Save and manage Contact Form messages. Never lose important data.', 'bestwebsoft' ),
85
  'link' => 'https://bestwebsoft.com/products/wordpress/plugins/contact-form-to-db/?k=ba3747d317c2692e4136ca096a8989d6&pn=' . $bws_plugin_info["id"] . '&v=' . $bws_plugin_info["version"] . '&wp_v=' . $wp_version,
86
+ 'settings' => 'admin.php?page=contact_form_to_db.php',
87
  'pro_version' => 'contact-form-to-db-pro/contact_form_to_db_pro.php',
88
  'purchase' => 'https://bestwebsoft.com/products/wordpress/plugins/contact-form-to-db/buy/?k=6ce5f4a9006ec906e4db643669246c6a&pn=' . $bws_plugin_info["id"] . '&v=' . $bws_plugin_info["version"] . '&wp_v=' . $wp_version,
89
+ 'pro_settings' => 'admin.php?page=contact_form_to_db_pro.php'
90
  ),
91
  'custom-admin-page/custom-admin-page.php' => array(
92
  'category' => array( 'admin-tools' ),
96
  'settings' => 'edit.php?post_type=bws-admin_page&page=custom-admin-page.php',
97
  'pro_version' => 'custom-admin-page-pro/custom-admin-page-pro.php',
98
  'purchase' => 'https://bestwebsoft.com/products/wordpress/plugins/custom-admin-page/buy/?k=b986f456dba092b537f1a7755a363be9&pn=' . $bws_plugin_info["id"] . '&v=' . $bws_plugin_info["version"] . '&wp_v=' . $wp_version,
99
+ 'pro_settings' => 'edit.php?post_type=bws-admin_page&page=custom-admin-page-pro.php'
100
  ),
101
  'custom-search-plugin/custom-search-plugin.php' => array(
102
  'category' => array( 'navigation' ),
154
  ),
155
  'adsense-plugin/adsense-plugin.php' => array(
156
  'category' => array( 'marketing' ),
157
+ 'name' => 'Google Ads',
158
  'description' => __( 'Add Adsense ads to WordPress website pages, posts, custom posts, search results, categories, tags, and widgets.', 'bestwebsoft' ),
159
  'link' => 'https://bestwebsoft.com/products/wordpress/plugins/google-adsense/?k=60e3979921e354feb0347e88e7d7b73d&pn=' . $bws_plugin_info["id"] . '&v=' . $bws_plugin_info["version"] . '&wp_v=' . $wp_version,
160
  'settings' => 'admin.php?page=adsense-plugin.php',
392
  'settings' => 'admin.php?page=social-buttons.php',
393
  'pro_version' => 'social-buttons-pack-pro/social-buttons-pack-pro.php',
394
  'purchase' => 'https://bestwebsoft.com/products/wordpress/plugins/social-buttons-pack/buy/?k=e7059cacde0d275b224a5d995c9160fd&pn=' . $bws_plugin_info["id"] . '&v=' . $bws_plugin_info["version"] . '&wp_v=' . $wp_version,
395
+ 'pro_settings' => 'admin.php?page=social-buttons-pro.php'
396
  ),
397
  'social-login-bws/social-login-bws.php' => array(
398
  'category' => array( 'smm' ),
406
  'name' => 'Subscriber',
407
  'description' => __( 'Add email newsletter sign up form to WordPress posts, pages and widgets. Collect data and subscribe your users.', 'bestwebsoft' ),
408
  'link' => 'https://bestwebsoft.com/products/wordpress/plugins/subscriber/?k=a4ecc1b7800bae7329fbe8b4b04e9c88&pn=' . $bws_plugin_info["id"] . '&v=' . $bws_plugin_info["version"] . '&wp_v=' . $wp_version,
409
+ 'settings' => 'admin.php?page=subscriber.php',
410
  'pro_version' => 'subscriber-pro/subscriber-pro.php',
411
  'purchase' => 'https://bestwebsoft.com/products/wordpress/plugins/subscriber/buy/?k=02dbb8b549925d9b74e70adc2a7282e4&pn=' . $bws_plugin_info["id"] . '&v=' . $bws_plugin_info["version"] . '&wp_v=' . $wp_version,
412
+ 'pro_settings' => 'admin.php?page=subscriber-pro.php'
413
  ),
414
  'bws-testimonials/bws-testimonials.php' => array(
415
  'category' => array( 'marketing', 'recommended' ),
473
  'name' => 'Help Center',
474
  'description' => __( 'Backup and export Zendesk Help Center content automatically to your WordPress website database.', 'bestwebsoft' ),
475
  'link' => 'https://bestwebsoft.com/products/wordpress/plugins/zendesk-help-center/?k=2a5fd2f4b2f4bde46f2ca44b8d15846d&pn=' . $bws_plugin_info["id"] . '&v=' . $bws_plugin_info["version"] . '&wp_v=' . $wp_version,
476
+ 'settings' => 'admin.php?page=zendesk_hc.php',
477
  'pro_version' => 'zendesk-help-center-pro/zendesk-help-center-pro.php',
478
  'purchase' => 'https://bestwebsoft.com/products/wordpress/plugins/zendesk-help-center/buy/?k=45199e4538b5befe4d9566868a61a3aa&pn=' . $bws_plugin_info["id"] . '&v=' . $bws_plugin_info["version"] . '&wp_v=' . $wp_version,
479
+ 'pro_settings' => 'admin.php?page=zendesk_hc_pro.php'
480
  )
481
  );
482
 
491
  'slug' => 'realestate',
492
  'href' => 'https://bestwebsoft.com/products/wordpress/themes/real-estate-creative-wordpress-theme/'
493
  ),
494
+ (object) array(
495
+ 'name' => 'Rent a Bike',
496
+ 'slug' => 'rent-a-bike',
497
+ 'href' => 'https://bestwebsoft.com/products/wordpress/themes/rent-a-bike-booking-wordpress-theme/'
498
+ ),
499
  (object) array(
500
  'name' => 'Renty',
501
  'slug' => 'renty',
css/frontend_style.css CHANGED
@@ -314,6 +314,8 @@ ul.gallery {
314
  border: none;
315
  word-break: normal;
316
  height: 300px;
 
 
317
  }
318
 
319
  .gllr-widget-table tr{
@@ -321,9 +323,9 @@ ul.gallery {
321
  }
322
 
323
  .gllr-widget-cell-item{
324
- height: 100%;
325
- width: 100%;
326
- position: relative;
327
  }
328
 
329
  .gllr-widget-cell-item-hover{
@@ -360,8 +362,8 @@ ul.gallery {
360
 
361
  .gllr-widget-cell-item img {
362
  display: block;
363
- width: 100%;
364
- height: 100%;
365
  object-fit: cover;
366
  object-position: center;
367
  }
@@ -371,4 +373,8 @@ ul.gallery {
371
  }
372
  .gllr_single_image_text_under {
373
  color: #888;
374
- }
 
 
 
 
314
  border: none;
315
  word-break: normal;
316
  height: 300px;
317
+ vertical-align: top;
318
+ position: relative;
319
  }
320
 
321
  .gllr-widget-table tr{
323
  }
324
 
325
  .gllr-widget-cell-item{
326
+ height: 100% !important;
327
+ width: 100% !important;
328
+ position: absolute;
329
  }
330
 
331
  .gllr-widget-cell-item-hover{
362
 
363
  .gllr-widget-cell-item img {
364
  display: block;
365
+ width: 100% !important;
366
+ height: 100% !important;
367
  object-fit: cover;
368
  object-position: center;
369
  }
373
  }
374
  .gllr_single_image_text_under {
375
  color: #888;
376
+ }
377
+ .gllr_twentytwentyone .gllr-widget-cell-item .button {
378
+ display: inline-block;
379
+ font-size: 14px;
380
+ }
css/style.css CHANGED
@@ -83,6 +83,9 @@
83
  .gllr-wp-filter {
84
  margin-top: 15px;
85
  }
 
 
 
86
  #bws_settings_tabs_wrapper .bws_tab#gllr_images_tab > .attachments {
87
  margin: 0;
88
  width: 100%;
83
  .gllr-wp-filter {
84
  margin-top: 15px;
85
  }
86
+ .type-bws-gallery img {
87
+ max-height: 65px;
88
+ }
89
  #bws_settings_tabs_wrapper .bws_tab#gllr_images_tab > .attachments {
90
  margin: 0;
91
  width: 100%;
gallery-plugin.php CHANGED
@@ -6,12 +6,12 @@ Description: Add beautiful galleries, albums & images to your Wordpress website
6
  Author: BestWebSoft
7
  Text Domain: gallery-plugin
8
  Domain Path: /languages
9
- Version: 4.6.6
10
  Author URI: https://bestwebsoft.com/
11
  License: GPLv2 or later
12
  */
13
 
14
- /* © Copyright 2020 BestWebSoft ( https://support.bestwebsoft.com )
15
 
16
  This program is free software; you can redistribute it and/or modify
17
  it under the terms of the GNU General Public License, version 2, as
@@ -28,6 +28,7 @@ License: GPLv2 or later
28
  */
29
 
30
  require_once( dirname( __FILE__ ) . '/includes/class-gllr-widgets.php' );
 
31
 
32
  if ( ! function_exists( 'add_gllr_admin_menu' ) ) {
33
  function add_gllr_admin_menu() {
@@ -35,23 +36,26 @@ if ( ! function_exists( 'add_gllr_admin_menu' ) ) {
35
 
36
  if ( empty( $gllr_options ) )
37
  gllr_settings();
38
-
39
- $settings = add_submenu_page( 'edit.php?post_type=' . $gllr_options['post_type_name'], __( 'Gallery Settings', 'gallery-plugin' ), __( 'Global Settings', 'gallery-plugin' ), 'manage_options', "gallery-plugin.php", 'gllr_settings_page' );
40
-
41
- add_submenu_page( 'edit.php?post_type=' . $gllr_options['post_type_name'], 'BWS Panel', 'BWS Panel', 'manage_options', 'gllr-bws-panel', 'bws_add_menu_render' );
42
-
43
- if ( isset( $submenu['edit.php?post_type=' . $gllr_options['post_type_name'] ] ) ) {
44
- $submenu['edit.php?post_type=' . $gllr_options['post_type_name'] ][] = array(
45
- '<span style="color:#d86463"> ' . __( 'Upgrade to Pro', 'gallery-plugin' ) . '</span>',
46
- 'manage_options',
47
- 'https://bestwebsoft.com/products/wordpress/plugins/gallery/?k=63a36f6bf5de0726ad6a43a165f38fe5&pn=79&v=' . $gllr_plugin_info["Version"] . '&wp_v=' . $wp_version
48
- );
 
 
 
 
 
 
 
 
49
  }
50
-
51
- add_action( 'load-' . $settings, 'gllr_add_tabs' );
52
- add_action( 'load-post-new.php', 'gllr_add_tabs' );
53
- add_action( 'load-post.php', 'gllr_add_tabs' );
54
- add_action( 'load-edit.php', 'gllr_add_tabs' );
55
  }
56
  }
57
 
@@ -133,14 +137,15 @@ if ( ! function_exists( 'gllr_admin_init' ) ) {
133
 
134
  /* add gallery to global $bws_shortcode_list */
135
  $bws_shortcode_list['gllr'] = array( 'name' => 'Gallery', 'js_function' => 'gllr_shortcode_init' );
136
-
 
137
  if ( 'plugins.php' == $pagenow ) {
138
  /* Install the option defaults */
139
  if ( function_exists( 'bws_plugin_banner_go_pro' ) ) {
140
  bws_plugin_banner_go_pro( $gllr_options, $gllr_plugin_info, 'gllr', 'gallery', '01a04166048e9416955ce1cbe9d5ca16', '79', 'gallery-plugin' );
141
  }
142
  }
143
-
144
  add_filter( 'manage_' . $gllr_options['post_type_name'] . '_posts_columns', 'gllr_change_columns' );
145
  add_action( 'manage_' . $gllr_options['post_type_name'] . '_posts_custom_column', 'gllr_custom_columns', 10, 2 );
146
  }
@@ -375,6 +380,9 @@ if ( ! function_exists( 'gllr_get_options_default' ) ) {
375
  /* disable 3rd-party fancybox */
376
  'disable_foreing_fancybox' => 0
377
  );
 
 
 
378
  return $option_defaults;
379
  }
380
  }
@@ -1202,9 +1210,8 @@ if ( ! function_exists( 'gllr_single_template_content' ) ) {
1202
  <?php }
1203
  }
1204
  if ( $gllr_options['enable_lightbox'] ) {
1205
- $gllr_vars_for_inline_script['single_script'][] = array(
1206
- 'post_id' => $post->ID
1207
- );
1208
 
1209
  if ( defined( 'BWS_ENQUEUE_ALL_SCRIPTS' ) ) {
1210
  gllr_echo_inline_script();
@@ -1934,7 +1941,8 @@ if ( ! function_exists( 'gllr_wp_head' ) ) {
1934
  global $gllr_options;
1935
 
1936
  wp_enqueue_style( 'gllr_stylesheet', plugins_url( 'css/frontend_style.css', __FILE__ ), array( 'dashicons' ) );
1937
-
 
1938
  if ( $gllr_options['enable_lightbox'] ) {
1939
  wp_enqueue_style( 'gllr_fancybox_stylesheet', plugins_url( 'fancybox/jquery.fancybox.min.css', __FILE__ ) );
1940
  /* Start ios */
@@ -2270,9 +2278,9 @@ if ( ! function_exists ( 'gllr_shortcode' ) ) {
2270
  <div class="gllr_clear"></div>
2271
  <?php }
2272
  if ( $gllr_options['enable_lightbox'] ) {
2273
- $gllr_vars_for_inline_script['single_script'][] = array(
2274
- 'post_id' => $post->ID
2275
- );
2276
 
2277
  if ( defined( 'BWS_ENQUEUE_ALL_SCRIPTS' ) ) {
2278
  gllr_echo_inline_script();
@@ -2294,6 +2302,7 @@ if ( ! function_exists ( 'gllr_shortcode' ) ) {
2294
 
2295
  if ( ! function_exists( 'gllr_echo_inline_script' ) ) {
2296
  function gllr_echo_inline_script() {
 
2297
  global $gllr_vars_for_inline_script, $gllr_options;
2298
 
2299
  if ( isset( $gllr_vars_for_inline_script['single_script'] ) ) {
@@ -2364,6 +2373,8 @@ if ( ! function_exists( 'gllr_echo_inline_script' ) ) {
2364
 
2365
  unset( $gllr_vars_for_inline_script );
2366
  }
 
 
2367
  }
2368
  }
2369
 
@@ -2653,486 +2664,6 @@ if ( ! function_exists( 'gllr_media_custom_box' ) ) {
2653
  <?php }
2654
  }
2655
 
2656
- if ( ! class_exists( 'Gllr_Media_Table' ) ) {
2657
- if ( ! class_exists( 'WP_List_Table' ) ) {
2658
- require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
2659
- }
2660
- if ( ! class_exists( 'WP_Media_List_Table' ) ) {
2661
- require_once( ABSPATH . 'wp-admin/includes/class-wp-media-list-table.php' );
2662
- }
2663
-
2664
- class Gllr_Media_Table extends WP_Media_List_Table {
2665
- public function __construct( $args = array() ) {
2666
-
2667
- $this->modes = array(
2668
- 'list' => __( 'List View', 'gallery-plugin' ),
2669
- 'grid' => __( 'Grid View', 'gallery-plugin' )
2670
- );
2671
-
2672
- parent::__construct( array(
2673
- 'plural' => 'media',
2674
- 'screen' => isset( $args['screen'] ) ? $args['screen'] : '',
2675
- ) );
2676
- }
2677
-
2678
- function prepare_items() {
2679
- global $wpdb, $gllr_mode, $original_post, $wp_version;
2680
-
2681
- $columns = $this->get_columns();
2682
- $hidden = array( 'order' );
2683
- $sortable = array();
2684
- $this->_column_headers = array( $columns, $hidden, $sortable );
2685
- $original_post ? $images_id = get_post_meta( $original_post->ID, '_gallery_images', true ) : false;
2686
- if ( empty( $images_id ) ) {
2687
- $total_items = 0;
2688
- } else {
2689
- $total_items = $wpdb->get_var( "SELECT COUNT(*) FROM " . $wpdb->posts . " WHERE ID IN( " . $images_id . " )" );
2690
- }
2691
-
2692
- $per_page = -1;
2693
-
2694
- $gllr_mode = get_user_option( 'gllr_media_library_mode', get_current_user_id() ) ? get_user_option( 'gllr_media_library_mode', get_current_user_id() ) : 'grid';
2695
- $modes = array( 'grid', 'list' );
2696
-
2697
- if ( isset( $_GET['mode'] ) && in_array( $_GET['mode'], $modes ) ) {
2698
- $gllr_mode = esc_attr( $_GET['mode'] );
2699
- update_user_option( get_current_user_id(), 'gllr_media_library_mode', $gllr_mode );
2700
- }
2701
-
2702
- $this->set_pagination_args( array(
2703
- 'total_items' => $total_items,
2704
- 'total_pages' => 1,
2705
- 'per_page' => $per_page
2706
- ) );
2707
-
2708
- if ( $wp_version < '4.2' ) {
2709
- $this->is_trash = isset( $_REQUEST['attachment-filter'] ) && 'trash' == $_REQUEST['attachment-filter'];
2710
- }
2711
- }
2712
-
2713
- function extra_tablenav( $which ) {
2714
- if ( 'bar' !== $which ) {
2715
- return;
2716
- } ?>
2717
- <div class="actions">
2718
- <?php if ( ! is_singular() ) {
2719
- if ( ! $this->is_trash ) {
2720
- $this->months_dropdown( 'attachment' );
2721
- }
2722
-
2723
- /** This action is documented in wp-admin/includes/class-wp-posts-list-table.php */
2724
- do_action( 'restrict_manage_posts' );
2725
- submit_button( __( 'Filter', 'gallery-plugin' ), 'button', 'filter_action', false, array( 'id' => 'post-query-submit' ) );
2726
- }
2727
-
2728
- if ( $this->is_trash && current_user_can( 'edit_others_posts' ) ) {
2729
- submit_button( __( 'Empty Trash', 'gallery-plugin' ), 'apply', 'delete_all', false );
2730
- } ?>
2731
- </div>
2732
- <?php }
2733
-
2734
- function has_items() {
2735
- global $wpdb, $original_post;
2736
-
2737
- $images_id = get_post_meta( $original_post->ID, '_gallery_images', true );
2738
- if ( empty( $images_id ) ) {
2739
- $total_items = 0;
2740
- } else {
2741
- $total_items = $wpdb->get_var( "SELECT COUNT(*) FROM " . $wpdb->posts . " WHERE ID IN( " . $images_id . " )" );
2742
- }
2743
-
2744
- if ( $total_items > 0 ) {
2745
- return true;
2746
- } else {
2747
- return false;
2748
- }
2749
- }
2750
-
2751
- function no_items() {
2752
- _e( 'No images found', 'gallery-plugin' );
2753
- }
2754
-
2755
- function get_views() {
2756
- return false;
2757
- }
2758
-
2759
- function display_tablenav( $which ) { ?>
2760
- <div class="tablenav <?php echo esc_attr( $which ); ?>">
2761
- <div class="alignleft actions bulkactions">
2762
- <?php $this->bulk_actions( $which ); ?>
2763
- </div>
2764
- <?php $this->extra_tablenav( $which );
2765
- $this->pagination( $which ); ?>
2766
- <br class="clear" />
2767
- </div>
2768
- <?php }
2769
-
2770
- /**
2771
- * Display the bulk actions dropdown.
2772
- *
2773
- * @since 3.1.0
2774
- * @access protected
2775
- *
2776
- * @param string $which The location of the bulk actions: 'top' or 'bottom'.
2777
- * This is designated as optional for backwards-compatibility.
2778
- */
2779
- function bulk_actions( $which = '' ) {
2780
- if ( is_null( $this->_actions ) ) {
2781
- $no_new_actions = $this->_actions = $this->get_bulk_actions();
2782
- /**
2783
- * Filter the list table Bulk Actions drop-down.
2784
- *
2785
- * The dynamic portion of the hook name, `$this->screen->id`, refers
2786
- * to the ID of the current screen, usually a string.
2787
- *
2788
- * This filter can currently only be used to remove bulk actions.
2789
- *
2790
- * @since 3.5.0
2791
- *
2792
- * @param array $actions An array of the available bulk actions.
2793
- */
2794
- $this->_actions = apply_filters( "bulk_actions-{$this->screen->id}", $this->_actions );
2795
- $this->_actions = array_intersect_assoc( $this->_actions, $no_new_actions );
2796
- $two = '';
2797
- } else {
2798
- $two = '2';
2799
- }
2800
-
2801
- if ( empty( $this->_actions ) ) {
2802
- return;
2803
- }
2804
-
2805
- echo "<label for='bulk-action-selector-" . esc_attr( $which ) . "' class='screen-reader-text'>" . __( 'Select bulk action', 'gallery-plugin' ) . "</label>";
2806
- echo "<select name='action-" . esc_attr( $which ) . "' id='bulk-action-selector-" . esc_attr( $which ) . "'>\n";
2807
- echo "<option value='-1' selected='selected'>" . __( 'Bulk Actions', 'gallery-plugin' ) . "</option>\n";
2808
-
2809
- foreach ( $this->_actions as $name => $title ) {
2810
- $class = 'edit' == $name ? ' class="hide-if-no-js"' : '';
2811
-
2812
- echo "\t<option value='$name'$class>$title</option>\n";
2813
- }
2814
-
2815
- echo "</select>\n";
2816
-
2817
- submit_button( __( 'Apply', 'gallery-plugin' ), 'action', '', false, array( 'id' => "doaction$two" ) );
2818
- echo "\n";
2819
- }
2820
-
2821
- function get_bulk_actions() {
2822
- $actions = array();
2823
-
2824
- $actions['delete'] = __( 'Delete from Gallery', 'gallery-plugin' );
2825
-
2826
- return $actions;
2827
- }
2828
-
2829
- public function views() {
2830
- global $gllr_mode; ?>
2831
- <div class="gllr-wp-filter hide-if-no-js">
2832
- <?php if ( 'grid' == $gllr_mode ) { ?>
2833
- <a href="#" class="button media-button gllr-media-bulk-select-button hide-if-no-js"><?php _e( 'Bulk Select', 'gallery-plugin' ); ?></a>
2834
- <a href="#" class="button media-button gllr-media-bulk-cansel-select-button hide-if-no-js"><?php _e( 'Cancel Selection', 'gallery-plugin' ); ?></a>
2835
- <a href="#" class="button media-button button-primary gllr-media-bulk-delete-selected-button hide-if-no-js" disabled="disabled"><?php _e( 'Delete Selected', 'gallery-plugin' ); ?></a>
2836
- <?php } else {
2837
- $this->view_switcher( $gllr_mode );
2838
- } ?>
2839
- </div>
2840
- <input type="hidden" name="gllr_mode" value="<?php echo $gllr_mode; ?>" />
2841
- <?php }
2842
-
2843
- function get_columns() {
2844
- $lists_columns = array(
2845
- 'cb' => '<input type="checkbox" />',
2846
- 'title' => __( 'File', 'gallery-plugin' ),
2847
- 'dimensions' => __( 'Dimensions', 'gallery-plugin' ),
2848
- 'gllr_image_text' => __( 'Title', 'gallery-plugin' ) . bws_add_help_box( '<img src="' . plugins_url( 'images/image-title-example.png', __FILE__ ) . '" />' ),
2849
- 'gllr_image_alt_tag' => __( 'Alt Text', 'gallery-plugin' ),
2850
- 'gllr_link_url' => __( 'URL', 'gallery-plugin' ) . bws_add_help_box( __( 'Enter your custom URL to link this image to other page or file. Leave blank to open a full size image.', 'gallery-plugin' ) ),
2851
- 'order' => ''
2852
- );
2853
- return $lists_columns;
2854
- }
2855
-
2856
- function display_rows( $lists = array(), $level = 0 ) {
2857
- global $post, $gllr_mode, $original_post, $gllr_options;
2858
-
2859
- add_filter( 'the_title','esc_html' );
2860
-
2861
- $images_id = get_post_meta( $original_post->ID, '_gallery_images', true );
2862
-
2863
- $old_post = $post;
2864
-
2865
- query_posts( array(
2866
- 'post__in' => explode( ',', $images_id ),
2867
- 'post_type' => 'attachment',
2868
- 'posts_per_page' => -1,
2869
- 'post_status' => 'inherit',
2870
- 'meta_key' => '_gallery_order_' . $original_post->ID,
2871
- 'orderby' => $gllr_options['order_by'],
2872
- 'order' => 'ASC'
2873
- ) );
2874
-
2875
- while ( have_posts() ) {
2876
- the_post();
2877
- $this->single_row( $gllr_mode );
2878
- }
2879
- wp_reset_postdata();
2880
- wp_reset_query();
2881
- $post = $old_post;
2882
- }
2883
-
2884
- function display_grid_rows() {
2885
- global $post, $gllr_mode, $original_post, $gllr_options;
2886
- $old_post = $post;
2887
- add_filter( 'the_title','esc_html' );
2888
-
2889
- $original_post ? $images_id = get_post_meta( $original_post->ID, '_gallery_images', true ) : false;
2890
- query_posts( array(
2891
- 'post__in' => explode( ',', $images_id ),
2892
- 'post_type' => 'attachment',
2893
- 'posts_per_page' => -1,
2894
- 'post_status' => 'inherit',
2895
- 'meta_key' => '_gallery_order_' . $post->ID,
2896
- 'orderby' => $gllr_options['order_by'],
2897
- 'order' => 'ASC'
2898
- ) );
2899
- while ( have_posts() ) {
2900
- the_post();
2901
- $this->single_row( $gllr_mode );
2902
- }
2903
- wp_reset_postdata();
2904
- wp_reset_query();
2905
- $post = $old_post;
2906
- }
2907
-
2908
- function single_row( $gllr_mode ) {
2909
- global $post, $original_post, $gllr_options, $gllr_plugin_info, $wp_version;
2910
-
2911
- if ( empty( $gllr_options ) ) {
2912
- gllr_settings();
2913
- }
2914
-
2915
- $attachment_metadata = wp_get_attachment_metadata( $post->ID );
2916
- if ( 'grid' == $gllr_mode ) {
2917
- $image_attributes = wp_get_attachment_image_src( $post->ID, 'medium' ); ?>
2918
- <li tabindex="0" id="post-<?php echo $post->ID; ?>" class="gllr-media-attachment">
2919
- <div class="gllr-media-attachment-preview">
2920
- <div class="gllr-media-thumbnail">
2921
- <div class="centered">
2922
- <img src="<?php echo $image_attributes[0]; ?>" class="thumbnail" draggable="false" />
2923
- <input type="hidden" name="_gallery_order_<?php echo $original_post->ID; ?>[<?php echo $post->ID; ?>]" value="<?php echo get_post_meta( $post->ID, '_gallery_order_'.$original_post->ID, true ); ?>" />
2924
- </div>
2925
- </div>
2926
- <div class="gllr-media-attachment-details">
2927
- <strong><?php echo get_post_meta( $post->ID, 'gllr_image_text', true ); ?></strong>
2928
- <br />
2929
- <?php the_title(); ?>
2930
- </div>
2931
- </div>
2932
- <a href="#" class="gllr-media-actions-delete dashicons dashicons-trash" title="<?php _e( 'Remove Image from Gallery', 'gallery-plugin' ); ?>"></a>
2933
- <input type="hidden" class="gllr_attachment_id" name="_gllr_attachment_id" value="<?php echo $post->ID; ?>" />
2934
- <input type="hidden" class="gllr_post_id" name="_gllr_post_id" value="<?php echo $original_post->ID; ?>" />
2935
- <a class="thickbox gllr-media-actions-edit dashicons dashicons-edit" href="<?php echo get_edit_post_link( $post->ID ); ?>#TB_inline?width=800&height=450&inlineId=gllr-media-attachment-details-box-<?php echo $post->ID; ?>" title="<?php _e( 'Edit Image Info', 'gallery-plugin' ); ?>"></a>
2936
- <a class="gllr-media-check" tabindex="-1" title="<?php _e( 'Deselect', 'gallery-plugin' ); ?>" href="#"><div class="media-modal-icon"></div></a>
2937
- <div id="gllr-media-attachment-details-box-<?php echo $post->ID; ?>" class="gllr-media-attachment-details-box">
2938
- <?php $image_attributes = wp_get_attachment_image_src( $post->ID, 'large' ); ?>
2939
- <div class="gllr-media-attachment-details-box-left">
2940
- <div class="gllr_border_image">
2941
- <img src="<?php echo $image_attributes[0]; ?>" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" height="auto" width="<?php echo $image_attributes[1]; ?>" />
2942
- </div>
2943
- </div>
2944
- <div class="gllr-media-attachment-details-box-right">
2945
- <div class="attachment-details">
2946
- <div class="attachment-info">
2947
- <div class="details">
2948
- <div><?php _e( 'File name', 'gallery-plugin' ); ?>: <?php the_title(); ?></div>
2949
- <div><?php _e( 'File type', 'gallery-plugin' ); ?>: <?php echo get_post_mime_type( $post->ID ); ?></div>
2950
- <div><?php _e( 'Dimensions', 'gallery-plugin' ); ?>: <?php echo $attachment_metadata['width']; ?> &times; <?php echo $attachment_metadata['height']; ?></div>
2951
- </div>
2952
- </div>
2953
- <label class="setting" data-setting="title">
2954
- <span class="name">
2955
- <?php _e( 'Title', 'gallery-plugin' );
2956
- echo bws_add_help_box( '<img src="' . plugins_url( 'images/image-title-example.png', __FILE__ ) . '" />', 'bws-auto-width' ); ?>
2957
- </span>
2958
- <input type="text" name="gllr_image_text[<?php echo $post->ID; ?>]" value="<?php echo get_post_meta( $post->ID, 'gllr_image_text', true ); ?>" />
2959
- </label>
2960
- <label class="setting" data-setting="alt">
2961
- <span class="name"><?php _e( 'Alt Text', 'gallery-plugin' ); ?></span>
2962
- <input type="text" name="gllr_image_alt_tag[<?php echo $post->ID; ?>]" value="<?php echo get_post_meta( $post->ID, 'gllr_image_alt_tag', true ); ?>" />
2963
- </label>
2964
- <label class="setting" data-setting="alt">
2965
- <span class="name"><?php _e( 'URL', 'gallery-plugin' ); ?></span>
2966
- <input type="text" name="gllr_link_url[<?php echo $post->ID; ?>]" value="<?php echo get_post_meta( $post->ID, 'gllr_link_url', true ); ?>" />
2967
- <span class="bws_info"><?php _e( 'Enter your custom URL to link this image to other page or file. Leave blank to open a full size image.', 'gallery-plugin' ); ?></span>
2968
- </label>
2969
- <?php if ( ! bws_hide_premium_options_check( $gllr_options ) ) { ?>
2970
- <div class="bws_pro_version_bloc gllr_like">
2971
- <div class="bws_pro_version_table_bloc">
2972
- <div class="bws_table_bg"></div>
2973
- <label class="setting" data-setting="description">
2974
- <span class="name"><?php _e( 'Description', 'gallery-plugin' );
2975
- echo bws_add_help_box( '<img src="' . plugins_url( 'images/image-description-example.png', __FILE__ ) . '" />', 'bws-auto-width' ); ?></span>
2976
- <textarea disabled name=""></textarea>
2977
- </label>
2978
- <label class="setting" data-setting="description">
2979
- <span class="name">
2980
- <?php _e( 'Lightbox Button URL', 'gallery-plugin' );
2981
- echo bws_add_help_box( '<img src="' . plugins_url( 'images/image-button-example.png', __FILE__ ) . '" />', 'bws-auto-width' ); ?>
2982
- </span>
2983
- <input disabled type="text" name="" value="" />
2984
- </label>
2985
- <label class="setting" data-setting="description">
2986
- <span class="name">
2987
- <?php _e( 'New Tab', 'gallery-plugin' ); ?>
2988
- </span>
2989
- <input disabled type="checkbox" name="" value="" /> <span class="bws_info"><?php _e( 'Enable to open URLs above in a new tab.', 'gallery-plugin' ); ?></span>
2990
- </label>
2991
- </div>
2992
- <div class="clear"></div>
2993
- <div class="bws_pro_version_tooltip">
2994
- <a class="bws_button" href="https://bestwebsoft.com/products/wordpress/plugins/gallery/?k=63a36f6bf5de0726ad6a43a165f38fe5&pn=79&v=<?php echo $gllr_plugin_info["Version"]; ?>&wp_v=<?php echo $wp_version; ?>" target="_blank" title="<?php _e( 'Go Pro', 'gallery-plugin' ); ?>"><?php _e( 'Upgrade to Pro', 'bestwebsoft' ); ?></a>
2995
- <div class="clear"></div>
2996
- </div>
2997
- </div>
2998
- <?php } ?>
2999
- <div class="gllr-media-attachment-actions">
3000
- <a target="_blank" href="post.php?post=<?php echo $post->ID; ?>&amp;action=edit"><?php _e( 'Edit more details', 'gallery-plugin' ); ?></a>
3001
- <span class="gllr-separator">|</span>
3002
- <a href="#" class="gllr-media-actions-delete"><?php _e( 'Remove from Gallery', 'gallery-plugin' ); ?></a>
3003
- <input type="hidden" class="gllr_attachment_id" name="_gllr_attachment_id" value="<?php echo $post->ID; ?>" />
3004
- <input type="hidden" class="gllr_post_id" name="_gllr_post_id" value="<?php echo $original_post->ID; ?>" />
3005
- </div>
3006
- </div>
3007
- <div class="gllr_clear"></div>
3008
- </div>
3009
- </div>
3010
- </li>
3011
- <?php } else {
3012
- $user_can_edit = current_user_can( 'edit_post', $post->ID );
3013
- $post_owner = ( get_current_user_id() == $post->post_author ) ? 'self' : 'other';
3014
- $att_title = _draft_or_post_title(); ?>
3015
- <tr id="post-<?php echo $post->ID; ?>" class="<?php echo trim( ' author-' . $post_owner . ' status-' . $post->post_status ); ?>">
3016
- <?php list( $columns, $hidden ) = $this->get_column_info();
3017
- foreach ( $columns as $column_name => $column_display_name ) {
3018
-
3019
- $classes = "$column_name column-$column_name";
3020
- if ( in_array( $column_name, $hidden ) ) {
3021
- $classes .= ' hidden';
3022
- }
3023
-
3024
- if ( 'title' == $column_name ) {
3025
- $classes .= ' column-primary has-row-actions';
3026
- }
3027
-
3028
- $attributes = "class='$classes'";
3029
- switch ( $column_name ) {
3030
- case 'order': ?>
3031
- <th <?php echo $attributes; ?>>
3032
- <input type="hidden" name="_gallery_order_<?php echo $original_post->ID; ?>[<?php echo $post->ID; ?>]" value="<?php echo get_post_meta( $post->ID, '_gallery_order_'.$original_post->ID, true ); ?>" />
3033
- </th>
3034
- <?php break;
3035
- case 'cb': ?>
3036
- <th scope="row" class="check-column">
3037
- <?php if ( $user_can_edit ) { ?>
3038
- <label class="screen-reader-text" for="cb-select-<?php the_ID(); ?>"><?php echo sprintf( __( 'Select %s', 'gallery-plugin' ), $att_title );?></label>
3039
- <input type="checkbox" name="media[]" id="cb-select-<?php the_ID(); ?>" value="<?php the_ID(); ?>" />
3040
- <?php } ?>
3041
- </th>
3042
- <?php break;
3043
- case 'title': ?>
3044
- <td <?php echo $attributes; ?>><strong>
3045
- <?php $thumb = wp_get_attachment_image( $post->ID, array( 80, 60 ), true );
3046
- if ( $this->is_trash || ! $user_can_edit ) {
3047
- if ( $thumb )
3048
- echo '<span class="media-icon image-icon">' . $thumb . '</span>';
3049
- echo '<span aria-hidden="true">' . $att_title . '</span>';
3050
- } else { ?>
3051
- <a href="<?php echo get_edit_post_link( $post->ID ); ?>" title="<?php echo esc_attr( sprintf( __( 'Edit &#8220;%s&#8221;', 'gallery-plugin' ), $att_title ) ); ?>">
3052
- <?php if ( $thumb ) echo '<span class="media-icon image-icon">' . $thumb . '</span>'; ?>
3053
- <?php echo '<span aria-hidden="true">' . $att_title . '</span>'; ?>
3054
- </a>
3055
- <?php }
3056
- _media_states( $post ); ?></strong>
3057
- <p class="filename"><?php echo wp_basename( $post->guid ); ?></p>
3058
- <?php echo $this->row_actions( $this->_get_row_actions( $post, $att_title ) ); ?>
3059
- <a href="#" class="gllr_info_show hidden"><?php _e( 'Edit Attachment Info', 'gallery-plugin' ); ?></a>
3060
- </td>
3061
- <?php break;
3062
- case 'dimensions': ?>
3063
- <td <?php echo $attributes; ?> data-colname="<?php _e( 'Dimensions', 'gallery-plugin' ); ?>">
3064
- <?php echo $attachment_metadata['width']; ?> &times; <?php echo $attachment_metadata['height']; ?>
3065
- </td>
3066
- <?php break;
3067
- case 'gllr_image_text': ?>
3068
- <td <?php echo $attributes; ?> data-colname="<?php _e( 'Title', 'gallery-plugin' ); ?>">
3069
- <input type="text" name="<?php echo $column_name; ?>[<?php echo $post->ID; ?>]" value="<?php echo get_post_meta( $post->ID, $column_name, true ); ?>" />
3070
- </td>
3071
- <?php break;
3072
- case 'gllr_image_alt_tag': ?>
3073
- <td <?php echo $attributes; ?> data-colname="<?php _e( 'Alt Text', 'gallery-plugin' ); ?>">
3074
- <input type="text" name="<?php echo $column_name; ?>[<?php echo $post->ID; ?>]" value="<?php echo get_post_meta( $post->ID, $column_name, true ); ?>" />
3075
- </td>
3076
- <?php break;
3077
- case 'gllr_link_url': ?>
3078
- <td <?php echo $attributes; ?> data-colname="<?php _e( 'URL', 'gallery-plugin' ); ?>">
3079
- <input type="text" name="<?php echo $column_name; ?>[<?php echo $post->ID; ?>]" value="<?php echo get_post_meta( $post->ID, $column_name, true ); ?>" />
3080
- </td>
3081
- <?php break;
3082
- }
3083
- } ?>
3084
- </tr>
3085
- <?php }
3086
- }
3087
- /**
3088
- * @param WP_Post $post
3089
- * @param string $att_title
3090
- */
3091
- function _get_row_actions( $post, $att_title ) {
3092
- $actions = array();
3093
-
3094
- if ( $this->detached ) {
3095
- if ( current_user_can( 'edit_post', $post->ID ) ) {
3096
- $actions['edit'] = '<a href="' . get_edit_post_link( $post->ID ) . '">' . __( 'Edit', 'gallery-plugin' ) . '</a>';
3097
- }
3098
- if ( current_user_can( 'delete_post', $post->ID ) ) {
3099
- if ( EMPTY_TRASH_DAYS && MEDIA_TRASH ) {
3100
- $actions['trash'] = "<a class='submitdelete' href='" . wp_nonce_url( "post.php?action=trash&amp;post=$post->ID", 'trash-post_' . $post->ID ) . "'>" . __( 'Trash', 'gallery-plugin' ) . "</a>";
3101
- } else {
3102
- $delete_ays = !MEDIA_TRASH ? " onclick='return showNotice.warn();'" : '';
3103
- $actions['delete'] = "<a class='submitdelete'$delete_ays href='" . wp_nonce_url( "post.php?action=delete&amp;post=$post->ID", 'delete-post_' . $post->ID ) . "'>" . __( 'Delete Permanently', 'gallery-plugin' ) . "</a>";
3104
- }
3105
- }
3106
- $actions['view'] = '<a href="' . get_permalink( $post->ID ) . '" title="' . esc_attr( sprintf( __( 'View &#8220;%s&#8221;', 'gallery-plugin' ), $att_title ) ) . '" rel="permalink">' . __( 'View', 'gallery-plugin' ) . '</a>';
3107
- if ( current_user_can( 'edit_post', $post->ID ) ) {
3108
- $actions['attach'] = '<a href="#the-list" onclick="findPosts.open( \'media[]\',\''.$post->ID.'\' );return false;" class="hide-if-no-js">' . __( 'Attach', 'gallery-plugin' ) . '</a>';
3109
- }
3110
- } else {
3111
- if ( current_user_can( 'edit_post', $post->ID ) && !$this->is_trash ) {
3112
- $actions['edit'] = '<a href="' . get_edit_post_link( $post->ID ) . '">' . __( 'Edit', 'gallery-plugin' ) . '</a>';
3113
- }
3114
- if ( current_user_can( 'delete_post', $post->ID ) ) {
3115
- if ( $this->is_trash ) {
3116
- $actions['untrash'] = "<a class='submitdelete' href='" . wp_nonce_url( "post.php?action=untrash&amp;post=$post->ID", 'untrash-post_' . $post->ID ) . "'>" . __( 'Restore', 'gallery-plugin' ) . "</a>";
3117
- } elseif ( EMPTY_TRASH_DAYS && MEDIA_TRASH ) {
3118
- $actions['trash'] = "<a class='submitdelete' href='" . wp_nonce_url( "post.php?action=trash&amp;post=$post->ID", 'trash-post_' . $post->ID ) . "'>" . __( 'Trash', 'gallery-plugin' ) . "</a>";
3119
- }
3120
- if ( $this->is_trash || !EMPTY_TRASH_DAYS || !MEDIA_TRASH ) {
3121
- $delete_ays = ( !$this->is_trash && !MEDIA_TRASH ) ? " onclick='return showNotice.warn();'" : '';
3122
- $actions['delete'] = "<a class='submitdelete'$delete_ays href='" . wp_nonce_url( "post.php?action=delete&amp;post=$post->ID", 'delete-post_' . $post->ID ) . "'>" . __( 'Delete Permanently', 'gallery-plugin' ) . "</a>";
3123
- }
3124
- }
3125
-
3126
- if ( !$this->is_trash ) {
3127
- $title =_draft_or_post_title( $post->post_parent );
3128
- $actions['view'] = '<a href="' . get_permalink( $post->ID ) . '" title="' . esc_attr( sprintf( __( 'View &#8220;%s&#8221;', 'gallery-plugin' ), $title ) ) . '" rel="permalink">' . __( 'View', 'gallery-plugin' ) . '</a>';
3129
- }
3130
- }
3131
- return $actions;
3132
- }
3133
- }
3134
- }
3135
-
3136
  if ( ! function_exists( 'gllr_delete_image' ) ) {
3137
  function gllr_delete_image() {
3138
  check_ajax_referer( plugin_basename( __FILE__ ), 'gllr_ajax_nonce_field' );
@@ -3488,7 +3019,8 @@ if ( ! function_exists( 'gllr_plugin_uninstall' ) ) {
3488
  require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
3489
  $all_plugins = get_plugins();
3490
 
3491
- if ( ! array_key_exists( 'gallery-plugin-pro/gallery-plugin-pro.php', $all_plugins ) ) {
 
3492
  if ( function_exists( 'is_multisite' ) && is_multisite() ) {
3493
  $old_blog = $wpdb->blogid;
3494
  /* Get all blog ids */
@@ -3530,6 +3062,9 @@ add_filter( 'plugin_action_links', 'gllr_plugin_action_links', 10, 2 );
3530
  add_filter( 'plugin_row_meta', 'gllr_register_plugin_links', 10, 2 );
3531
 
3532
  add_action( 'admin_menu', 'add_gllr_admin_menu' );
 
 
 
3533
 
3534
  add_action( 'init', 'gllr_init' );
3535
  add_action( 'admin_init', 'gllr_admin_init' );
6
  Author: BestWebSoft
7
  Text Domain: gallery-plugin
8
  Domain Path: /languages
9
+ Version: 4.6.7
10
  Author URI: https://bestwebsoft.com/
11
  License: GPLv2 or later
12
  */
13
 
14
+ /* © Copyright 2021 BestWebSoft ( https://support.bestwebsoft.com )
15
 
16
  This program is free software; you can redistribute it and/or modify
17
  it under the terms of the GNU General Public License, version 2, as
28
  */
29
 
30
  require_once( dirname( __FILE__ ) . '/includes/class-gllr-widgets.php' );
31
+ require_once( dirname( __FILE__ ) . '/includes/class-gllr-media-table.php' );
32
 
33
  if ( ! function_exists( 'add_gllr_admin_menu' ) ) {
34
  function add_gllr_admin_menu() {
36
 
37
  if ( empty( $gllr_options ) )
38
  gllr_settings();
39
+ if ( ! is_plugin_active( 'gallery-plugin-pro/gallery-plugin-pro.php' )
40
+ /*pls */ && ! is_plugin_active( 'gallery-plus/gallery-plus.php' )/* pls*/ ) {
41
+ $settings = add_submenu_page( 'edit.php?post_type=' . $gllr_options['post_type_name'], __( 'Gallery Settings', 'gallery-plugin' ), __( 'Global Settings', 'gallery-plugin' ), 'manage_options', "gallery-plugin.php", 'gllr_settings_page' );
42
+
43
+ add_submenu_page( 'edit.php?post_type=' . $gllr_options['post_type_name'], 'BWS Panel', 'BWS Panel', 'manage_options', 'gllr-bws-panel', 'bws_add_menu_render' );
44
+
45
+ /*pls */
46
+ if ( isset( $submenu['edit.php?post_type=' . $gllr_options['post_type_name'] ] ) ) {
47
+ $submenu['edit.php?post_type=' . $gllr_options['post_type_name'] ][] = array(
48
+ '<span style="color:#d86463"> ' . __( 'Upgrade to Pro', 'gallery-plugin' ) . '</span>',
49
+ 'manage_options',
50
+ 'https://bestwebsoft.com/products/wordpress/plugins/gallery/?k=63a36f6bf5de0726ad6a43a165f38fe5&pn=79&v=' . $gllr_plugin_info["Version"] . '&wp_v=' . $wp_version
51
+ );
52
+ }
53
+ /* pls*/
54
+ add_action( 'load-' . $settings, 'gllr_add_tabs' );
55
+ add_action( 'load-post-new.php', 'gllr_add_tabs' );
56
+ add_action( 'load-post.php', 'gllr_add_tabs' );
57
+ add_action( 'load-edit.php', 'gllr_add_tabs' );
58
  }
 
 
 
 
 
59
  }
60
  }
61
 
137
 
138
  /* add gallery to global $bws_shortcode_list */
139
  $bws_shortcode_list['gllr'] = array( 'name' => 'Gallery', 'js_function' => 'gllr_shortcode_init' );
140
+
141
+ /*pls */
142
  if ( 'plugins.php' == $pagenow ) {
143
  /* Install the option defaults */
144
  if ( function_exists( 'bws_plugin_banner_go_pro' ) ) {
145
  bws_plugin_banner_go_pro( $gllr_options, $gllr_plugin_info, 'gllr', 'gallery', '01a04166048e9416955ce1cbe9d5ca16', '79', 'gallery-plugin' );
146
  }
147
  }
148
+ /* pls*/
149
  add_filter( 'manage_' . $gllr_options['post_type_name'] . '_posts_columns', 'gllr_change_columns' );
150
  add_action( 'manage_' . $gllr_options['post_type_name'] . '_posts_custom_column', 'gllr_custom_columns', 10, 2 );
151
  }
380
  /* disable 3rd-party fancybox */
381
  'disable_foreing_fancybox' => 0
382
  );
383
+
384
+ $option_defaults = apply_filters( 'gllr_get_additional_options_default', $option_defaults );
385
+
386
  return $option_defaults;
387
  }
388
  }
1210
  <?php }
1211
  }
1212
  if ( $gllr_options['enable_lightbox'] ) {
1213
+
1214
+ $gllr_vars_for_inline_script['single_script'][] = apply_filters( 'gllr_options_for_inline_script', array( 'post_id' => $post->ID ) );
 
1215
 
1216
  if ( defined( 'BWS_ENQUEUE_ALL_SCRIPTS' ) ) {
1217
  gllr_echo_inline_script();
1941
  global $gllr_options;
1942
 
1943
  wp_enqueue_style( 'gllr_stylesheet', plugins_url( 'css/frontend_style.css', __FILE__ ), array( 'dashicons' ) );
1944
+ do_action( 'gllr_include_plus_style' );
1945
+
1946
  if ( $gllr_options['enable_lightbox'] ) {
1947
  wp_enqueue_style( 'gllr_fancybox_stylesheet', plugins_url( 'fancybox/jquery.fancybox.min.css', __FILE__ ) );
1948
  /* Start ios */
2278
  <div class="gllr_clear"></div>
2279
  <?php }
2280
  if ( $gllr_options['enable_lightbox'] ) {
2281
+
2282
+ $gllr_vars_for_inline_script['single_script'][] = apply_filters( 'gllr_options_for_inline_script', array( 'post_id' => $post->ID ) );
2283
+
2284
 
2285
  if ( defined( 'BWS_ENQUEUE_ALL_SCRIPTS' ) ) {
2286
  gllr_echo_inline_script();
2302
 
2303
  if ( ! function_exists( 'gllr_echo_inline_script' ) ) {
2304
  function gllr_echo_inline_script() {
2305
+ /*pls */
2306
  global $gllr_vars_for_inline_script, $gllr_options;
2307
 
2308
  if ( isset( $gllr_vars_for_inline_script['single_script'] ) ) {
2373
 
2374
  unset( $gllr_vars_for_inline_script );
2375
  }
2376
+ /* pls*/
2377
+ $additional_options = do_action( 'gllr_echo_additional_inline_script', array() );
2378
  }
2379
  }
2380
 
2664
  <?php }
2665
  }
2666
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2667
  if ( ! function_exists( 'gllr_delete_image' ) ) {
2668
  function gllr_delete_image() {
2669
  check_ajax_referer( plugin_basename( __FILE__ ), 'gllr_ajax_nonce_field' );
3019
  require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
3020
  $all_plugins = get_plugins();
3021
 
3022
+ if ( ! array_key_exists( 'gallery-plugin-pro/gallery-plugin-pro.php', $all_plugins )
3023
+ /*pls */ && ! array_key_exists( 'gallery-plus/gallery-plus.php', $all_plugins )/* pls*/ ) {
3024
  if ( function_exists( 'is_multisite' ) && is_multisite() ) {
3025
  $old_blog = $wpdb->blogid;
3026
  /* Get all blog ids */
3062
  add_filter( 'plugin_row_meta', 'gllr_register_plugin_links', 10, 2 );
3063
 
3064
  add_action( 'admin_menu', 'add_gllr_admin_menu' );
3065
+ if ( function_exists( 'is_multisite' ) && is_multisite() ) {
3066
+ add_action( 'network_admin_menu', 'add_gllr_admin_menu' );
3067
+ }
3068
 
3069
  add_action( 'init', 'gllr_init' );
3070
  add_action( 'admin_init', 'gllr_admin_init' );
includes/class-gllr-media-table.php ADDED
@@ -0,0 +1,487 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class extends WP class WP_Media_List_Table,
4
+ * and create new Media Table
5
+ */
6
+
7
+ if ( ! class_exists( 'Gllr_Media_Table' ) ) {
8
+ if ( ! class_exists( 'WP_List_Table' ) ) {
9
+ require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
10
+ }
11
+ if ( ! class_exists( 'WP_Media_List_Table' ) ) {
12
+ require_once( ABSPATH . 'wp-admin/includes/class-wp-media-list-table.php' );
13
+ }
14
+
15
+ class Gllr_Media_Table extends WP_Media_List_Table {
16
+ public function __construct( $args = array() ) {
17
+
18
+ $this->modes = array(
19
+ 'list' => __( 'List View', 'gallery-plugin' ),
20
+ 'grid' => __( 'Grid View', 'gallery-plugin' )
21
+ );
22
+
23
+ parent::__construct( array(
24
+ 'plural' => 'media',
25
+ 'screen' => isset( $args['screen'] ) ? $args['screen'] : '',
26
+ ) );
27
+ }
28
+
29
+ function prepare_items() {
30
+ global $wpdb, $gllr_mode, $original_post, $wp_version;
31
+
32
+ $columns = $this->get_columns();
33
+ $hidden = array( 'order' );
34
+ $sortable = array();
35
+ $this->_column_headers = array( $columns, $hidden, $sortable );
36
+ $original_post ? $images_id = get_post_meta( $original_post->ID, '_gallery_images', true ) : false;
37
+ if ( empty( $images_id ) ) {
38
+ $total_items = 0;
39
+ } else {
40
+ $total_items = $wpdb->get_var( "SELECT COUNT(*) FROM " . $wpdb->posts . " WHERE ID IN( " . $images_id . " )" );
41
+ }
42
+
43
+ $per_page = -1;
44
+
45
+ $gllr_mode = get_user_option( 'gllr_media_library_mode', get_current_user_id() ) ? get_user_option( 'gllr_media_library_mode', get_current_user_id() ) : 'grid';
46
+ $modes = array( 'grid', 'list' );
47
+
48
+ if ( isset( $_GET['mode'] ) && in_array( $_GET['mode'], $modes ) ) {
49
+ $gllr_mode = esc_attr( $_GET['mode'] );
50
+ update_user_option( get_current_user_id(), 'gllr_media_library_mode', $gllr_mode );
51
+ }
52
+
53
+ $this->set_pagination_args( array(
54
+ 'total_items' => $total_items,
55
+ 'total_pages' => 1,
56
+ 'per_page' => $per_page
57
+ ) );
58
+
59
+ if ( $wp_version < '4.2' ) {
60
+ $this->is_trash = isset( $_REQUEST['attachment-filter'] ) && 'trash' == $_REQUEST['attachment-filter'];
61
+ }
62
+ }
63
+
64
+ function extra_tablenav( $which ) {
65
+ if ( 'bar' !== $which ) {
66
+ return;
67
+ } ?>
68
+ <div class="actions">
69
+ <?php if ( ! is_singular() ) {
70
+ if ( ! $this->is_trash ) {
71
+ $this->months_dropdown( 'attachment' );
72
+ }
73
+
74
+ /** This action is documented in wp-admin/includes/class-wp-posts-list-table.php */
75
+ do_action( 'restrict_manage_posts' );
76
+ submit_button( __( 'Filter', 'gallery-plugin' ), 'button', 'filter_action', false, array( 'id' => 'post-query-submit' ) );
77
+ }
78
+
79
+ if ( $this->is_trash && current_user_can( 'edit_others_posts' ) ) {
80
+ submit_button( __( 'Empty Trash', 'gallery-plugin' ), 'apply', 'delete_all', false );
81
+ } ?>
82
+ </div>
83
+ <?php }
84
+
85
+ function has_items() {
86
+ global $wpdb, $original_post;
87
+
88
+ $images_id = get_post_meta( $original_post->ID, '_gallery_images', true );
89
+ if ( empty( $images_id ) ) {
90
+ $total_items = 0;
91
+ } else {
92
+ $total_items = $wpdb->get_var( "SELECT COUNT(*) FROM " . $wpdb->posts . " WHERE ID IN( " . $images_id . " )" );
93
+ }
94
+
95
+ if ( $total_items > 0 ) {
96
+ return true;
97
+ } else {
98
+ return false;
99
+ }
100
+ }
101
+
102
+ function no_items() {
103
+ _e( 'No images found', 'gallery-plugin' );
104
+ }
105
+
106
+ function get_views() {
107
+ return false;
108
+ }
109
+
110
+ function display_tablenav( $which ) { ?>
111
+ <div class="tablenav <?php echo esc_attr( $which ); ?>">
112
+ <div class="alignleft actions bulkactions">
113
+ <?php $this->bulk_actions( $which ); ?>
114
+ </div>
115
+ <?php $this->extra_tablenav( $which );
116
+ $this->pagination( $which ); ?>
117
+ <br class="clear" />
118
+ </div>
119
+ <?php }
120
+
121
+ /**
122
+ * Display the bulk actions dropdown.
123
+ *
124
+ * @since 3.1.0
125
+ * @access protected
126
+ *
127
+ * @param string $which The location of the bulk actions: 'top' or 'bottom'.
128
+ * This is designated as optional for backwards-compatibility.
129
+ */
130
+ function bulk_actions( $which = '' ) {
131
+ if ( is_null( $this->_actions ) ) {
132
+ $no_new_actions = $this->_actions = $this->get_bulk_actions();
133
+ /**
134
+ * Filter the list table Bulk Actions drop-down.
135
+ *
136
+ * The dynamic portion of the hook name, `$this->screen->id`, refers
137
+ * to the ID of the current screen, usually a string.
138
+ *
139
+ * This filter can currently only be used to remove bulk actions.
140
+ *
141
+ * @since 3.5.0
142
+ *
143
+ * @param array $actions An array of the available bulk actions.
144
+ */
145
+ $this->_actions = apply_filters( "bulk_actions-{$this->screen->id}", $this->_actions );
146
+ $this->_actions = array_intersect_assoc( $this->_actions, $no_new_actions );
147
+ $two = '';
148
+ } else {
149
+ $two = '2';
150
+ }
151
+
152
+ if ( empty( $this->_actions ) ) {
153
+ return;
154
+ }
155
+
156
+ echo "<label for='bulk-action-selector-" . esc_attr( $which ) . "' class='screen-reader-text'>" . __( 'Select bulk action', 'gallery-plugin' ) . "</label>";
157
+ echo "<select name='action-" . esc_attr( $which ) . "' id='bulk-action-selector-" . esc_attr( $which ) . "'>\n";
158
+ echo "<option value='-1' selected='selected'>" . __( 'Bulk Actions', 'gallery-plugin' ) . "</option>\n";
159
+
160
+ foreach ( $this->_actions as $name => $title ) {
161
+ $class = 'edit' == $name ? ' class="hide-if-no-js"' : '';
162
+
163
+ echo "\t<option value='$name'$class>$title</option>\n";
164
+ }
165
+
166
+ echo "</select>\n";
167
+
168
+ submit_button( __( 'Apply', 'gallery-plugin' ), 'action', '', false, array( 'id' => "doaction$two" ) );
169
+ echo "\n";
170
+ }
171
+
172
+ function get_bulk_actions() {
173
+ $actions = array();
174
+
175
+ $actions['delete'] = __( 'Delete from Gallery', 'gallery-plugin' );
176
+
177
+ return $actions;
178
+ }
179
+
180
+ public function views() {
181
+ global $gllr_mode; ?>
182
+ <div class="gllr-wp-filter hide-if-no-js">
183
+ <?php if ( 'grid' == $gllr_mode ) { ?>
184
+ <a href="#" class="button media-button gllr-media-bulk-select-button hide-if-no-js"><?php _e( 'Bulk Select', 'gallery-plugin' ); ?></a>
185
+ <a href="#" class="button media-button gllr-media-bulk-cansel-select-button hide-if-no-js"><?php _e( 'Cancel Selection', 'gallery-plugin' ); ?></a>
186
+ <a href="#" class="button media-button button-primary gllr-media-bulk-delete-selected-button hide-if-no-js" disabled="disabled"><?php _e( 'Delete Selected', 'gallery-plugin' ); ?></a>
187
+ <?php } else {
188
+ $this->view_switcher( $gllr_mode );
189
+ } ?>
190
+ </div>
191
+ <input type="hidden" name="gllr_mode" value="<?php echo $gllr_mode; ?>" />
192
+ <?php }
193
+
194
+ function get_columns() {
195
+ $lists_columns = array(
196
+ 'cb' => '<input type="checkbox" />',
197
+ 'title' => __( 'File', 'gallery-plugin' ),
198
+ 'dimensions' => __( 'Dimensions', 'gallery-plugin' ),
199
+ 'gllr_image_text' => __( 'Title', 'gallery-plugin' ) . bws_add_help_box( '<img src="' . plugins_url( 'images/image-title-example.png', __FILE__ ) . '" />' ),
200
+ 'gllr_image_alt_tag' => __( 'Alt Text', 'gallery-plugin' ),
201
+ 'gllr_link_url' => __( 'URL', 'gallery-plugin' ) . bws_add_help_box( __( 'Enter your custom URL to link this image to other page or file. Leave blank to open a full size image.', 'gallery-plugin' ) ),
202
+ 'order' => ''
203
+ );
204
+ return $lists_columns;
205
+ }
206
+
207
+ function display_rows( $lists = array(), $level = 0 ) {
208
+ global $post, $gllr_mode, $original_post, $gllr_options;
209
+
210
+ add_filter( 'the_title','esc_html' );
211
+
212
+ $images_id = get_post_meta( $original_post->ID, '_gallery_images', true );
213
+
214
+ $old_post = $post;
215
+
216
+ query_posts( array(
217
+ 'post__in' => explode( ',', $images_id ),
218
+ 'post_type' => 'attachment',
219
+ 'posts_per_page' => -1,
220
+ 'post_status' => 'inherit',
221
+ 'meta_key' => '_gallery_order_' . $original_post->ID,
222
+ 'orderby' => $gllr_options['order_by'],
223
+ 'order' => 'ASC'
224
+ ) );
225
+
226
+ while ( have_posts() ) {
227
+ the_post();
228
+ $this->single_row( $gllr_mode );
229
+ }
230
+ wp_reset_postdata();
231
+ wp_reset_query();
232
+ $post = $old_post;
233
+ }
234
+
235
+ function display_grid_rows() {
236
+ global $post, $gllr_mode, $original_post, $gllr_options;
237
+ $old_post = $post;
238
+ add_filter( 'the_title','esc_html' );
239
+
240
+ $original_post ? $images_id = get_post_meta( $original_post->ID, '_gallery_images', true ) : false;
241
+ query_posts( array(
242
+ 'post__in' => explode( ',', $images_id ),
243
+ 'post_type' => 'attachment',
244
+ 'posts_per_page' => -1,
245
+ 'post_status' => 'inherit',
246
+ 'meta_key' => '_gallery_order_' . $post->ID,
247
+ 'orderby' => $gllr_options['order_by'],
248
+ 'order' => 'ASC'
249
+ ) );
250
+ while ( have_posts() ) {
251
+ the_post();
252
+ $this->single_row( $gllr_mode );
253
+ }
254
+ wp_reset_postdata();
255
+ wp_reset_query();
256
+ $post = $old_post;
257
+ }
258
+
259
+ function single_row( $gllr_mode ) {
260
+ global $post, $original_post, $gllr_options, $gllr_plugin_info, $wp_version;
261
+
262
+ if ( empty( $gllr_options ) ) {
263
+ gllr_settings();
264
+ }
265
+
266
+ $attachment_metadata = wp_get_attachment_metadata( $post->ID );
267
+ if ( 'grid' == $gllr_mode ) {
268
+ $image_attributes = wp_get_attachment_image_src( $post->ID, 'medium' ); ?>
269
+ <li tabindex="0" id="post-<?php echo $post->ID; ?>" class="gllr-media-attachment">
270
+ <div class="gllr-media-attachment-preview">
271
+ <div class="gllr-media-thumbnail">
272
+ <div class="centered">
273
+ <img src="<?php echo $image_attributes[0]; ?>" class="thumbnail" draggable="false" />
274
+ <input type="hidden" name="_gallery_order_<?php echo $original_post->ID; ?>[<?php echo $post->ID; ?>]" value="<?php echo get_post_meta( $post->ID, '_gallery_order_'.$original_post->ID, true ); ?>" />
275
+ </div>
276
+ </div>
277
+ <div class="gllr-media-attachment-details">
278
+ <strong><?php echo get_post_meta( $post->ID, 'gllr_image_text', true ); ?></strong>
279
+ <br />
280
+ <?php the_title(); ?>
281
+ </div>
282
+ </div>
283
+ <a href="#" class="gllr-media-actions-delete dashicons dashicons-trash" title="<?php _e( 'Remove Image from Gallery', 'gallery-plugin' ); ?>"></a>
284
+ <input type="hidden" class="gllr_attachment_id" name="_gllr_attachment_id" value="<?php echo $post->ID; ?>" />
285
+ <input type="hidden" class="gllr_post_id" name="_gllr_post_id" value="<?php echo $original_post->ID; ?>" />
286
+ <a class="thickbox gllr-media-actions-edit dashicons dashicons-edit" href="<?php echo get_edit_post_link( $post->ID ); ?>#TB_inline?width=800&height=450&inlineId=gllr-media-attachment-details-box-<?php echo $post->ID; ?>" title="<?php _e( 'Edit Image Info', 'gallery-plugin' ); ?>"></a>
287
+ <a class="gllr-media-check" tabindex="-1" title="<?php _e( 'Deselect', 'gallery-plugin' ); ?>" href="#"><div class="media-modal-icon"></div></a>
288
+ <div id="gllr-media-attachment-details-box-<?php echo $post->ID; ?>" class="gllr-media-attachment-details-box">
289
+ <?php $image_attributes = wp_get_attachment_image_src( $post->ID, 'large' ); ?>
290
+ <div class="gllr-media-attachment-details-box-left">
291
+ <div class="gllr_border_image">
292
+ <img src="<?php echo $image_attributes[0]; ?>" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" height="auto" width="<?php echo $image_attributes[1]; ?>" />
293
+ </div>
294
+ </div>
295
+ <div class="gllr-media-attachment-details-box-right">
296
+ <div class="attachment-details">
297
+ <div class="attachment-info">
298
+ <div class="details">
299
+ <div><?php _e( 'File name', 'gallery-plugin' ); ?>: <?php the_title(); ?></div>
300
+ <div><?php _e( 'File type', 'gallery-plugin' ); ?>: <?php echo get_post_mime_type( $post->ID ); ?></div>
301
+ <div><?php _e( 'Dimensions', 'gallery-plugin' ); ?>: <?php echo $attachment_metadata['width']; ?> &times; <?php echo $attachment_metadata['height']; ?></div>
302
+ </div>
303
+ </div>
304
+ <label class="setting" data-setting="title">
305
+ <span class="name">
306
+ <?php _e( 'Title', 'gallery-plugin' );
307
+ echo bws_add_help_box( '<img src="' . plugins_url( 'images/image-title-example.png', __FILE__ ) . '" />', 'bws-auto-width' ); ?>
308
+ </span>
309
+ <input type="text" name="gllr_image_text[<?php echo $post->ID; ?>]" value="<?php echo get_post_meta( $post->ID, 'gllr_image_text', true ); ?>" />
310
+ </label>
311
+ <label class="setting" data-setting="alt">
312
+ <span class="name"><?php _e( 'Alt Text', 'gallery-plugin' ); ?></span>
313
+ <input type="text" name="gllr_image_alt_tag[<?php echo $post->ID; ?>]" value="<?php echo get_post_meta( $post->ID, 'gllr_image_alt_tag', true ); ?>" />
314
+ </label>
315
+ <label class="setting" data-setting="alt">
316
+ <span class="name"><?php _e( 'URL', 'gallery-plugin' ); ?></span>
317
+ <input type="text" name="gllr_link_url[<?php echo $post->ID; ?>]" value="<?php echo get_post_meta( $post->ID, 'gllr_link_url', true ); ?>" />
318
+ <span class="bws_info"><?php _e( 'Enter your custom URL to link this image to other page or file. Leave blank to open a full size image.', 'gallery-plugin' ); ?></span>
319
+ </label>
320
+ <!-- pls -->
321
+ <?php if ( ! bws_hide_premium_options_check( $gllr_options ) ) { ?>
322
+ <div class="bws_pro_version_bloc gllr_like">
323
+ <div class="bws_pro_version_table_bloc">
324
+ <div class="bws_table_bg"></div>
325
+ <label class="setting" data-setting="description">
326
+ <span class="name"><?php _e( 'Description', 'gallery-plugin' );
327
+ echo bws_add_help_box( '<img src="' . plugins_url( 'images/image-description-example.png', __FILE__ ) . '" />', 'bws-auto-width' ); ?></span>
328
+ <textarea disabled name=""></textarea>
329
+ </label>
330
+ <label class="setting" data-setting="description">
331
+ <span class="name">
332
+ <?php _e( 'Lightbox Button URL', 'gallery-plugin' );
333
+ echo bws_add_help_box( '<img src="' . plugins_url( 'images/image-button-example.png', __FILE__ ) . '" />', 'bws-auto-width' ); ?>
334
+ </span>
335
+ <input disabled type="text" name="" value="" />
336
+ </label>
337
+ <label class="setting" data-setting="description">
338
+ <span class="name">
339
+ <?php _e( 'New Tab', 'gallery-plugin' ); ?>
340
+ </span>
341
+ <input disabled type="checkbox" name="" value="" /> <span class="bws_info"><?php _e( 'Enable to open URLs above in a new tab.', 'gallery-plugin' ); ?></span>
342
+ </label>
343
+ </div>
344
+ <div class="clear"></div>
345
+ <div class="bws_pro_version_tooltip">
346
+ <a class="bws_button" href="https://bestwebsoft.com/products/wordpress/plugins/gallery/?k=63a36f6bf5de0726ad6a43a165f38fe5&pn=79&v=<?php echo $gllr_plugin_info["Version"]; ?>&wp_v=<?php echo $wp_version; ?>" target="_blank" title="<?php _e( 'Go Pro', 'gallery-plugin' ); ?>"><?php _e( 'Upgrade to Pro', 'bestwebsoft' ); ?></a>
347
+ <div class="clear"></div>
348
+ </div>
349
+ </div>
350
+ <?php } ?>
351
+ <!-- end pls -->
352
+ <div class="gllr-media-attachment-actions">
353
+ <a target="_blank" href="post.php?post=<?php echo $post->ID; ?>&amp;action=edit"><?php _e( 'Edit more details', 'gallery-plugin' ); ?></a>
354
+ <span class="gllr-separator">|</span>
355
+ <a href="#" class="gllr-media-actions-delete"><?php _e( 'Remove from Gallery', 'gallery-plugin' ); ?></a>
356
+ <input type="hidden" class="gllr_attachment_id" name="_gllr_attachment_id" value="<?php echo $post->ID; ?>" />
357
+ <input type="hidden" class="gllr_post_id" name="_gllr_post_id" value="<?php echo $original_post->ID; ?>" />
358
+ </div>
359
+ </div>
360
+ <div class="gllr_clear"></div>
361
+ </div>
362
+ </div>
363
+ </li>
364
+ <?php } else {
365
+ $user_can_edit = current_user_can( 'edit_post', $post->ID );
366
+ $post_owner = ( get_current_user_id() == $post->post_author ) ? 'self' : 'other';
367
+ $att_title = _draft_or_post_title(); ?>
368
+ <tr id="post-<?php echo $post->ID; ?>" class="<?php echo trim( ' author-' . $post_owner . ' status-' . $post->post_status ); ?>">
369
+ <?php list( $columns, $hidden ) = $this->get_column_info();
370
+ foreach ( $columns as $column_name => $column_display_name ) {
371
+
372
+ $classes = "$column_name column-$column_name";
373
+ if ( in_array( $column_name, $hidden ) ) {
374
+ $classes .= ' hidden';
375
+ }
376
+
377
+ if ( 'title' == $column_name ) {
378
+ $classes .= ' column-primary has-row-actions';
379
+ }
380
+
381
+ $attributes = "class='$classes'";
382
+ switch ( $column_name ) {
383
+ case 'order': ?>
384
+ <th <?php echo $attributes; ?>>
385
+ <input type="hidden" name="_gallery_order_<?php echo $original_post->ID; ?>[<?php echo $post->ID; ?>]" value="<?php echo get_post_meta( $post->ID, '_gallery_order_'.$original_post->ID, true ); ?>" />
386
+ </th>
387
+ <?php break;
388
+ case 'cb': ?>
389
+ <th scope="row" class="check-column">
390
+ <?php if ( $user_can_edit ) { ?>
391
+ <label class="screen-reader-text" for="cb-select-<?php the_ID(); ?>"><?php echo sprintf( __( 'Select %s', 'gallery-plugin' ), $att_title );?></label>
392
+ <input type="checkbox" name="media[]" id="cb-select-<?php the_ID(); ?>" value="<?php the_ID(); ?>" />
393
+ <?php } ?>
394
+ </th>
395
+ <?php break;
396
+ case 'title': ?>
397
+ <td <?php echo $attributes; ?>><strong>
398
+ <?php $thumb = wp_get_attachment_image( $post->ID, array( 80, 60 ), true );
399
+ if ( $this->is_trash || ! $user_can_edit ) {
400
+ if ( $thumb )
401
+ echo '<span class="media-icon image-icon">' . $thumb . '</span>';
402
+ echo '<span aria-hidden="true">' . $att_title . '</span>';
403
+ } else { ?>
404
+ <a href="<?php echo get_edit_post_link( $post->ID ); ?>" title="<?php echo esc_attr( sprintf( __( 'Edit &#8220;%s&#8221;', 'gallery-plugin' ), $att_title ) ); ?>">
405
+ <?php if ( $thumb ) echo '<span class="media-icon image-icon">' . $thumb . '</span>'; ?>
406
+ <?php echo '<span aria-hidden="true">' . $att_title . '</span>'; ?>
407
+ </a>
408
+ <?php }
409
+ _media_states( $post ); ?></strong>
410
+ <p class="filename"><?php echo wp_basename( $post->guid ); ?></p>
411
+ <?php echo $this->row_actions( $this->_get_row_actions( $post, $att_title ) ); ?>
412
+ <a href="#" class="gllr_info_show hidden"><?php _e( 'Edit Attachment Info', 'gallery-plugin' ); ?></a>
413
+ </td>
414
+ <?php break;
415
+ case 'dimensions': ?>
416
+ <td <?php echo $attributes; ?> data-colname="<?php _e( 'Dimensions', 'gallery-plugin' ); ?>">
417
+ <?php echo $attachment_metadata['width']; ?> &times; <?php echo $attachment_metadata['height']; ?>
418
+ </td>
419
+ <?php break;
420
+ case 'gllr_image_text': ?>
421
+ <td <?php echo $attributes; ?> data-colname="<?php _e( 'Title', 'gallery-plugin' ); ?>">
422
+ <input type="text" name="<?php echo $column_name; ?>[<?php echo $post->ID; ?>]" value="<?php echo get_post_meta( $post->ID, $column_name, true ); ?>" />
423
+ </td>
424
+ <?php break;
425
+ case 'gllr_image_alt_tag': ?>
426
+ <td <?php echo $attributes; ?> data-colname="<?php _e( 'Alt Text', 'gallery-plugin' ); ?>">
427
+ <input type="text" name="<?php echo $column_name; ?>[<?php echo $post->ID; ?>]" value="<?php echo get_post_meta( $post->ID, $column_name, true ); ?>" />
428
+ </td>
429
+ <?php break;
430
+ case 'gllr_link_url': ?>
431
+ <td <?php echo $attributes; ?> data-colname="<?php _e( 'URL', 'gallery-plugin' ); ?>">
432
+ <input type="text" name="<?php echo $column_name; ?>[<?php echo $post->ID; ?>]" value="<?php echo get_post_meta( $post->ID, $column_name, true ); ?>" />
433
+ </td>
434
+ <?php break;
435
+ }
436
+ } ?>
437
+ </tr>
438
+ <?php }
439
+ }
440
+ /**
441
+ * @param WP_Post $post
442
+ * @param string $att_title
443
+ */
444
+ function _get_row_actions( $post, $att_title ) {
445
+ $actions = array();
446
+
447
+ if ( $this->detached ) {
448
+ if ( current_user_can( 'edit_post', $post->ID ) ) {
449
+ $actions['edit'] = '<a href="' . get_edit_post_link( $post->ID ) . '">' . __( 'Edit', 'gallery-plugin' ) . '</a>';
450
+ }
451
+ if ( current_user_can( 'delete_post', $post->ID ) ) {
452
+ if ( EMPTY_TRASH_DAYS && MEDIA_TRASH ) {
453
+ $actions['trash'] = "<a class='submitdelete' href='" . wp_nonce_url( "post.php?action=trash&amp;post=$post->ID", 'trash-post_' . $post->ID ) . "'>" . __( 'Trash', 'gallery-plugin' ) . "</a>";
454
+ } else {
455
+ $delete_ays = !MEDIA_TRASH ? " onclick='return showNotice.warn();'" : '';
456
+ $actions['delete'] = "<a class='submitdelete'$delete_ays href='" . wp_nonce_url( "post.php?action=delete&amp;post=$post->ID", 'delete-post_' . $post->ID ) . "'>" . __( 'Delete Permanently', 'gallery-plugin' ) . "</a>";
457
+ }
458
+ }
459
+ $actions['view'] = '<a href="' . get_permalink( $post->ID ) . '" title="' . esc_attr( sprintf( __( 'View &#8220;%s&#8221;', 'gallery-plugin' ), $att_title ) ) . '" rel="permalink">' . __( 'View', 'gallery-plugin' ) . '</a>';
460
+ if ( current_user_can( 'edit_post', $post->ID ) ) {
461
+ $actions['attach'] = '<a href="#the-list" onclick="findPosts.open( \'media[]\',\''.$post->ID.'\' );return false;" class="hide-if-no-js">' . __( 'Attach', 'gallery-plugin' ) . '</a>';
462
+ }
463
+ } else {
464
+ if ( current_user_can( 'edit_post', $post->ID ) && !$this->is_trash ) {
465
+ $actions['edit'] = '<a href="' . get_edit_post_link( $post->ID ) . '">' . __( 'Edit', 'gallery-plugin' ) . '</a>';
466
+ }
467
+ if ( current_user_can( 'delete_post', $post->ID ) ) {
468
+ if ( $this->is_trash ) {
469
+ $actions['untrash'] = "<a class='submitdelete' href='" . wp_nonce_url( "post.php?action=untrash&amp;post=$post->ID", 'untrash-post_' . $post->ID ) . "'>" . __( 'Restore', 'gallery-plugin' ) . "</a>";
470
+ } elseif ( EMPTY_TRASH_DAYS && MEDIA_TRASH ) {
471
+ $actions['trash'] = "<a class='submitdelete' href='" . wp_nonce_url( "post.php?action=trash&amp;post=$post->ID", 'trash-post_' . $post->ID ) . "'>" . __( 'Trash', 'gallery-plugin' ) . "</a>";
472
+ }
473
+ if ( $this->is_trash || !EMPTY_TRASH_DAYS || !MEDIA_TRASH ) {
474
+ $delete_ays = ( !$this->is_trash && !MEDIA_TRASH ) ? " onclick='return showNotice.warn();'" : '';
475
+ $actions['delete'] = "<a class='submitdelete'$delete_ays href='" . wp_nonce_url( "post.php?action=delete&amp;post=$post->ID", 'delete-post_' . $post->ID ) . "'>" . __( 'Delete Permanently', 'gallery-plugin' ) . "</a>";
476
+ }
477
+ }
478
+
479
+ if ( !$this->is_trash ) {
480
+ $title =_draft_or_post_title( $post->post_parent );
481
+ $actions['view'] = '<a href="' . get_permalink( $post->ID ) . '" title="' . esc_attr( sprintf( __( 'View &#8220;%s&#8221;', 'gallery-plugin' ), $title ) ) . '" rel="permalink">' . __( 'View', 'gallery-plugin' ) . '</a>';
482
+ }
483
+ }
484
+ return $actions;
485
+ }
486
+ }
487
+ }
includes/class-gllr-settings.php CHANGED
@@ -33,7 +33,9 @@ if ( ! class_exists( 'Gllr_Settings_Tabs' ) ) {
33
  'misc' => array( 'label' => __( 'Misc', 'gallery-plugin' ) ),
34
  'custom_code' => array( 'label' => __( 'Custom Code', 'gallery-plugin' ) ),
35
  'import-export' => array( 'label' => __( 'Import / Export', 'gallery-plugin' ) ),
 
36
  'license' => array( 'label' => __( 'License Key', 'gallery-plugin' ) ),
 
37
  );
38
  } else {
39
  $tabs = array(
@@ -51,12 +53,12 @@ if ( ! class_exists( 'Gllr_Settings_Tabs' ) ) {
51
  'is_network_options' => is_network_admin(),
52
  'tabs' => $tabs,
53
  'doc_link' => 'https://docs.google.com/document/d/1l4zMhovBgO7rsPIzJk_15v0sdhiCpnjuacoDEfmzGEw/',
54
- 'wp_slug' => 'gallery-plugin',
55
  'demo_data' => $gllr_BWS_demo_data,
56
- 'pro_page' => 'admin.php?page=gallery-plugin-pro.php',
57
- 'bws_license_plugin' => 'gallery-plugin-pro/gallery-plugin-pro.php',
58
  'link_key' => '63a36f6bf5de0726ad6a43a165f38fe5',
59
  'link_pn' => '79',
 
60
  'trial_days' => 7
61
  ) );
62
 
@@ -166,6 +168,8 @@ if ( ! class_exists( 'Gllr_Settings_Tabs' ) ) {
166
  $this->options["lightbox_download_link"] = isset( $_POST['gllr_lightbox_download_link'] ) ? 1 : 0;
167
  $this->options["single_lightbox_for_multiple_galleries"] = isset( $_POST['gllr_single_lightbox_for_multiple_galleries'] ) ? 1 : 0;
168
 
 
 
169
  /**
170
  * rewriting post types name with unique one from default options
171
  * @since 4.4.4
@@ -316,12 +320,13 @@ if ( ! class_exists( 'Gllr_Settings_Tabs' ) ) {
316
  $plugin_notice = ' <a href="https://bestwebsoft.com/products/wordpress/plugins/slider/' . '" target="_blank">' . __( 'Install Now', 'gallery-plugin' ) . '</a>';
317
  }
318
  $export = __( 'Create New Slider', 'gallery-plugin' ) ?>
319
- <input type="button" <?php echo $this->change_permission_attr; ?> class="button" <?php echo $attrs; ?> id="gllr-export-slider" name="gllr-export-slider" value="<?php echo $export ?>">
320
  <span id="gllr_export_loader" class="gllr_loader"><img src="<?php echo plugins_url( '../images/ajax-loader.gif', __FILE__ ); ?>" alt="loader" /></span><br />
321
  <span class="bws_info"><?php _e( 'Click to create a new slider using gallery images. Slider plugin is required.', 'gallery-plugin' ); echo $plugin_notice; ?></span>
322
  </td>
323
  </tr>
324
  </table>
 
325
  <?php if ( ! $this->hide_pro_tabs ) { ?>
326
  <div class="bws_pro_version_bloc">
327
  <div class="bws_pro_version_table_bloc">
@@ -337,9 +342,11 @@ if ( ! class_exists( 'Gllr_Settings_Tabs' ) ) {
337
  </div>
338
  <?php $this->bws_pro_block_links(); ?>
339
  </div>
340
- <?php }
341
- } else {
342
- if ( ! $this->hide_pro_tabs ) { ?>
 
 
343
  <div class="bws_pro_version_bloc">
344
  <div class="bws_pro_version_table_bloc">
345
  <button type="submit" name="bws_hide_premium_options" class="notice-dismiss bws_hide_premium_options" title="<?php _e( 'Close', 'gallery-plugin' ); ?>"></button>
@@ -368,6 +375,7 @@ if ( ! class_exists( 'Gllr_Settings_Tabs' ) ) {
368
  <?php $this->bws_pro_block_links(); ?>
369
  </div>
370
  <?php } ?>
 
371
  <table class="form-table">
372
  <tr>
373
  <th scope="row"><?php _e( 'Number of Columns', 'gallery-plugin' ); ?> </th>
@@ -396,6 +404,7 @@ if ( ! class_exists( 'Gllr_Settings_Tabs' ) ) {
396
  </td>
397
  </tr>
398
  </table>
 
399
  <?php if ( ! $this->hide_pro_tabs ) { ?>
400
  <div class="bws_pro_version_bloc gllr_for_custom_image_size">
401
  <div class="bws_pro_version_table_bloc">
@@ -432,6 +441,7 @@ if ( ! class_exists( 'Gllr_Settings_Tabs' ) ) {
432
  <?php $this->bws_pro_block_links(); ?>
433
  </div>
434
  <?php } ?>
 
435
  <table class="form-table">
436
  <tr>
437
  <th scope="row"><?php _e( 'Image Title', 'gallery-plugin' ); ?></th>
@@ -440,6 +450,7 @@ if ( ! class_exists( 'Gllr_Settings_Tabs' ) ) {
440
  </td>
441
  </tr>
442
  </table>
 
443
  <?php if ( ! $this->hide_pro_tabs ) { ?>
444
  <div class="bws_pro_version_bloc gllr_for_image_text">
445
  <div class="bws_pro_version_table_bloc">
@@ -469,6 +480,7 @@ if ( ! class_exists( 'Gllr_Settings_Tabs' ) ) {
469
  <?php $this->bws_pro_block_links(); ?>
470
  </div>
471
  <?php } ?>
 
472
  <table class="form-table">
473
  <tr>
474
  <th scope="row"><?php _e( 'Image Border', 'gallery-plugin' ); ?></th>
@@ -497,6 +509,7 @@ if ( ! class_exists( 'Gllr_Settings_Tabs' ) ) {
497
  </td>
498
  </tr>
499
  </table>
 
500
  <?php if ( ! $this->hide_pro_tabs ) { ?>
501
  <div class="bws_pro_version_bloc">
502
  <div class="bws_pro_version_table_bloc">
@@ -522,6 +535,7 @@ if ( ! class_exists( 'Gllr_Settings_Tabs' ) ) {
522
  <?php $this->bws_pro_block_links(); ?>
523
  </div>
524
  <?php } ?>
 
525
  <table class="form-table">
526
  <tr>
527
  <th scope="row"><?php _e( 'Sort Images by', 'gallery-plugin' ); ?></th>
@@ -641,6 +655,7 @@ if ( ! class_exists( 'Gllr_Settings_Tabs' ) ) {
641
  </td>
642
  </tr>
643
  </table>
 
644
  <?php if ( ! $this->hide_pro_tabs ) { ?>
645
  <div class="bws_pro_version_bloc gllr_for_custom_image_size_album">
646
  <div class="bws_pro_version_table_bloc">
@@ -677,6 +692,7 @@ if ( ! class_exists( 'Gllr_Settings_Tabs' ) ) {
677
  <?php $this->bws_pro_block_links(); ?>
678
  </div>
679
  <?php } ?>
 
680
  <table class="form-table">
681
  <tr>
682
  <th scope="row"><?php _e( 'Cover Image Border', 'gallery-plugin' ); ?></th>
@@ -723,24 +739,26 @@ if ( ! class_exists( 'Gllr_Settings_Tabs' ) ) {
723
  </td>
724
  </tr>
725
  </table>
726
- <?php if ( ! $this->hide_pro_tabs ) { ?>
727
- <div class="bws_pro_version_bloc gllr_for_enable_lightbox">
728
- <div class="bws_pro_version_table_bloc">
729
- <button type="submit" name="bws_hide_premium_options" class="notice-dismiss bws_hide_premium_options" title="<?php _e( 'Close', 'gallery-plugin' ); ?>"></button>
730
- <div class="bws_table_bg"></div>
731
- <table class="form-table bws_pro_version">
732
- <tr>
733
- <th scope="row"><?php _e( 'Instant Lightbox', 'gallery-plugin' ); ?> </th>
734
- <td>
735
- <input type="checkbox" value="1" disabled />
736
- <span class="bws_info"><?php _e( 'Enable to display all images in the lightbox after clicking cover image or URL instead of going to a single gallery page.', 'gallery-plugin' ); ?></span>
737
- </td>
738
- </tr>
739
- </table>
740
- </div>
741
- <?php $this->bws_pro_block_links(); ?>
742
  </div>
743
- <?php } ?>
 
 
 
744
  <table class="form-table">
745
  <tr>
746
  <th scope="row"><?php _e( 'Read More Link Label', 'gallery-plugin' ); ?></th>
@@ -766,6 +784,7 @@ if ( ! class_exists( 'Gllr_Settings_Tabs' ) ) {
766
  <span class="bws_info"><?php _e( 'Enable to show the lightbox when clicking on gallery images.', 'gallery-plugin' ); ?></span>
767
  </td>
768
  </tr>
 
769
  </table>
770
  <?php if ( ! $this->hide_pro_tabs ) { ?>
771
  <div class="bws_pro_version_bloc gllr_for_enable_lightbox">
@@ -803,7 +822,9 @@ if ( ! class_exists( 'Gllr_Settings_Tabs' ) ) {
803
  </div>
804
  <?php } ?>
805
  <table class="form-table gllr_for_enable_lightbox">
806
- <tr>
 
 
807
  <th scope="row"><?php _e( 'Slideshow', 'gallery-plugin' ); ?> </th>
808
  <td>
809
  <input type="checkbox" name="gllr_start_slideshow" value="1" <?php if ( 1 == $this->options["start_slideshow"] ) echo 'checked="checked"'; ?> class="bws_option_affect" data-affect-show=".gllr_for_start_slideshow" /> <span class="bws_info"><?php _e( 'Enable to start the slideshow automatically when the lightbox is used.', 'gallery-plugin' ); ?></span>
@@ -815,7 +836,8 @@ if ( ! class_exists( 'Gllr_Settings_Tabs' ) ) {
815
  <input type="number" name="gllr_slideshow_interval" min="1" max="1000000" value="<?php echo $this->options["slideshow_interval"]; ?>" /> <?php _e( 'ms', 'gallery-plugin' ); ?>
816
  <div class="bws_info"><?php _e( 'Slideshow interval duration between two images.', 'gallery-plugin' ); ?></div>
817
  </td>
818
- </tr>
 
819
  </table>
820
  <?php if ( ! $this->hide_pro_tabs ) { ?>
821
  <div class="bws_pro_version_bloc gllr_for_enable_lightbox">
@@ -853,15 +875,17 @@ if ( ! class_exists( 'Gllr_Settings_Tabs' ) ) {
853
  </div>
854
  <?php $this->bws_pro_block_links(); ?>
855
  </div>
856
- <?php } ?>
857
  <table class="form-table gllr_for_enable_lightbox">
858
- <tr>
 
 
859
  <th scope="row"><?php _e( 'Download Button', 'gallery-plugin' ); ?></th>
860
  <td>
861
  <input type="checkbox" name="gllr_lightbox_download_link" value="1" <?php if ( 1 == $this->options["lightbox_download_link"] ) echo 'checked="checked"'; ?> class="bws_option_affect" data-affect-show=".gllr_for_lightbox_download_link" /> <span class="bws_info"><?php _e( 'Enable to display download button.', 'gallery-plugin' ); ?></span>
862
  </td>
863
  </tr>
864
- <tr>
865
  <th scope="row"><?php _e( 'Single Lightbox', 'gallery-plugin' ); ?></th>
866
  <td>
867
  <input type="checkbox" name="gllr_single_lightbox_for_multiple_galleries" value="1" <?php if ( 1 == $this->options["single_lightbox_for_multiple_galleries"] ) echo 'checked="checked"'; ?> /> <span class="bws_info"><?php _e( 'Enable to use a single lightbox for multiple galleries located on a single page.', 'gallery-plugin' ); ?></span>
@@ -877,6 +901,7 @@ if ( ! class_exists( 'Gllr_Settings_Tabs' ) ) {
877
  <h3 class="bws_tab_label"><?php _e( 'Social Sharing Buttons Settings', 'gallery-plugin' ); ?></h3>
878
  <?php $this->help_phrase(); ?>
879
  <hr>
 
880
  <div class="bws_pro_version_bloc">
881
  <div class="bws_pro_version_table_bloc">
882
  <button type="submit" name="bws_hide_premium_options" class="notice-dismiss bws_hide_premium_options" title="<?php _e( 'Close', 'gallery-plugin' ); ?>"></button>
@@ -909,7 +934,9 @@ if ( ! class_exists( 'Gllr_Settings_Tabs' ) ) {
909
  </div>
910
  <?php $this->bws_pro_block_links(); ?>
911
  </div>
912
- <?php }
 
 
913
 
914
  /**
915
  *
@@ -931,7 +958,7 @@ if ( ! class_exists( 'Gllr_Settings_Tabs' ) ) {
931
  */
932
  public function additional_misc_options_affected() {
933
  global $wp_version, $wpdb;
934
-
935
  //rename post_type via $_GET if checkbox doesn't shows
936
  if ( isset( $_GET['bws_rename_post_type_gallery'] ) ) {
937
  global $wpdb;
@@ -962,9 +989,10 @@ if ( ! class_exists( 'Gllr_Settings_Tabs' ) ) {
962
  <input type="checkbox" name="gllr_rename_post_type" value="1" /> <span class="bws_info"><?php _e( 'Enable to avoid conflicts with other gallery plugins installed. All galleries created earlier will stay unchanged. However, after enabling we recommend to check settings of other plugins where "gallery" post type is used.', 'gallery-plugin' ); ?></span>
963
  </td>
964
  </tr>
965
- <?php }
966
- if ( ! $this->hide_pro_tabs ) { ?>
967
- </table>
 
968
  <div class="bws_pro_version_bloc">
969
  <div class="bws_pro_version_table_bloc">
970
  <button type="submit" name="bws_hide_premium_options" class="notice-dismiss bws_hide_premium_options" title="<?php _e( 'Close', 'gallery-plugin' ); ?>"></button>
@@ -982,8 +1010,9 @@ if ( ! class_exists( 'Gllr_Settings_Tabs' ) ) {
982
  </div>
983
  <?php $this->bws_pro_block_links(); ?>
984
  </div>
985
- <table class="form-table">
986
- <?php } ?>
 
987
  <tr>
988
  <th scope="row"><?php _e( 'Search Galleries', 'gallery-plugin' ); ?></th>
989
  <td>
33
  'misc' => array( 'label' => __( 'Misc', 'gallery-plugin' ) ),
34
  'custom_code' => array( 'label' => __( 'Custom Code', 'gallery-plugin' ) ),
35
  'import-export' => array( 'label' => __( 'Import / Export', 'gallery-plugin' ) ),
36
+ /*pls */
37
  'license' => array( 'label' => __( 'License Key', 'gallery-plugin' ) ),
38
+ /* pls*/
39
  );
40
  } else {
41
  $tabs = array(
53
  'is_network_options' => is_network_admin(),
54
  'tabs' => $tabs,
55
  'doc_link' => 'https://docs.google.com/document/d/1l4zMhovBgO7rsPIzJk_15v0sdhiCpnjuacoDEfmzGEw/',
 
56
  'demo_data' => $gllr_BWS_demo_data,
57
+ /*pls */
58
+ 'wp_slug' => 'gallery-plugin',
59
  'link_key' => '63a36f6bf5de0726ad6a43a165f38fe5',
60
  'link_pn' => '79',
61
+ /* pls*/
62
  'trial_days' => 7
63
  ) );
64
 
168
  $this->options["lightbox_download_link"] = isset( $_POST['gllr_lightbox_download_link'] ) ? 1 : 0;
169
  $this->options["single_lightbox_for_multiple_galleries"] = isset( $_POST['gllr_single_lightbox_for_multiple_galleries'] ) ? 1 : 0;
170
 
171
+ $this->options = apply_filters ( 'gllr_save_additional_options', $this->options );
172
+
173
  /**
174
  * rewriting post types name with unique one from default options
175
  * @since 4.4.4
320
  $plugin_notice = ' <a href="https://bestwebsoft.com/products/wordpress/plugins/slider/' . '" target="_blank">' . __( 'Install Now', 'gallery-plugin' ) . '</a>';
321
  }
322
  $export = __( 'Create New Slider', 'gallery-plugin' ) ?>
323
+ <input type="button" class="button" <?php echo $attrs; ?> id="gllr-export-slider" name="gllr-export-slider" value="<?php echo $export ?>">
324
  <span id="gllr_export_loader" class="gllr_loader"><img src="<?php echo plugins_url( '../images/ajax-loader.gif', __FILE__ ); ?>" alt="loader" /></span><br />
325
  <span class="bws_info"><?php _e( 'Click to create a new slider using gallery images. Slider plugin is required.', 'gallery-plugin' ); echo $plugin_notice; ?></span>
326
  </td>
327
  </tr>
328
  </table>
329
+ <!-- pls -->
330
  <?php if ( ! $this->hide_pro_tabs ) { ?>
331
  <div class="bws_pro_version_bloc">
332
  <div class="bws_pro_version_table_bloc">
342
  </div>
343
  <?php $this->bws_pro_block_links(); ?>
344
  </div>
345
+ <?php } ?>
346
+ <!-- end pls -->
347
+ <?php } else { ?>
348
+ <!-- pls -->
349
+ <?php if ( ! $this->hide_pro_tabs ) { ?>
350
  <div class="bws_pro_version_bloc">
351
  <div class="bws_pro_version_table_bloc">
352
  <button type="submit" name="bws_hide_premium_options" class="notice-dismiss bws_hide_premium_options" title="<?php _e( 'Close', 'gallery-plugin' ); ?>"></button>
375
  <?php $this->bws_pro_block_links(); ?>
376
  </div>
377
  <?php } ?>
378
+ <!-- end pls -->
379
  <table class="form-table">
380
  <tr>
381
  <th scope="row"><?php _e( 'Number of Columns', 'gallery-plugin' ); ?> </th>
404
  </td>
405
  </tr>
406
  </table>
407
+ <!-- pls -->
408
  <?php if ( ! $this->hide_pro_tabs ) { ?>
409
  <div class="bws_pro_version_bloc gllr_for_custom_image_size">
410
  <div class="bws_pro_version_table_bloc">
441
  <?php $this->bws_pro_block_links(); ?>
442
  </div>
443
  <?php } ?>
444
+ <!-- end pls -->
445
  <table class="form-table">
446
  <tr>
447
  <th scope="row"><?php _e( 'Image Title', 'gallery-plugin' ); ?></th>
450
  </td>
451
  </tr>
452
  </table>
453
+ <!-- pls -->
454
  <?php if ( ! $this->hide_pro_tabs ) { ?>
455
  <div class="bws_pro_version_bloc gllr_for_image_text">
456
  <div class="bws_pro_version_table_bloc">
480
  <?php $this->bws_pro_block_links(); ?>
481
  </div>
482
  <?php } ?>
483
+ <!-- end pls -->
484
  <table class="form-table">
485
  <tr>
486
  <th scope="row"><?php _e( 'Image Border', 'gallery-plugin' ); ?></th>
509
  </td>
510
  </tr>
511
  </table>
512
+ <!-- pls -->
513
  <?php if ( ! $this->hide_pro_tabs ) { ?>
514
  <div class="bws_pro_version_bloc">
515
  <div class="bws_pro_version_table_bloc">
535
  <?php $this->bws_pro_block_links(); ?>
536
  </div>
537
  <?php } ?>
538
+ <!-- end pls -->
539
  <table class="form-table">
540
  <tr>
541
  <th scope="row"><?php _e( 'Sort Images by', 'gallery-plugin' ); ?></th>
655
  </td>
656
  </tr>
657
  </table>
658
+ <!-- pls -->
659
  <?php if ( ! $this->hide_pro_tabs ) { ?>
660
  <div class="bws_pro_version_bloc gllr_for_custom_image_size_album">
661
  <div class="bws_pro_version_table_bloc">
692
  <?php $this->bws_pro_block_links(); ?>
693
  </div>
694
  <?php } ?>
695
+ <!-- end pls -->
696
  <table class="form-table">
697
  <tr>
698
  <th scope="row"><?php _e( 'Cover Image Border', 'gallery-plugin' ); ?></th>
739
  </td>
740
  </tr>
741
  </table>
742
+ <!-- pls -->
743
+ <?php if ( ! $this->hide_pro_tabs ) { ?>
744
+ <div class="bws_pro_version_bloc gllr_for_enable_lightbox">
745
+ <div class="bws_pro_version_table_bloc">
746
+ <button type="submit" name="bws_hide_premium_options" class="notice-dismiss bws_hide_premium_options" title="<?php _e( 'Close', 'gallery-plugin' ); ?>"></button>
747
+ <div class="bws_table_bg"></div>
748
+ <table class="form-table bws_pro_version">
749
+ <tr>
750
+ <th scope="row"><?php _e( 'Instant Lightbox', 'gallery-plugin' ); ?> </th>
751
+ <td>
752
+ <input type="checkbox" value="1" disabled />
753
+ <span class="bws_info"><?php _e( 'Enable to display all images in the lightbox after clicking cover image or URL instead of going to a single gallery page.', 'gallery-plugin' ); ?></span>
754
+ </td>
755
+ </tr>
756
+ </table>
 
757
  </div>
758
+ <?php $this->bws_pro_block_links(); ?>
759
+ </div>
760
+ <?php } ?>
761
+ <!-- end pls -->
762
  <table class="form-table">
763
  <tr>
764
  <th scope="row"><?php _e( 'Read More Link Label', 'gallery-plugin' ); ?></th>
784
  <span class="bws_info"><?php _e( 'Enable to show the lightbox when clicking on gallery images.', 'gallery-plugin' ); ?></span>
785
  </td>
786
  </tr>
787
+ <!-- pls -->
788
  </table>
789
  <?php if ( ! $this->hide_pro_tabs ) { ?>
790
  <div class="bws_pro_version_bloc gllr_for_enable_lightbox">
822
  </div>
823
  <?php } ?>
824
  <table class="form-table gllr_for_enable_lightbox">
825
+ <!-- end pls -->
826
+ <?php do_action( 'gllr_display_settings_overlay', $this->options ); ?>
827
+ <tr class="gllr_for_enable_lightbox">
828
  <th scope="row"><?php _e( 'Slideshow', 'gallery-plugin' ); ?> </th>
829
  <td>
830
  <input type="checkbox" name="gllr_start_slideshow" value="1" <?php if ( 1 == $this->options["start_slideshow"] ) echo 'checked="checked"'; ?> class="bws_option_affect" data-affect-show=".gllr_for_start_slideshow" /> <span class="bws_info"><?php _e( 'Enable to start the slideshow automatically when the lightbox is used.', 'gallery-plugin' ); ?></span>
836
  <input type="number" name="gllr_slideshow_interval" min="1" max="1000000" value="<?php echo $this->options["slideshow_interval"]; ?>" /> <?php _e( 'ms', 'gallery-plugin' ); ?>
837
  <div class="bws_info"><?php _e( 'Slideshow interval duration between two images.', 'gallery-plugin' ); ?></div>
838
  </td>
839
+ </tr>
840
+ <!-- pls -->
841
  </table>
842
  <?php if ( ! $this->hide_pro_tabs ) { ?>
843
  <div class="bws_pro_version_bloc gllr_for_enable_lightbox">
875
  </div>
876
  <?php $this->bws_pro_block_links(); ?>
877
  </div>
878
+ <?php } ?>
879
  <table class="form-table gllr_for_enable_lightbox">
880
+ <!-- end pls -->
881
+ <?php do_action( 'gllr_display_settings_lightbox', $this->options ); ?>
882
+ <tr class="gllr_for_enable_lightbox">
883
  <th scope="row"><?php _e( 'Download Button', 'gallery-plugin' ); ?></th>
884
  <td>
885
  <input type="checkbox" name="gllr_lightbox_download_link" value="1" <?php if ( 1 == $this->options["lightbox_download_link"] ) echo 'checked="checked"'; ?> class="bws_option_affect" data-affect-show=".gllr_for_lightbox_download_link" /> <span class="bws_info"><?php _e( 'Enable to display download button.', 'gallery-plugin' ); ?></span>
886
  </td>
887
  </tr>
888
+ <tr class="gllr_for_enable_lightbox">
889
  <th scope="row"><?php _e( 'Single Lightbox', 'gallery-plugin' ); ?></th>
890
  <td>
891
  <input type="checkbox" name="gllr_single_lightbox_for_multiple_galleries" value="1" <?php if ( 1 == $this->options["single_lightbox_for_multiple_galleries"] ) echo 'checked="checked"'; ?> /> <span class="bws_info"><?php _e( 'Enable to use a single lightbox for multiple galleries located on a single page.', 'gallery-plugin' ); ?></span>
901
  <h3 class="bws_tab_label"><?php _e( 'Social Sharing Buttons Settings', 'gallery-plugin' ); ?></h3>
902
  <?php $this->help_phrase(); ?>
903
  <hr>
904
+ <!-- pls -->
905
  <div class="bws_pro_version_bloc">
906
  <div class="bws_pro_version_table_bloc">
907
  <button type="submit" name="bws_hide_premium_options" class="notice-dismiss bws_hide_premium_options" title="<?php _e( 'Close', 'gallery-plugin' ); ?>"></button>
934
  </div>
935
  <?php $this->bws_pro_block_links(); ?>
936
  </div>
937
+ <!-- end pls -->
938
+ <?php do_action( 'gllr_display_settings_social', $this->options );
939
+ }
940
 
941
  /**
942
  *
958
  */
959
  public function additional_misc_options_affected() {
960
  global $wp_version, $wpdb;
961
+ do_action( 'gllr_settings_page_misc_action', $this->options );
962
  //rename post_type via $_GET if checkbox doesn't shows
963
  if ( isset( $_GET['bws_rename_post_type_gallery'] ) ) {
964
  global $wpdb;
989
  <input type="checkbox" name="gllr_rename_post_type" value="1" /> <span class="bws_info"><?php _e( 'Enable to avoid conflicts with other gallery plugins installed. All galleries created earlier will stay unchanged. However, after enabling we recommend to check settings of other plugins where "gallery" post type is used.', 'gallery-plugin' ); ?></span>
990
  </td>
991
  </tr>
992
+ <?php } ?>
993
+ <!-- pls -->
994
+ </table>
995
+ <?php if ( ! $this->hide_pro_tabs ) { ?>
996
  <div class="bws_pro_version_bloc">
997
  <div class="bws_pro_version_table_bloc">
998
  <button type="submit" name="bws_hide_premium_options" class="notice-dismiss bws_hide_premium_options" title="<?php _e( 'Close', 'gallery-plugin' ); ?>"></button>
1010
  </div>
1011
  <?php $this->bws_pro_block_links(); ?>
1012
  </div>
1013
+ <?php } ?>
1014
+ <!-- end pls -->
1015
+ <table class="form-table">
1016
  <tr>
1017
  <th scope="row"><?php _e( 'Search Galleries', 'gallery-plugin' ); ?></th>
1018
  <td>
js/frontend_script.js CHANGED
@@ -4,7 +4,7 @@
4
 
5
  $( ".gllr_grid:visible" ).each( function() {
6
  var $gallery = $( this ),
7
- gallery_wrap_width = $gallery.parent( '.gallery_box_single' ).width(),
8
  $gallery_rows = $gallery.find( '.gllr_image_row' ),
9
  $gallery_first_row = $gallery_rows.filter( ':first' ),
10
  $images = $gallery.find( '.gllr_image_block' ),
4
 
5
  $( ".gllr_grid:visible" ).each( function() {
6
  var $gallery = $( this ),
7
+ gallery_wrap_width = $gallery.parents( '.gallery_box_single' ).width(),
8
  $gallery_rows = $gallery.find( '.gllr_image_row' ),
9
  $gallery_first_row = $gallery_rows.filter( ':first' ),
10
  $images = $gallery.find( '.gllr_image_block' ),
js/script.js CHANGED
@@ -143,7 +143,7 @@ function gllr_setError( msg ) {
143
  return false;
144
  } );
145
 
146
- function gllr_add_sortable() {
147
  if ( $.fn.sortable ) {
148
  if ( $( "#the-list tr" ).length > 1 ) {
149
  $( '#the-list' ).sortable( {
143
  return false;
144
  } );
145
 
146
+ function gllr_add_sortable() {
147
  if ( $.fn.sortable ) {
148
  if ( $( "#the-list tr" ).length > 1 ) {
149
  $( '#the-list' ).sortable( {
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: bestwebsoft
3
  Donate link: https://bestwebsoft.com/donate/
4
  Tags: add album, add galleries, add images, add pictures, add albums, gallery, gallery plugin, gallery slider, fancy gallery, slideshow, lightbox, fullscreen gallery
5
  Requires at least: 4.5
6
- Tested up to: 5.4.1
7
- Stable tag: 4.6.6
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -234,6 +234,11 @@ Please make sure that the problem hasn't been discussed yet on our forum (<https
234
 
235
  == Changelog ==
236
 
 
 
 
 
 
237
  = V4.6.6 - 27.03.2020 =
238
  * Update : Appearance of the Plugin settings page was updated.
239
 
@@ -697,6 +702,10 @@ Please make sure that the problem hasn't been discussed yet on our forum (<https
697
 
698
  == Upgrade Notice ==
699
 
 
 
 
 
700
  = V4.6.6 =
701
  * Usability improved.
702
 
3
  Donate link: https://bestwebsoft.com/donate/
4
  Tags: add album, add galleries, add images, add pictures, add albums, gallery, gallery plugin, gallery slider, fancy gallery, slideshow, lightbox, fullscreen gallery
5
  Requires at least: 4.5
6
+ Tested up to: 5.7
7
+ Stable tag: 4.6.7
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
234
 
235
  == Changelog ==
236
 
237
+ = V4.6.7 - 28.01.2021 =
238
+ * Update : All functionality was updated for WordPress 5.6
239
+ * Update : BWS Panel section was updated.
240
+ * Bugfix : The bug with displaying single gallery was fixed.
241
+
242
  = V4.6.6 - 27.03.2020 =
243
  * Update : Appearance of the Plugin settings page was updated.
244
 
702
 
703
  == Upgrade Notice ==
704
 
705
+ = V4.6.7 =
706
+ * The compatibility with new WordPress version updated.
707
+ * Bugs fixed.
708
+
709
  = V4.6.6 =
710
  * Usability improved.
711
 
templates/gallery-single-template.php CHANGED
@@ -24,7 +24,7 @@ get_header(); ?>
24
  $current_theme = wp_get_theme();
25
  if( 'Twenty Twenty' == $current_theme->get( 'Name' ) ) {
26
  get_template_part( 'template-parts/footer-menus-widgets' );
27
- } elseif( 'Twenty Nineteen' != $current_theme->get( 'Name' ) ) {
28
  get_sidebar();
29
  } ?>
30
  </div><!-- .wrap -->
24
  $current_theme = wp_get_theme();
25
  if( 'Twenty Twenty' == $current_theme->get( 'Name' ) ) {
26
  get_template_part( 'template-parts/footer-menus-widgets' );
27
+ } elseif ( file_exists( TEMPLATEPATH . '/sidebar.php' ) ) {
28
  get_sidebar();
29
  } ?>
30
  </div><!-- .wrap -->
templates/gallery-template.php CHANGED
@@ -54,7 +54,7 @@ $current_theme_name = wp_get_theme()->get( 'Name' ); ?>
54
  /* Theme Twenty Nineteen hasn`t sidebar */
55
  if( 'Twenty Twenty' == $current_theme_name ) {
56
  get_template_part( 'template-parts/footer-menus-widgets' );
57
- } elseif( 'Twenty Nineteen' != $current_theme_name ) {
58
  get_sidebar();
59
  } ?>
60
  </div><!-- .wrap -->
54
  /* Theme Twenty Nineteen hasn`t sidebar */
55
  if( 'Twenty Twenty' == $current_theme_name ) {
56
  get_template_part( 'template-parts/footer-menus-widgets' );
57
+ } elseif ( file_exists( TEMPLATEPATH . '/sidebar.php' ) ) {
58
  get_sidebar();
59
  } ?>
60
  </div><!-- .wrap -->