WP ULike - Version 3.5.1

Version Description

  • Fixed: The buddypress notifications issue.
  • Added: A new option to disable popover on likers box and make it inline display.
  • Added: Some changes to improve statistics page and make it more faster.
  • Added: some improvements on ajax process of logs page.
  • Replaced: The tag with
  • Fixed: An issue with button display on buddypress comments.
  • Fixed: Some styling issues.
Download this release

Release Info

Developer alimir
Plugin Icon 128x128 WP ULike
Version 3.5.1
Comparing to
See all releases

Code changes from version 3.5.0 to 3.5.1

admin/admin-ajax.php CHANGED
@@ -24,29 +24,17 @@ if ( ! defined( 'WPINC' ) ) {
24
  * @return Void
25
  */
26
  function wp_ulike_ajax_stats() {
27
-
28
- $nonce = $_POST['nonce'];
29
- $method = $_POST['method'];
30
 
31
- $value = json_decode( json_encode( $_POST['value'] ), true );
32
-
33
- // If is not json then keep it as a variable
34
- if( !is_array( $value ) ) {
35
- $value = $_POST['value'];
36
- }
37
 
38
- if ( empty( $nonce ) || ! wp_verify_nonce( $nonce, 'wp-ulike-ajax-nonce' ) ) {
39
  wp_send_json_error( __( 'Error: Something Wrong Happened!', WP_ULIKE_SLUG ) );
40
  }
41
 
42
- $wp_ulike_stats = wp_ulike_stats::get_instance();
43
-
44
- if( method_exists( $wp_ulike_stats, $method ) ) {
45
- $output = empty( $value ) ? $wp_ulike_stats->$method() : $wp_ulike_stats->$method( $value );
46
- wp_send_json_success( json_encode( $output ) );
47
- }
48
 
49
- wp_send_json_error( __( 'Error: Something Wrong Happened!', WP_ULIKE_SLUG ) );
50
 
51
  }
52
  add_action( 'wp_ajax_wp_ulike_ajax_stats', 'wp_ulike_ajax_stats' );
@@ -77,12 +65,14 @@ add_action( 'wp_ajax_wp_ulike_dismissed_notice', 'wp_ulike_ajax_notice_handler'
77
  * @return Void
78
  */
79
  function wp_ulike_logs_process(){
 
80
  global $wpdb;
81
- $id = $_POST['id'];
82
- $table = $_POST['table'];
83
- $nonce = $_POST['nonce'];
 
84
 
85
- if( $id == null || ! wp_verify_nonce( $nonce, $table . $id ) || ! current_user_can( 'delete_posts' ) ) {
86
  wp_send_json_error( __( 'Error: Something Wrong Happened!', WP_ULIKE_SLUG ) );
87
  }
88
 
24
  * @return Void
25
  */
26
  function wp_ulike_ajax_stats() {
 
 
 
27
 
28
+ $nonce = isset( $_POST['nonce'] ) ? $_POST['nonce'] : '';
 
 
 
 
 
29
 
30
+ if ( empty( $nonce ) || ! wp_verify_nonce( $nonce, 'wp-ulike-ajax-nonce' ) || ! current_user_can( 'manage_options' ) ) {
31
  wp_send_json_error( __( 'Error: Something Wrong Happened!', WP_ULIKE_SLUG ) );
32
  }
33
 
34
+ $instance = wp_ulike_stats::get_instance();
35
+ $output = $instance->get_all_data();
 
 
 
 
36
 
37
+ wp_send_json_success( json_encode( $output ) );
38
 
39
  }
40
  add_action( 'wp_ajax_wp_ulike_ajax_stats', 'wp_ulike_ajax_stats' );
65
  * @return Void
66
  */
67
  function wp_ulike_logs_process(){
68
+ // Global wpdb calss
69
  global $wpdb;
70
+ // Variables
71
+ $id = isset( $_POST['id'] ) ? $_POST['id'] : '';
72
+ $table = isset( $_POST['table'] ) ? $_POST['table'] : '';
73
+ $nonce = isset( $_POST['nonce'] ) ? $_POST['nonce'] : '';
74
 
75
+ if( $id == '' || ! wp_verify_nonce( $nonce, $table . $id ) || ! current_user_can( 'delete_posts' ) ) {
76
  wp_send_json_error( __( 'Error: Something Wrong Happened!', WP_ULIKE_SLUG ) );
77
  }
78
 
admin/assets/js/plugins.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! WP ULike - v3.5.0
2
  * https://wpulike.com
3
  * Alimir 2018;
4
  */
1
+ /*! WP ULike - v3.5.1
2
  * https://wpulike.com
3
  * Alimir 2018;
4
  */
admin/assets/js/scripts.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! WP ULike - v3.5.0
2
  * https://wpulike.com
3
  * Alimir 2018;
4
  */
@@ -276,14 +276,9 @@
276
  }
277
  });
278
 
279
- // Charts stack array to save data
280
- window.wpUlikechartsInfo = [];
281
-
282
- $.fn.WpUlikeAjaxStats = function( method, value ){
283
  // local var
284
  var theResponse = null;
285
- // returnValue = $.isPlainObject( value ) ? $.parseJSON( value ) : value;
286
-
287
  // jQuery ajax
288
  $.ajax({
289
  type :'POST',
@@ -292,15 +287,13 @@
292
  async : false,
293
  data :{
294
  action: 'wp_ulike_ajax_stats',
295
- method: method,
296
- value : value,
297
  nonce : wp_ulike_admin.nonce_field
298
  },
299
  success : function( response ){
300
  if( response.success ) {
301
  theResponse = JSON.parse( response.data );
302
  } else {
303
- theResponse = 0;
304
  }
305
  }
306
  });
@@ -308,10 +301,15 @@
308
  return theResponse;
309
  };
310
 
311
- if( wp_ulike_admin.hook_address.indexOf("wp-ulike-statistics") !== -1 ) {
 
 
 
 
 
312
  // Get single var component
313
  Vue.component('get-var', {
314
- props: ['callback', 'args'],
315
  data: function () {
316
  return {
317
  output : '...'
@@ -326,7 +324,7 @@
326
  },
327
  methods:{
328
  fetchData () {
329
- return $.fn.WpUlikeAjaxStats( this.callback, this.args )
330
  },
331
  removeClass( element ){
332
  element.classList.remove( 'wp-ulike-is-loading' );
@@ -335,11 +333,11 @@
335
  });
336
  // Get charts object component
337
  Vue.component('get-chart', {
338
- props: ['callback', 'args', 'identify', 'type'],
339
  mounted() {
340
  if( this.type == 'line' ) {
341
  this.planetChartData = this.fetchData();
342
- this.createLineChart( this.planetChartData );
343
  } else {
344
  this.createPieChart();
345
  }
@@ -350,7 +348,7 @@
350
  },
351
  methods:{
352
  fetchData () {
353
- return $.fn.WpUlikeAjaxStats( this.callback, this.args );
354
  },
355
  createLineChart( chartData ) {
356
  // Push data stats in dataset options
@@ -366,7 +364,7 @@
366
  chartData.options
367
  ]
368
  }
369
- });
370
  // Set info for this canvas
371
  this.setInfo( chartData );
372
  },
@@ -423,7 +421,7 @@
423
  });
424
 
425
  new Vue({
426
- el: '#wp-ulike-stats-app',
427
  });
428
  }
429
 
1
+ /*! WP ULike - v3.5.1
2
  * https://wpulike.com
3
  * Alimir 2018;
4
  */
276
  }
277
  });
278
 
279
+ $.fn.WpUlikeAjaxStats = function(){
 
 
 
280
  // local var
281
  var theResponse = null;
 
 
282
  // jQuery ajax
283
  $.ajax({
284
  type :'POST',
287
  async : false,
288
  data :{
289
  action: 'wp_ulike_ajax_stats',
 
 
290
  nonce : wp_ulike_admin.nonce_field
291
  },
292
  success : function( response ){
293
  if( response.success ) {
294
  theResponse = JSON.parse( response.data );
295
  } else {
296
+ theResponse = null;
297
  }
298
  }
299
  });
301
  return theResponse;
302
  };
303
 
304
+ // Charts stack array to save data
305
+ window.wpUlikechartsInfo = [];
306
+ // Get all tables data
307
+ window.wpUlikeAjaxDataset = $.fn.WpUlikeAjaxStats();
308
+
309
+ if( window.wpUlikeAjaxDataset !== null && wp_ulike_admin.hook_address.indexOf("wp-ulike-statistics") !== -1 ) {
310
  // Get single var component
311
  Vue.component('get-var', {
312
+ props: ['dataset'],
313
  data: function () {
314
  return {
315
  output : '...'
324
  },
325
  methods:{
326
  fetchData () {
327
+ return window.wpUlikeAjaxDataset[this.dataset];
328
  },
329
  removeClass( element ){
330
  element.classList.remove( 'wp-ulike-is-loading' );
333
  });
334
  // Get charts object component
335
  Vue.component('get-chart', {
336
+ props: ['dataset', 'identify', 'type'],
337
  mounted() {
338
  if( this.type == 'line' ) {
339
  this.planetChartData = this.fetchData();
340
+ this.createLineChart( this.planetChartData );
341
  } else {
342
  this.createPieChart();
343
  }
348
  },
349
  methods:{
350
  fetchData () {
351
+ return window.wpUlikeAjaxDataset[this.dataset];
352
  },
353
  createLineChart( chartData ) {
354
  // Push data stats in dataset options
364
  chartData.options
365
  ]
366
  }
367
+ });
368
  // Set info for this canvas
369
  this.setInfo( chartData );
370
  },
421
  });
422
 
423
  new Vue({
424
+ el: '#wp-ulike-stats-app'
425
  });
426
  }
427
 
admin/classes/class-wp-ulike-admin-assets.php CHANGED
File without changes
admin/classes/class-wp-ulike-admin-pages.php CHANGED
File without changes
admin/classes/class-wp-ulike-stats.php CHANGED
@@ -60,7 +60,37 @@ if ( ! class_exists( 'wp_ulike_stats' ) ) {
60
 
61
  }
62
 
63
- return $get_tables;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
64
  }
65
 
66
  /**
@@ -257,8 +287,8 @@ if ( ! class_exists( 'wp_ulike_stats' ) ) {
257
  $user_ID = stripslashes( $user->user_id );
258
  $userdata = get_userdata( $user_ID );
259
  $username = empty( $userdata ) ? __('Guest User',WP_ULIKE_SLUG) : $userdata->display_name;
260
-
261
- $result .= '
262
  <div class="wp-ulike-flex wp-ulike-users-list">
263
  <div class="wp-ulike-counter">
264
  <i class="wp-ulike-icons-trophy"></i>
60
 
61
  }
62
 
63
+ return $get_tables;
64
+ }
65
+
66
+ /**
67
+ * Set all data info for ajax requests
68
+ *
69
+ * @author Alimir
70
+ * @since 3.5.1
71
+ * @return Array
72
+ */
73
+ public function get_all_data(){
74
+
75
+ $tables = $this->get_tables();
76
+
77
+ $output = array(
78
+ 'count_all_logs_all' => $this->count_all_logs('all'),
79
+ 'count_all_logs_today' => $this->count_all_logs('today'),
80
+ 'count_all_logs_yesterday' => $this->count_all_logs('yesterday'),
81
+ 'display_top_likers' => $this->display_top_likers(),
82
+ );
83
+
84
+ foreach ( $tables as $type => $table ) {
85
+ $output[ 'dataset_' . $table ] = $this->dataset( $table );
86
+ $output[ 'get_top_' . $type ] = $this->get_top( $type );
87
+ $output[ 'count_logs_' . $table . '_week' ] = $this->count_logs( array( "table" => $table, "date" => 'week' ) );
88
+ $output[ 'count_logs_' . $table . '_month'] = $this->count_logs( array( "table" => $table, "date" => 'month' ) );
89
+ $output[ 'count_logs_' . $table . '_year' ] = $this->count_logs( array( "table" => $table, "date" => 'year' ) );
90
+ $output[ 'count_logs_' . $table . '_all' ] = $this->count_logs( array( "table" => $table, "date" => 'all' ) );
91
+ }
92
+
93
+ return $output;
94
  }
95
 
96
  /**
287
  $user_ID = stripslashes( $user->user_id );
288
  $userdata = get_userdata( $user_ID );
289
  $username = empty( $userdata ) ? __('Guest User',WP_ULIKE_SLUG) : $userdata->display_name;
290
+
291
+ $result .= '
292
  <div class="wp-ulike-flex wp-ulike-users-list">
293
  <div class="wp-ulike-counter">
294
  <i class="wp-ulike-icons-trophy"></i>
admin/includes/templates/about.php CHANGED
File without changes
admin/includes/templates/activities-logs.php CHANGED
File without changes
admin/includes/templates/comments-logs.php CHANGED
File without changes
admin/includes/templates/posts-logs.php CHANGED
File without changes
admin/includes/templates/statistics.php CHANGED
@@ -15,7 +15,7 @@
15
  // wp_ulike_stats class instance
16
  $wp_ulike_stats = wp_ulike_stats::get_instance();
17
  // get tables info
18
- $get_tables = $wp_ulike_stats->get_tables();
19
 
20
  if( empty( $get_tables ) ) {
21
  ?>
@@ -51,7 +51,7 @@
51
  </div>
52
  </div>
53
  <div class="col-7">
54
- <get-var callback="count_all_logs" args="all" inline-template>
55
  <span class="wp-ulike-var" v-html="output"></span>
56
  </get-var>
57
  <span class="wp-ulike-text"><?php echo _e( 'Total', WP_ULIKE_SLUG ); ?></span>
@@ -68,7 +68,7 @@
68
  </div>
69
  </div>
70
  <div class="col-7">
71
- <get-var callback="count_all_logs" args="today" inline-template>
72
  <span class="wp-ulike-var" v-html="output"></span>
73
  </get-var>
74
  <span class="wp-ulike-text"><?php echo _e( 'Today', WP_ULIKE_SLUG ); ?></span>
@@ -85,7 +85,7 @@
85
  </div>
86
  </div>
87
  <div class="col-7">
88
- <get-var callback="count_all_logs" args="yesterday" inline-template>
89
  <span class="wp-ulike-var" v-html="output"></span>
90
  </get-var>
91
  <span class="wp-ulike-text"><?php echo _e( 'Yesterday', WP_ULIKE_SLUG ); ?></span>
@@ -102,15 +102,15 @@
102
  <div class="wp-ulike-inner">
103
  <div class="wp-ulike-header">
104
  <h3 class="wp-ulike-widget-title">
105
- <?php echo $type . ' ' . __( 'Statistics', WP_ULIKE_SLUG ); ?>
106
  </h3>
107
  <a target="_blank" href="admin.php?page=wp-ulike-<?php echo $type; ?>-logs" class="wp-ulike-button">
108
- <?php echo _e( 'View All Logs', WP_ULIKE_SLUG ); ?>
109
  </a>
110
  </div>
111
  <div class="wp-ulike-row wp-ulike-flex wp-ulike-is-loading">
112
  <div class="col-8">
113
- <get-chart type="line" identify="wp-ulike-<?php echo $type; ?>-chart" callback="dataset" args="<?php echo $table; ?>" inline-template>
114
  <canvas id="wp-ulike-<?php echo $type; ?>-chart"></canvas>
115
  </get-chart>
116
  </div>
@@ -120,7 +120,7 @@
120
  <i class="wp-ulike-icons-magnifying-glass"></i>
121
  </div>
122
  <div class="wp-ulike-info">
123
- <get-var callback="count_logs" :args="<?php echo esc_attr( json_encode( array( "table" => $table, "date" => "week" ) ) ); ?>" inline-template>
124
  <span class="wp-ulike-var" v-html="output"></span>
125
  </get-var>
126
  <span class="wp-ulike-text"><?php echo _e( 'Weekly', WP_ULIKE_SLUG ); ?></span>
@@ -131,7 +131,7 @@
131
  <i class="wp-ulike-icons-bargraph"></i>
132
  </div>
133
  <div class="wp-ulike-info">
134
- <get-var callback="count_logs" :args="<?php echo esc_attr( json_encode( array( "table" => $table, "date" => "month" ) ) ); ?>" inline-template>
135
  <span class="wp-ulike-var" v-html="output"></span>
136
  </get-var>
137
  <span class="wp-ulike-text"><?php echo _e( 'Monthly', WP_ULIKE_SLUG ); ?></span>
@@ -142,7 +142,7 @@
142
  <i class="wp-ulike-icons-linegraph"></i>
143
  </div>
144
  <div class="wp-ulike-info">
145
- <get-var callback="count_logs" :args="<?php echo esc_attr( json_encode( array( "table" => $table, "date" => "year" ) ) ); ?>" inline-template>
146
  <span class="wp-ulike-var" v-html="output"></span>
147
  </get-var>
148
  <span class="wp-ulike-text"><?php echo _e( 'Yearly', WP_ULIKE_SLUG ); ?></span>
@@ -153,7 +153,7 @@
153
  <i class="wp-ulike-icons-global"></i>
154
  </div>
155
  <div class="wp-ulike-info">
156
- <get-var callback="count_logs" :args="<?php echo esc_attr( json_encode( array( "table" => $table, "date" => "all" ) ) ); ?>" inline-template>
157
  <span class="wp-ulike-var" v-html="output"></span>
158
  </get-var>
159
  <span class="wp-ulike-text"><?php echo _e( 'Totally',WP_ULIKE_SLUG ); ?></span>
@@ -166,19 +166,19 @@
166
  </div>
167
  <?php
168
  endforeach;
169
- ?>
170
  <div class="wp-ulike-row wp-ulike-percent-charts wp-ulike-flex">
171
  <div class="col-6">
172
  <div class="wp-ulike-inner">
173
  <div class="wp-ulike-header">
174
  <h3 class="wp-ulike-widget-title">
175
- <?php echo _e( 'Allocation Statistics', WP_ULIKE_SLUG ); ?>
176
- </h3>
177
  </div>
178
  <div class="wp-ulike-row wp-ulike-match-height wp-ulike-flex wp-ulike-is-loading">
179
  <div class="col-12">
180
  <div class="wp-ulike-draw-chart">
181
- <get-chart type="pie" identify="wp-ulike-percent-chart" callback="" args="" inline-template>
182
  <canvas id="wp-ulike-percent-chart"></canvas>
183
  </get-chart>
184
  </div>
@@ -190,13 +190,13 @@
190
  <div class="wp-ulike-inner">
191
  <div class="wp-ulike-header">
192
  <h3 class="wp-ulike-widget-title">
193
- <?php echo _e( 'Top Likers', WP_ULIKE_SLUG ); ?>
194
- </h3>
195
  </div>
196
  <div class="wp-ulike-row wp-ulike-match-height wp-ulike-flex wp-ulike-is-loading">
197
  <div class="col-12">
198
  <div class="wp-ulike-top-likers">
199
- <get-var callback="display_top_likers" args="" inline-template>
200
  <div class="wp-ulike-var" v-html="output"></div>
201
  </get-var>
202
  </div>
@@ -207,19 +207,19 @@
207
  </div>
208
  <?php
209
  foreach ( $get_tables as $type => $table):
210
- ?>
211
  <div class="wp-ulike-row wp-ulike-get-tops">
212
  <div class="col-12">
213
  <div class="wp-ulike-inner">
214
  <div class="wp-ulike-header">
215
  <h3 class="wp-ulike-widget-title">
216
- <?php echo _e( 'Top', WP_ULIKE_SLUG ) . ' ' . $type; ?>
217
- </h3>
218
  </div>
219
  <div class="wp-ulike-row wp-ulike-is-loading">
220
  <div class="col-12">
221
  <div class="wp-ulike-tops-list wp-ulike-top-<?php echo $type; ?>">
222
- <get-var callback="get_top" args="<?php echo $type; ?>" inline-template>
223
  <ul class="wp-ulike-var" v-html="output"></ul>
224
  </get-var>
225
  </div>
@@ -230,5 +230,5 @@
230
  </div>
231
  <?php
232
  endforeach;
233
- ?>
234
  </div>
15
  // wp_ulike_stats class instance
16
  $wp_ulike_stats = wp_ulike_stats::get_instance();
17
  // get tables info
18
+ $get_tables = $wp_ulike_stats->get_tables();
19
 
20
  if( empty( $get_tables ) ) {
21
  ?>
51
  </div>
52
  </div>
53
  <div class="col-7">
54
+ <get-var dataset="count_all_logs_all" inline-template>
55
  <span class="wp-ulike-var" v-html="output"></span>
56
  </get-var>
57
  <span class="wp-ulike-text"><?php echo _e( 'Total', WP_ULIKE_SLUG ); ?></span>
68
  </div>
69
  </div>
70
  <div class="col-7">
71
+ <get-var dataset="count_all_logs_today" inline-template>
72
  <span class="wp-ulike-var" v-html="output"></span>
73
  </get-var>
74
  <span class="wp-ulike-text"><?php echo _e( 'Today', WP_ULIKE_SLUG ); ?></span>
85
  </div>
86
  </div>
87
  <div class="col-7">
88
+ <get-var dataset="count_all_logs_yesterday" inline-template>
89
  <span class="wp-ulike-var" v-html="output"></span>
90
  </get-var>
91
  <span class="wp-ulike-text"><?php echo _e( 'Yesterday', WP_ULIKE_SLUG ); ?></span>
102
  <div class="wp-ulike-inner">
103
  <div class="wp-ulike-header">
104
  <h3 class="wp-ulike-widget-title">
105
+ <?php echo $type . ' ' . __( 'Statistics', WP_ULIKE_SLUG ); ?>
106
  </h3>
107
  <a target="_blank" href="admin.php?page=wp-ulike-<?php echo $type; ?>-logs" class="wp-ulike-button">
108
+ <?php echo _e( 'View All Logs', WP_ULIKE_SLUG ); ?>
109
  </a>
110
  </div>
111
  <div class="wp-ulike-row wp-ulike-flex wp-ulike-is-loading">
112
  <div class="col-8">
113
+ <get-chart type="line" identify="wp-ulike-<?php echo $type; ?>-chart" dataset="dataset_<?php echo $table; ?>" inline-template>
114
  <canvas id="wp-ulike-<?php echo $type; ?>-chart"></canvas>
115
  </get-chart>
116
  </div>
120
  <i class="wp-ulike-icons-magnifying-glass"></i>
121
  </div>
122
  <div class="wp-ulike-info">
123
+ <get-var dataset="count_logs_<?php echo $table; ?>_week" inline-template>
124
  <span class="wp-ulike-var" v-html="output"></span>
125
  </get-var>
126
  <span class="wp-ulike-text"><?php echo _e( 'Weekly', WP_ULIKE_SLUG ); ?></span>
131
  <i class="wp-ulike-icons-bargraph"></i>
132
  </div>
133
  <div class="wp-ulike-info">
134
+ <get-var dataset="count_logs_<?php echo $table; ?>_month" inline-template>
135
  <span class="wp-ulike-var" v-html="output"></span>
136
  </get-var>
137
  <span class="wp-ulike-text"><?php echo _e( 'Monthly', WP_ULIKE_SLUG ); ?></span>
142
  <i class="wp-ulike-icons-linegraph"></i>
143
  </div>
144
  <div class="wp-ulike-info">
145
+ <get-var dataset="count_logs_<?php echo $table; ?>_year" inline-template>
146
  <span class="wp-ulike-var" v-html="output"></span>
147
  </get-var>
148
  <span class="wp-ulike-text"><?php echo _e( 'Yearly', WP_ULIKE_SLUG ); ?></span>
153
  <i class="wp-ulike-icons-global"></i>
154
  </div>
155
  <div class="wp-ulike-info">
156
+ <get-var dataset="count_logs_<?php echo $table; ?>_all" inline-template>
157
  <span class="wp-ulike-var" v-html="output"></span>
158
  </get-var>
159
  <span class="wp-ulike-text"><?php echo _e( 'Totally',WP_ULIKE_SLUG ); ?></span>
166
  </div>
167
  <?php
168
  endforeach;
169
+ ?>
170
  <div class="wp-ulike-row wp-ulike-percent-charts wp-ulike-flex">
171
  <div class="col-6">
172
  <div class="wp-ulike-inner">
173
  <div class="wp-ulike-header">
174
  <h3 class="wp-ulike-widget-title">
175
+ <?php echo _e( 'Allocation Statistics', WP_ULIKE_SLUG ); ?>
176
+ </h3>
177
  </div>
178
  <div class="wp-ulike-row wp-ulike-match-height wp-ulike-flex wp-ulike-is-loading">
179
  <div class="col-12">
180
  <div class="wp-ulike-draw-chart">
181
+ <get-chart type="pie" identify="wp-ulike-percent-chart" dataset="" inline-template>
182
  <canvas id="wp-ulike-percent-chart"></canvas>
183
  </get-chart>
184
  </div>
190
  <div class="wp-ulike-inner">
191
  <div class="wp-ulike-header">
192
  <h3 class="wp-ulike-widget-title">
193
+ <?php echo _e( 'Top Likers', WP_ULIKE_SLUG ); ?>
194
+ </h3>
195
  </div>
196
  <div class="wp-ulike-row wp-ulike-match-height wp-ulike-flex wp-ulike-is-loading">
197
  <div class="col-12">
198
  <div class="wp-ulike-top-likers">
199
+ <get-var dataset="display_top_likers" inline-template>
200
  <div class="wp-ulike-var" v-html="output"></div>
201
  </get-var>
202
  </div>
207
  </div>
208
  <?php
209
  foreach ( $get_tables as $type => $table):
210
+ ?>
211
  <div class="wp-ulike-row wp-ulike-get-tops">
212
  <div class="col-12">
213
  <div class="wp-ulike-inner">
214
  <div class="wp-ulike-header">
215
  <h3 class="wp-ulike-widget-title">
216
+ <?php echo _e( 'Top', WP_ULIKE_SLUG ) . ' ' . $type; ?>
217
+ </h3>
218
  </div>
219
  <div class="wp-ulike-row wp-ulike-is-loading">
220
  <div class="col-12">
221
  <div class="wp-ulike-tops-list wp-ulike-top-<?php echo $type; ?>">
222
+ <get-var dataset="get_top_<?php echo $type; ?>" inline-template>
223
  <ul class="wp-ulike-var" v-html="output"></ul>
224
  </get-var>
225
  </div>
230
  </div>
231
  <?php
232
  endforeach;
233
+ ?>
234
  </div>
admin/includes/templates/topics-logs.php CHANGED
File without changes
assets/css/wp-ulike.css CHANGED
@@ -15,24 +15,21 @@
15
  margin: 0;
16
  position: relative;
17
  display: inline-block;
 
18
  border-radius: .25em;
19
- font-size: 14px;
20
- line-height: 28px;
21
  box-shadow: none;
22
- cursor: pointer;
23
- padding: 0 25px;
24
- vertical-align: middle;
25
- height: 28px;
26
- font-weight: 600;
27
  border: none;
28
  text-align: center;
 
29
  }
30
- .wpulike .wp_ulike_btn:hover {
31
- text-decoration: none;
32
- border-color: #95a5a6;
33
- box-shadow: none;
34
  }
35
  .wpulike .wp_ulike_put_text {
 
 
 
36
  padding: 0 10px;
37
  min-width: 50px;
38
  }
@@ -91,10 +88,9 @@
91
  margin-left: 8px;
92
  line-height: 28px;
93
  display: inline-block;
94
- padding: 0 8px;
95
  box-shadow: 0 0 0 1px #bdbdbd inset;
96
  color: #616161;
97
- min-width: 30px;
98
  vertical-align: middle;
99
  text-align: center;
100
  }
@@ -118,21 +114,10 @@
118
  vertical-align: middle;
119
  padding: 0;
120
  }
121
- #buddypress #activity-stream .activity-meta .wpulike .wp_ulike_btn span, #buddypress #activity-stream .activity-comments .wpulike .wp_ulike_btn span {
122
- position: relative;
123
- top: 50%;
124
- left: 50%;
125
- transform: translateX(-50%) translateY(-50%);
126
- display: block;
127
- }
128
  #buddypress #activity-stream .activity-meta .wpulike-default .wp_ulike_btn, #buddypress #activity-stream .activity-comments .wpulike-default .wp_ulike_btn {
129
  border-radius: 0;
130
  background-color: #ffffff;
131
  box-shadow: 0 0 0 1px #bdbdbd inset;
132
- height: 29.5px;
133
- min-width: 50px;
134
- margin: 0;
135
- padding: 0;
136
  }
137
  #buddypress #activity-stream .wp_ulike_likers_wrapper li, #buddypress #activity-stream .wp_ulike_likers_wrapper .wp-ulike-liker {
138
  border: none;
@@ -144,32 +129,12 @@
144
  margin: 0;
145
  }
146
 
147
- #bbpress-forums .bbp-reply-content .wpulike .wp_ulike_is_loading .wp_ulike_btn {
148
- background-image: url(../img/svg/loader.svg);
149
- background-repeat: no-repeat;
150
- background-position: center center;
151
- }
152
- #bbpress-forums .wpulike-default .wp_ulike_btn {
153
- margin: 0;
154
- position: relative;
155
- display: inline-block;
156
- border-radius: .25em;
157
- font-size: 14px;
158
- line-height: 28px;
159
- box-shadow: none;
160
- cursor: pointer;
161
- padding: 0 25px;
162
- vertical-align: middle;
163
- height: 28px;
164
- font-weight: 600;
165
- border: none;
166
- text-align: center;
167
- color: #616161;
168
- background: #e0e0e0;
169
- }
170
- #bbpress-forums .wp_ulike_likers_wrapper ul, #bbpress-forums .wp_ulike_likers_wrapper .wp-ulike-likers-list {
171
  margin: 0 !important;
172
  }
 
 
 
173
 
174
  /**
175
  * Heart template
@@ -186,11 +151,15 @@
186
  font-weight: 600;
187
  color: #757575;
188
  }
189
- .wpulike-heart .wp_ulike_likers_wrapper {
 
 
 
190
  bottom: 10px;
191
  }
192
  .wpulike-heart .wp_ulike_put_image {
193
- padding: 0 15px;
 
194
  }
195
  .wpulike-heart .wp_ulike_put_image:after {
196
  content: '';
@@ -213,31 +182,23 @@
213
  line-height: 28px;
214
  display: inline-block;
215
  color: #616161;
216
- min-width: 30px;
217
  text-align: center;
218
  font-weight: 600;
219
  vertical-align: middle;
220
  padding: 0 5px;
221
  }
222
 
223
- #buddypress #activity-stream .activity-meta {
224
  display: flex;
225
  align-items: center;
226
  }
227
- #buddypress #activity-stream .activity-meta .wpulike-heart .wp_ulike_btn {
228
- padding: 0 15px;
229
  }
230
- #buddypress #activity-stream .activity-meta .wpulike-heart .wp_ulike_general_class {
231
  border-radius: 0;
232
- padding: 1px 5px;
233
- margin-bottom: 2px;
234
- }
235
- #buddypress #activity-stream .activity-meta .wpulike-heart .count-box {
236
- min-width: 20px;
237
- }
238
-
239
- #bbpress-forums .bbp-reply-content .wpulike-heart .wp_ulike_btn {
240
- padding: 5px 15px;
241
  }
242
 
243
  /**
@@ -307,8 +268,8 @@
307
  transform: scale(1);
308
  }
309
  }
310
- .wpulike-robeen .wp_ulike_likers_wrapper {
311
- bottom: 15px;
312
  }
313
  .wpulike-robeen .count-box {
314
  display: inline-block;
@@ -461,6 +422,12 @@
461
  * Widgets & Likers Box
462
  */
463
  .wp_ulike_likers_wrapper {
 
 
 
 
 
 
464
  transition: all 500ms cubic-bezier(0.19, 1, 0.22, 1);
465
  display: block;
466
  position: absolute;
@@ -474,13 +441,20 @@
474
  border-radius: 5px;
475
  z-index: 9;
476
  }
477
- .wp_ulike_likers_wrapper:empty {
478
- display: none;
 
 
 
 
 
 
 
 
479
  }
480
  .wp_ulike_likers_wrapper .wp-ulike-likers-list, .wp_ulike_likers_wrapper .tiles {
481
  display: flex;
482
  align-items: center;
483
- justify-content: center;
484
  flex-wrap: wrap;
485
  margin: 0;
486
  padding: 0;
@@ -492,29 +466,13 @@
492
  }
493
  .wp_ulike_likers_wrapper .wp-ulike-likers-list .wp-ulike-liker a > img, .wp_ulike_likers_wrapper .wp-ulike-likers-list li a > img, .wp_ulike_likers_wrapper .tiles .wp-ulike-liker a > img, .wp_ulike_likers_wrapper .tiles li a > img {
494
  border-radius: 5px;
495
- transition: opacity 1500ms cubic-bezier(0.19, 1, 0.22, 1);
496
  display: block;
497
  border: 0;
498
- opacity: 0;
499
  box-shadow: none;
500
  }
501
- .wp_ulike_likers_wrapper:after {
502
- content: '';
503
- position: absolute;
504
- top: 100%;
505
- left: 15px;
506
- width: 0;
507
- height: 0;
508
- border-top: 8px solid #eeeeee;
509
- border-right: 8px solid transparent;
510
- border-left: 8px solid transparent;
511
- }
512
 
513
- .wpulike:hover .wp_ulike_likers_wrapper {
514
- transform: translateY(-50px);
515
- opacity: 1;
516
- }
517
- .wpulike:hover .wp_ulike_likers_wrapper .wp-ulike-liker a > img, .wpulike:hover .wp_ulike_likers_wrapper .tiles a > img {
518
  opacity: 1;
519
  }
520
 
@@ -679,11 +637,11 @@
679
  border-color: #bdbdbd #bdbdbd transparent transparent;
680
  }
681
 
682
- .rtl .wp_ulike_likers_wrapper {
683
  left: auto;
684
  right: 0;
685
  }
686
- .rtl .wp_ulike_likers_wrapper:after {
687
  left: auto;
688
  right: 15px;
689
  }
15
  margin: 0;
16
  position: relative;
17
  display: inline-block;
18
+ vertical-align: middle;
19
  border-radius: .25em;
 
 
20
  box-shadow: none;
21
+ padding: 15px 25px;
 
 
 
 
22
  border: none;
23
  text-align: center;
24
+ transition-property: none;
25
  }
26
+ .wpulike .wp_ulike_btn:hover, .wpulike .wp_ulike_btn:active, .wpulike .wp_ulike_btn:focus {
27
+ outline: 0;
 
 
28
  }
29
  .wpulike .wp_ulike_put_text {
30
+ font-size: 14px;
31
+ font-weight: 600;
32
+ line-height: 28px;
33
  padding: 0 10px;
34
  min-width: 50px;
35
  }
88
  margin-left: 8px;
89
  line-height: 28px;
90
  display: inline-block;
91
+ padding: 0 10px;
92
  box-shadow: 0 0 0 1px #bdbdbd inset;
93
  color: #616161;
 
94
  vertical-align: middle;
95
  text-align: center;
96
  }
114
  vertical-align: middle;
115
  padding: 0;
116
  }
 
 
 
 
 
 
 
117
  #buddypress #activity-stream .activity-meta .wpulike-default .wp_ulike_btn, #buddypress #activity-stream .activity-comments .wpulike-default .wp_ulike_btn {
118
  border-radius: 0;
119
  background-color: #ffffff;
120
  box-shadow: 0 0 0 1px #bdbdbd inset;
 
 
 
 
121
  }
122
  #buddypress #activity-stream .wp_ulike_likers_wrapper li, #buddypress #activity-stream .wp_ulike_likers_wrapper .wp-ulike-liker {
123
  border: none;
129
  margin: 0;
130
  }
131
 
132
+ #bbpress-forums .wp_ulike_likers_wrapper:not(.wp_ulike_display_inline) ul, #bbpress-forums .wp_ulike_likers_wrapper:not(.wp_ulike_display_inline) .wp-ulike-likers-list {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
133
  margin: 0 !important;
134
  }
135
+ #bbpress-forums .wp_ulike_likers_wrapper:not(.wp_ulike_display_inline) ul li, #bbpress-forums .wp_ulike_likers_wrapper:not(.wp_ulike_display_inline) .wp-ulike-likers-list li {
136
+ list-style-type: none;
137
+ }
138
 
139
  /**
140
  * Heart template
151
  font-weight: 600;
152
  color: #757575;
153
  }
154
+ .wpulike-heart .wp_ulike_btn {
155
+ background: transparent;
156
+ }
157
+ .wpulike-heart .wp_ulike_likers_wrapper:not(.wp_ulike_display_inline) {
158
  bottom: 10px;
159
  }
160
  .wpulike-heart .wp_ulike_put_image {
161
+ background: none;
162
+ padding: 15px;
163
  }
164
  .wpulike-heart .wp_ulike_put_image:after {
165
  content: '';
182
  line-height: 28px;
183
  display: inline-block;
184
  color: #616161;
 
185
  text-align: center;
186
  font-weight: 600;
187
  vertical-align: middle;
188
  padding: 0 5px;
189
  }
190
 
191
+ #buddypress #activity-stream .activity-meta, #buddypress #activity-stream .acomment-options {
192
  display: flex;
193
  align-items: center;
194
  }
195
+ #buddypress #activity-stream .activity-meta .wpulike-heart .wp_ulike_put_image, #buddypress #activity-stream .acomment-options .wpulike-heart .wp_ulike_put_image {
196
+ padding: 10px 15px;
197
  }
198
+ #buddypress #activity-stream .activity-meta .wpulike-heart .wp_ulike_general_class, #buddypress #activity-stream .acomment-options .wpulike-heart .wp_ulike_general_class {
199
  border-radius: 0;
200
+ padding: 0.2em 0.5em;
201
+ margin-bottom: 0;
 
 
 
 
 
 
 
202
  }
203
 
204
  /**
268
  transform: scale(1);
269
  }
270
  }
271
+ .wpulike-robeen .wp_ulike_likers_wrapper:not(.wp_ulike_display_inline) {
272
+ bottom: 5px;
273
  }
274
  .wpulike-robeen .count-box {
275
  display: inline-block;
422
  * Widgets & Likers Box
423
  */
424
  .wp_ulike_likers_wrapper {
425
+ margin: 10px 0;
426
+ }
427
+ .wp_ulike_likers_wrapper:empty {
428
+ display: none;
429
+ }
430
+ .wp_ulike_likers_wrapper:not(.wp_ulike_display_inline) {
431
  transition: all 500ms cubic-bezier(0.19, 1, 0.22, 1);
432
  display: block;
433
  position: absolute;
441
  border-radius: 5px;
442
  z-index: 9;
443
  }
444
+ .wp_ulike_likers_wrapper:not(.wp_ulike_display_inline):after {
445
+ content: '';
446
+ position: absolute;
447
+ top: 100%;
448
+ left: 15px;
449
+ width: 0;
450
+ height: 0;
451
+ border-top: 8px solid #eeeeee;
452
+ border-right: 8px solid transparent;
453
+ border-left: 8px solid transparent;
454
  }
455
  .wp_ulike_likers_wrapper .wp-ulike-likers-list, .wp_ulike_likers_wrapper .tiles {
456
  display: flex;
457
  align-items: center;
 
458
  flex-wrap: wrap;
459
  margin: 0;
460
  padding: 0;
466
  }
467
  .wp_ulike_likers_wrapper .wp-ulike-likers-list .wp-ulike-liker a > img, .wp_ulike_likers_wrapper .wp-ulike-likers-list li a > img, .wp_ulike_likers_wrapper .tiles .wp-ulike-liker a > img, .wp_ulike_likers_wrapper .tiles li a > img {
468
  border-radius: 5px;
 
469
  display: block;
470
  border: 0;
 
471
  box-shadow: none;
472
  }
 
 
 
 
 
 
 
 
 
 
 
473
 
474
+ .wpulike:hover .wp_ulike_likers_wrapper:not(.wp_ulike_display_inline) {
475
+ transform: translateY(-40px);
 
 
 
476
  opacity: 1;
477
  }
478
 
637
  border-color: #bdbdbd #bdbdbd transparent transparent;
638
  }
639
 
640
+ .rtl .wp_ulike_likers_wrapper:not(.wp_ulike_display_inline) {
641
  left: auto;
642
  right: 0;
643
  }
644
+ .rtl .wp_ulike_likers_wrapper:not(.wp_ulike_display_inline):after {
645
  left: auto;
646
  right: 15px;
647
  }
assets/css/wp-ulike.min.css CHANGED
@@ -3,4 +3,4 @@
3
  * WP ULike
4
  * @author Alimir [https://wordpress.org/plugins/wp-ulike/]
5
  ===============================================================
6
- */.wpulike{display:block;position:relative;line-height:normal;margin:0;padding:10px 0}.wpulike .wp_ulike_btn{margin:0;position:relative;display:inline-block;border-radius:.25em;font-size:14px;line-height:28px;box-shadow:none;cursor:pointer;padding:0 25px;vertical-align:middle;height:28px;font-weight:600;border:none;text-align:center}.wpulike .wp_ulike_btn:hover{text-decoration:none;border-color:#95a5a6;box-shadow:none}.wpulike .wp_ulike_put_text{padding:0 10px;min-width:50px}.wpulike .wp_ulike_is_loading .wp_ulike_btn{background-image:url(../img/svg/loader.svg);background-repeat:no-repeat;background-position:center center}.wpulike .wp_ulike_is_loading .wp_ulike_btn span{visibility:hidden}.wpulike .wp_ulike_is_loading .wp_ulike_btn.wp_ulike_put_image:after{content:none}.wp_ulike_click_is_disabled{pointer-events:none;cursor:default}.wp_ulike_hide_me{visibility:hidden}.wpulike-default .wp_ulike_btn{color:#616161;background:#e0e0e0}.wpulike-default .wp_ulike_is_liked .wp_ulike_btn{color:#757575}.wpulike-default .wp_ulike_put_image:after{content:'';display:block;background:url(../img/svg/like.svg) no-repeat;background-size:contain;width:16px;height:16px;position:absolute;left:50%;top:50%;transform:translateX(-50%) translateY(-50%)}.wpulike-default .wp_ulike_put_image.image-unlike:after{filter:invert(44%) sepia(40%) saturate(3852%) hue-rotate(329deg) brightness(100%) contrast(111%)}.wpulike-default .count-box{position:relative;border-radius:.25em;font-size:12px;text-decoration:none;background-color:#fff;margin-left:8px;line-height:28px;display:inline-block;padding:0 8px;box-shadow:0 0 0 1px #bdbdbd inset;color:#616161;min-width:30px;vertical-align:middle;text-align:center}.wpulike-default .count-box:before{content:'';position:absolute;border:1px solid transparent;background:#fff;border-bottom-color:#bdbdbd;left:-5px;top:50%;border-left-color:#bdbdbd;transform:rotate(45deg) translatey(-50%);width:5px;height:5px;margin:0}#buddypress #activity-stream .activity-comments .wpulike,#buddypress #activity-stream .activity-meta .wpulike{display:inline-block;vertical-align:middle;padding:0}#buddypress #activity-stream .activity-comments .wpulike .wp_ulike_btn span,#buddypress #activity-stream .activity-meta .wpulike .wp_ulike_btn span{position:relative;top:50%;left:50%;transform:translateX(-50%) translateY(-50%);display:block}#buddypress #activity-stream .activity-comments .wpulike-default .wp_ulike_btn,#buddypress #activity-stream .activity-meta .wpulike-default .wp_ulike_btn{border-radius:0;background-color:#fff;box-shadow:0 0 0 1px #bdbdbd inset;height:29.5px;min-width:50px;margin:0;padding:0}#buddypress #activity-stream .wp_ulike_likers_wrapper .wp-ulike-liker,#buddypress #activity-stream .wp_ulike_likers_wrapper li{border:none;padding:0}#buddypress #activity-stream .wp_ulike_likers_wrapper .wp-ulike-liker a,#buddypress #activity-stream .wp_ulike_likers_wrapper .wp-ulike-liker img,#buddypress #activity-stream .wp_ulike_likers_wrapper li a,#buddypress #activity-stream .wp_ulike_likers_wrapper li img{float:none;padding:0;margin:0}#bbpress-forums .bbp-reply-content .wpulike .wp_ulike_is_loading .wp_ulike_btn{background-image:url(../img/svg/loader.svg);background-repeat:no-repeat;background-position:center center}#bbpress-forums .wpulike-default .wp_ulike_btn{margin:0;position:relative;display:inline-block;border-radius:.25em;font-size:14px;line-height:28px;box-shadow:none;cursor:pointer;padding:0 25px;vertical-align:middle;height:28px;font-weight:600;border:none;text-align:center;color:#616161;background:#e0e0e0}#bbpress-forums .wp_ulike_likers_wrapper .wp-ulike-likers-list,#bbpress-forums .wp_ulike_likers_wrapper ul{margin:0!important}.wpulike-heart .wp_ulike_general_class{display:inline-block;box-shadow:0 0 0 1px #bdbdbd inset;border-radius:.25em;padding:5px}.wpulike-heart .wp_ulike_put_text{padding:0 5px;text-transform:uppercase;font-weight:600;color:#757575}.wpulike-heart .wp_ulike_likers_wrapper{bottom:10px}.wpulike-heart .wp_ulike_put_image{padding:0 15px}.wpulike-heart .wp_ulike_put_image:after{content:'';display:block;background:url(../img/svg/love.svg) no-repeat;background-size:contain;width:20px;height:20px;position:absolute;left:50%;top:50%;transform:translateX(-50%) translateY(-50%)}.wpulike-heart .wp_ulike_put_image.image-unlike:after{filter:invert(44%) sepia(40%) saturate(3852%) hue-rotate(329deg) brightness(100%) contrast(111%)}.wpulike-heart .count-box{font-size:14px;text-decoration:none;line-height:28px;display:inline-block;color:#616161;min-width:30px;text-align:center;font-weight:600;vertical-align:middle;padding:0 5px}#buddypress #activity-stream .activity-meta{display:flex;align-items:center}#buddypress #activity-stream .activity-meta .wpulike-heart .wp_ulike_btn{padding:0 15px}#buddypress #activity-stream .activity-meta .wpulike-heart .wp_ulike_general_class{border-radius:0;padding:1px 5px;margin-bottom:2px}#buddypress #activity-stream .activity-meta .wpulike-heart .count-box{min-width:20px}#bbpress-forums .bbp-reply-content .wpulike-heart .wp_ulike_btn{padding:5px 15px}@keyframes animateCircle{40%{transform:scale(10);opacity:1;fill:#dd4688}55%{transform:scale(11);opacity:1;fill:#d46abf}65%{transform:scale(12);opacity:1;fill:#cc8ef5}75%{transform:scale(13);opacity:1;fill:transparent;stroke:#cc8ef5;stroke-width:.5}85%{transform:scale(17);opacity:1;fill:transparent;stroke:#cc8ef5;stroke-width:.2}95%{transform:scale(18);opacity:1;fill:transparent;stroke:#cc8ef5;stroke-width:.1}100%{transform:scale(19);opacity:1;fill:transparent;stroke:#cc8ef5;stroke-width:0}}@keyframes animateHeart{0%{transform:scale(.2)}40%{transform:scale(1.2)}100%{transform:scale(1)}}@keyframes animateHeartOut{0%{transform:scale(1.4)}100%{transform:scale(1)}}.wpulike-robeen .wp_ulike_likers_wrapper{bottom:15px}.wpulike-robeen .count-box{display:inline-block;vertical-align:middle;font-weight:600}.wpulike-robeen label{display:inline-block;margin:0}.wpulike-robeen svg{cursor:pointer;overflow:visible!important;width:50px;display:inline-block;vertical-align:middle}.wpulike-robeen svg .heart{transform-origin:center;animation:animateHeartOut .3s linear forwards}.wpulike-robeen svg .main-circ{transform-origin:29.5px 29.5px}.wpulike-robeen .wp_ulike_btn{display:none!important}.wpulike-robeen .wp_ulike_btn:checked+svg .heart{transform:scale(.2);fill:#e2264d;animation:animateHeart .3s linear forwards .25s}.wpulike-robeen .wp_ulike_btn:checked+svg .main-circ{transition:all 2s;animation:animateCircle .3s linear forwards;opacity:1}.wpulike-robeen .wp_ulike_btn:checked+svg .grp1{opacity:1;transition:.1s all .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp1 .oval1{transform:scale(0) translate(0,-30px);transform-origin:0 0 0;transition:.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp1 .oval2{transform:scale(0) translate(10px,-50px);transform-origin:0 0 0;transition:1.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp2{opacity:1;transition:.1s all .3s;opacity:1;transition:.1s opacity .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp2 .oval1{transform:scale(0) translate(30px,-15px);transform-origin:0 0 0;transition:.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp2 .oval2{transform:scale(0) translate(60px,-15px);transform-origin:0 0 0;transition:1.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp3{opacity:1;transition:.1s all .3s;opacity:1;transition:.1s opacity .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp3 .oval1{transform:scale(0) translate(30px,0);transform-origin:0 0 0;transition:.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp3 .oval2{transform:scale(0) translate(60px,10px);transform-origin:0 0 0;transition:1.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp4{opacity:1;transition:.1s all .3s;opacity:1;transition:.1s opacity .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp4 .oval1{transform:scale(0) translate(30px,15px);transform-origin:0 0 0;transition:.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp4 .oval2{transform:scale(0) translate(40px,50px);transform-origin:0 0 0;transition:1.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp5{opacity:1;transition:.1s all .3s;opacity:1;transition:.1s opacity .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp5 .oval1{transform:scale(0) translate(-10px,20px);transform-origin:0 0 0;transition:.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp5 .oval2{transform:scale(0) translate(-60px,30px);transform-origin:0 0 0;transition:1.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp6{opacity:1;transition:.1s all .3s;opacity:1;transition:.1s opacity .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp6 .oval1{transform:scale(0) translate(-30px,0);transform-origin:0 0 0;transition:.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp6 .oval2{transform:scale(0) translate(-60px,-5px);transform-origin:0 0 0;transition:1.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp7{opacity:1;transition:.1s all .3s;opacity:1;transition:.1s opacity .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp7 .oval1{transform:scale(0) translate(-30px,-15px);transform-origin:0 0 0;transition:.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp7 .oval2{transform:scale(0) translate(-55px,-30px);transform-origin:0 0 0;transition:1.5s transform .3s}.wp_ulike_likers_wrapper{transition:all .5s cubic-bezier(.19,1,.22,1);display:block;position:absolute;left:0;transform:translateY(-30px);bottom:0;background:#eee;padding:5px;opacity:0;box-shadow:2px 2px 1px rgba(0,0,0,.1);border-radius:5px;z-index:9}.wp_ulike_likers_wrapper:empty{display:none}.wp_ulike_likers_wrapper .tiles,.wp_ulike_likers_wrapper .wp-ulike-likers-list{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;margin:0;padding:0}.wp_ulike_likers_wrapper .tiles .wp-ulike-liker,.wp_ulike_likers_wrapper .tiles li,.wp_ulike_likers_wrapper .wp-ulike-likers-list .wp-ulike-liker,.wp_ulike_likers_wrapper .wp-ulike-likers-list li{padding:3px;margin:0;list-style:none}.wp_ulike_likers_wrapper .tiles .wp-ulike-liker a>img,.wp_ulike_likers_wrapper .tiles li a>img,.wp_ulike_likers_wrapper .wp-ulike-likers-list .wp-ulike-liker a>img,.wp_ulike_likers_wrapper .wp-ulike-likers-list li a>img{border-radius:5px;transition:opacity 1.5s cubic-bezier(.19,1,.22,1);display:block;border:0;opacity:0;box-shadow:none}.wp_ulike_likers_wrapper:after{content:'';position:absolute;top:100%;left:15px;width:0;height:0;border-top:8px solid #eee;border-right:8px solid transparent;border-left:8px solid transparent}.wpulike:hover .wp_ulike_likers_wrapper{transform:translateY(-50px);opacity:1}.wpulike:hover .wp_ulike_likers_wrapper .tiles a>img,.wpulike:hover .wp_ulike_likers_wrapper .wp-ulike-liker a>img{opacity:1}.most_liked_users{list-style-type:none!important;position:relative!important;margin:10px 0!important;padding:0!important}.most_liked_users li{display:inline-table!important;cursor:pointer!important;margin:0 2px!important}.most_liked_users li img{display:block!important;float:none!important}.most_liked_users li.inactive{visibility:hidden!important;opacity:0!important}.commentlist .tiles .avatar,.commentlist .wp-ulike-liker .avatar{left:0!important}.wp_ulike_thumbnail{vertical-align:middle;margin:0 10px 0 0}.most_liked_comment .avatar{vertical-align:middle;margin:0 10px 0 0}.wp_ulike_style_simple .wp_counter_span:before{content:"("}.wp_ulike_style_simple .wp_counter_span:after{content:")"}.wp_ulike_style_love .wp_counter_span{float:right;display:inline-block;background:#f1f1f1 url(../img/icons/heart.png) 5px center no-repeat;color:#333;font-size:9px;line-height:17px;font-weight:400;margin:2px 0 0 2px;vertical-align:middle;border-radius:10px;padding:0 5px 0 23px;z-index:26}.wpulike-notification{position:fixed;z-index:999999;pointer-events:none;right:20px;bottom:20px}.wpulike-notification *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.wpulike-notification .wpulike-message{position:relative;pointer-events:auto;word-wrap:break-word;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 55px;width:280px;border-radius:3px;background-color:#00bcd4;color:#fff;animation:wpUlikeNotifitcationsAnimation .2s backwards;box-shadow:0 3px 5px rgba(0,0,0,.08);font-size:14px;font-weight:500}.wpulike-notification .wpulike-message:hover{opacity:.9;cursor:pointer}.wpulike-notification .wpulike-message:before{content:"";background-position:center center;background-repeat:no-repeat;background-image:url(../img/svg/info.svg);position:absolute;left:0;width:45px;top:0;height:100%;background-color:rgba(0,0,0,.08)}.wpulike-notification .wpulike-message.wpulike-success{background-color:#8bc34a}.wpulike-notification .wpulike-message.wpulike-success:before{background-image:url(../img/svg/success.svg)}.wpulike-notification .wpulike-message.wpulike-error{background-color:#ef5350}.wpulike-notification .wpulike-message.wpulike-error:before{background-image:url(../img/svg/error.svg)}.wpulike-notification .wpulike-message.wpulike-warning{background-color:#ffab00}.wpulike-notification .wpulike-message.wpulike-warning:before{background-image:url(../img/svg/warning.svg)}@keyframes wpUlikeNotifitcationsAnimation{from{opacity:0;transform:translateY(100%)}to{opacity:.8;transform:translateY(0)}}@media all and (max-width:240px){.wpulike-notification .wpulike-message{padding:8px 8px 8px 55px;width:11em}}@media all and (min-width:241px) and (max-width:480px){.wpulike-notification .wpulike-message{padding:8px 8px 8px 55px;width:18em}}@media all and (min-width:481px) and (max-width:768px){.wpulike-notification .wpulike-message{padding:15px 15px 15px 55px;width:25em}}/*!>>>>>>>>>>>>>>>>>>>>>>> #RTL <<<<<<<<<<<<<<<<<<<<<<<<<<< */.rtl .wpulike-default .count-box{margin-right:8px;margin-left:inherit}.rtl .wpulike-default .count-box:before{right:-1px;left:auto;border-color:#bdbdbd #bdbdbd transparent transparent}.rtl .wp_ulike_likers_wrapper{left:auto;right:0}.rtl .wp_ulike_likers_wrapper:after{left:auto;right:15px}.rtl .commentlist .tiles .avatar{left:inherit!important;right:0!important}.rtl .wp_ulike_thumbnail{margin:0 0 0 10px}.rtl .most_liked_comment .avatar{margin:0 0 0 10px}.rtl .wp_ulike_style_love .wp_counter_span{float:left;background:#f1f1f1 url(../img/icons/heart.png) no-repeat scroll 85% center;margin:2px 2px 0 0;padding:0 23px 0 5px}.rtl .wpulike-notification{left:20px;right:inherit}.rtl .wpulike-notification .wpulike-message{padding:15px 55px 15px 15px}.rtl .wpulike-notification .wpulike-message:before{left:auto;right:0}@media all and (max-width:240px){.rtl .wpulike-notification .wpulike-message{padding:8px 55px 8px 8px}}@media all and (min-width:241px) and (max-width:480px){.rtl .wpulike-notification .wpulike-message{padding:8px 55px 8px 8px}}@media all and (min-width:481px) and (max-width:768px){.rtl .wpulike-notification .wpulike-message{padding:15px 55px 15px 15px}}
3
  * WP ULike
4
  * @author Alimir [https://wordpress.org/plugins/wp-ulike/]
5
  ===============================================================
6
+ */.wpulike{display:block;position:relative;line-height:normal;margin:0;padding:10px 0}.wpulike .wp_ulike_btn{margin:0;position:relative;display:inline-block;vertical-align:middle;border-radius:.25em;box-shadow:none;padding:15px 25px;border:none;text-align:center;transition-property:none}.wpulike .wp_ulike_btn:active,.wpulike .wp_ulike_btn:focus,.wpulike .wp_ulike_btn:hover{outline:0}.wpulike .wp_ulike_put_text{font-size:14px;font-weight:600;line-height:28px;padding:0 10px;min-width:50px}.wpulike .wp_ulike_is_loading .wp_ulike_btn{background-image:url(../img/svg/loader.svg);background-repeat:no-repeat;background-position:center center}.wpulike .wp_ulike_is_loading .wp_ulike_btn span{visibility:hidden}.wpulike .wp_ulike_is_loading .wp_ulike_btn.wp_ulike_put_image:after{content:none}.wp_ulike_click_is_disabled{pointer-events:none;cursor:default}.wp_ulike_hide_me{visibility:hidden}.wpulike-default .wp_ulike_btn{color:#616161;background:#e0e0e0}.wpulike-default .wp_ulike_is_liked .wp_ulike_btn{color:#757575}.wpulike-default .wp_ulike_put_image:after{content:'';display:block;background:url(../img/svg/like.svg) no-repeat;background-size:contain;width:16px;height:16px;position:absolute;left:50%;top:50%;transform:translateX(-50%) translateY(-50%)}.wpulike-default .wp_ulike_put_image.image-unlike:after{filter:invert(44%) sepia(40%) saturate(3852%) hue-rotate(329deg) brightness(100%) contrast(111%)}.wpulike-default .count-box{position:relative;border-radius:.25em;font-size:12px;text-decoration:none;background-color:#fff;margin-left:8px;line-height:28px;display:inline-block;padding:0 10px;box-shadow:0 0 0 1px #bdbdbd inset;color:#616161;vertical-align:middle;text-align:center}.wpulike-default .count-box:before{content:'';position:absolute;border:1px solid transparent;background:#fff;border-bottom-color:#bdbdbd;left:-5px;top:50%;border-left-color:#bdbdbd;transform:rotate(45deg) translatey(-50%);width:5px;height:5px;margin:0}#buddypress #activity-stream .activity-comments .wpulike,#buddypress #activity-stream .activity-meta .wpulike{display:inline-block;vertical-align:middle;padding:0}#buddypress #activity-stream .activity-comments .wpulike-default .wp_ulike_btn,#buddypress #activity-stream .activity-meta .wpulike-default .wp_ulike_btn{border-radius:0;background-color:#fff;box-shadow:0 0 0 1px #bdbdbd inset}#buddypress #activity-stream .wp_ulike_likers_wrapper .wp-ulike-liker,#buddypress #activity-stream .wp_ulike_likers_wrapper li{border:none;padding:0}#buddypress #activity-stream .wp_ulike_likers_wrapper .wp-ulike-liker a,#buddypress #activity-stream .wp_ulike_likers_wrapper .wp-ulike-liker img,#buddypress #activity-stream .wp_ulike_likers_wrapper li a,#buddypress #activity-stream .wp_ulike_likers_wrapper li img{float:none;padding:0;margin:0}#bbpress-forums .wp_ulike_likers_wrapper:not(.wp_ulike_display_inline) .wp-ulike-likers-list,#bbpress-forums .wp_ulike_likers_wrapper:not(.wp_ulike_display_inline) ul{margin:0!important}#bbpress-forums .wp_ulike_likers_wrapper:not(.wp_ulike_display_inline) .wp-ulike-likers-list li,#bbpress-forums .wp_ulike_likers_wrapper:not(.wp_ulike_display_inline) ul li{list-style-type:none}.wpulike-heart .wp_ulike_general_class{display:inline-block;box-shadow:0 0 0 1px #bdbdbd inset;border-radius:.25em;padding:5px}.wpulike-heart .wp_ulike_put_text{padding:0 5px;text-transform:uppercase;font-weight:600;color:#757575}.wpulike-heart .wp_ulike_btn{background:0 0}.wpulike-heart .wp_ulike_likers_wrapper:not(.wp_ulike_display_inline){bottom:10px}.wpulike-heart .wp_ulike_put_image{background:0 0;padding:15px}.wpulike-heart .wp_ulike_put_image:after{content:'';display:block;background:url(../img/svg/love.svg) no-repeat;background-size:contain;width:20px;height:20px;position:absolute;left:50%;top:50%;transform:translateX(-50%) translateY(-50%)}.wpulike-heart .wp_ulike_put_image.image-unlike:after{filter:invert(44%) sepia(40%) saturate(3852%) hue-rotate(329deg) brightness(100%) contrast(111%)}.wpulike-heart .count-box{font-size:14px;text-decoration:none;line-height:28px;display:inline-block;color:#616161;text-align:center;font-weight:600;vertical-align:middle;padding:0 5px}#buddypress #activity-stream .acomment-options,#buddypress #activity-stream .activity-meta{display:flex;align-items:center}#buddypress #activity-stream .acomment-options .wpulike-heart .wp_ulike_put_image,#buddypress #activity-stream .activity-meta .wpulike-heart .wp_ulike_put_image{padding:10px 15px}#buddypress #activity-stream .acomment-options .wpulike-heart .wp_ulike_general_class,#buddypress #activity-stream .activity-meta .wpulike-heart .wp_ulike_general_class{border-radius:0;padding:.2em .5em;margin-bottom:0}@keyframes animateCircle{40%{transform:scale(10);opacity:1;fill:#dd4688}55%{transform:scale(11);opacity:1;fill:#d46abf}65%{transform:scale(12);opacity:1;fill:#cc8ef5}75%{transform:scale(13);opacity:1;fill:transparent;stroke:#cc8ef5;stroke-width:.5}85%{transform:scale(17);opacity:1;fill:transparent;stroke:#cc8ef5;stroke-width:.2}95%{transform:scale(18);opacity:1;fill:transparent;stroke:#cc8ef5;stroke-width:.1}100%{transform:scale(19);opacity:1;fill:transparent;stroke:#cc8ef5;stroke-width:0}}@keyframes animateHeart{0%{transform:scale(.2)}40%{transform:scale(1.2)}100%{transform:scale(1)}}@keyframes animateHeartOut{0%{transform:scale(1.4)}100%{transform:scale(1)}}.wpulike-robeen .wp_ulike_likers_wrapper:not(.wp_ulike_display_inline){bottom:5px}.wpulike-robeen .count-box{display:inline-block;vertical-align:middle;font-weight:600}.wpulike-robeen label{display:inline-block;margin:0}.wpulike-robeen svg{cursor:pointer;overflow:visible!important;width:50px;display:inline-block;vertical-align:middle}.wpulike-robeen svg .heart{transform-origin:center;animation:animateHeartOut .3s linear forwards}.wpulike-robeen svg .main-circ{transform-origin:29.5px 29.5px}.wpulike-robeen .wp_ulike_btn{display:none!important}.wpulike-robeen .wp_ulike_btn:checked+svg .heart{transform:scale(.2);fill:#e2264d;animation:animateHeart .3s linear forwards .25s}.wpulike-robeen .wp_ulike_btn:checked+svg .main-circ{transition:all 2s;animation:animateCircle .3s linear forwards;opacity:1}.wpulike-robeen .wp_ulike_btn:checked+svg .grp1{opacity:1;transition:.1s all .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp1 .oval1{transform:scale(0) translate(0,-30px);transform-origin:0 0 0;transition:.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp1 .oval2{transform:scale(0) translate(10px,-50px);transform-origin:0 0 0;transition:1.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp2{opacity:1;transition:.1s all .3s;opacity:1;transition:.1s opacity .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp2 .oval1{transform:scale(0) translate(30px,-15px);transform-origin:0 0 0;transition:.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp2 .oval2{transform:scale(0) translate(60px,-15px);transform-origin:0 0 0;transition:1.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp3{opacity:1;transition:.1s all .3s;opacity:1;transition:.1s opacity .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp3 .oval1{transform:scale(0) translate(30px,0);transform-origin:0 0 0;transition:.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp3 .oval2{transform:scale(0) translate(60px,10px);transform-origin:0 0 0;transition:1.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp4{opacity:1;transition:.1s all .3s;opacity:1;transition:.1s opacity .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp4 .oval1{transform:scale(0) translate(30px,15px);transform-origin:0 0 0;transition:.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp4 .oval2{transform:scale(0) translate(40px,50px);transform-origin:0 0 0;transition:1.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp5{opacity:1;transition:.1s all .3s;opacity:1;transition:.1s opacity .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp5 .oval1{transform:scale(0) translate(-10px,20px);transform-origin:0 0 0;transition:.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp5 .oval2{transform:scale(0) translate(-60px,30px);transform-origin:0 0 0;transition:1.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp6{opacity:1;transition:.1s all .3s;opacity:1;transition:.1s opacity .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp6 .oval1{transform:scale(0) translate(-30px,0);transform-origin:0 0 0;transition:.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp6 .oval2{transform:scale(0) translate(-60px,-5px);transform-origin:0 0 0;transition:1.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp7{opacity:1;transition:.1s all .3s;opacity:1;transition:.1s opacity .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp7 .oval1{transform:scale(0) translate(-30px,-15px);transform-origin:0 0 0;transition:.5s transform .3s}.wpulike-robeen .wp_ulike_btn:checked+svg .grp7 .oval2{transform:scale(0) translate(-55px,-30px);transform-origin:0 0 0;transition:1.5s transform .3s}.wp_ulike_likers_wrapper{margin:10px 0}.wp_ulike_likers_wrapper:empty{display:none}.wp_ulike_likers_wrapper:not(.wp_ulike_display_inline){transition:all .5s cubic-bezier(.19,1,.22,1);display:block;position:absolute;left:0;transform:translateY(-30px);bottom:0;background:#eee;padding:5px;opacity:0;box-shadow:2px 2px 1px rgba(0,0,0,.1);border-radius:5px;z-index:9}.wp_ulike_likers_wrapper:not(.wp_ulike_display_inline):after{content:'';position:absolute;top:100%;left:15px;width:0;height:0;border-top:8px solid #eee;border-right:8px solid transparent;border-left:8px solid transparent}.wp_ulike_likers_wrapper .tiles,.wp_ulike_likers_wrapper .wp-ulike-likers-list{display:flex;align-items:center;flex-wrap:wrap;margin:0;padding:0}.wp_ulike_likers_wrapper .tiles .wp-ulike-liker,.wp_ulike_likers_wrapper .tiles li,.wp_ulike_likers_wrapper .wp-ulike-likers-list .wp-ulike-liker,.wp_ulike_likers_wrapper .wp-ulike-likers-list li{padding:3px;margin:0;list-style:none}.wp_ulike_likers_wrapper .tiles .wp-ulike-liker a>img,.wp_ulike_likers_wrapper .tiles li a>img,.wp_ulike_likers_wrapper .wp-ulike-likers-list .wp-ulike-liker a>img,.wp_ulike_likers_wrapper .wp-ulike-likers-list li a>img{border-radius:5px;display:block;border:0;box-shadow:none}.wpulike:hover .wp_ulike_likers_wrapper:not(.wp_ulike_display_inline){transform:translateY(-40px);opacity:1}.most_liked_users{list-style-type:none!important;position:relative!important;margin:10px 0!important;padding:0!important}.most_liked_users li{display:inline-table!important;cursor:pointer!important;margin:0 2px!important}.most_liked_users li img{display:block!important;float:none!important}.most_liked_users li.inactive{visibility:hidden!important;opacity:0!important}.commentlist .tiles .avatar,.commentlist .wp-ulike-liker .avatar{left:0!important}.wp_ulike_thumbnail{vertical-align:middle;margin:0 10px 0 0}.most_liked_comment .avatar{vertical-align:middle;margin:0 10px 0 0}.wp_ulike_style_simple .wp_counter_span:before{content:"("}.wp_ulike_style_simple .wp_counter_span:after{content:")"}.wp_ulike_style_love .wp_counter_span{float:right;display:inline-block;background:#f1f1f1 url(../img/icons/heart.png) 5px center no-repeat;color:#333;font-size:9px;line-height:17px;font-weight:400;margin:2px 0 0 2px;vertical-align:middle;border-radius:10px;padding:0 5px 0 23px;z-index:26}.wpulike-notification{position:fixed;z-index:999999;pointer-events:none;right:20px;bottom:20px}.wpulike-notification *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.wpulike-notification .wpulike-message{position:relative;pointer-events:auto;word-wrap:break-word;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 55px;width:280px;border-radius:3px;background-color:#00bcd4;color:#fff;animation:wpUlikeNotifitcationsAnimation .2s backwards;box-shadow:0 3px 5px rgba(0,0,0,.08);font-size:14px;font-weight:500}.wpulike-notification .wpulike-message:hover{opacity:.9;cursor:pointer}.wpulike-notification .wpulike-message:before{content:"";background-position:center center;background-repeat:no-repeat;background-image:url(../img/svg/info.svg);position:absolute;left:0;width:45px;top:0;height:100%;background-color:rgba(0,0,0,.08)}.wpulike-notification .wpulike-message.wpulike-success{background-color:#8bc34a}.wpulike-notification .wpulike-message.wpulike-success:before{background-image:url(../img/svg/success.svg)}.wpulike-notification .wpulike-message.wpulike-error{background-color:#ef5350}.wpulike-notification .wpulike-message.wpulike-error:before{background-image:url(../img/svg/error.svg)}.wpulike-notification .wpulike-message.wpulike-warning{background-color:#ffab00}.wpulike-notification .wpulike-message.wpulike-warning:before{background-image:url(../img/svg/warning.svg)}@keyframes wpUlikeNotifitcationsAnimation{from{opacity:0;transform:translateY(100%)}to{opacity:.8;transform:translateY(0)}}@media all and (max-width:240px){.wpulike-notification .wpulike-message{padding:8px 8px 8px 55px;width:11em}}@media all and (min-width:241px) and (max-width:480px){.wpulike-notification .wpulike-message{padding:8px 8px 8px 55px;width:18em}}@media all and (min-width:481px) and (max-width:768px){.wpulike-notification .wpulike-message{padding:15px 15px 15px 55px;width:25em}}/*!>>>>>>>>>>>>>>>>>>>>>>> #RTL <<<<<<<<<<<<<<<<<<<<<<<<<<< */.rtl .wpulike-default .count-box{margin-right:8px;margin-left:inherit}.rtl .wpulike-default .count-box:before{right:-1px;left:auto;border-color:#bdbdbd #bdbdbd transparent transparent}.rtl .wp_ulike_likers_wrapper:not(.wp_ulike_display_inline){left:auto;right:0}.rtl .wp_ulike_likers_wrapper:not(.wp_ulike_display_inline):after{left:auto;right:15px}.rtl .commentlist .tiles .avatar{left:inherit!important;right:0!important}.rtl .wp_ulike_thumbnail{margin:0 0 0 10px}.rtl .most_liked_comment .avatar{margin:0 0 0 10px}.rtl .wp_ulike_style_love .wp_counter_span{float:left;background:#f1f1f1 url(../img/icons/heart.png) no-repeat scroll 85% center;margin:2px 2px 0 0;padding:0 23px 0 5px}.rtl .wpulike-notification{left:20px;right:inherit}.rtl .wpulike-notification .wpulike-message{padding:15px 55px 15px 15px}.rtl .wpulike-notification .wpulike-message:before{left:auto;right:0}@media all and (max-width:240px){.rtl .wpulike-notification .wpulike-message{padding:8px 55px 8px 8px}}@media all and (min-width:241px) and (max-width:480px){.rtl .wpulike-notification .wpulike-message{padding:8px 55px 8px 8px}}@media all and (min-width:481px) and (max-width:768px){.rtl .wpulike-notification .wpulike-message{padding:15px 55px 15px 15px}}
assets/img/ajax-bootmodal-login.jpg CHANGED
Binary file
assets/img/bg/button-love.png CHANGED
Binary file
assets/img/blue-login-themes.jpg CHANGED
Binary file
assets/img/custom-fileds-notifications.png CHANGED
Binary file
assets/img/icons/add-heart-hover.png CHANGED
Binary file
assets/img/no-thumbnail.png CHANGED
Binary file
assets/img/wp-ulike-badge.png CHANGED
Binary file
assets/img/wp-ulike-banner.png CHANGED
Binary file
assets/img/wp-ulike-intro.png CHANGED
Binary file
assets/js/wp-ulike.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! WP ULike - v3.5.0
2
  * https://wpulike.com
3
  * Alimir 2018;
4
  */
@@ -214,16 +214,16 @@
214
  success : function( response ){
215
  // If the likers container is not exist, we've to add it.
216
  if( !this.likersElement.length ) {
217
- this.likersElement = $( '<div>', { class: 'wp_ulike_likers_wrapper' } ).appendTo( this.$element );
218
  }
219
  // Remove progress status class
220
  this.generalElement.removeClass( 'wp_ulike_is_getting_likers_list' );
221
  if( response.success ) {
222
  // Modify likers box innerHTML
223
  if( typeof response.data !== 'undefined' ){
224
- this.likersElement.html( response.data );
225
  } else {
226
- this.likersElement.empty();
227
  }
228
 
229
  }
1
+ /*! WP ULike - v3.5.1
2
  * https://wpulike.com
3
  * Alimir 2018;
4
  */
214
  success : function( response ){
215
  // If the likers container is not exist, we've to add it.
216
  if( !this.likersElement.length ) {
217
+ this.likersElement = $( '<div>', { class: response.data.class } ).appendTo( this.$element );
218
  }
219
  // Remove progress status class
220
  this.generalElement.removeClass( 'wp_ulike_is_getting_likers_list' );
221
  if( response.success ) {
222
  // Modify likers box innerHTML
223
  if( typeof response.data !== 'undefined' ){
224
+ this.likersElement.html( response.data.template );
225
  } else {
226
+ this.likersElement.remove();
227
  }
228
 
229
  }
assets/js/wp-ulike.min.js CHANGED
@@ -1 +1 @@
1
- !function(s,e,t,i){"use strict";var n="WordpressUlikeNotifications",a={messageType:"success",messageText:"Hello World!",messageElement:"wpulike-message",notifContainer:"wpulike-notification"};function l(e,t){this.element=e,this.$element=s(e),this.settings=s.extend({},a,t),this._defaults=a,this._name=n,this.init()}s.extend(l.prototype,{init:function(){this._message(),this._container(),this._append(),this._remove()},_message:function(){this.$messageElement=s("<div/>").addClass(this.settings.messageElement+" wpulike-"+this.settings.messageType).text(this.settings.messageText)},_container:function(){s("."+this.settings.notifContainer).length||this.$element.append(s("<div/>").addClass(this.settings.notifContainer)),this.$notifContainer=this.$element.find("."+this.settings.notifContainer)},_append:function(){this.$notifContainer.append(this.$messageElement).trigger("WordpressUlikeNotificationAppend")},_remove:function(){var e=this;this.$messageElement.click(function(){s(this).fadeOut(300,function(){s(this).remove(),s("."+e.settings.messageElement).length||e.$notifContainer.remove()}).trigger("WordpressUlikeRemoveNotification")}),setTimeout(function(){e.$messageElement.fadeOut(300,function(){s(this).remove(),s("."+e.settings.messageElement).length||e.$notifContainer.remove()}).trigger("WordpressUlikeRemoveNotification")},8e3)}}),s.fn[n]=function(e){return this.each(function(){new l(this,e)})}}(jQuery,window,document),function(n,e,s,t){"use strict";var a="WordpressUlike",i=(n(e),n(s)),l={ID:0,nonce:0,type:"",likeStatus:0,counterSelector:".count-box",generalSelector:".wp_ulike_general_class",buttonSelector:".wp_ulike_btn",likersSelector:".wp_ulike_likers_wrapper"},r={"ulike-id":"ID","ulike-nonce":"nonce","ulike-type":"type","ulike-status":"likeStatus"};function o(e,t){for(var s in this.element=e,this.$element=n(e),this.settings=n.extend({},l,t),this._defaults=l,this._name=a,this._refresh=!1,this.buttonElement=this.$element.find(this.settings.buttonSelector),this.generalElement=this.$element.find(this.settings.generalSelector),this.counterElement=this.generalElement.find(this.settings.counterSelector),r){var i=this.buttonElement.data(s);void 0!==i&&(this.settings[r[s]]=i)}this.init()}n.extend(o.prototype,{init:function(){this.buttonElement.click(this._button.bind(this)),this.generalElement.hover(this._likers.bind(this))},_button:function(){n.ajax({type:"POST",cache:!1,dataType:"json",url:wp_ulike_params.ajax_url,data:{action:"wp_ulike_process",id:this.settings.ID,nonce:this.settings.nonce,status:this.settings.likeStatus,type:this.settings.type},beforeSend:function(){i.trigger("WordpressUlikeLoading",this.element),this.generalElement.addClass("wp_ulike_is_loading")}.bind(this),success:function(e){this.generalElement.removeClass("wp_ulike_is_loading"),e.success?this._update(e):this._notif("error",e.data),i.trigger("WordpressUlikeUpdated",this.element)}.bind(this)})},_likers:function(){this.likersElement=this.$element.find(this.settings.likersSelector),this.likersElement.length&&!this._refresh||n.ajax({type:"POST",cache:!1,dataType:"json",url:wp_ulike_params.ajax_url,data:{action:"wp_ulike_get_likers",id:this.settings.ID,nonce:this.settings.nonce,type:this.settings.type,refresh:this._refresh?1:0},beforeSend:function(){this.generalElement.addClass("wp_ulike_is_getting_likers_list")}.bind(this),success:function(e){this.likersElement.length||(this.likersElement=n("<div>",{class:"wp_ulike_likers_wrapper"}).appendTo(this.$element)),this.generalElement.removeClass("wp_ulike_is_getting_likers_list"),e.success&&(void 0!==e.data?this.likersElement.html(e.data):this.likersElement.empty())}.bind(this)})},_update:function(e){switch(this.settings.likeStatus){case 1:this.buttonElement.attr("data-ulike-status",4),this.settings.likeStatus=4,this.generalElement.addClass("wp_ulike_is_liked").removeClass("wp_ulike_is_not_liked"),this.generalElement.children().first().addClass("wp_ulike_click_is_disabled"),this.counterElement.text(e.data.data),this._actions("success",e.data.message,e.data.btnText,4),this._refresh=!0;break;case 2:this.buttonElement.attr("data-ulike-status",3),this.settings.likeStatus=3,this.generalElement.addClass("wp_ulike_is_unliked").removeClass("wp_ulike_is_liked"),this.counterElement.text(e.data.data),this._actions("error",e.data.message,e.data.btnText,3),this._refresh=!0;break;case 3:this.buttonElement.attr("data-ulike-status",2),this.settings.likeStatus=2,this.generalElement.addClass("wp_ulike_is_liked").removeClass("wp_ulike_is_unliked"),this.counterElement.text(e.data.data),this._actions("success",e.data.message,e.data.btnText,2),this._refresh=!0;break;case 4:this._actions("info",e.data.message,e.data.btnText,4),this.generalElement.children().first().addClass("wp_ulike_click_is_disabled");break;default:this._actions("warning",e.data.message,e.data.btnText,0)}this._refresh&&(this._likers(),this._refresh=!1)},_actions:function(e,t,s,i){this.buttonElement.hasClass("wp_ulike_put_image")?3!==i&&2!==i||this.buttonElement.toggleClass("image-unlike"):this.buttonElement.hasClass("wp_ulike_put_text")&&this.buttonElement.find("span").html(s),this._notif(e,t)},_notif:function(e,t){"1"===wp_ulike_params.notifications&&n(s.body).WordpressUlikeNotifications({messageType:e,messageText:t})}}),n.fn[a]=function(e){return this.each(function(){n.data(this,"plugin_"+a)||n.data(this,"plugin_"+a,new o(this,e))})}}(jQuery,window,document),function(t){t(function(){t(this).bind("DOMNodeInserted",function(e){t(".wpulike").WordpressUlike()})}),t(".wpulike").WordpressUlike()}(jQuery);
1
+ !function(s,e,t,i){"use strict";var n="WordpressUlikeNotifications",a={messageType:"success",messageText:"Hello World!",messageElement:"wpulike-message",notifContainer:"wpulike-notification"};function l(e,t){this.element=e,this.$element=s(e),this.settings=s.extend({},a,t),this._defaults=a,this._name=n,this.init()}s.extend(l.prototype,{init:function(){this._message(),this._container(),this._append(),this._remove()},_message:function(){this.$messageElement=s("<div/>").addClass(this.settings.messageElement+" wpulike-"+this.settings.messageType).text(this.settings.messageText)},_container:function(){s("."+this.settings.notifContainer).length||this.$element.append(s("<div/>").addClass(this.settings.notifContainer)),this.$notifContainer=this.$element.find("."+this.settings.notifContainer)},_append:function(){this.$notifContainer.append(this.$messageElement).trigger("WordpressUlikeNotificationAppend")},_remove:function(){var e=this;this.$messageElement.click(function(){s(this).fadeOut(300,function(){s(this).remove(),s("."+e.settings.messageElement).length||e.$notifContainer.remove()}).trigger("WordpressUlikeRemoveNotification")}),setTimeout(function(){e.$messageElement.fadeOut(300,function(){s(this).remove(),s("."+e.settings.messageElement).length||e.$notifContainer.remove()}).trigger("WordpressUlikeRemoveNotification")},8e3)}}),s.fn[n]=function(e){return this.each(function(){new l(this,e)})}}(jQuery,window,document),function(n,e,s,t){"use strict";var a="WordpressUlike",i=(n(e),n(s)),l={ID:0,nonce:0,type:"",likeStatus:0,counterSelector:".count-box",generalSelector:".wp_ulike_general_class",buttonSelector:".wp_ulike_btn",likersSelector:".wp_ulike_likers_wrapper"},o={"ulike-id":"ID","ulike-nonce":"nonce","ulike-type":"type","ulike-status":"likeStatus"};function r(e,t){for(var s in this.element=e,this.$element=n(e),this.settings=n.extend({},l,t),this._defaults=l,this._name=a,this._refresh=!1,this.buttonElement=this.$element.find(this.settings.buttonSelector),this.generalElement=this.$element.find(this.settings.generalSelector),this.counterElement=this.generalElement.find(this.settings.counterSelector),o){var i=this.buttonElement.data(s);void 0!==i&&(this.settings[o[s]]=i)}this.init()}n.extend(r.prototype,{init:function(){this.buttonElement.click(this._button.bind(this)),this.generalElement.hover(this._likers.bind(this))},_button:function(){n.ajax({type:"POST",cache:!1,dataType:"json",url:wp_ulike_params.ajax_url,data:{action:"wp_ulike_process",id:this.settings.ID,nonce:this.settings.nonce,status:this.settings.likeStatus,type:this.settings.type},beforeSend:function(){i.trigger("WordpressUlikeLoading",this.element),this.generalElement.addClass("wp_ulike_is_loading")}.bind(this),success:function(e){this.generalElement.removeClass("wp_ulike_is_loading"),e.success?this._update(e):this._notif("error",e.data),i.trigger("WordpressUlikeUpdated",this.element)}.bind(this)})},_likers:function(){this.likersElement=this.$element.find(this.settings.likersSelector),this.likersElement.length&&!this._refresh||n.ajax({type:"POST",cache:!1,dataType:"json",url:wp_ulike_params.ajax_url,data:{action:"wp_ulike_get_likers",id:this.settings.ID,nonce:this.settings.nonce,type:this.settings.type,refresh:this._refresh?1:0},beforeSend:function(){this.generalElement.addClass("wp_ulike_is_getting_likers_list")}.bind(this),success:function(e){this.likersElement.length||(this.likersElement=n("<div>",{class:e.data.class}).appendTo(this.$element)),this.generalElement.removeClass("wp_ulike_is_getting_likers_list"),e.success&&(void 0!==e.data?this.likersElement.html(e.data.template):this.likersElement.remove())}.bind(this)})},_update:function(e){switch(this.settings.likeStatus){case 1:this.buttonElement.attr("data-ulike-status",4),this.settings.likeStatus=4,this.generalElement.addClass("wp_ulike_is_liked").removeClass("wp_ulike_is_not_liked"),this.generalElement.children().first().addClass("wp_ulike_click_is_disabled"),this.counterElement.text(e.data.data),this._actions("success",e.data.message,e.data.btnText,4),this._refresh=!0;break;case 2:this.buttonElement.attr("data-ulike-status",3),this.settings.likeStatus=3,this.generalElement.addClass("wp_ulike_is_unliked").removeClass("wp_ulike_is_liked"),this.counterElement.text(e.data.data),this._actions("error",e.data.message,e.data.btnText,3),this._refresh=!0;break;case 3:this.buttonElement.attr("data-ulike-status",2),this.settings.likeStatus=2,this.generalElement.addClass("wp_ulike_is_liked").removeClass("wp_ulike_is_unliked"),this.counterElement.text(e.data.data),this._actions("success",e.data.message,e.data.btnText,2),this._refresh=!0;break;case 4:this._actions("info",e.data.message,e.data.btnText,4),this.generalElement.children().first().addClass("wp_ulike_click_is_disabled");break;default:this._actions("warning",e.data.message,e.data.btnText,0)}this._refresh&&(this._likers(),this._refresh=!1)},_actions:function(e,t,s,i){this.buttonElement.hasClass("wp_ulike_put_image")?3!==i&&2!==i||this.buttonElement.toggleClass("image-unlike"):this.buttonElement.hasClass("wp_ulike_put_text")&&this.buttonElement.find("span").html(s),this._notif(e,t)},_notif:function(e,t){"1"===wp_ulike_params.notifications&&n(s.body).WordpressUlikeNotifications({messageType:e,messageText:t})}}),n.fn[a]=function(e){return this.each(function(){n.data(this,"plugin_"+a)||n.data(this,"plugin_"+a,new r(this,e))})}}(jQuery,window,document),function(t){t(function(){t(this).bind("DOMNodeInserted",function(e){t(".wpulike").WordpressUlike()})}),t(".wpulike").WordpressUlike()}(jQuery);
inc/classes/class-wp-ulike-frontend-assets.php CHANGED
@@ -41,7 +41,7 @@ if ( ! class_exists( 'wp_ulike_frontend_assets' ) ) {
41
  */
42
  public function load_styles() {
43
 
44
- wp_enqueue_style( 'wp-ulike', WP_ULIKE_ASSETS_URL . '/css/wp-ulike.min.css', array(), '3.5.0' );
45
 
46
  //add your custom style from setting panel.
47
  wp_add_inline_style( 'wp-ulike', wp_ulike_get_custom_style() );
@@ -56,7 +56,7 @@ if ( ! class_exists( 'wp_ulike_frontend_assets' ) ) {
56
  public function load_scripts() {
57
 
58
  //Add wp_ulike script file with special functions.
59
- wp_enqueue_script( 'wp_ulike', WP_ULIKE_ASSETS_URL . '/js/wp-ulike.min.js', array( 'jquery' ), '3.5.0', true );
60
 
61
  //localize script
62
  wp_localize_script( 'wp_ulike', 'wp_ulike_params', array(
41
  */
42
  public function load_styles() {
43
 
44
+ wp_enqueue_style( 'wp-ulike', WP_ULIKE_ASSETS_URL . '/css/wp-ulike.min.css', array(), '3.5.1' );
45
 
46
  //add your custom style from setting panel.
47
  wp_add_inline_style( 'wp-ulike', wp_ulike_get_custom_style() );
56
  public function load_scripts() {
57
 
58
  //Add wp_ulike script file with special functions.
59
+ wp_enqueue_script( 'wp_ulike', WP_ULIKE_ASSETS_URL . '/js/wp-ulike.min.js', array( 'jquery' ), '3.5.1', true );
60
 
61
  //localize script
62
  wp_localize_script( 'wp_ulike', 'wp_ulike_params', array(
inc/frontend-ajax.php CHANGED
@@ -143,7 +143,10 @@ function wp_ulike_get_likers(){
143
  }
144
 
145
  if( NULL !== ( $users_list = wp_ulike_get_likers_template( $table_name, $column_name, $post_ID, $setting_key ) ) ) {
146
- wp_send_json_success( $users_list );
 
 
 
147
  }
148
 
149
  // Send blank success when the users list are empty
143
  }
144
 
145
  if( NULL !== ( $users_list = wp_ulike_get_likers_template( $table_name, $column_name, $post_ID, $setting_key ) ) ) {
146
+ // Add specific class name with popover checkup
147
+ $class_names = wp_ulike_get_setting( $setting_key, 'disable_likers_pophover', 0 ) ? 'wp_ulike_likers_wrapper wp_ulike_display_inline' : 'wp_ulike_likers_wrapper';
148
+ // Return the list of users
149
+ wp_send_json_success( array( 'template' => $users_list, 'class' => $class_names ) );
150
  }
151
 
152
  // Send blank success when the users list are empty
inc/general-functions.php CHANGED
@@ -320,8 +320,14 @@ if( ! function_exists( 'wp_ulike_get_options_info' ) ){
320
  'users_liked_box' => array(
321
  'type' => 'checkbox',
322
  'default' => 1,
323
- 'label' => __('Show Liked Users Box', WP_ULIKE_SLUG),
324
- 'checkboxlabel' => __('Activate', WP_ULIKE_SLUG),
 
 
 
 
 
 
325
  'description' => __('Active this option to show liked users avatars in the bottom of button like.', WP_ULIKE_SLUG)
326
  ),
327
  'users_liked_box_avatar_size' => array(
@@ -405,8 +411,14 @@ if( ! function_exists( 'wp_ulike_get_options_info' ) ){
405
  'users_liked_box' => array(
406
  'type' => 'checkbox',
407
  'default' => 1,
408
- 'label' => __('Show Liked Users Box', WP_ULIKE_SLUG),
409
- 'checkboxlabel' => __('Activate', WP_ULIKE_SLUG),
 
 
 
 
 
 
410
  'description' => __('Active this option to show liked users avatars in the bottom of button like.', WP_ULIKE_SLUG)
411
  ),
412
  'users_liked_box_avatar_size' => array(
@@ -496,8 +508,14 @@ if( ! function_exists( 'wp_ulike_get_options_info' ) ){
496
  'users_liked_box' => array(
497
  'type' => 'checkbox',
498
  'default' => 1,
499
- 'label' => __('Show Liked Users Box', WP_ULIKE_SLUG),
500
- 'checkboxlabel' => __('Activate', WP_ULIKE_SLUG),
 
 
 
 
 
 
501
  'description' => __('Active this option to show liked users avatars in the bottom of button like.', WP_ULIKE_SLUG)
502
  ),
503
  'users_liked_box_avatar_size' => array(
@@ -606,8 +624,14 @@ if( ! function_exists( 'wp_ulike_get_options_info' ) ){
606
  'users_liked_box' => array(
607
  'type' => 'checkbox',
608
  'default' => 1,
609
- 'label' => __('Show Liked Users Box', WP_ULIKE_SLUG),
610
- 'checkboxlabel' => __('Activate', WP_ULIKE_SLUG),
 
 
 
 
 
 
611
  'description' => __('Active this option to show liked users avatars in the bottom of button like.', WP_ULIKE_SLUG)
612
  ),
613
  'users_liked_box_avatar_size' => array(
@@ -1051,7 +1075,7 @@ if( ! function_exists( 'wp_ulike_get_auhtor_id' ) ){
1051
  * @return String
1052
  */
1053
  if( ! function_exists( 'wp_ulike_bbp_format_buddypress_notifications' ) ) {
1054
- function wp_ulike_bbp_format_buddypress_notifications($action, $item_id, $secondary_item_id, $total_items, $format = 'string') {
1055
 
1056
  if ( ! defined( 'BP_VERSION' ) ) {
1057
  return;
@@ -1527,7 +1551,8 @@ if( ! function_exists( 'wp_ulike_set_default_template' ) ){
1527
  ?>
1528
  <div class="wpulike wpulike-default <?php echo $wrapper_class; ?>" <?php echo $attributes; ?>>
1529
  <div class="<?php echo $general_class; ?>">
1530
- <a data-ulike-id="<?php echo $ID; ?>"
 
1531
  data-ulike-nonce="<?php echo wp_create_nonce( $type . $ID ); ?>"
1532
  data-ulike-type="<?php echo $type; ?>"
1533
  data-ulike-status="<?php echo $status; ?>" class="<?php echo $button_class; ?>">
@@ -1536,7 +1561,7 @@ if( ! function_exists( 'wp_ulike_set_default_template' ) ){
1536
  echo '<span>' . $button_text . '</span>';
1537
  }
1538
  ?>
1539
- </a>
1540
  <?php echo $counter; ?>
1541
  </div>
1542
  <?php
@@ -1566,7 +1591,8 @@ if( ! function_exists( 'wp_ulike_set_simple_heart_template' ) ){
1566
  ?>
1567
  <div class="wpulike wpulike-heart <?php echo $wrapper_class; ?>" <?php echo $attributes; ?>>
1568
  <div class="<?php echo $general_class; ?>">
1569
- <a data-ulike-id="<?php echo $ID; ?>"
 
1570
  data-ulike-nonce="<?php echo wp_create_nonce( $type . $ID ); ?>"
1571
  data-ulike-type="<?php echo $type; ?>"
1572
  data-ulike-status="<?php echo $status; ?>" class="<?php echo $button_class; ?>">
@@ -1575,7 +1601,7 @@ if( ! function_exists( 'wp_ulike_set_simple_heart_template' ) ){
1575
  echo '<span>' . $button_text . '</span>';
1576
  }
1577
  ?>
1578
- </a>
1579
  <?php echo $counter; ?>
1580
  </div>
1581
  <?php
320
  'users_liked_box' => array(
321
  'type' => 'checkbox',
322
  'default' => 1,
323
+ 'label' => __('Display Likers Box', WP_ULIKE_SLUG),
324
+ 'checkboxlabel' => __('Activate', WP_ULIKE_SLUG)
325
+ ),
326
+ 'disable_likers_pophover' => array(
327
+ 'type' => 'checkbox',
328
+ 'default' => 0,
329
+ 'label' => __('Disable Popover In Likers Box', WP_ULIKE_SLUG),
330
+ 'checkboxlabel' => __('Disable', WP_ULIKE_SLUG),
331
  'description' => __('Active this option to show liked users avatars in the bottom of button like.', WP_ULIKE_SLUG)
332
  ),
333
  'users_liked_box_avatar_size' => array(
411
  'users_liked_box' => array(
412
  'type' => 'checkbox',
413
  'default' => 1,
414
+ 'label' => __('Display Likers Box', WP_ULIKE_SLUG),
415
+ 'checkboxlabel' => __('Activate', WP_ULIKE_SLUG)
416
+ ),
417
+ 'disable_likers_pophover' => array(
418
+ 'type' => 'checkbox',
419
+ 'default' => 0,
420
+ 'label' => __('Disable Popover In Likers Box', WP_ULIKE_SLUG),
421
+ 'checkboxlabel' => __('Disable', WP_ULIKE_SLUG),
422
  'description' => __('Active this option to show liked users avatars in the bottom of button like.', WP_ULIKE_SLUG)
423
  ),
424
  'users_liked_box_avatar_size' => array(
508
  'users_liked_box' => array(
509
  'type' => 'checkbox',
510
  'default' => 1,
511
+ 'label' => __('Display Likers Box', WP_ULIKE_SLUG),
512
+ 'checkboxlabel' => __('Activate', WP_ULIKE_SLUG)
513
+ ),
514
+ 'disable_likers_pophover' => array(
515
+ 'type' => 'checkbox',
516
+ 'default' => 0,
517
+ 'label' => __('Disable Popover In Likers Box', WP_ULIKE_SLUG),
518
+ 'checkboxlabel' => __('Disable', WP_ULIKE_SLUG),
519
  'description' => __('Active this option to show liked users avatars in the bottom of button like.', WP_ULIKE_SLUG)
520
  ),
521
  'users_liked_box_avatar_size' => array(
624
  'users_liked_box' => array(
625
  'type' => 'checkbox',
626
  'default' => 1,
627
+ 'label' => __('Display Likers Box', WP_ULIKE_SLUG),
628
+ 'checkboxlabel' => __('Activate', WP_ULIKE_SLUG)
629
+ ),
630
+ 'disable_likers_pophover' => array(
631
+ 'type' => 'checkbox',
632
+ 'default' => 0,
633
+ 'label' => __('Disable Popover In Likers Box', WP_ULIKE_SLUG),
634
+ 'checkboxlabel' => __('Disable', WP_ULIKE_SLUG),
635
  'description' => __('Active this option to show liked users avatars in the bottom of button like.', WP_ULIKE_SLUG)
636
  ),
637
  'users_liked_box_avatar_size' => array(
1075
  * @return String
1076
  */
1077
  if( ! function_exists( 'wp_ulike_bbp_format_buddypress_notifications' ) ) {
1078
+ function wp_ulike_bbp_format_buddypress_notifications( $action, $item_id, $secondary_item_id, $total_items, $format = 'string' ) {
1079
 
1080
  if ( ! defined( 'BP_VERSION' ) ) {
1081
  return;
1551
  ?>
1552
  <div class="wpulike wpulike-default <?php echo $wrapper_class; ?>" <?php echo $attributes; ?>>
1553
  <div class="<?php echo $general_class; ?>">
1554
+ <button type="button"
1555
+ data-ulike-id="<?php echo $ID; ?>"
1556
  data-ulike-nonce="<?php echo wp_create_nonce( $type . $ID ); ?>"
1557
  data-ulike-type="<?php echo $type; ?>"
1558
  data-ulike-status="<?php echo $status; ?>" class="<?php echo $button_class; ?>">
1561
  echo '<span>' . $button_text . '</span>';
1562
  }
1563
  ?>
1564
+ </button>
1565
  <?php echo $counter; ?>
1566
  </div>
1567
  <?php
1591
  ?>
1592
  <div class="wpulike wpulike-heart <?php echo $wrapper_class; ?>" <?php echo $attributes; ?>>
1593
  <div class="<?php echo $general_class; ?>">
1594
+ <button type="button"
1595
+ data-ulike-id="<?php echo $ID; ?>"
1596
  data-ulike-nonce="<?php echo wp_create_nonce( $type . $ID ); ?>"
1597
  data-ulike-type="<?php echo $type; ?>"
1598
  data-ulike-status="<?php echo $status; ?>" class="<?php echo $button_class; ?>">
1601
  echo '<span>' . $button_text . '</span>';
1602
  }
1603
  ?>
1604
+ </button>
1605
  <?php echo $counter; ?>
1606
  </div>
1607
  <?php
inc/general-hooks.php CHANGED
@@ -105,6 +105,38 @@ if( ! function_exists( 'wp_ulike_generate_microdata' ) ){
105
  add_action( 'wp_ulike_inside_template', 'wp_ulike_generate_microdata' );
106
  }
107
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
108
  /*******************************************************
109
  Posts
110
  *******************************************************/
@@ -243,16 +275,26 @@ if( defined( 'BP_VERSION' ) ) {
243
  wp_ulike_buddypress('get');
244
  }
245
 
 
 
 
 
246
  if (wp_ulike_get_setting( 'wp_ulike_buddypress', 'auto_display' ) == '1') {
 
 
247
 
248
  if (wp_ulike_get_setting( 'wp_ulike_buddypress', 'auto_display_position' ) == 'meta'){
249
  add_action( 'bp_activity_entry_meta', 'wp_ulike_put_buddypress' );
 
 
 
 
250
  } else {
251
  add_action( 'bp_activity_entry_content', 'wp_ulike_put_buddypress' );
252
- }
253
- // Add wp ulike in buddpress comments
254
- if ( wp_ulike_get_setting( 'wp_ulike_buddypress', 'activity_comment' ) == '1' ) {
255
- add_action( 'bp_activity_comment_options', 'wp_ulike_put_buddypress' );
256
  }
257
  }
258
  }
@@ -401,7 +443,7 @@ if( defined( 'BP_VERSION' ) ) {
401
  //Sends out notifications when you get a like from someone
402
  if ( wp_ulike_get_setting( 'wp_ulike_buddypress', 'custom_notification' ) == '1' ) {
403
  // No notifications from Anonymous
404
- if ( ! $user_ID ) {
405
  return false;
406
  }
407
  $author_ID = wp_ulike_get_auhtor_id( $cp_ID, $type );
@@ -411,9 +453,9 @@ if( defined( 'BP_VERSION' ) ) {
411
  bp_notifications_add_notification( array(
412
  'user_id' => $author_ID,
413
  'item_id' => $cp_ID,
414
- 'secondary_item_id' => '',
415
  'component_name' => 'wp_ulike',
416
- 'component_action' => 'wp_ulike' . $type . '_action_' . $user_ID,
417
  'date_notified' => bp_core_current_time(),
418
  'is_new' => 1,
419
  )
@@ -435,15 +477,19 @@ if( defined( 'BP_VERSION' ) ) {
435
  function wp_ulike_format_buddypress_notifications( $action, $item_id, $secondary_item_id, $total_items, $format = 'string' ) {
436
  global $wp_filter,$wp_version;
437
  // Return value
438
- $return = false;
 
439
  if ( strpos( $action, 'wp_ulike_' ) !== false ) {
440
  $custom_link = '';
441
  //Extracting ulike type from the action value.
442
  preg_match('/wp_ulike_(.*?)_action/', $action, $type);
443
- //Extracting user id from the action value.
444
- preg_match('/action_([0-9]+)/', $action, $user_ID);
445
- $user_info = get_userdata($user_ID[1]);
446
- $custom_text = __('You have a new like from', WP_ULIKE_SLUG ) . ' "' . $user_info->display_name . '"';
 
 
 
447
  //checking the ulike types
448
  if($type[1] == 'liked'){
449
  $custom_link = get_permalink($item_id);
105
  add_action( 'wp_ulike_inside_template', 'wp_ulike_generate_microdata' );
106
  }
107
 
108
+
109
+ /**
110
+ * Display inline likers box without AJAX request
111
+ *
112
+ * @author Alimir
113
+ * @since 3.5.1
114
+ * @return String
115
+ */
116
+ if( ! function_exists( 'wp_ulike_display_inline_likers_template' ) ){
117
+ function wp_ulike_display_inline_likers_template( $args ){
118
+ // Get settings for current type
119
+ $get_settings = wp_ulike_get_post_settings_by_type( $args['type'], $args['ID'] );
120
+ // If method not exist, then return error message
121
+ if( empty( $get_settings ) ) {
122
+ return;
123
+ }
124
+ // Extract settings array
125
+ extract( $get_settings );
126
+ // Check popover activation
127
+ $disable_pophover = wp_ulike_get_setting( $setting_key, 'disable_likers_pophover', 0 );
128
+ // Display likers box
129
+ echo $disable_pophover ? sprintf(
130
+ '<div class="wp_ulike_likers_wrapper wp_ulike_display_inline">%s</div>',
131
+ wp_ulike_get_likers_template( $table_name, $column_name, $args['ID'], $setting_key )
132
+ ) : '';
133
+ }
134
+ add_action( 'wp_ulike_inside_template', 'wp_ulike_display_inline_likers_template' );
135
+ }
136
+
137
+
138
+
139
+
140
  /*******************************************************
141
  Posts
142
  *******************************************************/
275
  wp_ulike_buddypress('get');
276
  }
277
 
278
+ function wp_ulike_get_buddypress( $content ) {
279
+
280
+ }
281
+
282
  if (wp_ulike_get_setting( 'wp_ulike_buddypress', 'auto_display' ) == '1') {
283
+ // Check display ulike in buddypress comments
284
+ $display_comments = wp_ulike_get_setting( 'wp_ulike_buddypress', 'activity_comment', 1 );
285
 
286
  if (wp_ulike_get_setting( 'wp_ulike_buddypress', 'auto_display_position' ) == 'meta'){
287
  add_action( 'bp_activity_entry_meta', 'wp_ulike_put_buddypress' );
288
+ // Add wp ulike in buddpress comments
289
+ if( $display_comments == '1' ) {
290
+ add_action( 'bp_activity_comment_options', 'wp_ulike_put_buddypress' );
291
+ }
292
  } else {
293
  add_action( 'bp_activity_entry_content', 'wp_ulike_put_buddypress' );
294
+ // Add wp ulike in buddpress comments
295
+ if( $display_comments == '1' ) {
296
+ add_filter( 'bp_activity_comment_content', function( $content ) { return $content . wp_ulike_buddypress('put'); } );
297
+ }
298
  }
299
  }
300
  }
443
  //Sends out notifications when you get a like from someone
444
  if ( wp_ulike_get_setting( 'wp_ulike_buddypress', 'custom_notification' ) == '1' ) {
445
  // No notifications from Anonymous
446
+ if ( ! $user_ID || false === get_userdata( $user_ID ) ) {
447
  return false;
448
  }
449
  $author_ID = wp_ulike_get_auhtor_id( $cp_ID, $type );
453
  bp_notifications_add_notification( array(
454
  'user_id' => $author_ID,
455
  'item_id' => $cp_ID,
456
+ 'secondary_item_id' => $user_ID,
457
  'component_name' => 'wp_ulike',
458
+ 'component_action' => 'wp_ulike' . $type . '_action',
459
  'date_notified' => bp_core_current_time(),
460
  'is_new' => 1,
461
  )
477
  function wp_ulike_format_buddypress_notifications( $action, $item_id, $secondary_item_id, $total_items, $format = 'string' ) {
478
  global $wp_filter,$wp_version;
479
  // Return value
480
+ $return = $action;
481
+
482
  if ( strpos( $action, 'wp_ulike_' ) !== false ) {
483
  $custom_link = '';
484
  //Extracting ulike type from the action value.
485
  preg_match('/wp_ulike_(.*?)_action/', $action, $type);
486
+ //Extracting user id from old action name values.
487
+ preg_match('/action_([0-9]+)/', $action, $user_ID);
488
+ //Get user info
489
+ $user_ID = isset( $user_ID[1] ) ? $user_ID[1] : $secondary_item_id;
490
+ $user_info = get_userdata( $user_ID );
491
+ $custom_text = sprintf( __('You have a new like %s', WP_ULIKE_SLUG ), is_object( $user_info ) ? __( 'from' , WP_ULIKE_SLUG ) . ' ' . $user_info->display_name : '' );
492
+
493
  //checking the ulike types
494
  if($type[1] == 'liked'){
495
  $custom_link = get_permalink($item_id);
readme.txt CHANGED
@@ -1,11 +1,11 @@
1
- === WP ULike ===
2
  Contributors: alimir
3
  Donate link: https://m.do.co/c/13ad5bc24738
4
  Author: Ali Mirzaei
5
  Tags: wp ulike, wordpress youlike plugin, like button, rating, vote, voting, most liked posts, wordpress like page, wordpress like post, wordpress vote page, wordpress vote post, wp like page, wp like post, wp like plugin, buddypress like system, buddypress votes, comment like system, voting button, wordpress, buddypress, statistics, stats likes, bbpress, bbPress like, WP-Translations, forums, community, credit, points, mycred, users, ultimate member
6
- Requires at least: 3.5
7
- Tested up to: 4.9.7
8
- Stable tag: 3.5.0
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -174,6 +174,15 @@ define( 'WP_MEMORY_LIMIT', '256M' );
174
 
175
  == Changelog ==
176
 
 
 
 
 
 
 
 
 
 
177
  = 3.5.0 =
178
  * Added: New statistics system powered by vueJS.
179
  * Added: Ajax loading for likers box with better optimization.
@@ -485,6 +494,9 @@ define( 'WP_MEMORY_LIMIT', '256M' );
485
 
486
  == Upgrade Notice ==
487
 
 
 
 
488
  = 3.4 =
489
  Attention Please! In this release, many changes have been made to the structure of the styles, and may result in the loss of your past custom styles. These changes are surely designed to improve the performance of the plugin, so it's best to update your system with these changes and then clear your server cache.
490
 
1
+ === WP ULike ===
2
  Contributors: alimir
3
  Donate link: https://m.do.co/c/13ad5bc24738
4
  Author: Ali Mirzaei
5
  Tags: wp ulike, wordpress youlike plugin, like button, rating, vote, voting, most liked posts, wordpress like page, wordpress like post, wordpress vote page, wordpress vote post, wp like page, wp like post, wp like plugin, buddypress like system, buddypress votes, comment like system, voting button, wordpress, buddypress, statistics, stats likes, bbpress, bbPress like, WP-Translations, forums, community, credit, points, mycred, users, ultimate member
6
+ Requires at least: 3.5.1
7
+ Tested up to: 4.9.8
8
+ Stable tag: 3.5.1
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
174
 
175
  == Changelog ==
176
 
177
+ = 3.5.1 =
178
+ * Fixed: The buddypress notifications issue.
179
+ * Added: A new option to disable popover on likers box and make it inline display.
180
+ * Added: Some changes to improve statistics page and make it more faster.
181
+ * Added: some improvements on ajax process of logs page.
182
+ * Replaced: The <a> tag with <button> for accessible with the keyboard.
183
+ * Fixed: An issue with button display on buddypress comments.
184
+ * Fixed: Some styling issues.
185
+
186
  = 3.5.0 =
187
  * Added: New statistics system powered by vueJS.
188
  * Added: Ajax loading for likers box with better optimization.
494
 
495
  == Upgrade Notice ==
496
 
497
+ = 3.5.1 =
498
+ Attention Please! In this version, we have made some changes on plugin scripts! So, please clear your server cache after the plugin update.
499
+
500
  = 3.4 =
501
  Attention Please! In this release, many changes have been made to the structure of the styles, and may result in the loss of your past custom styles. These changes are surely designed to improve the performance of the plugin, so it's best to update your system with these changes and then clear your server cache.
502
 
wp-ulike.php CHANGED
@@ -10,7 +10,7 @@
10
  * Plugin Name: WP ULike
11
  * Plugin URI: https://wpulike.com/
12
  * Description: WP ULike plugin allows to integrate a beautiful Ajax Like Button into your wordPress website to allow your visitors to like and unlike pages, posts, comments AND buddypress activities. Its very simple to use and supports many options.
13
- * Version: 3.5.0
14
  * Author: Ali Mirzaei
15
  * Author URI: http://alimir.ir
16
  * Text Domain: wp-ulike
@@ -36,7 +36,7 @@
36
 
37
  // Do not change these values
38
  define( 'WP_ULIKE_PLUGIN_URI' , 'https://wpulike.com/' );
39
- define( 'WP_ULIKE_VERSION' , '3.5.0' );
40
  define( 'WP_ULIKE_SLUG' , 'wp-ulike' );
41
  define( 'WP_ULIKE_DB_VERSION' , '1.5' );
42
 
10
  * Plugin Name: WP ULike
11
  * Plugin URI: https://wpulike.com/
12
  * Description: WP ULike plugin allows to integrate a beautiful Ajax Like Button into your wordPress website to allow your visitors to like and unlike pages, posts, comments AND buddypress activities. Its very simple to use and supports many options.
13
+ * Version: 3.5.1
14
  * Author: Ali Mirzaei
15
  * Author URI: http://alimir.ir
16
  * Text Domain: wp-ulike
36
 
37
  // Do not change these values
38
  define( 'WP_ULIKE_PLUGIN_URI' , 'https://wpulike.com/' );
39
+ define( 'WP_ULIKE_VERSION' , '3.5.1' );
40
  define( 'WP_ULIKE_SLUG' , 'wp-ulike' );
41
  define( 'WP_ULIKE_DB_VERSION' , '1.5' );
42