WP ULike - Version 2.8

Version Description

  • Added: Robeen (Animated Heart) template. (New Theme)
  • Added: New hooks for better front-end/back-end development.
  • Added: New library for AJAX functionalities.
  • Added: New hooks support for default settings.
  • Added: New response functionality with JSON.
  • Updated: 'wp_ulike' core class functionality.
  • Updated: FAQ documentation.
  • Removed: Old script files and enqueue new wp-ulike script.
  • Removed: Old version of 'mysql2date' function.
Download this release

Release Info

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

Code changes from version 2.7 to 2.8

admin/about.php CHANGED
@@ -124,9 +124,10 @@
124
  <div class="wrap about-wrap">
125
 
126
  <h1><?php echo _e('Welcome to WP ULike',WP_ULIKE_SLUG) . ' ' . WP_ULIKE_VERSION; ?></h1>
127
-
128
  <div class="about-text"><?php echo _e('Thank you for choosing WP ULike! This version is our leanest and most powerful version yet.', WP_ULIKE_SLUG) ; ?><br />
129
- <a target="_blank" href="<?php echo WP_ULIKE_PLUGIN_URI; ?>"> <?php _e('Visit our homepage',WP_ULIKE_SLUG); ?></a>
 
 
130
  </div>
131
  <div class="ulike-badge"><?php echo _e('Version',WP_ULIKE_SLUG) . ' ' . WP_ULIKE_VERSION; ?></div>
132
  <h2 class="nav-tab-wrapper">
124
  <div class="wrap about-wrap">
125
 
126
  <h1><?php echo _e('Welcome to WP ULike',WP_ULIKE_SLUG) . ' ' . WP_ULIKE_VERSION; ?></h1>
 
127
  <div class="about-text"><?php echo _e('Thank you for choosing WP ULike! This version is our leanest and most powerful version yet.', WP_ULIKE_SLUG) ; ?><br />
128
+
129
+ <?php add_thickbox(); ?>
130
+ <a target="_blank" href="<?php echo WP_ULIKE_PLUGIN_URI . '?TB_iframe=true&amp;width=800&amp;height=600'; ?>" class="thickbox"> <?php _e('Visit our homepage',WP_ULIKE_SLUG); ?></a>
131
  </div>
132
  <div class="ulike-badge"><?php echo _e('Version',WP_ULIKE_SLUG) . ' ' . WP_ULIKE_VERSION; ?></div>
133
  <h2 class="nav-tab-wrapper">
admin/admin.php CHANGED
@@ -44,13 +44,13 @@
44
  *******************************************************/
45
 
46
  //include about menu functions
47
- include( plugin_dir_path(__FILE__) . 'about.php');
48
 
49
  //include logs menu functions
50
- include( plugin_dir_path(__FILE__) . 'logs.php');
51
 
52
  //include statistics menu functions
53
- include( plugin_dir_path(__FILE__) . 'stats.php');
54
 
55
  /**
56
  * Start Setting Class Options
@@ -59,41 +59,41 @@
59
  * @since 1.7
60
  * @updated 2.0
61
  * @updated 2.4.2
 
62
  * @return String
63
  */
64
-
65
  //include setting class
66
- include( plugin_dir_path(__FILE__) . 'classes/class-settings.php' );
67
  //include setting templates
68
- include( plugin_dir_path(__FILE__) . 'classes/tmp/settings.php' );
69
-
70
  //activate general setting panel
71
  $wp_ulike_setting = wp_ulike_create_settings_page(
72
  'wp-ulike-settings',
73
  __( 'WP ULike Settings', WP_ULIKE_SLUG ),
74
  array(
75
- 'parent' => false,
76
- 'title' => __( 'WP ULike', WP_ULIKE_SLUG ),
77
- 'position' => 313,
78
- 'icon_url' => 'dashicons-wp-ulike'
79
  ),
80
  array(
81
- 'wp_ulike_general' => $wp_ulike_general
82
  ),
83
  array(
84
- 'tabs' => true,
85
- 'updated' => __('Settings saved.',WP_ULIKE_SLUG)
86
  )
87
  );
88
-
89
  //activate other settings panels
90
  $wp_ulike_setting->apply_settings( array(
91
- 'wp_ulike_posts' => $wp_ulike_posts,
92
- 'wp_ulike_comments' => $wp_ulike_comments,
93
- 'wp_ulike_buddypress' => $wp_ulike_buddypress,
94
- 'wp_ulike_bbpress' => $wp_ulike_bbpress,
95
- 'wp_ulike_customize' => $wp_ulike_customize
96
- ) );
 
97
 
98
  /**
99
  * Delete all the users likes logs by ajax process.
@@ -201,6 +201,30 @@
201
 
202
  }
203
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
204
  /**
205
  * The counter of last likes by the admin last login time.
206
  *
44
  *******************************************************/
45
 
46
  //include about menu functions
47
+ require_once( plugin_dir_path(__FILE__) . 'about.php');
48
 
49
  //include logs menu functions
50
+ require_once( plugin_dir_path(__FILE__) . 'logs.php');
51
 
52
  //include statistics menu functions
53
+ require_once( plugin_dir_path(__FILE__) . 'stats.php');
54
 
55
  /**
56
  * Start Setting Class Options
59
  * @since 1.7
60
  * @updated 2.0
61
  * @updated 2.4.2
62
+ * @updated 2.8 //Added new hooks for default settings.
63
  * @return String
64
  */
 
65
  //include setting class
66
+ require_once( plugin_dir_path(__FILE__) . 'classes/class-settings.php' );
67
  //include setting templates
68
+ require_once( plugin_dir_path(__FILE__) . 'classes/tmp/settings.php' );
 
69
  //activate general setting panel
70
  $wp_ulike_setting = wp_ulike_create_settings_page(
71
  'wp-ulike-settings',
72
  __( 'WP ULike Settings', WP_ULIKE_SLUG ),
73
  array(
74
+ 'parent' => false,
75
+ 'title' => __( 'WP ULike', WP_ULIKE_SLUG ),
76
+ 'position' => 313,
77
+ 'icon_url' => 'dashicons-wp-ulike'
78
  ),
79
  array(
80
+ 'wp_ulike_general' => $wp_ulike_general
81
  ),
82
  array(
83
+ 'tabs' => true,
84
+ 'updated' => __('Settings saved.',WP_ULIKE_SLUG)
85
  )
86
  );
87
+
88
  //activate other settings panels
89
  $wp_ulike_setting->apply_settings( array(
90
+ 'wp_ulike_posts' => apply_filters( 'wp_ulike_posts_settings', $wp_ulike_posts ),
91
+ 'wp_ulike_comments' => apply_filters( 'wp_ulike_comments_settings', $wp_ulike_comments ),
92
+ 'wp_ulike_buddypress' => apply_filters( 'wp_ulike_buddypress_settings', $wp_ulike_buddypress ),
93
+ 'wp_ulike_bbpress' => apply_filters( 'wp_ulike_bbpress_settings', $wp_ulike_bbpress ),
94
+ 'wp_ulike_customize' => apply_filters( 'wp_ulike_customize_settings', $wp_ulike_customize )
95
+ )
96
+ );
97
 
98
  /**
99
  * Delete all the users likes logs by ajax process.
201
 
202
  }
203
 
204
+ /**
205
+ * Generate templates list
206
+ *
207
+ * @author Alimir
208
+ * @since 2.8
209
+ * @return Array
210
+ */
211
+ function wp_ulike_generate_templates_list(){
212
+ return array(
213
+ 'wpulike-default' => array(
214
+ 'name' => __('Default', WP_ULIKE_SLUG),
215
+ 'callback' => 'wp_ulike_set_default_template'
216
+ ),
217
+ 'wpulike-heart' => array(
218
+ 'name' => __('Heart', WP_ULIKE_SLUG),
219
+ 'callback' => 'wp_ulike_set_simple_heart_template'
220
+ ),
221
+ 'wpulike-robeen' => array(
222
+ 'name' => __('Robeen', WP_ULIKE_SLUG),
223
+ 'callback' => 'wp_ulike_set_robeen_template'
224
+ )
225
+ );
226
+ }
227
+
228
  /**
229
  * The counter of last likes by the admin last login time.
230
  *
admin/classes/class-settings.php CHANGED
@@ -322,6 +322,9 @@ class wp_ulike_settings {
322
  if ( ! $options ) { _e( 'No options defined.', WP_ULIKE_SLUG ); }
323
  echo "<select {$attrs} id='{$id}'>";
324
  foreach ( $options as $v => $label ) {
 
 
 
325
  $select = selected( $v, $value, false );
326
  echo "<option value='{$v}' {$select} />{$label}</option>";
327
  }
322
  if ( ! $options ) { _e( 'No options defined.', WP_ULIKE_SLUG ); }
323
  echo "<select {$attrs} id='{$id}'>";
324
  foreach ( $options as $v => $label ) {
325
+ if(is_array($label)){
326
+ $label = $label['name'];
327
+ }
328
  $select = selected( $v, $value, false );
329
  echo "<option value='{$v}' {$select} />{$label}</option>";
330
  }
admin/classes/tmp/settings.php CHANGED
@@ -81,7 +81,7 @@
81
 
82
  /*******************************************************
83
  Posts Settings
84
- *******************************************************/
85
 
86
  $wp_ulike_posts = array(
87
  'title' => '<i class="dashicons-before dashicons-admin-post"></i>' . ' ' . __( 'Posts',WP_ULIKE_SLUG),
@@ -90,10 +90,7 @@
90
  'type' => 'select',
91
  'default' => 'default',
92
  'label' => __( 'Themes',WP_ULIKE_SLUG),
93
- 'options' => array(
94
- 'wpulike-default' => __('Default', WP_ULIKE_SLUG),
95
- 'wpulike-heart' => __('Heart', WP_ULIKE_SLUG)
96
- )
97
  ),
98
  'auto_display' => array(
99
  'type' => 'checkbox',
@@ -203,10 +200,7 @@
203
  'type' => 'select',
204
  'default' => 'default',
205
  'label' => __( 'Themes',WP_ULIKE_SLUG),
206
- 'options' => array(
207
- 'wpulike-default' => __('Default', WP_ULIKE_SLUG),
208
- 'wpulike-heart' => __('Heart', WP_ULIKE_SLUG)
209
- )
210
  ),
211
  'auto_display' => array(
212
  'type' => 'checkbox',
@@ -351,10 +345,7 @@
351
  'type' => 'select',
352
  'default' => 'default',
353
  'label' => __( 'Themes',WP_ULIKE_SLUG),
354
- 'options' => array(
355
- 'wpulike-default' => __('Default', WP_ULIKE_SLUG),
356
- 'wpulike-heart' => __('Heart', WP_ULIKE_SLUG)
357
- )
358
  ),
359
  'auto_display' => array(
360
  'type' => 'checkbox',
@@ -477,10 +468,7 @@
477
  'type' => 'select',
478
  'default' => 'default',
479
  'label' => __( 'Themes',WP_ULIKE_SLUG),
480
- 'options' => array(
481
- 'wpulike-default' => __('Default', WP_ULIKE_SLUG),
482
- 'wpulike-heart' => __('Heart', WP_ULIKE_SLUG)
483
- )
484
  ),
485
  'auto_display' => array(
486
  'type' => 'checkbox',
81
 
82
  /*******************************************************
83
  Posts Settings
84
+ *******************************************************/
85
 
86
  $wp_ulike_posts = array(
87
  'title' => '<i class="dashicons-before dashicons-admin-post"></i>' . ' ' . __( 'Posts',WP_ULIKE_SLUG),
90
  'type' => 'select',
91
  'default' => 'default',
92
  'label' => __( 'Themes',WP_ULIKE_SLUG),
93
+ 'options' => apply_filters( 'wp_ulike_add_templates_list', call_user_func('wp_ulike_generate_templates_list') )
 
 
 
94
  ),
95
  'auto_display' => array(
96
  'type' => 'checkbox',
200
  'type' => 'select',
201
  'default' => 'default',
202
  'label' => __( 'Themes',WP_ULIKE_SLUG),
203
+ 'options' => apply_filters( 'wp_ulike_add_templates_list', call_user_func('wp_ulike_generate_templates_list') )
 
 
 
204
  ),
205
  'auto_display' => array(
206
  'type' => 'checkbox',
345
  'type' => 'select',
346
  'default' => 'default',
347
  'label' => __( 'Themes',WP_ULIKE_SLUG),
348
+ 'options' => apply_filters( 'wp_ulike_add_templates_list', call_user_func('wp_ulike_generate_templates_list') )
 
 
 
349
  ),
350
  'auto_display' => array(
351
  'type' => 'checkbox',
468
  'type' => 'select',
469
  'default' => 'default',
470
  'label' => __( 'Themes',WP_ULIKE_SLUG),
471
+ 'options' => apply_filters( 'wp_ulike_add_templates_list', call_user_func('wp_ulike_generate_templates_list') )
 
 
 
472
  ),
473
  'auto_display' => array(
474
  'type' => 'checkbox',
assets/css/wp-ulike.css CHANGED
@@ -1,85 +1,82 @@
1
  /**
2
- * WP ULike Plugin 2.4.1
3
- *
4
- * http://wordpress.org/plugins/wp-ulike/
5
- * https://github.com/Alimir/wp-ulike
6
- *
7
  */
8
-
9
- /*------------------------- WP ULike Default Styles -------------------------*/
10
-
 
 
11
  .wpulike {
12
  display: inline-block;
13
  position: relative;
14
  vertical-align: middle;
15
- line-height: 1;
16
- margin:0;
 
17
  }
18
- .wpulike .counter a {
 
 
 
 
 
 
19
  margin: 0;
20
  display: inline-block;
21
  border-radius: .25em;
22
  border: 1px solid #d3d3d3;
23
- vertical-align: middle;
24
- line-height: 1em;
25
- padding: .25em .5em;
26
  font-size: .75em;
27
- cursor: pointer;
28
- max-height:25px;
29
-
30
  color: #777;
31
  background: #dfdfdf;
32
- box-shadow: 1px 1px 0 rgba(255,255,255,0.5) inset;
33
- text-shadow: 0 1px 0 rgba(255,255,255,0.5);
34
  text-decoration: none;
35
- }
36
-
37
- .wpulike .counter a{
38
  -webkit-transition: .25s;
39
  -moz-transition: .25s;
40
  -ms-transition: .25s;
41
  -o-transition: .25s;
42
- transition: .25s;
43
  }
44
 
45
- .wpulike .counter a:focus{
46
  outline: none;
47
- border-color: #999;
 
 
 
 
 
 
 
 
 
48
  }
49
 
50
- .wpulike .counter a:hover,
51
- .wpulike .counter a:active {
52
- text-decoration: none;
53
- color: #EEE;
54
- text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.3);
55
- background-color: #bdc3c7;
56
- border-color: #95a5a6;
57
  }
58
 
59
- .wpulike .counter a.image, .wpulike .counter a.image-unlike {
60
  background-image: url(../img/icons/add.png);
61
- background-repeat:no-repeat;
62
- background-position:center center;
63
- padding:10px 20px;
64
- }
65
- .wpulike .counter a.image-unlike{
66
- background-image: url(../img/icons/remove.png);
67
  }
68
 
69
- .wpulike .counter a.loading {
70
- background-image: url(../img/icons/loading.gif);
71
- background-repeat:no-repeat;
72
- background-position:center center;
73
- padding:10px 20px;
74
  }
75
 
76
- .wpulike .count-box {
77
  position: relative;
78
  display: inline-block;
79
  border: 1px solid #898F9C;
80
  border-radius: .25em;
81
  vertical-align: middle;
82
-
83
  color: #333;
84
  font-size: .75em;
85
  text-align: center;
@@ -91,10 +88,10 @@
91
  padding: .25em .5em;
92
  margin-left: .5em;
93
  line-height: 1em;
94
- min-width: 2.25em;
95
  }
96
 
97
- .wpulike .count-box:before {
98
  content: '';
99
  width: .25em;
100
  height: .25em;
@@ -106,523 +103,771 @@
106
  top: 50%;
107
  margin-top: -.2em;
108
  border-left-color: #898F9C;
109
-
110
  -webkit-transform: rotate(45deg);
111
  -moz-transform: rotate(45deg);
112
  -ms-transform: rotate(45deg);
113
  -o-transform: rotate(45deg);
114
  transform: rotate(45deg);
115
- filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476, sizingMethod='auto expand');
116
- }
117
-
118
- /*------------------------- WP ULike Extension Styles -------------------------*/
119
-
120
- .sr-only {
121
- position: absolute;
122
- width: 1px;
123
- height: 1px;
124
- margin: -1px;
125
- padding: 0;
126
- overflow: hidden;
127
- clip: rect(0, 0, 0, 0);
128
- border: 0;
129
- }
130
- .sr-only-focusable:active,
131
- .sr-only-focusable:focus {
132
- position: static;
133
- width: auto;
134
- height: auto;
135
- margin: 0;
136
- overflow: visible;
137
- clip: auto;
138
- }
139
- .alert {
140
- padding: 15px;
141
- margin-bottom: 20px;
142
- border: 1px solid transparent;
143
- border-radius: 4px;
144
- }
145
- .alert h4 {
146
- margin-top: 0;
147
- color: inherit;
148
- }
149
- .alert .alert-link {
150
- font-weight: bold;
151
- }
152
- .alert > p,
153
- .alert > ul {
154
- margin-bottom: 0;
155
- }
156
- .alert > p + p {
157
- margin-top: 5px;
158
- }
159
- .alert-dismissable,
160
- .alert-dismissible {
161
- padding-right: 35px;
162
- }
163
- .alert-dismissable .close,
164
- .alert-dismissible .close {
165
- position: relative;
166
- top: -2px;
167
- right: -21px;
168
- color: inherit;
169
- }
170
- .alert-success {
171
- background-color: #dff0d8;
172
- border-color: #d6e9c6;
173
- color: #3c763d;
174
- }
175
- .alert-success hr {
176
- border-top-color: #c9e2b3;
177
- }
178
- .alert-success .alert-link {
179
- color: #2b542c;
180
- }
181
- .alert-info {
182
- background-color: #d9edf7;
183
- border-color: #bce8f1;
184
- color: #31708f;
185
  }
186
- .alert-info hr {
187
- border-top-color: #a6e1ec;
188
- }
189
- .alert-info .alert-link {
190
- color: #245269;
191
- }
192
- .alert-warning {
193
- background-color: #fcf8e3;
194
- border-color: #faebcc;
195
- color: #8a6d3b;
196
- }
197
- .alert-warning hr {
198
- border-top-color: #f7e1b5;
199
- }
200
- .alert-warning .alert-link {
201
- color: #66512c;
202
- }
203
- .alert-danger {
204
- background-color: #f2dede;
205
- border-color: #ebccd1;
206
- color: #a94442;
207
- }
208
- .alert-danger hr {
209
- border-top-color: #e4b9c0;
210
- }
211
- .alert-danger .alert-link {
212
- color: #843534;
213
- }
214
- .close {
215
- float: right;
216
- font-size: 21px;
217
- font-weight: bold;
218
- line-height: 1;
219
- color: #000000;
220
- text-shadow: 0 1px 0 #ffffff;
221
- opacity: 0.2;
222
- filter: alpha(opacity=20);
223
- }
224
- .close:hover,
225
- .close:focus {
226
- color: #000000;
227
- text-decoration: none;
228
- cursor: pointer;
229
- opacity: 0.5;
230
- filter: alpha(opacity=50);
231
- }
232
- button.close {
233
- padding: 0;
234
- cursor: pointer;
235
- background: transparent;
236
- border: 0;
237
- -webkit-appearance: none;
238
  }
239
- .fade {
240
- opacity:0;
241
- -webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;
242
- transition:opacity .15s linear
243
  }
244
- .fade.in {
245
- opacity:1
 
246
  }
247
 
248
- .tooltip {
249
- position: absolute;
250
- z-index: 1030;
251
- display: block;
252
- font-size: 11px;
253
- line-height: 1.4;
254
- opacity: 0;
255
- filter: alpha(opacity=0);
256
- visibility: visible;
257
  }
258
 
259
- .tooltip.in {
260
- opacity: 0.8;
261
- filter: alpha(opacity=80);
262
  }
263
 
264
- .tooltip.top {
265
- padding: 5px 0;
266
- margin-top: -3px;
 
267
  }
268
 
269
- .tooltip.right {
270
- padding: 0 5px;
271
- margin-left: 3px;
272
  }
273
 
274
- .tooltip.bottom {
275
- padding: 5px 0;
276
- margin-top: 3px;
277
  }
278
 
279
- .tooltip.left {
280
- padding: 0 5px;
281
- margin-left: -3px;
 
 
 
 
 
 
 
 
 
 
 
 
282
  }
283
 
284
- .tooltip-inner {
285
- max-width: 200px;
286
- padding: 8px;
287
- color: #ffffff;
288
- text-align: center;
289
- text-decoration: none;
290
- background-color: #000000;
291
- -webkit-border-radius: 4px;
292
- -moz-border-radius: 4px;
293
- border-radius: 4px;
294
  }
295
 
296
- .tooltip-arrow {
297
- position: absolute;
298
- width: 0;
299
- height: 0;
300
- border-color: transparent;
301
- border-style: solid;
302
  }
303
 
304
- .tooltip.top .tooltip-arrow {
305
- bottom: 0;
306
- left: 50%;
307
- margin-left: -5px;
308
- border-top-color: #000000;
309
- border-width: 5px 5px 0;
 
 
 
 
 
310
  }
311
 
312
- .tooltip.right .tooltip-arrow {
313
- top: 50%;
314
- left: 0;
315
- margin-top: -5px;
316
- border-right-color: #000000;
317
- border-width: 5px 5px 5px 0;
 
 
 
 
318
  }
319
 
320
- .tooltip.left .tooltip-arrow {
321
- top: 50%;
322
- right: 0;
323
- margin-top: -5px;
324
- border-left-color: #000000;
325
- border-width: 5px 0 5px 5px;
326
  }
327
 
328
- .tooltip.bottom .tooltip-arrow {
329
- top: 0;
330
- left: 50%;
331
- margin-left: -5px;
332
- border-bottom-color: #000000;
333
- border-width: 0 5px 5px;
 
 
 
 
334
  }
335
 
336
- .badge {
337
- display: inline-block;
338
- min-width: 10px;
339
- padding: 3px 7px;
340
- font-size: 12px;
341
- font-weight: 700;
342
- line-height: 1;
343
- color: #FFF;
344
- text-align: center;
345
- white-space: nowrap;
346
- vertical-align: baseline;
347
- background-color: #777;
348
- border-radius: 10px;
349
  }
350
 
351
- /*------------------------- WP ULike Widget & Likers Styles -------------------------*/
 
 
 
 
352
 
353
- .tiles,.most_liked_users {
354
- list-style-type: none !important;
355
- position: relative !important;
356
- margin: 10px 0 !important;
357
- padding: 0 !important;
358
  }
359
- .tiles li,.most_liked_users li{
360
- display:inline-table !important;
361
- cursor: pointer !important;
 
 
 
 
 
 
362
  }
363
- .most_liked_users li{
364
- margin:0 2px !important;
 
 
365
  }
366
 
367
- .tiles li.inactive,.most_liked_users li.inactive {
368
- visibility: hidden !important;
369
- opacity: 0 !important;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
370
  }
371
 
372
- .tiles li img ,.most_liked_users li img {
373
- display: block !important;
374
- float: none !important;
 
375
  }
376
 
377
- .commentlist .tiles .avatar{
378
- left:0 !important;
 
 
 
379
  }
380
 
381
- .wp_ulike_thumbnail,.most_liked_comment .avatar{
382
- vertical-align: middle;
383
- margin: 0 10px 0 0;
 
 
 
 
 
384
  }
385
 
386
- .wp_ulike_style_simple .wp_counter_span:before{
387
- content: "(";
 
388
  }
389
- .wp_ulike_style_simple .wp_counter_span:after{
390
- content: ")";
 
 
391
  }
392
- .wp_ulike_style_love .wp_counter_span{
393
- float:right;
394
- display: inline-block;
395
- background: #f1f1f1 url(../img/icons/heart.png) 5px center no-repeat;
396
- color: #333;
397
- font-size: 9px;
398
- line-height: 17px;
399
- font-weight: normal;
400
- margin: 2px 0px 0px 2px;
401
- vertical-align: middle;
402
- border-radius: 10px;
403
- padding:0 5px 0 23px;
404
- z-index: 26;
405
  }
406
 
407
- /*------------------------- WP ULike BuddyPress & bbPress Styles -------------------------*/
 
 
 
408
 
409
- #buddypress .activity ul.item-list li{
410
- position:initial;
 
 
 
411
  }
412
 
413
- #buddypress div.activity-meta .tiles li a{
414
- padding:0;
 
 
 
 
 
 
 
 
 
415
  }
416
 
417
- #buddypress .activity-content .wpulike .count-box, #bbpress-forums .bbp-reply-content .wpulike .count-box {
418
- font-size: small;
419
- padding: .3em .5em;
 
420
  }
421
 
422
- #buddypress div.activity-meta .wpulike .counter a {
423
- padding: 12px 20px !important;
424
  }
425
 
426
- #buddypress div.activity-meta .wpulike .counter a.text {
427
- padding: 7px 20px !important;
 
 
428
  }
429
 
430
- #bbpress-forums .bbp-reply-content .wpulike .counter a.text,#bbpress-forums .bbp-reply-content .wpulike .counter a.image,#bbpress-forums .bbp-reply-content .wpulike .counter a.image-unlike,#bbpress-forums .bbp-reply-content .wpulike .counter a.loading{
431
- margin: 0;
432
- display: inline-block;
433
- border-radius: .25em;
434
- border: 1px solid #d3d3d3;
435
- line-height: 1em;
436
- padding: 0.5em 1em;
437
- font-size: 1em;
438
- cursor: pointer;
439
- vertical-align: middle;
440
 
441
- color: #777;
442
- background: #dfdfdf;
443
- box-shadow: 1px 1px 0 rgba(255,255,255,0.5) inset;
444
- text-shadow: 0 1px 0 rgba(255,255,255,0.5);
445
- text-decoration: none;
446
  }
447
 
448
- #bbpress-forums .bbp-reply-content .wpulike .counter a.image,#bbpress-forums .bbp-reply-content .wpulike .counter a.image-unlike{
449
- background-image: url(../img/icons/add.png);
450
- background-repeat:no-repeat;
451
- background-position:center center;
452
- padding: 1em 1.8em;
 
 
 
453
  }
454
 
455
- #bbpress-forums .bbp-reply-content .wpulike .counter a.image-unlike{
456
- background-image: url(../img/icons/remove.png);
457
  }
458
 
459
- #bbpress-forums .bbp-reply-content .wpulike .counter a.loading{
460
- background-image: url(../img/icons/loading.gif);
461
- background-repeat:no-repeat;
462
- background-position:center center;
463
- padding: 1em 1.8em;
 
 
 
 
 
 
 
 
464
  }
465
 
466
- /*------------------------- WP ULike Heart Template -------------------------*/
 
 
467
 
468
- .wpulike-heart .counter{
469
- border: 1px solid #E0E0E0;
470
- background: url(../img/bg/button-love.png) no-repeat center right;
471
- border-radius:5px;
472
- padding: 2px;
473
- max-height:30px;
474
  }
475
 
476
- .wpulike-heart .counter a,#buddypress .wpulike-heart .counter a,#bbpress-forums .bbp-reply-content .wpulike-heart .counter a.text,#bbpress-forums .bbp-reply-content .wpulike-heart .counter a.image,#bbpress-forums .bbp-reply-content .wpulike-heart .counter a.image-unlike,#bbpress-forums .bbp-reply-content .wpulike-heart .counter a.loading{
477
- border: none;
478
- font-weight:bold;
479
- box-shadow: none;
480
- background:transparent;
481
- border-right:1px solid #d3d3d3;
482
- border-radius:0;
483
  }
484
 
485
- .wpulike-heart .counter a:hover,
486
- .wpulike-heart .counter a:active {
487
- background-color: transparent;
488
- box-shadow: none;
489
- color:#ef0000;
490
  }
491
 
492
- .wpulike-heart .counter a.image, .wpulike-heart .counter a.image-unlike,#buddypress .activity-content .wpulike-heart .counter a.image, #buddypress .activity-content .wpulike-heart .counter a.image-unlike,#bbpress-forums .bbp-reply-content .wpulike-heart .counter a.image,#bbpress-forums .bbp-reply-content .wpulike-heart .counter a.image-unlike {
493
- border: none;
494
- box-shadow: none;
495
- background-image: url(../img/icons/add-heart-16.png) !important;
496
- background-repeat:no-repeat !important;
497
- background-position:center center !important;
498
- padding:11px 16px !important;
499
- border-right:1px solid #E0E0E0;
500
  }
501
 
502
- .wpulike-heart .counter a.image-unlike,#buddypress .activity-content .wpulike-heart .counter a.image-unlike,#bbpress-forums .bbp-reply-content .wpulike-heart .counter a.image-unlike {
503
- background-image: url(../img/icons/remove-heart-16.png) !important;
 
 
 
 
 
 
 
 
 
 
 
 
504
  }
505
 
506
- .wpulike-heart .counter a.image:hover {
507
- background-image: url(../img/icons/add-heart-hover.png) !important;
 
 
 
 
 
 
508
  }
509
 
510
- .wpulike-heart .counter a.image-unlike:hover {
511
- background-image: url(../img/icons/remove-heart-hover.png) !important;
 
 
512
  }
513
 
514
- .wpulike-heart .counter a.loading,#buddypress .activity-content .wpulike-heart .counter a.loading,#bbpress-forums .bbp-reply-content .wpulike-heart .counter a.loading {
515
- animation:none;
516
- background-image: url(../img/icons/loading.gif) !important;
517
- background-repeat:no-repeat !important;
518
- background-position:center center !important;
519
- padding:11px 15px !important;
520
- border-right:1px solid #E0E0E0;
521
  }
522
 
523
- .wpulike-heart .count-box {
524
- border: none;
525
- vertical-align: middle;
526
- background-color: transparent;
527
- padding: .25em .5em .25em;
528
- margin-left: 0;
529
- color:#525252;
530
- font-size:.8em;
531
  }
532
 
533
- .wpulike-heart .count-box:before {
534
- border: none;
535
- background:transparent;
 
536
  }
537
 
538
- /*------------------------- WP ULike RTL support -------------------------*/
 
 
 
 
539
 
540
- .rtl .wpulike .count-box {
541
- margin-right: .5em;
542
- margin-left: inherit;
 
543
  }
544
 
545
- .rtl .wpulike .count-box:before {
546
- right: -.2125em;
547
- left:inherit;
548
- border-top-color: #898F9C;
549
- border-right-color: #898F9C;
550
- border-left-color: transparent;
551
- border-bottom-color: transparent;
552
  }
553
 
554
- .rtl .wpulike-heart .counter a,.rtl #buddypress .wpulike-heart .counter a,.rtl #bbpress-forums .bbp-reply-content .wpulike-heart .counter a.text,.rtl #bbpress-forums .bbp-reply-content .wpulike-heart .counter a.image,.rtl #bbpress-forums .bbp-reply-content .wpulike-heart .counter a.image-unlike,.rtl #bbpress-forums .bbp-reply-content .wpulike-heart .counter a.loading{
555
- border-left:1px solid #d3d3d3;
556
- border-right: 0;
557
  }
558
 
559
- .rtl .wpulike-heart .counter a.image,.rtl .wpulike-heart .counter a.image-unlike,.rtl #buddypress .activity-content .wpulike-heart .counter a.image, .rtl #buddypress .activity-content .wpulike-heart .counter a.image-unlike,#bbpress-forums .bbp-reply-content .wpulike-heart .counter a.image,.rtl #bbpress-forums .bbp-reply-content .wpulike-heart .counter a.image-unlike,.rtl .wpulike-heart .counter a.loading,.rtl #buddypress .activity-content .wpulike-heart .counter a.loading,.rtl #bbpress-forums .bbp-reply-content .wpulike-heart .counter a.loading {
560
- border-left:1px solid #E0E0E0;
561
- border-right: 0;
562
  }
563
 
564
- .rtl .wpulike-heart .count-box {
565
- margin-right: 0;
566
- margin-left: inherit;
567
  }
568
 
569
- .rtl .alert-dismissable,
570
- .rtl .alert-dismissible {
571
- padding-right: 0;
572
- padding-left: 35px;
573
  }
574
- .rtl .alert-dismissable .close,
575
- .rtl .alert-dismissible .close {
576
- right: inherit;
577
- left: -21px;
 
578
  }
579
 
580
- .rtl .close {
581
- float: left;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
582
  }
583
 
584
- .rtl .commentlist .tiles .avatar{
585
- left:inherit!important;
586
- right:0 !important;
 
587
  }
588
 
589
- .rtl .wp_ulike_thumbnail,.rtl .most_liked_comment .avatar{
590
- margin: 0 0 0 10px;
 
 
 
 
 
 
591
  }
592
 
593
- .rtl .wp_ulike_style_love .wp_counter_span{
594
- float: left;
595
- background: #F1F1F1 url("../img/icons/heart.png") no-repeat scroll 85% center;
596
- margin: 2px 2px 0px 0px;
597
- padding: 0px 23px 0px 5px;
598
  }
599
 
600
- /**
601
- * jQuery toast plugin created by Kamran Ahmed copyright MIT license 2014
602
- * v1.3.0
603
- */
604
- .jq-toast-wrap { display: block; position: fixed; width: 250px; pointer-events: none !important; margin: 0; padding: 0; letter-spacing: normal; z-index: 9000 !important; }
605
- .jq-toast-wrap * { margin: 0; padding: 0; }
 
 
 
 
 
 
 
 
 
 
 
 
606
 
607
- .jq-toast-wrap.bottom-left { bottom: 20px; left: 20px; }
608
- .jq-toast-wrap.bottom-right { bottom: 20px; right: 40px; }
609
- .jq-toast-wrap.top-left { top: 20px; left: 20px; }
610
- .jq-toast-wrap.top-right { top: 20px; right: 40px; }
 
 
 
 
 
 
611
 
612
- .jq-toast-single { display: block; width: 100%; padding: 10px; margin: 0px 0px 5px; border-radius: 4px; font-size: 12px; font-family: arial, sans-serif; line-height: 17px; position: relative; pointer-events: all !important; background-color: #444444; color: white; }
 
 
613
 
614
- .jq-toast-single h2 { font-family: arial, sans-serif; font-size: 14px; margin: 0px 0px 7px; background: none; color: inherit; line-height: inherit; letter-spacing: normal; }
615
- .jq-toast-single a { color: #eee; text-decoration: none; font-weight: bold; border-bottom: 1px solid white; padding-bottom: 3px; font-size: 12px; }
 
616
 
617
- .jq-toast-single ul { margin: 0px 0px 0px 15px; background: none; padding:0px; }
618
- .jq-toast-single ul li { list-style-type: disc !important; line-height: 17px; background: none; margin: 0; padding: 0; letter-spacing: normal; }
 
619
 
620
- .close-jq-toast-single { position: absolute; top: 3px; right: 7px; font-size: 14px; cursor: pointer; }
 
 
621
 
622
- .jq-toast-loader { display: block; position: absolute; top: -2px; height: 5px; width: 0%; left: 0; border-radius: 5px; background: red; }
623
- .jq-toast-loaded { width: 100%; }
624
- .jq-has-icon { padding: 10px 10px 10px 50px; background-repeat: no-repeat; background-position: 10px; }
625
- .jq-icon-info { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII='); background-color: #31708f; color: #d9edf7; border-color: #bce8f1; }
626
- .jq-icon-warning { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII='); background-color: #8a6d3b; color: #fcf8e3; border-color: #faebcc; }
627
- .jq-icon-error { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII='); background-color: #a94442; color: #f2dede; border-color: #ebccd1; }
628
- .jq-icon-success { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg=='); color: #dff0d8; background-color: #3c763d; border-color: #d6e9c6; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  /**
2
+ * WP ULike 2.8
3
+ * @author Alimir [https://wordpress.org/plugins/wp-ulike/]
 
 
 
4
  */
5
+
6
+ /*
7
+ => Add Default template styles
8
+ */
9
+
10
  .wpulike {
11
  display: inline-block;
12
  position: relative;
13
  vertical-align: middle;
14
+ overflow: hidden;
15
+ line-height: normal;
16
+ margin: 0
17
  }
18
+
19
+ .wp_ulike_click_is_disabled{
20
+ pointer-events: none;
21
+ cursor: default;
22
+ }
23
+
24
+ .wpulike .wp_ulike_btn {
25
  margin: 0;
26
  display: inline-block;
27
  border-radius: .25em;
28
  border: 1px solid #d3d3d3;
29
+ vertical-align: middle;
30
+ line-height: normal;
31
+ padding: 10px 20px;
32
  font-size: .75em;
33
+ cursor: pointer;
 
 
34
  color: #777;
35
  background: #dfdfdf;
36
+ box-shadow: 1px 1px 0 rgba(255, 255, 255, 0.5) inset;
37
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
38
  text-decoration: none;
 
 
 
39
  -webkit-transition: .25s;
40
  -moz-transition: .25s;
41
  -ms-transition: .25s;
42
  -o-transition: .25s;
43
+ transition: .25s
44
  }
45
 
46
+ .wpulike-default .wp_ulike_btn:focus {
47
  outline: none;
48
+ border-color: #999
49
+ }
50
+
51
+ .wpulike-default .wp_ulike_btn:hover,
52
+ .wpulike-default .wp_ulike_btn:active {
53
+ text-decoration: none;
54
+ color: #EEE;
55
+ text-shadow: 0 1px 0 rgba(0, 0, 0, 0.3);
56
+ background-color: #bdc3c7;
57
+ border-color: #95a5a6
58
  }
59
 
60
+ .wpulike .wp_ulike_btn.wp_ulike_put_text {
61
+ padding: 2px 10px;
 
 
 
 
 
62
  }
63
 
64
+ .wpulike-default .wp_ulike_btn.wp_ulike_put_image{
65
  background-image: url(../img/icons/add.png);
66
+ background-repeat: no-repeat;
67
+ background-position: center center;
 
 
 
 
68
  }
69
 
70
+ .wpulike-default .wp_ulike_btn.wp_ulike_put_image.image-unlike {
71
+ background-image: url(../img/icons/remove.png)
 
 
 
72
  }
73
 
74
+ .wpulike-default .count-box {
75
  position: relative;
76
  display: inline-block;
77
  border: 1px solid #898F9C;
78
  border-radius: .25em;
79
  vertical-align: middle;
 
80
  color: #333;
81
  font-size: .75em;
82
  text-align: center;
88
  padding: .25em .5em;
89
  margin-left: .5em;
90
  line-height: 1em;
91
+ min-width: 2.25em
92
  }
93
 
94
+ .wpulike-default .count-box:before {
95
  content: '';
96
  width: .25em;
97
  height: .25em;
103
  top: 50%;
104
  margin-top: -.2em;
105
  border-left-color: #898F9C;
 
106
  -webkit-transform: rotate(45deg);
107
  -moz-transform: rotate(45deg);
108
  -ms-transform: rotate(45deg);
109
  -o-transform: rotate(45deg);
110
  transform: rotate(45deg);
111
+ filter: progid: DXImageTransform.Microsoft.Matrix(M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476, sizingMethod='auto expand')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
112
  }
113
+
114
+ .wpulike .wp_ulike_is_loading .wp_ulike_btn,
115
+ #buddypress .activity-content .wpulike .wp_ulike_is_loading .wp_ulike_btn,
116
+ #bbpress-forums .bbp-reply-content .wpulike .wp_ulike_is_loading .wp_ulike_btn {
117
+ background-image: url(../img/icons/loading.gif) !important;
118
+ background-repeat: no-repeat;
119
+ background-position: center center
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
120
  }
121
+
122
+ .wpulike .wp_ulike_is_loading .wp_ulike_btn span{
123
+ visibility: hidden;
 
124
  }
125
+
126
+ .wpulike-default .wp_ulike_hide_me {
127
+ visibility: hidden;
128
  }
129
 
130
+ /* buddyPress & bbPress fix styles */
131
+
132
+ #buddypress .activity ul.item-list li {
133
+ position: initial
 
 
 
 
 
134
  }
135
 
136
+ #buddypress div.activity-meta .tiles li a {
137
+ padding: 0
 
138
  }
139
 
140
+ #buddypress .activity-content .wpulike-default .count-box,
141
+ #bbpress-forums .bbp-reply-content .wpulike-default .count-box {
142
+ font-size: small;
143
+ padding: .3em .5em
144
  }
145
 
146
+ #buddypress div.activity-meta .wpulike-default .wp_ulike_btn {
147
+ padding: 12px 10px!important
 
148
  }
149
 
150
+ #buddypress div.activity-meta .wpulike-default .wp_ulike_btn.wp_ulike_put_text {
151
+ padding: 7px 10px!important
 
152
  }
153
 
154
+ #bbpress-forums .wpulike-default .wp_ulike_btn {
155
+ margin: 0;
156
+ display: inline-block;
157
+ border-radius: .25em;
158
+ border: 1px solid #d3d3d3;
159
+ line-height: 1em;
160
+ padding: .5em 1em;
161
+ font-size: 1em;
162
+ cursor: pointer;
163
+ vertical-align: middle;
164
+ color: #777;
165
+ background: #dfdfdf;
166
+ box-shadow: 1px 1px 0 rgba(255, 255, 255, 0.5) inset;
167
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
168
+ text-decoration: none
169
  }
170
 
171
+ #bbpress-forums .wpulike-default .wp_ulike_btn.wp_ulike_put_image {
172
+ background-image: url(../img/icons/add.png);
173
+ background-repeat: no-repeat;
174
+ background-position: center center;
175
+ padding: 1em 1.8em
 
 
 
 
 
176
  }
177
 
178
+ #bbpress-forums .wpulike-default .wp_ulike_btn.wp_ulike_put_image.image-unlike{
179
+ background-image: url(../img/icons/remove.png)
 
 
 
 
180
  }
181
 
182
+
183
+ /*
184
+ => Add Heart theme styles
185
+ */
186
+
187
+ .wpulike-heart .wp_ulike_general_class {
188
+ display: block;
189
+ border: 1px solid #E0E0E0;
190
+ background: url(../img/bg/button-love.png) no-repeat center right;
191
+ border-radius: 5px;
192
+ padding: 3px
193
  }
194
 
195
+ .wpulike-heart .wp_ulike_btn,
196
+ #buddypress .activity-content .wpulike-heart .wp_ulike_btn,
197
+ #bbpress-forums .bbp-reply-content .wpulike-heart .wp_ulike_btn {
198
+ border: none;
199
+ padding: 0 10px;
200
+ font-weight: 600;
201
+ box-shadow: none;
202
+ background: transparent;
203
+ border-right: 1px solid #d3d3d3;
204
+ border-radius: 0
205
  }
206
 
207
+ .wpulike-heart .wp_ulike_btn:hover,
208
+ .wpulike-heart .wp_ulike_btn:active {
209
+ background-color: transparent;
210
+ box-shadow: none;
211
+ color: #ef0000
 
212
  }
213
 
214
+ .wpulike-heart .wp_ulike_btn.wp_ulike_put_image,
215
+ #buddypress .activity-content .wpulike-heart .wp_ulike_btn.wp_ulike_put_image,
216
+ #bbpress-forums .bbp-reply-content .wpulike-heart .wp_ulike_btn.wp_ulike_put_image {
217
+ border: none;
218
+ box-shadow: none;
219
+ background-image: url(../img/icons/add-heart-16.png);
220
+ background-repeat: no-repeat!important;
221
+ background-position: center center!important;
222
+ padding: 11px 16px!important;
223
+ border-right: 1px solid #E0E0E0
224
  }
225
 
226
+ .wpulike-heart .wp_ulike_btn.wp_ulike_put_image.image-unlike,
227
+ #buddypress .activity-content .wpulike-heart .wp_ulike_btn.wp_ulike_put_image.image-unlike,
228
+ #bbpress-forums .bbp-reply-content .wpulike-heart .wp_ulike_btn.wp_ulike_put_image.image-unlike {
229
+ background-image: url(../img/icons/remove-heart-16.png)
 
 
 
 
 
 
 
 
 
230
  }
231
 
232
+ .wpulike-heart .wp_ulike_btn.wp_ulike_put_image:hover,
233
+ #buddypress .activity-content .wpulike-heart .wp_ulike_btn.wp_ulike_put_image:hover,
234
+ #bbpress-forums .bbp-reply-content .wpulike-heart .wp_ulike_btn.wp_ulike_put_image:hover {
235
+ background-image: url(../img/icons/add-heart-hover.png)
236
+ }
237
 
238
+ .wpulike-heart .wp_ulike_btn.wp_ulike_put_image.image-unlike:hover,
239
+ #buddypress .activity-content .wpulike-heart .wp_ulike_btn.wp_ulike_put_image.image-unlike:hover,
240
+ #bbpress-forums .bbp-reply-content .wpulike-heart .wp_ulike_btn.wp_ulike_put_image.image-unlike:hover {
241
+ background-image: url(../img/icons/remove-heart-hover.png)
 
242
  }
243
+
244
+ .wpulike-heart .count-box {
245
+ border: none;
246
+ vertical-align: middle;
247
+ background-color: transparent;
248
+ padding: .25em .5em;
249
+ margin-left: 0;
250
+ color: #525252;
251
+ font-size: .8em
252
  }
253
+
254
+ .wpulike-heart .count-box:before {
255
+ border: none;
256
+ background: transparent
257
  }
258
 
259
+ /*
260
+ => Add Robeen theme styles
261
+ */
262
+
263
+ .wpulike-robeen .count-box {
264
+ position: relative;
265
+ bottom: 18px;
266
+ right: 8px;
267
+ font-weight: 600;
268
+ }
269
+ .wpulike-robeen svg {
270
+ cursor: pointer;
271
+ overflow: visible;
272
+ width: 50px;
273
+ }
274
+ .wpulike-robeen svg .heart {
275
+ transform-origin: center;
276
+ animation: animateHeartOut .3s linear forwards;
277
+ }
278
+ .wpulike-robeen svg .main-circ {
279
+ transform-origin: 29.5px 29.5px;
280
+ }
281
+
282
+ .wpulike-robeen .wp_ulike_btn {
283
+ display: none !important;
284
+ }
285
+
286
+ .wpulike-robeen .wp_ulike_btn:checked + svg .heart {
287
+ transform: scale(0.2);
288
+ fill: #E2264D;
289
+ animation: animateHeart .3s linear forwards .25s;
290
+ }
291
+ .wpulike-robeen .wp_ulike_btn:checked + svg .main-circ {
292
+ transition: all 2s;
293
+ animation: animateCircle .3s linear forwards;
294
+ opacity: 1;
295
+ }
296
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp1 {
297
+ opacity: 1;
298
+ transition: .1s all .3s;
299
+ }
300
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp1 .oval1 {
301
+ transform: scale(0) translate(0, -30px);
302
+ transform-origin: 0 0 0;
303
+ transition: .5s transform .3s;
304
+ }
305
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp1 .oval2 {
306
+ transform: scale(0) translate(10px, -50px);
307
+ transform-origin: 0 0 0;
308
+ transition: 1.5s transform .3s;
309
+ }
310
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp2 {
311
+ opacity: 1;
312
+ transition: .1s all .3s;
313
+ }
314
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp2 .oval1 {
315
+ transform: scale(0) translate(30px, -15px);
316
+ transform-origin: 0 0 0;
317
+ transition: .5s transform .3s;
318
+ }
319
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp2 .oval2 {
320
+ transform: scale(0) translate(60px, -15px);
321
+ transform-origin: 0 0 0;
322
+ transition: 1.5s transform .3s;
323
+ }
324
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp3 {
325
+ opacity: 1;
326
+ transition: .1s all .3s;
327
+ }
328
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp3 .oval1 {
329
+ transform: scale(0) translate(30px, 0px);
330
+ transform-origin: 0 0 0;
331
+ transition: .5s transform .3s;
332
+ }
333
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp3 .oval2 {
334
+ transform: scale(0) translate(60px, 10px);
335
+ transform-origin: 0 0 0;
336
+ transition: 1.5s transform .3s;
337
+ }
338
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp4 {
339
+ opacity: 1;
340
+ transition: .1s all .3s;
341
+ }
342
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp4 .oval1 {
343
+ transform: scale(0) translate(30px, 15px);
344
+ transform-origin: 0 0 0;
345
+ transition: .5s transform .3s;
346
+ }
347
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp4 .oval2 {
348
+ transform: scale(0) translate(40px, 50px);
349
+ transform-origin: 0 0 0;
350
+ transition: 1.5s transform .3s;
351
+ }
352
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp5 {
353
+ opacity: 1;
354
+ transition: .1s all .3s;
355
+ }
356
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp5 .oval1 {
357
+ transform: scale(0) translate(-10px, 20px);
358
+ transform-origin: 0 0 0;
359
+ transition: .5s transform .3s;
360
+ }
361
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp5 .oval2 {
362
+ transform: scale(0) translate(-60px, 30px);
363
+ transform-origin: 0 0 0;
364
+ transition: 1.5s transform .3s;
365
+ }
366
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp6 {
367
+ opacity: 1;
368
+ transition: .1s all .3s;
369
+ }
370
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp6 .oval1 {
371
+ transform: scale(0) translate(-30px, 0px);
372
+ transform-origin: 0 0 0;
373
+ transition: .5s transform .3s;
374
+ }
375
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp6 .oval2 {
376
+ transform: scale(0) translate(-60px, -5px);
377
+ transform-origin: 0 0 0;
378
+ transition: 1.5s transform .3s;
379
+ }
380
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp7 {
381
+ opacity: 1;
382
+ transition: .1s all .3s;
383
+ }
384
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp7 .oval1 {
385
+ transform: scale(0) translate(-30px, -15px);
386
+ transform-origin: 0 0 0;
387
+ transition: .5s transform .3s;
388
+ }
389
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp7 .oval2 {
390
+ transform: scale(0) translate(-55px, -30px);
391
+ transform-origin: 0 0 0;
392
+ transition: 1.5s transform .3s;
393
+ }
394
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp2 {
395
+ opacity: 1;
396
+ transition: .1s opacity .3s;
397
+ }
398
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp3 {
399
+ opacity: 1;
400
+ transition: .1s opacity .3s;
401
+ }
402
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp4 {
403
+ opacity: 1;
404
+ transition: .1s opacity .3s;
405
+ }
406
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp5 {
407
+ opacity: 1;
408
+ transition: .1s opacity .3s;
409
+ }
410
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp6 {
411
+ opacity: 1;
412
+ transition: .1s opacity .3s;
413
+ }
414
+ .wpulike-robeen .wp_ulike_btn:checked + svg .grp7 {
415
+ opacity: 1;
416
+ transition: .1s opacity .3s;
417
+ }
418
+
419
+ @keyframes animateCircle {
420
+ 40% {
421
+ transform: scale(10);
422
+ opacity: 1;
423
+ fill: #DD4688;
424
+ }
425
+ 55% {
426
+ transform: scale(11);
427
+ opacity: 1;
428
+ fill: #D46ABF;
429
+ }
430
+ 65% {
431
+ transform: scale(12);
432
+ opacity: 1;
433
+ fill: #CC8EF5;
434
+ }
435
+ 75% {
436
+ transform: scale(13);
437
+ opacity: 1;
438
+ fill: transparent;
439
+ stroke: #CC8EF5;
440
+ stroke-width: .5;
441
+ }
442
+ 85% {
443
+ transform: scale(17);
444
+ opacity: 1;
445
+ fill: transparent;
446
+ stroke: #CC8EF5;
447
+ stroke-width: .2;
448
+ }
449
+ 95% {
450
+ transform: scale(18);
451
+ opacity: 1;
452
+ fill: transparent;
453
+ stroke: #CC8EF5;
454
+ stroke-width: .1;
455
+ }
456
+ 100% {
457
+ transform: scale(19);
458
+ opacity: 1;
459
+ fill: transparent;
460
+ stroke: #CC8EF5;
461
+ stroke-width: 0;
462
+ }
463
+ }
464
+ @keyframes animateHeart {
465
+ 0% {
466
+ transform: scale(0.2);
467
+ }
468
+ 40% {
469
+ transform: scale(1.2);
470
+ }
471
+ 100% {
472
+ transform: scale(1);
473
+ }
474
+ }
475
+ @keyframes animateHeartOut {
476
+ 0% {
477
+ transform: scale(1.4);
478
+ }
479
+ 100% {
480
+ transform: scale(1);
481
+ }
482
+ }
483
+
484
+
485
+ /*
486
+ => Right To Left (RTL) languages support
487
+ */
488
+
489
+ .rtl .wpulike-default .count-box {
490
+ margin-right: .5em;
491
+ margin-left: inherit
492
  }
493
 
494
+ .rtl .wpulike-default .count-box:before {
495
+ right: -.2125em;
496
+ left: inherit;
497
+ border-color: #898F9C #898F9C transparent transparent
498
  }
499
 
500
+ .rtl .wpulike-heart .wp_ulike_btn,
501
+ .rtl #buddypress .activity-content .wpulike-heart .wp_ulike_btn,
502
+ .rtl #bbpress-forums .wpulike-heart .wp_ulike_btn {
503
+ border-left: 1px solid #d3d3d3;
504
+ border-right: 0
505
  }
506
 
507
+ .rtl .wpulike-heart .wp_ulike_btn.wp_ulike_put_image,
508
+ .rtl #buddypress .activity-content .wpulike-heart .wp_ulike_btn.wp_ulike_put_image,
509
+ .rtl #bbpress-forums .wpulike-heart .wp_ulike_btn.wp_ulike_put_image,
510
+ .rtl .wpulike-heart .wp_ulike_is_loading .wp_ulike_btn,
511
+ .rtl #buddypress .activity-content .wpulike-heart wp_ulike_is_loading .wp_ulike_btn,
512
+ .rtl #bbpress-forums .wpulike-heart wp_ulike_is_loading .wp_ulike_btn {
513
+ border-left: 1px solid #E0E0E0;
514
+ border-right: 0
515
  }
516
 
517
+ .rtl .wpulike-robeen .count-box {
518
+ right: inherit;
519
+ left: 8px;
520
  }
521
+
522
+ .rtl .wpulike-heart .count-box {
523
+ margin-right: 0;
524
+ margin-left: inherit
525
  }
526
+
527
+ .rtl .commentlist .tiles .avatar {
528
+ left: inherit!important;
529
+ right: 0!important
 
 
 
 
 
 
 
 
 
530
  }
531
 
532
+ .rtl .wp_ulike_thumbnail,
533
+ .rtl .most_liked_comment .avatar {
534
+ margin: 0 0 0 10px
535
+ }
536
 
537
+ .rtl .wp_ulike_style_love .wp_counter_span {
538
+ float: left;
539
+ background: #F1F1F1 url(../img/icons/heart.png) no-repeat scroll 85% center;
540
+ margin: 2px 2px 0 0;
541
+ padding: 0 23px 0 5px
542
  }
543
 
544
+
545
+ /*
546
+ => widgets & likers box
547
+ */
548
+
549
+ .tiles,
550
+ .most_liked_users {
551
+ list-style-type: none!important;
552
+ position: relative!important;
553
+ margin: 10px 0!important;
554
+ padding: 0!important
555
  }
556
 
557
+ .tiles li,
558
+ .most_liked_users li {
559
+ display: inline-table!important;
560
+ cursor: pointer!important
561
  }
562
 
563
+ .most_liked_users li {
564
+ margin: 0 2px!important
565
  }
566
 
567
+ .tiles li.inactive,
568
+ .most_liked_users li.inactive {
569
+ visibility: hidden!important;
570
+ opacity: 0!important
571
  }
572
 
573
+ .tiles li img,
574
+ .most_liked_users li img {
575
+ display: block!important;
576
+ float: none!important
577
+ }
 
 
 
 
 
578
 
579
+ .commentlist .tiles .avatar {
580
+ left: 0!important
 
 
 
581
  }
582
 
583
+ .wp_ulike_thumbnail,
584
+ .most_liked_comment .avatar {
585
+ vertical-align: middle;
586
+ margin: 0 10px 0 0
587
+ }
588
+
589
+ .wp_ulike_style_simple .wp_counter_span:before {
590
+ content: "("
591
  }
592
 
593
+ .wp_ulike_style_simple .wp_counter_span:after {
594
+ content: ")"
595
  }
596
 
597
+ .wp_ulike_style_love .wp_counter_span {
598
+ float: right;
599
+ display: inline-block;
600
+ background: #f1f1f1 url(../img/icons/heart.png) 5px center no-repeat;
601
+ color: #333;
602
+ font-size: 9px;
603
+ line-height: 17px;
604
+ font-weight: 400;
605
+ margin: 2px 0 0 2px;
606
+ vertical-align: middle;
607
+ border-radius: 10px;
608
+ padding: 0 5px 0 23px;
609
+ z-index: 26
610
  }
611
 
612
+ /*
613
+ => toastr plugin styles
614
+ */
615
 
616
+ .toast-title {
617
+ font-weight: 700
 
 
 
 
618
  }
619
 
620
+ .toast-message {
621
+ -ms-word-wrap: break-word;
622
+ word-wrap: break-word
 
 
 
 
623
  }
624
 
625
+ .toast-message a,
626
+ .toast-message label {
627
+ color: #FFF
 
 
628
  }
629
 
630
+ .toast-message a:hover {
631
+ color: #CCC;
632
+ text-decoration: none
 
 
 
 
 
633
  }
634
 
635
+ .toast-close-button {
636
+ position: relative;
637
+ right: -.3em;
638
+ top: -.3em;
639
+ float: right;
640
+ font-size: 20px;
641
+ font-weight: 700;
642
+ color: #FFF;
643
+ -webkit-text-shadow: 0 1px 0 #fff;
644
+ text-shadow: 0 1px 0 #fff;
645
+ opacity: .8;
646
+ -ms-filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=80);
647
+ filter: alpha(opacity=80);
648
+ line-height: 1
649
  }
650
 
651
+ .toast-close-button:focus,
652
+ .toast-close-button:hover {
653
+ color: #000;
654
+ text-decoration: none;
655
+ cursor: pointer;
656
+ opacity: .4;
657
+ -ms-filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=40);
658
+ filter: alpha(opacity=40)
659
  }
660
 
661
+ .rtl .toast-close-button {
662
+ left: -.3em;
663
+ float: left;
664
+ right: .3em
665
  }
666
 
667
+ button.toast-close-button {
668
+ padding: 0;
669
+ cursor: pointer;
670
+ background: 0 0;
671
+ border: 0;
672
+ -webkit-appearance: none
 
673
  }
674
 
675
+ .toast-top-center {
676
+ top: 0;
677
+ right: 0;
678
+ width: 100%
 
 
 
 
679
  }
680
 
681
+ .toast-bottom-center {
682
+ bottom: 0;
683
+ right: 0;
684
+ width: 100%
685
  }
686
 
687
+ .toast-top-full-width {
688
+ top: 0;
689
+ right: 0;
690
+ width: 100%
691
+ }
692
 
693
+ .toast-bottom-full-width {
694
+ bottom: 0;
695
+ right: 0;
696
+ width: 100%
697
  }
698
 
699
+ .toast-top-left {
700
+ top: 12px;
701
+ left: 12px
 
 
 
 
702
  }
703
 
704
+ .toast-top-right {
705
+ top: 12px;
706
+ right: 12px
707
  }
708
 
709
+ .toast-bottom-right {
710
+ right: 12px;
711
+ bottom: 12px
712
  }
713
 
714
+ .toast-bottom-left {
715
+ bottom: 12px;
716
+ left: 12px
717
  }
718
 
719
+ #toast-container {
720
+ position: fixed;
721
+ z-index: 999999;
722
+ pointer-events: none
723
  }
724
+
725
+ #toast-container * {
726
+ -moz-box-sizing: border-box;
727
+ -webkit-box-sizing: border-box;
728
+ box-sizing: border-box
729
  }
730
 
731
+ #toast-container>div {
732
+ position: relative;
733
+ pointer-events: auto;
734
+ overflow: hidden;
735
+ margin: 0 0 6px;
736
+ padding: 15px 15px 15px 50px;
737
+ width: 300px;
738
+ -moz-border-radius: 3px;
739
+ -webkit-border-radius: 3px;
740
+ border-radius: 3px;
741
+ background-position: 15px center;
742
+ background-repeat: no-repeat;
743
+ -moz-box-shadow: 0 0 12px #999;
744
+ -webkit-box-shadow: 0 0 12px #999;
745
+ box-shadow: 0 0 12px #999;
746
+ color: #FFF;
747
+ opacity: .8;
748
+ -ms-filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=80);
749
+ filter: alpha(opacity=80)
750
  }
751
 
752
+ #toast-container>div.rtl {
753
+ direction: rtl;
754
+ padding: 15px 50px 15px 15px;
755
+ background-position: right 15px center
756
  }
757
 
758
+ #toast-container>div:hover {
759
+ -moz-box-shadow: 0 0 12px #000;
760
+ -webkit-box-shadow: 0 0 12px #000;
761
+ box-shadow: 0 0 12px #000;
762
+ opacity: 1;
763
+ -ms-filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=100);
764
+ filter: alpha(opacity=100);
765
+ cursor: pointer
766
  }
767
 
768
+ #toast-container>.toast-info {
769
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=)!important
 
 
 
770
  }
771
 
772
+ #toast-container>.toast-error {
773
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=)!important
774
+ }
775
+
776
+ #toast-container>.toast-success {
777
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==)!important
778
+ }
779
+
780
+ #toast-container>.toast-warning {
781
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important
782
+ }
783
+
784
+ #toast-container.toast-bottom-center>div,
785
+ #toast-container.toast-top-center>div {
786
+ width: 300px;
787
+ margin-left: auto;
788
+ margin-right: auto
789
+ }
790
 
791
+ #toast-container.toast-bottom-full-width>div,
792
+ #toast-container.toast-top-full-width>div {
793
+ width: 96%;
794
+ margin-left: auto;
795
+ margin-right: auto
796
+ }
797
+
798
+ .toast {
799
+ background-color: #030303
800
+ }
801
 
802
+ .toast-success {
803
+ background-color: #51A351
804
+ }
805
 
806
+ .toast-error {
807
+ background-color: #BD362F
808
+ }
809
 
810
+ .toast-info {
811
+ background-color: #2F96B4
812
+ }
813
 
814
+ .toast-warning {
815
+ background-color: #F89406
816
+ }
817
 
818
+ .toast-progress {
819
+ position: absolute;
820
+ left: 0;
821
+ bottom: 0;
822
+ height: 4px;
823
+ background-color: #000;
824
+ opacity: .4;
825
+ -ms-filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=40);
826
+ filter: alpha(opacity=40)
827
+ }
828
+
829
+ @media all and (max-width:240px) {
830
+ #toast-container>div {
831
+ padding: 8px 8px 8px 50px;
832
+ width: 11em
833
+ }
834
+ #toast-container>div.rtl {
835
+ padding: 8px 50px 8px 8px
836
+ }
837
+ #toast-container .toast-close-button {
838
+ right: -.2em;
839
+ top: -.2em
840
+ }
841
+ #toast-container .rtl .toast-close-button {
842
+ left: -.2em;
843
+ right: .2em
844
+ }
845
+ }
846
+
847
+ @media all and (min-width:241px) and (max-width:480px) {
848
+ #toast-container>div {
849
+ padding: 8px 8px 8px 50px;
850
+ width: 18em
851
+ }
852
+ #toast-container>div.rtl {
853
+ padding: 8px 50px 8px 8px
854
+ }
855
+ #toast-container .toast-close-button {
856
+ right: -.2em;
857
+ top: -.2em
858
+ }
859
+ #toast-container .rtl .toast-close-button {
860
+ left: -.2em;
861
+ right: .2em
862
+ }
863
+ }
864
+
865
+ @media all and (min-width:481px) and (max-width:768px) {
866
+ #toast-container>div {
867
+ padding: 15px 15px 15px 50px;
868
+ width: 25em
869
+ }
870
+ #toast-container>div.rtl {
871
+ padding: 15px 50px 15px 15px
872
+ }
873
+ }
assets/css/wp-ulike.min.css CHANGED
@@ -1,9 +1,6 @@
1
  /**
2
- * WP ULike Plugin 2.4.1
3
- *
4
- * http://wordpress.org/plugins/wp-ulike/
5
- * https://github.com/Alimir/wp-ulike
6
- *
7
  */
8
 
9
- .wpulike{display:inline-block;position:relative;vertical-align:middle;line-height:1;margin:0}.wpulike .counter a{margin:0;display:inline-block;border-radius:.25em;border:1px solid #d3d3d3;vertical-align:middle;line-height:1em;padding:.25em .5em;font-size:.75em;cursor:pointer;max-height:25px;color:#777;background:#dfdfdf;box-shadow:1px 1px 0 rgba(255,255,255,0.5) inset;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-decoration:none;-webkit-transition:.25s;-moz-transition:.25s;-ms-transition:.25s;-o-transition:.25s;transition:.25s}.wpulike .counter a:focus{outline:none;border-color:#999}.wpulike .counter a:hover,.wpulike .counter a:active{text-decoration:none;color:#EEE;text-shadow:0 1px 0 rgba(0,0,0,0.3);background-color:#bdc3c7;border-color:#95a5a6}.wpulike .counter a.image,.wpulike .counter a.image-unlike{background-image:url(../img/icons/add.png);background-repeat:no-repeat;background-position:center center;padding:10px 20px}.wpulike .counter a.image-unlike{background-image:url(../img/icons/remove.png)}.wpulike .counter a.loading{background-image:url(../img/icons/loading.gif);background-repeat:no-repeat;background-position:center center;padding:10px 20px}.wpulike .count-box{position:relative;display:inline-block;border:1px solid #898F9C;border-radius:.25em;vertical-align:middle;color:#333;font-size:.75em;text-align:center;text-decoration:none;background-color:#fff;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:.25em .5em;margin-left:.5em;line-height:1em;min-width:2.25em}.wpulike .count-box:before{content:'';width:.25em;height:.25em;position:absolute;border:1px solid transparent;background:#fff;border-bottom-color:#898F9C;left:-.2125em;top:50%;margin-top:-.2em;border-left-color:#898F9C;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg);filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865476,M12=-0.7071067811865475,M21=0.7071067811865475,M22=0.7071067811865476,sizingMethod='auto expand')}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert > p,.alert > ul{margin-bottom:0}.alert > p + p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.tooltip{position:absolute;z-index:1030;display:block;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#FFF;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.tiles,.most_liked_users{list-style-type:none!important;position:relative!important;margin:10px 0!important;padding:0!important}.tiles li,.most_liked_users li{display:inline-table!important;cursor:pointer!important}.most_liked_users li{margin:0 2px!important}.tiles li.inactive,.most_liked_users li.inactive{visibility:hidden!important;opacity:0!important}.tiles li img,.most_liked_users li img{display:block!important;float:none!important}.commentlist .tiles .avatar{left:0!important}.wp_ulike_thumbnail,.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}#buddypress .activity ul.item-list li{position:initial}#buddypress div.activity-meta .tiles li a{padding:0}#buddypress .activity-content .wpulike .count-box,#bbpress-forums .bbp-reply-content .wpulike .count-box{font-size:small;padding:.3em .5em}#buddypress div.activity-meta .wpulike .counter a{padding:12px 20px!important}#buddypress div.activity-meta .wpulike .counter a.text{padding:7px 20px!important}#bbpress-forums .bbp-reply-content .wpulike .counter a.text,#bbpress-forums .bbp-reply-content .wpulike .counter a.image,#bbpress-forums .bbp-reply-content .wpulike .counter a.image-unlike,#bbpress-forums .bbp-reply-content .wpulike .counter a.loading{margin:0;display:inline-block;border-radius:.25em;border:1px solid #d3d3d3;line-height:1em;padding:.5em 1em;font-size:1em;cursor:pointer;vertical-align:middle;color:#777;background:#dfdfdf;box-shadow:1px 1px 0 rgba(255,255,255,0.5) inset;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-decoration:none}#bbpress-forums .bbp-reply-content .wpulike .counter a.image,#bbpress-forums .bbp-reply-content .wpulike .counter a.image-unlike{background-image:url(../img/icons/add.png);background-repeat:no-repeat;background-position:center center;padding:1em 1.8em}#bbpress-forums .bbp-reply-content .wpulike .counter a.image-unlike{background-image:url(../img/icons/remove.png)}#bbpress-forums .bbp-reply-content .wpulike .counter a.loading{background-image:url(../img/icons/loading.gif);background-repeat:no-repeat;background-position:center center;padding:1em 1.8em}.wpulike-heart .counter{border:1px solid #E0E0E0;background:url(../img/bg/button-love.png) no-repeat center right;border-radius:5px;padding:2px;max-height:30px}.wpulike-heart .counter a,#buddypress .wpulike-heart .counter a,#bbpress-forums .bbp-reply-content .wpulike-heart .counter a.text,#bbpress-forums .bbp-reply-content .wpulike-heart .counter a.image,#bbpress-forums .bbp-reply-content .wpulike-heart .counter a.image-unlike,#bbpress-forums .bbp-reply-content .wpulike-heart .counter a.loading{border:none;font-weight:700;box-shadow:none;background:transparent;border-right:1px solid #d3d3d3;border-radius:0}.wpulike-heart .counter a:hover,.wpulike-heart .counter a:active{background-color:transparent;box-shadow:none;color:#ef0000}.wpulike-heart .counter a.image,.wpulike-heart .counter a.image-unlike,#buddypress .activity-content .wpulike-heart .counter a.image,#buddypress .activity-content .wpulike-heart .counter a.image-unlike,#bbpress-forums .bbp-reply-content .wpulike-heart .counter a.image,#bbpress-forums .bbp-reply-content .wpulike-heart .counter a.image-unlike{border:none;box-shadow:none;background-image:url(../img/icons/add-heart-16.png)!important;background-repeat:no-repeat!important;background-position:center center!important;padding:11px 16px!important;border-right:1px solid #E0E0E0}.wpulike-heart .counter a.image-unlike,#buddypress .activity-content .wpulike-heart .counter a.image-unlike,#bbpress-forums .bbp-reply-content .wpulike-heart .counter a.image-unlike{background-image:url(../img/icons/remove-heart-16.png)!important}.wpulike-heart .counter a.image:hover{background-image:url(../img/icons/add-heart-hover.png)!important}.wpulike-heart .counter a.image-unlike:hover{background-image:url(../img/icons/remove-heart-hover.png)!important}.wpulike-heart .counter a.loading,#buddypress .activity-content .wpulike-heart .counter a.loading,#bbpress-forums .bbp-reply-content .wpulike-heart .counter a.loading{animation:none;background-image:url(../img/icons/loading.gif)!important;background-repeat:no-repeat!important;background-position:center center!important;padding:11px 15px!important;border-right:1px solid #E0E0E0}.wpulike-heart .count-box{border:none;vertical-align:middle;background-color:transparent;padding:.25em .5em;margin-left:0;color:#525252;font-size:.8em}.wpulike-heart .count-box:before{border:none;background:transparent}.rtl .wpulike .count-box{margin-right:.5em;margin-left:inherit}.rtl .wpulike .count-box:before{right:-.2125em;left:inherit;border-color:#898F9C #898F9C transparent transparent}.rtl .wpulike-heart .counter a,.rtl #buddypress .wpulike-heart .counter a,.rtl #bbpress-forums .bbp-reply-content .wpulike-heart .counter a.text,.rtl #bbpress-forums .bbp-reply-content .wpulike-heart .counter a.image,.rtl #bbpress-forums .bbp-reply-content .wpulike-heart .counter a.image-unlike,.rtl #bbpress-forums .bbp-reply-content .wpulike-heart .counter a.loading{border-left:1px solid #d3d3d3;border-right:0}.rtl .wpulike-heart .counter a.image,.rtl .wpulike-heart .counter a.image-unlike,.rtl #buddypress .activity-content .wpulike-heart .counter a.image,.rtl #buddypress .activity-content .wpulike-heart .counter a.image-unlike,#bbpress-forums .bbp-reply-content .wpulike-heart .counter a.image,.rtl #bbpress-forums .bbp-reply-content .wpulike-heart .counter a.image-unlike,.rtl .wpulike-heart .counter a.loading,.rtl #buddypress .activity-content .wpulike-heart .counter a.loading,.rtl #bbpress-forums .bbp-reply-content .wpulike-heart .counter a.loading{border-left:1px solid #E0E0E0;border-right:0}.rtl .wpulike-heart .count-box{margin-right:0;margin-left:inherit}.rtl .alert-dismissable,.rtl .alert-dismissible{padding-right:0;padding-left:35px}.rtl .alert-dismissable .close,.rtl .alert-dismissible .close{right:inherit;left:-21px}.rtl .close{float:left}.rtl .commentlist .tiles .avatar{left:inherit!important;right:0!important}.rtl .wp_ulike_thumbnail,.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}.toast-title{font-weight:700}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a,.toast-message label{color:#FFF}.toast-message a:hover{color:#CCC;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#FFF;-webkit-text-shadow:0 1px 0 #fff;text-shadow:0 1px 0 #fff;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80);line-height:1}.toast-close-button:focus,.toast-close-button:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}.rtl .toast-close-button{left:-.3em;float:left;right:.3em}button.toast-close-button{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999;pointer-events:none}#toast-container *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#toast-container>div{position:relative;pointer-events:auto;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-position:15px center;background-repeat:no-repeat;-moz-box-shadow:0 0 12px #999;-webkit-box-shadow:0 0 12px #999;box-shadow:0 0 12px #999;color:#FFF;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80)}#toast-container>div.rtl{direction:rtl;padding:15px 50px 15px 15px;background-position:right 15px center}#toast-container>div:hover{-moz-box-shadow:0 0 12px #000;-webkit-box-shadow:0 0 12px #000;box-shadow:0 0 12px #000;opacity:1;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);filter:alpha(opacity=100);cursor:pointer}#toast-container>.toast-info{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=)!important}#toast-container>.toast-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=)!important}#toast-container>.toast-success{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==)!important}#toast-container>.toast-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important}#toast-container.toast-bottom-center>div,#toast-container.toast-top-center>div{width:300px;margin-left:auto;margin-right:auto}#toast-container.toast-bottom-full-width>div,#toast-container.toast-top-full-width>div{width:96%;margin-left:auto;margin-right:auto}.toast{background-color:#030303}.toast-success{background-color:#51A351}.toast-error{background-color:#BD362F}.toast-info{background-color:#2F96B4}.toast-warning{background-color:#F89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}@media all and (max-width:240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:241px) and (max-width:480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:481px) and (max-width:768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}#toast-container>div.rtl{padding:15px 50px 15px 15px}}
1
  /**
2
+ * WP ULike 2.8
3
+ * @author Alimir [https://wordpress.org/plugins/wp-ulike/]
 
 
 
4
  */
5
 
6
+ .wpulike{display:inline-block;position:relative;vertical-align:middle;overflow:hidden;line-height:normal;margin:0}.wp_ulike_click_is_disabled{pointer-events:none;cursor:default}.wpulike .wp_ulike_btn{margin:0;display:inline-block;border-radius:.25em;border:1px solid #d3d3d3;vertical-align:middle;line-height:normal;padding:10px 20px;font-size:.75em;cursor:pointer;color:#777;background:#dfdfdf;box-shadow:1px 1px 0 rgba(255,255,255,0.5) inset;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-decoration:none;-webkit-transition:.25s;-moz-transition:.25s;-ms-transition:.25s;-o-transition:.25s;transition:.25s}.wpulike-default .wp_ulike_btn:focus{outline:none;border-color:#999}.wpulike-default .wp_ulike_btn:hover,.wpulike-default .wp_ulike_btn:active{text-decoration:none;color:#EEE;text-shadow:0 1px 0 rgba(0,0,0,0.3);background-color:#bdc3c7;border-color:#95a5a6}.wpulike .wp_ulike_btn.wp_ulike_put_text{padding:2px 10px}.wpulike-default .wp_ulike_btn.wp_ulike_put_image{background-image:url(../img/icons/add.png);background-repeat:no-repeat;background-position:center center}.wpulike-default .wp_ulike_btn.wp_ulike_put_image.image-unlike{background-image:url(../img/icons/remove.png)}.wpulike-default .count-box{position:relative;display:inline-block;border:1px solid #898F9C;border-radius:.25em;vertical-align:middle;color:#333;font-size:.75em;text-align:center;text-decoration:none;background-color:#fff;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:.25em .5em;margin-left:.5em;line-height:1em;min-width:2.25em}.wpulike-default .count-box:before{content:'';width:.25em;height:.25em;position:absolute;border:1px solid transparent;background:#fff;border-bottom-color:#898F9C;left:-.2125em;top:50%;margin-top:-.2em;border-left-color:#898F9C;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg);filter:progid: DXImageTransform.Microsoft.Matrix(M11=0.7071067811865476,M12=-0.7071067811865475,M21=0.7071067811865475,M22=0.7071067811865476,sizingMethod='auto expand')}.wpulike .wp_ulike_is_loading .wp_ulike_btn,#buddypress .activity-content .wpulike .wp_ulike_is_loading .wp_ulike_btn,#bbpress-forums .bbp-reply-content .wpulike .wp_ulike_is_loading .wp_ulike_btn{background-image:url(../img/icons/loading.gif)!important;background-repeat:no-repeat;background-position:center center}.wpulike .wp_ulike_is_loading .wp_ulike_btn span{visibility:hidden}.wpulike-default .wp_ulike_hide_me{visibility:hidden}#buddypress .activity ul.item-list li{position:initial}#buddypress div.activity-meta .tiles li a{padding:0}#buddypress .activity-content .wpulike-default .count-box,#bbpress-forums .bbp-reply-content .wpulike-default .count-box{font-size:small;padding:.3em .5em}#buddypress div.activity-meta .wpulike-default .wp_ulike_btn{padding:12px 10px!important}#buddypress div.activity-meta .wpulike-default .wp_ulike_btn.wp_ulike_put_text{padding:7px 10px!important}#bbpress-forums .wpulike-default .wp_ulike_btn{margin:0;display:inline-block;border-radius:.25em;border:1px solid #d3d3d3;line-height:1em;padding:.5em 1em;font-size:1em;cursor:pointer;vertical-align:middle;color:#777;background:#dfdfdf;box-shadow:1px 1px 0 rgba(255,255,255,0.5) inset;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-decoration:none}#bbpress-forums .wpulike-default .wp_ulike_btn.wp_ulike_put_image{background-image:url(../img/icons/add.png);background-repeat:no-repeat;background-position:center center;padding:1em 1.8em}#bbpress-forums .wpulike-default .wp_ulike_btn.wp_ulike_put_image.image-unlike{background-image:url(../img/icons/remove.png)}.wpulike-heart .wp_ulike_general_class{display:block;border:1px solid #E0E0E0;background:url(../img/bg/button-love.png) no-repeat center right;border-radius:5px;padding:3px}.wpulike-heart .wp_ulike_btn,#buddypress .activity-content .wpulike-heart .wp_ulike_btn,#bbpress-forums .bbp-reply-content .wpulike-heart .wp_ulike_btn{border:none;padding:0 10px;font-weight:600;box-shadow:none;background:transparent;border-right:1px solid #d3d3d3;border-radius:0}.wpulike-heart .wp_ulike_btn:hover,.wpulike-heart .wp_ulike_btn:active{background-color:transparent;box-shadow:none;color:#ef0000}.wpulike-heart .wp_ulike_btn.wp_ulike_put_image,#buddypress .activity-content .wpulike-heart .wp_ulike_btn.wp_ulike_put_image,#bbpress-forums .bbp-reply-content .wpulike-heart .wp_ulike_btn.wp_ulike_put_image{border:none;box-shadow:none;background-image:url(../img/icons/add-heart-16.png);background-repeat:no-repeat!important;background-position:center center!important;padding:11px 16px!important;border-right:1px solid #E0E0E0}.wpulike-heart .wp_ulike_btn.wp_ulike_put_image.image-unlike,#buddypress .activity-content .wpulike-heart .wp_ulike_btn.wp_ulike_put_image.image-unlike,#bbpress-forums .bbp-reply-content .wpulike-heart .wp_ulike_btn.wp_ulike_put_image.image-unlike{background-image:url(../img/icons/remove-heart-16.png)}.wpulike-heart .wp_ulike_btn.wp_ulike_put_image:hover,#buddypress .activity-content .wpulike-heart .wp_ulike_btn.wp_ulike_put_image:hover,#bbpress-forums .bbp-reply-content .wpulike-heart .wp_ulike_btn.wp_ulike_put_image:hover{background-image:url(../img/icons/add-heart-hover.png)}.wpulike-heart .wp_ulike_btn.wp_ulike_put_image.image-unlike:hover,#buddypress .activity-content .wpulike-heart .wp_ulike_btn.wp_ulike_put_image.image-unlike:hover,#bbpress-forums .bbp-reply-content .wpulike-heart .wp_ulike_btn.wp_ulike_put_image.image-unlike:hover{background-image:url(../img/icons/remove-heart-hover.png)}.wpulike-heart .count-box{border:none;vertical-align:middle;background-color:transparent;padding:.25em .5em;margin-left:0;color:#525252;font-size:.8em}.wpulike-heart .count-box:before{border:none;background:transparent}.wpulike-robeen .count-box{position:relative;bottom:18px;right:8px;font-weight:600}.wpulike-robeen svg{cursor:pointer;overflow:visible;width:50px}.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(0.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}.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}.wpulike-robeen .wp_ulike_btn:checked + svg .grp3 .oval1{transform:scale(0) translate(30px,0px);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}.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}.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}.wpulike-robeen .wp_ulike_btn:checked + svg .grp6 .oval1{transform:scale(0) translate(-30px,0px);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}.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}.wpulike-robeen .wp_ulike_btn:checked + svg .grp2{opacity:1;transition:.1s opacity .3s}.wpulike-robeen .wp_ulike_btn:checked + svg .grp3{opacity:1;transition:.1s opacity .3s}.wpulike-robeen .wp_ulike_btn:checked + svg .grp4{opacity:1;transition:.1s opacity .3s}.wpulike-robeen .wp_ulike_btn:checked + svg .grp5{opacity:1;transition:.1s opacity .3s}.wpulike-robeen .wp_ulike_btn:checked + svg .grp6{opacity:1;transition:.1s opacity .3s}.wpulike-robeen .wp_ulike_btn:checked + svg .grp7{opacity:1;transition:.1s opacity .3s}@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(0.2)}40%{transform:scale(1.2)}100%{transform:scale(1)}}@keyframes animateHeartOut{0%{transform:scale(1.4)}100%{transform:scale(1)}}.rtl .wpulike-default .count-box{margin-right:.5em;margin-left:inherit}.rtl .wpulike-default .count-box:before{right:-.2125em;left:inherit;border-color:#898F9C #898F9C transparent transparent}.rtl .wpulike-heart .wp_ulike_btn,.rtl #buddypress .activity-content .wpulike-heart .wp_ulike_btn,.rtl #bbpress-forums .wpulike-heart .wp_ulike_btn{border-left:1px solid #d3d3d3;border-right:0}.rtl .wpulike-heart .wp_ulike_btn.wp_ulike_put_image,.rtl #buddypress .activity-content .wpulike-heart .wp_ulike_btn.wp_ulike_put_image,.rtl #bbpress-forums .wpulike-heart .wp_ulike_btn.wp_ulike_put_image,.rtl .wpulike-heart .wp_ulike_is_loading .wp_ulike_btn,.rtl #buddypress .activity-content .wpulike-heart wp_ulike_is_loading .wp_ulike_btn,.rtl #bbpress-forums .wpulike-heart wp_ulike_is_loading .wp_ulike_btn{border-left:1px solid #E0E0E0;border-right:0}.rtl .wpulike-robeen .count-box{right:inherit;left:8px}.rtl .wpulike-heart .count-box{margin-right:0;margin-left:inherit}.rtl .commentlist .tiles .avatar{left:inherit!important;right:0!important}.rtl .wp_ulike_thumbnail,.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}.tiles,.most_liked_users{list-style-type:none!important;position:relative!important;margin:10px 0!important;padding:0!important}.tiles li,.most_liked_users li{display:inline-table!important;cursor:pointer!important}.most_liked_users li{margin:0 2px!important}.tiles li.inactive,.most_liked_users li.inactive{visibility:hidden!important;opacity:0!important}.tiles li img,.most_liked_users li img{display:block!important;float:none!important}.commentlist .tiles .avatar{left:0!important}.wp_ulike_thumbnail,.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}.toast-title{font-weight:700}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a,.toast-message label{color:#FFF}.toast-message a:hover{color:#CCC;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#FFF;-webkit-text-shadow:0 1px 0 #fff;text-shadow:0 1px 0 #fff;opacity:.8;-ms-filter:progid: DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80);line-height:1}.toast-close-button:focus,.toast-close-button:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;-ms-filter:progid: DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}.rtl .toast-close-button{left:-.3em;float:left;right:.3em}button.toast-close-button{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999;pointer-events:none}#toast-container *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#toast-container>div{position:relative;pointer-events:auto;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-position:15px center;background-repeat:no-repeat;-moz-box-shadow:0 0 12px #999;-webkit-box-shadow:0 0 12px #999;box-shadow:0 0 12px #999;color:#FFF;opacity:.8;-ms-filter:progid: DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80)}#toast-container>div.rtl{direction:rtl;padding:15px 50px 15px 15px;background-position:right 15px center}#toast-container>div:hover{-moz-box-shadow:0 0 12px #000;-webkit-box-shadow:0 0 12px #000;box-shadow:0 0 12px #000;opacity:1;-ms-filter:progid: DXImageTransform.Microsoft.Alpha(Opacity=100);filter:alpha(opacity=100);cursor:pointer}#toast-container>.toast-info{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=)!important}#toast-container>.toast-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=)!important}#toast-container>.toast-success{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==)!important}#toast-container>.toast-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important}#toast-container.toast-bottom-center>div,#toast-container.toast-top-center>div{width:300px;margin-left:auto;margin-right:auto}#toast-container.toast-bottom-full-width>div,#toast-container.toast-top-full-width>div{width:96%;margin-left:auto;margin-right:auto}.toast{background-color:#030303}.toast-success{background-color:#51A351}.toast-error{background-color:#BD362F}.toast-info{background-color:#2F96B4}.toast-warning{background-color:#F89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4;-ms-filter:progid: DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}@media all and (max-width:240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:241px) and (max-width:480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:481px) and (max-width:768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}#toast-container>div.rtl{padding:15px 50px 15px 15px}}
assets/js/wp-ulike-plugins.js DELETED
@@ -1 +0,0 @@
1
- if(!function(t){"use strict";var e=function(t,e){this.init("tooltip",t,e)};e.prototype={constructor:e,init:function(e,i,n){var o,s,r,a,l;for(this.type=e,this.$element=t(i),this.options=this.getOptions(n),this.enabled=!0,r=this.options.trigger.split(" "),l=r.length;l--;)a=r[l],"click"==a?this.$element.on("click."+this.type,this.options.selector,t.proxy(this.toggle,this)):"manual"!=a&&(o="hover"==a?"mouseenter":"focus",s="hover"==a?"mouseleave":"blur",this.$element.on(o+"."+this.type,this.options.selector,t.proxy(this.enter,this)),this.$element.on(s+"."+this.type,this.options.selector,t.proxy(this.leave,this)));this.options.selector?this._options=t.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(e){return e=t.extend({},t.fn[this.type].defaults,this.$element.data(),e),e.delay&&"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),e},enter:function(e){var i,n=t.fn[this.type].defaults,o={};return this._options&&t.each(this._options,function(t,e){n[t]!=e&&(o[t]=e)},this),i=t(e.currentTarget)[this.type](o).data(this.type),i.options.delay&&i.options.delay.show?(clearTimeout(this.timeout),i.hoverState="in",void(this.timeout=setTimeout(function(){"in"==i.hoverState&&i.show()},i.options.delay.show))):i.show()},leave:function(e){var i=t(e.currentTarget)[this.type](this._options).data(this.type);return this.timeout&&clearTimeout(this.timeout),i.options.delay&&i.options.delay.hide?(i.hoverState="out",void(this.timeout=setTimeout(function(){"out"==i.hoverState&&i.hide()},i.options.delay.hide))):i.hide()},show:function(){var e,i,n,o,s,r,a=t.Event("show");if(this.hasContent()&&this.enabled){if(this.$element.trigger(a),a.isDefaultPrevented())return;switch(e=this.tip(),this.setContent(),this.options.animation&&e.addClass("fade"),s="function"==typeof this.options.placement?this.options.placement.call(this,e[0],this.$element[0]):this.options.placement,e.detach().css({top:0,left:0,display:"block"}),this.options.container?e.appendTo(this.options.container):e.insertAfter(this.$element),i=this.getPosition(),n=e[0].offsetWidth,o=e[0].offsetHeight,s){case"bottom":r={top:i.top+i.height,left:i.left+i.width/2-n/2};break;case"top":r={top:i.top-o,left:i.left+i.width/2-n/2};break;case"left":r={top:i.top+i.height/2-o/2,left:i.left-n};break;case"right":r={top:i.top+i.height/2-o/2,left:i.left+i.width}}this.applyPlacement(r,s),this.$element.trigger("shown")}},applyPlacement:function(t,e){var i,n,o,s,r=this.tip(),a=r[0].offsetWidth,l=r[0].offsetHeight;r.offset(t).addClass(e).addClass("in"),i=r[0].offsetWidth,n=r[0].offsetHeight,"top"==e&&n!=l&&(t.top=t.top+l-n,s=!0),"bottom"==e||"top"==e?(o=0,t.left<0&&(o=-2*t.left,t.left=0,r.offset(t),i=r[0].offsetWidth,n=r[0].offsetHeight),this.replaceArrow(o-a+i,i,"left")):this.replaceArrow(n-l,n,"top"),s&&r.offset(t)},replaceArrow:function(t,e,i){this.arrow().css(i,t?50*(1-t/e)+"%":"")},setContent:function(){var t=this.tip(),e=this.getTitle();t.find(".tooltip-inner")[this.options.html?"html":"text"](e),t.removeClass("fade in top bottom left right")},hide:function(){function e(){var e=setTimeout(function(){i.off(t.support.transition.end).detach()},500);i.one(t.support.transition.end,function(){clearTimeout(e),i.detach()})}var i=this.tip(),n=t.Event("hide");return this.$element.trigger(n),n.isDefaultPrevented()?void 0:(i.removeClass("in"),t.support.transition&&this.$tip.hasClass("fade")?e():i.detach(),this.$element.trigger("hidden"),this)},fixTitle:function(){var t=this.$element;(t.attr("title")||"string"!=typeof t.attr("data-original-title"))&&t.attr("data-original-title",t.attr("title")||"").attr("title","")},hasContent:function(){return this.getTitle()},getPosition:function(){var e=this.$element[0];return t.extend({},"function"==typeof e.getBoundingClientRect?e.getBoundingClientRect():{width:e.offsetWidth,height:e.offsetHeight},this.$element.offset())},getTitle:function(){var t,e=this.$element,i=this.options;return t=e.attr("data-original-title")||("function"==typeof i.title?i.title.call(e[0]):i.title)},tip:function(){return this.$tip=this.$tip||t(this.options.template)},arrow:function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(e){var i=e?t(e.currentTarget)[this.type](this._options).data(this.type):this;i.tip().hasClass("in")?i.hide():i.show()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var i=t.fn.tooltip;t.fn.tooltip=function(i){return this.each(function(){var n=t(this),o=n.data("tooltip"),s="object"==typeof i&&i;o||n.data("tooltip",o=new e(this,s)),"string"==typeof i&&o[i]()})},t.fn.tooltip.Constructor=e,t.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},t.fn.tooltip.noConflict=function(){return t.fn.tooltip=i,this}}(window.jQuery),"undefined"==typeof jQuery)throw new Error("WP Ulike's JavaScript requires jQuery");if(+function(t){"use strict";function e(){var t=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var i in e)if(void 0!==t.style[i])return{end:e[i]};return!1}t.fn.emulateTransitionEnd=function(e){var i=!1,n=this;t(this).one("bsTransitionEnd",function(){i=!0});var o=function(){i||t(n).trigger(t.support.transition.end)};return setTimeout(o,e),this},t(function(){t.support.transition=e(),t.support.transition&&(t.event.special.bsTransitionEnd={bindType:t.support.transition.end,delegateType:t.support.transition.end,handle:function(e){return t(e.target).is(this)?e.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),"undefined"==typeof jQuery)throw new Error("WP Ulike's JavaScript requires jQuery");+function(t){"use strict";function e(e){return this.each(function(){var i=t(this),o=i.data("bs.alert");o||i.data("bs.alert",o=new n(this)),"string"==typeof e&&o[e].call(i)})}var i='[data-dismiss="alert"]',n=function(e){t(e).on("click",i,this.close)};n.VERSION="3.2.0",n.prototype.close=function(e){function i(){s.detach().trigger("closed.bs.alert").remove()}var n=t(this),o=n.attr("data-target");o||(o=n.attr("href"),o=o&&o.replace(/.*(?=#[^\s]*$)/,""));var s=t(o);e&&e.preventDefault(),s.length||(s=n.hasClass("alert")?n:n.parent()),s.trigger(e=t.Event("close.bs.alert")),e.isDefaultPrevented()||(s.removeClass("in"),t.support.transition&&s.hasClass("fade")?s.one("bsTransitionEnd",i).emulateTransitionEnd(150):i())};var o=t.fn.alert;t.fn.alert=e,t.fn.alert.Constructor=n,t.fn.alert.noConflict=function(){return t.fn.alert=o,this},t(document).on("click.bs.alert.data-api",i,n.prototype.close)}(jQuery),jQuery(document).ready(function(t){t(".user-tooltip").tooltip()});!function(e){e(["jquery"],function(e){return function(){function t(e,t,n){return g({type:O.error,iconClass:m().iconClasses.error,message:e,optionsOverride:n,title:t})}function n(t,n){return t||(t=m()),v=e("#"+t.containerId),v.length?v:(n&&(v=d(t)),v)}function o(e,t,n){return g({type:O.info,iconClass:m().iconClasses.info,message:e,optionsOverride:n,title:t})}function s(e){C=e}function i(e,t,n){return g({type:O.success,iconClass:m().iconClasses.success,message:e,optionsOverride:n,title:t})}function a(e,t,n){return g({type:O.warning,iconClass:m().iconClasses.warning,message:e,optionsOverride:n,title:t})}function r(e,t){var o=m();v||n(o),u(e,o,t)||l(o)}function c(t){var o=m();return v||n(o),t&&0===e(":focus",t).length?void h(t):void(v.children().length&&v.remove())}function l(t){for(var n=v.children(),o=n.length-1;o>=0;o--)u(e(n[o]),t)}function u(t,n,o){var s=!(!o||!o.force)&&o.force;return!(!t||!s&&0!==e(":focus",t).length)&&(t[n.hideMethod]({duration:n.hideDuration,easing:n.hideEasing,complete:function(){h(t)}}),!0)}function d(t){return v=e("<div/>").attr("id",t.containerId).addClass(t.positionClass),v.appendTo(e(t.target)),v}function p(){return{tapToDismiss:!0,toastClass:"toast",containerId:"toast-container",debug:!1,showMethod:"fadeIn",showDuration:300,showEasing:"swing",onShown:void 0,hideMethod:"fadeOut",hideDuration:1e3,hideEasing:"swing",onHidden:void 0,closeMethod:!1,closeDuration:!1,closeEasing:!1,closeOnHover:!0,extendedTimeOut:1e3,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},iconClass:"toast-info",positionClass:"toast-top-right",timeOut:5e3,titleClass:"toast-title",messageClass:"toast-message",escapeHtml:!1,target:"body",closeHtml:'<button type="button">&times;</button>',closeClass:"toast-close-button",newestOnTop:!0,preventDuplicates:!1,progressBar:!1,progressClass:"toast-progress",rtl:!1}}function f(e){C&&C(e)}function g(t){function o(e){return null==e&&(e=""),e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function s(){c(),u(),d(),p(),g(),C(),l(),i()}function i(){var e="";switch(t.iconClass){case"toast-success":case"toast-info":e="polite";break;default:e="assertive"}I.attr("aria-live",e)}function a(){E.closeOnHover&&I.hover(H,D),!E.onclick&&E.tapToDismiss&&I.click(b),E.closeButton&&j&&j.click(function(e){e.stopPropagation?e.stopPropagation():void 0!==e.cancelBubble&&e.cancelBubble!==!0&&(e.cancelBubble=!0),E.onCloseClick&&E.onCloseClick(e),b(!0)}),E.onclick&&I.click(function(e){E.onclick(e),b()})}function r(){I.hide(),I[E.showMethod]({duration:E.showDuration,easing:E.showEasing,complete:E.onShown}),E.timeOut>0&&(k=setTimeout(b,E.timeOut),F.maxHideTime=parseFloat(E.timeOut),F.hideEta=(new Date).getTime()+F.maxHideTime,E.progressBar&&(F.intervalId=setInterval(x,10)))}function c(){t.iconClass&&I.addClass(E.toastClass).addClass(y)}function l(){E.newestOnTop?v.prepend(I):v.append(I)}function u(){if(t.title){var e=t.title;E.escapeHtml&&(e=o(t.title)),M.append(e).addClass(E.titleClass),I.append(M)}}function d(){if(t.message){var e=t.message;E.escapeHtml&&(e=o(t.message)),B.append(e).addClass(E.messageClass),I.append(B)}}function p(){E.closeButton&&(j.addClass(E.closeClass).attr("role","button"),I.prepend(j))}function g(){E.progressBar&&(q.addClass(E.progressClass),I.prepend(q))}function C(){E.rtl&&I.addClass("rtl")}function O(e,t){if(e.preventDuplicates){if(t.message===w)return!0;w=t.message}return!1}function b(t){var n=t&&E.closeMethod!==!1?E.closeMethod:E.hideMethod,o=t&&E.closeDuration!==!1?E.closeDuration:E.hideDuration,s=t&&E.closeEasing!==!1?E.closeEasing:E.hideEasing;if(!e(":focus",I).length||t)return clearTimeout(F.intervalId),I[n]({duration:o,easing:s,complete:function(){h(I),clearTimeout(k),E.onHidden&&"hidden"!==P.state&&E.onHidden(),P.state="hidden",P.endTime=new Date,f(P)}})}function D(){(E.timeOut>0||E.extendedTimeOut>0)&&(k=setTimeout(b,E.extendedTimeOut),F.maxHideTime=parseFloat(E.extendedTimeOut),F.hideEta=(new Date).getTime()+F.maxHideTime)}function H(){clearTimeout(k),F.hideEta=0,I.stop(!0,!0)[E.showMethod]({duration:E.showDuration,easing:E.showEasing})}function x(){var e=(F.hideEta-(new Date).getTime())/F.maxHideTime*100;q.width(e+"%")}var E=m(),y=t.iconClass||E.iconClass;if("undefined"!=typeof t.optionsOverride&&(E=e.extend(E,t.optionsOverride),y=t.optionsOverride.iconClass||y),!O(E,t)){T++,v=n(E,!0);var k=null,I=e("<div/>"),M=e("<div/>"),B=e("<div/>"),q=e("<div/>"),j=e(E.closeHtml),F={intervalId:null,hideEta:null,maxHideTime:null},P={toastId:T,state:"visible",startTime:new Date,options:E,map:t};return s(),r(),a(),f(P),E.debug&&console&&console.log(P),I}}function m(){return e.extend({},p(),b.options)}function h(e){v||(v=n()),e.is(":visible")||(e.remove(),e=null,0===v.children().length&&(v.remove(),w=void 0))}var v,C,w,T=0,O={error:"error",info:"info",success:"success",warning:"warning"},b={clear:r,remove:c,error:t,getContainer:n,info:o,options:{},subscribe:s,success:i,version:"2.1.3",warning:a};return b}()})}("function"==typeof define&&define.amd?define:function(e,t){"undefined"!=typeof module&&module.exports?module.exports=t(require("jquery")):window.toastr=t(window.jQuery)});
 
assets/js/wp-ulike-scripts.js DELETED
@@ -1,101 +0,0 @@
1
- /**
2
- * WP ULike Plugin 2.4.2
3
- *
4
- * http://wordpress.org/plugins/wp-ulike/
5
- * https://github.com/Alimir/wp-ulike
6
- *
7
- */
8
- jQuery(document).ready(function($) {
9
- //start WP ULike process
10
- $(document).on('click', '.wp_ulike_btn',function(e) {
11
- var type = $(this).data('ulike-type');
12
- var status = $(this).data('ulike-status');
13
- var id = $(this).data('ulike-id');
14
- var uclass = $(this).data('ulike-class');
15
- var p_class = $(e.target).closest( "a" ).parent();
16
-
17
- if(ulike_obj.notifications == 1) {
18
- var liked = ulike_obj.like_notice;
19
- var unliked = ulike_obj.unlike_notice;
20
- toastr.options = {
21
- "closeButton": false,
22
- "debug": false,
23
- "newestOnTop": false,
24
- "progressBar": false,
25
- "positionClass": "toast-bottom-right",
26
- "preventDuplicates": false,
27
- "showDuration": "300",
28
- "hideDuration": "1000",
29
- "timeOut": "5000",
30
- "extendedTimeOut": "1000",
31
- "showEasing": "swing",
32
- "hideEasing": "linear",
33
- "showMethod": "fadeIn",
34
- "hideMethod": "fadeOut"
35
- }
36
- }
37
-
38
- if (id != '') {
39
- //start AJAX
40
- jQuery.ajax({
41
- type:'POST',
42
- cache: false,
43
- url: ulike_obj.ajaxurl,
44
- data:{
45
- action:'wp_ulike_process',
46
- id: id,
47
- type: type
48
- },
49
- beforeSend:function(){
50
- p_class.html('<a class="loading"></a><span class="count-box">...</span>');
51
- },
52
- success: function(data) {
53
- var vardata = jQuery( data ).find( 'response_data' ).text();
54
- if(status == 1){
55
- if(ulike_obj.button_type == 'image'){
56
- p_class.html("<a data-ulike-id='"+id+"' data-ulike-type='"+type+"' data-ulike-status='2' class='wp_ulike_btn image-unlike'></a><span class='count-box'>"+vardata+"</span>");
57
- } else {
58
- p_class.html("<a data-ulike-id='"+id+"' data-ulike-type='"+type+"' data-ulike-status='2' class='wp_ulike_btn text'>" + ulike_obj.button_text_u + "</a><span class='count-box'>"+vardata+"</span>");
59
- }
60
- if( typeof liked !== 'undefined' && liked != ''){
61
- toastr.success(liked)
62
- }
63
- }
64
- if(status == 2){
65
- if(ulike_obj.button_type == 'image'){
66
- p_class.html("<a data-ulike-id='"+id+"' data-ulike-type='"+type+"' data-ulike-status='1' class='wp_ulike_btn image'></a><span class='count-box'>"+vardata+"</span>");
67
- } else {
68
- p_class.html("<a data-ulike-id='"+id+"' data-ulike-type='"+type+"' data-ulike-status='1' class='wp_ulike_btn text'>" + ulike_obj.button_text + "</a><span class='count-box'>"+vardata+"</span>");
69
- }
70
- if( typeof unliked !== 'undefined' && unliked != ''){
71
- toastr.error(unliked)
72
- }
73
- }
74
- if(status == 3){
75
- if(ulike_obj.button_type == 'image'){
76
- p_class.html("<a class='image-unlike user-tooltip' title='Already Voted'></a><span class='count-box'>"+vardata+"</span>");
77
- } else {
78
- p_class.html("<a class='text user-tooltip' title='Already Voted'>" + ulike_obj.button_text_u + "</a><span class='count-box'>"+vardata+"</span>");
79
- }
80
- if( typeof liked !== 'undefined' && liked != ''){
81
- toastr.success(liked)
82
- }
83
- }
84
- if(status == 4){
85
- if(ulike_obj.button_type == 'image'){
86
- p_class.html("<a class='image' title='You Liked This'></a><span class='count-box'>"+vardata+"</span>");
87
- }
88
- else{
89
- p_class.html("<a class='text' title='You Liked This'>" + ulike_obj.button_text + "</a><span class='count-box'>"+vardata+"</span>");
90
- }
91
- if( typeof liked !== 'undefined' && liked != ''){
92
- toastr.success(liked)
93
- }
94
- }
95
- }
96
- });
97
- //End Ajax
98
- e.preventDefault();
99
- }
100
- });
101
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/wp-ulike-scripts.min.js DELETED
@@ -1,8 +0,0 @@
1
- /**
2
- * WP ULike Plugin 2.4.2
3
- *
4
- * http://wordpress.org/plugins/wp-ulike/
5
- * https://github.com/Alimir/wp-ulike
6
- *
7
- */
8
- jQuery(document).ready(function(a){a(document).on("click",".wp_ulike_btn",function(b){var c=a(this).data("ulike-type"),d=a(this).data("ulike-status"),e=a(this).data("ulike-id"),g=(a(this).data("ulike-class"),a(b.target).closest("a").parent());if(1==ulike_obj.notifications){var h=ulike_obj.like_notice,i=ulike_obj.unlike_notice;toastr.options={closeButton:!1,debug:!1,newestOnTop:!1,progressBar:!1,positionClass:"toast-bottom-right",preventDuplicates:!1,showDuration:"300",hideDuration:"1000",timeOut:"5000",extendedTimeOut:"1000",showEasing:"swing",hideEasing:"linear",showMethod:"fadeIn",hideMethod:"fadeOut"}}""!=e&&(jQuery.ajax({type:"POST",cache:!1,url:ulike_obj.ajaxurl,data:{action:"wp_ulike_process",id:e,type:c},beforeSend:function(){g.html('<a class="loading"></a><span class="count-box">...</span>')},success:function(a){var b=jQuery(a).find("response_data").text();1==d&&("image"==ulike_obj.button_type?g.html("<a data-ulike-id='"+e+"' data-ulike-type='"+c+"' data-ulike-status='2' class='wp_ulike_btn image-unlike'></a><span class='count-box'>"+b+"</span>"):g.html("<a data-ulike-id='"+e+"' data-ulike-type='"+c+"' data-ulike-status='2' class='wp_ulike_btn text'>"+ulike_obj.button_text_u+"</a><span class='count-box'>"+b+"</span>"),"undefined"!=typeof h&&""!=h&&toastr.success(h)),2==d&&("image"==ulike_obj.button_type?g.html("<a data-ulike-id='"+e+"' data-ulike-type='"+c+"' data-ulike-status='1' class='wp_ulike_btn image'></a><span class='count-box'>"+b+"</span>"):g.html("<a data-ulike-id='"+e+"' data-ulike-type='"+c+"' data-ulike-status='1' class='wp_ulike_btn text'>"+ulike_obj.button_text+"</a><span class='count-box'>"+b+"</span>"),"undefined"!=typeof i&&""!=i&&toastr.error(i)),3==d&&("image"==ulike_obj.button_type?g.html("<a class='image-unlike user-tooltip' title='Already Voted'></a><span class='count-box'>"+b+"</span>"):g.html("<a class='text user-tooltip' title='Already Voted'>"+ulike_obj.button_text_u+"</a><span class='count-box'>"+b+"</span>"),"undefined"!=typeof h&&""!=h&&toastr.success(h)),4==d&&("image"==ulike_obj.button_type?g.html("<a class='image' title='You Liked This'></a><span class='count-box'>"+b+"</span>"):g.html("<a class='text' title='You Liked This'>"+ulike_obj.button_text+"</a><span class='count-box'>"+b+"</span>"),"undefined"!=typeof h&&""!=h&&toastr.success(h))}}),b.preventDefault())})});
 
 
 
 
 
 
 
 
assets/js/wp-ulike.js ADDED
@@ -0,0 +1,635 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * WP ULike 2.8
3
+ * @author Alimir [https://wordpress.org/plugins/wp-ulike/]
4
+ */
5
+
6
+ /* 'Toastr' Plugin : https://github.com/CodeSeven/toastr */
7
+ (function (define) {
8
+ define(['jquery'], function ($) {
9
+ return (function () {
10
+ var $container;
11
+ var listener;
12
+ var toastId = 0;
13
+ var toastType = {
14
+ error: 'error',
15
+ info: 'info',
16
+ success: 'success',
17
+ warning: 'warning'
18
+ };
19
+
20
+ var toastr = {
21
+ clear: clear,
22
+ remove: remove,
23
+ error: error,
24
+ getContainer: getContainer,
25
+ info: info,
26
+ options: {},
27
+ subscribe: subscribe,
28
+ success: success,
29
+ version: '2.1.3',
30
+ warning: warning
31
+ };
32
+
33
+ var previousToast;
34
+
35
+ return toastr;
36
+
37
+ ////////////////
38
+
39
+ function error(message, title, optionsOverride) {
40
+ return notify({
41
+ type: toastType.error,
42
+ iconClass: getOptions().iconClasses.error,
43
+ message: message,
44
+ optionsOverride: optionsOverride,
45
+ title: title
46
+ });
47
+ }
48
+
49
+ function getContainer(options, create) {
50
+ if (!options) { options = getOptions(); }
51
+ $container = $('#' + options.containerId);
52
+ if ($container.length) {
53
+ return $container;
54
+ }
55
+ if (create) {
56
+ $container = createContainer(options);
57
+ }
58
+ return $container;
59
+ }
60
+
61
+ function info(message, title, optionsOverride) {
62
+ return notify({
63
+ type: toastType.info,
64
+ iconClass: getOptions().iconClasses.info,
65
+ message: message,
66
+ optionsOverride: optionsOverride,
67
+ title: title
68
+ });
69
+ }
70
+
71
+ function subscribe(callback) {
72
+ listener = callback;
73
+ }
74
+
75
+ function success(message, title, optionsOverride) {
76
+ return notify({
77
+ type: toastType.success,
78
+ iconClass: getOptions().iconClasses.success,
79
+ message: message,
80
+ optionsOverride: optionsOverride,
81
+ title: title
82
+ });
83
+ }
84
+
85
+ function warning(message, title, optionsOverride) {
86
+ return notify({
87
+ type: toastType.warning,
88
+ iconClass: getOptions().iconClasses.warning,
89
+ message: message,
90
+ optionsOverride: optionsOverride,
91
+ title: title
92
+ });
93
+ }
94
+
95
+ function clear($toastElement, clearOptions) {
96
+ var options = getOptions();
97
+ if (!$container) { getContainer(options); }
98
+ if (!clearToast($toastElement, options, clearOptions)) {
99
+ clearContainer(options);
100
+ }
101
+ }
102
+
103
+ function remove($toastElement) {
104
+ var options = getOptions();
105
+ if (!$container) { getContainer(options); }
106
+ if ($toastElement && $(':focus', $toastElement).length === 0) {
107
+ removeToast($toastElement);
108
+ return;
109
+ }
110
+ if ($container.children().length) {
111
+ $container.remove();
112
+ }
113
+ }
114
+
115
+ // internal functions
116
+
117
+ function clearContainer (options) {
118
+ var toastsToClear = $container.children();
119
+ for (var i = toastsToClear.length - 1; i >= 0; i--) {
120
+ clearToast($(toastsToClear[i]), options);
121
+ }
122
+ }
123
+
124
+ function clearToast ($toastElement, options, clearOptions) {
125
+ var force = clearOptions && clearOptions.force ? clearOptions.force : false;
126
+ if ($toastElement && (force || $(':focus', $toastElement).length === 0)) {
127
+ $toastElement[options.hideMethod]({
128
+ duration: options.hideDuration,
129
+ easing: options.hideEasing,
130
+ complete: function () { removeToast($toastElement); }
131
+ });
132
+ return true;
133
+ }
134
+ return false;
135
+ }
136
+
137
+ function createContainer(options) {
138
+ $container = $('<div/>')
139
+ .attr('id', options.containerId)
140
+ .addClass(options.positionClass);
141
+
142
+ $container.appendTo($(options.target));
143
+ return $container;
144
+ }
145
+
146
+ function getDefaults() {
147
+ return {
148
+ tapToDismiss: true,
149
+ toastClass: 'toast',
150
+ containerId: 'toast-container',
151
+ debug: false,
152
+
153
+ showMethod: 'fadeIn', //fadeIn, slideDown, and show are built into jQuery
154
+ showDuration: 300,
155
+ showEasing: 'swing', //swing and linear are built into jQuery
156
+ onShown: undefined,
157
+ hideMethod: 'fadeOut',
158
+ hideDuration: 1000,
159
+ hideEasing: 'swing',
160
+ onHidden: undefined,
161
+ closeMethod: false,
162
+ closeDuration: false,
163
+ closeEasing: false,
164
+ closeOnHover: true,
165
+
166
+ extendedTimeOut: 1000,
167
+ iconClasses: {
168
+ error: 'toast-error',
169
+ info: 'toast-info',
170
+ success: 'toast-success',
171
+ warning: 'toast-warning'
172
+ },
173
+ iconClass: 'toast-info',
174
+ positionClass: 'toast-top-right',
175
+ timeOut: 5000, // Set timeOut and extendedTimeOut to 0 to make it sticky
176
+ titleClass: 'toast-title',
177
+ messageClass: 'toast-message',
178
+ escapeHtml: false,
179
+ target: 'body',
180
+ closeHtml: '<button type="button">&times;</button>',
181
+ closeClass: 'toast-close-button',
182
+ newestOnTop: true,
183
+ preventDuplicates: false,
184
+ progressBar: false,
185
+ progressClass: 'toast-progress',
186
+ rtl: false
187
+ };
188
+ }
189
+
190
+ function publish(args) {
191
+ if (!listener) { return; }
192
+ listener(args);
193
+ }
194
+
195
+ function notify(map) {
196
+ var options = getOptions();
197
+ var iconClass = map.iconClass || options.iconClass;
198
+
199
+ if (typeof (map.optionsOverride) !== 'undefined') {
200
+ options = $.extend(options, map.optionsOverride);
201
+ iconClass = map.optionsOverride.iconClass || iconClass;
202
+ }
203
+
204
+ if (shouldExit(options, map)) { return; }
205
+
206
+ toastId++;
207
+
208
+ $container = getContainer(options, true);
209
+
210
+ var intervalId = null;
211
+ var $toastElement = $('<div/>');
212
+ var $titleElement = $('<div/>');
213
+ var $messageElement = $('<div/>');
214
+ var $progressElement = $('<div/>');
215
+ var $closeElement = $(options.closeHtml);
216
+ var progressBar = {
217
+ intervalId: null,
218
+ hideEta: null,
219
+ maxHideTime: null
220
+ };
221
+ var response = {
222
+ toastId: toastId,
223
+ state: 'visible',
224
+ startTime: new Date(),
225
+ options: options,
226
+ map: map
227
+ };
228
+
229
+ personalizeToast();
230
+
231
+ displayToast();
232
+
233
+ handleEvents();
234
+
235
+ publish(response);
236
+
237
+ if (options.debug && console) {
238
+ console.log(response);
239
+ }
240
+
241
+ return $toastElement;
242
+
243
+ function escapeHtml(source) {
244
+ if (source == null) {
245
+ source = '';
246
+ }
247
+
248
+ return source
249
+ .replace(/&/g, '&amp;')
250
+ .replace(/"/g, '&quot;')
251
+ .replace(/'/g, '&#39;')
252
+ .replace(/</g, '&lt;')
253
+ .replace(/>/g, '&gt;');
254
+ }
255
+
256
+ function personalizeToast() {
257
+ setIcon();
258
+ setTitle();
259
+ setMessage();
260
+ setCloseButton();
261
+ setProgressBar();
262
+ setRTL();
263
+ setSequence();
264
+ setAria();
265
+ }
266
+
267
+ function setAria() {
268
+ var ariaValue = '';
269
+ switch (map.iconClass) {
270
+ case 'toast-success':
271
+ case 'toast-info':
272
+ ariaValue = 'polite';
273
+ break;
274
+ default:
275
+ ariaValue = 'assertive';
276
+ }
277
+ $toastElement.attr('aria-live', ariaValue);
278
+ }
279
+
280
+ function handleEvents() {
281
+ if (options.closeOnHover) {
282
+ $toastElement.hover(stickAround, delayedHideToast);
283
+ }
284
+
285
+ if (!options.onclick && options.tapToDismiss) {
286
+ $toastElement.click(hideToast);
287
+ }
288
+
289
+ if (options.closeButton && $closeElement) {
290
+ $closeElement.click(function (event) {
291
+ if (event.stopPropagation) {
292
+ event.stopPropagation();
293
+ } else if (event.cancelBubble !== undefined && event.cancelBubble !== true) {
294
+ event.cancelBubble = true;
295
+ }
296
+
297
+ if (options.onCloseClick) {
298
+ options.onCloseClick(event);
299
+ }
300
+
301
+ hideToast(true);
302
+ });
303
+ }
304
+
305
+ if (options.onclick) {
306
+ $toastElement.click(function (event) {
307
+ options.onclick(event);
308
+ hideToast();
309
+ });
310
+ }
311
+ }
312
+
313
+ function displayToast() {
314
+ $toastElement.hide();
315
+
316
+ $toastElement[options.showMethod](
317
+ {duration: options.showDuration, easing: options.showEasing, complete: options.onShown}
318
+ );
319
+
320
+ if (options.timeOut > 0) {
321
+ intervalId = setTimeout(hideToast, options.timeOut);
322
+ progressBar.maxHideTime = parseFloat(options.timeOut);
323
+ progressBar.hideEta = new Date().getTime() + progressBar.maxHideTime;
324
+ if (options.progressBar) {
325
+ progressBar.intervalId = setInterval(updateProgress, 10);
326
+ }
327
+ }
328
+ }
329
+
330
+ function setIcon() {
331
+ if (map.iconClass) {
332
+ $toastElement.addClass(options.toastClass).addClass(iconClass);
333
+ }
334
+ }
335
+
336
+ function setSequence() {
337
+ if (options.newestOnTop) {
338
+ $container.prepend($toastElement);
339
+ } else {
340
+ $container.append($toastElement);
341
+ }
342
+ }
343
+
344
+ function setTitle() {
345
+ if (map.title) {
346
+ var suffix = map.title;
347
+ if (options.escapeHtml) {
348
+ suffix = escapeHtml(map.title);
349
+ }
350
+ $titleElement.append(suffix).addClass(options.titleClass);
351
+ $toastElement.append($titleElement);
352
+ }
353
+ }
354
+
355
+ function setMessage() {
356
+ if (map.message) {
357
+ var suffix = map.message;
358
+ if (options.escapeHtml) {
359
+ suffix = escapeHtml(map.message);
360
+ }
361
+ $messageElement.append(suffix).addClass(options.messageClass);
362
+ $toastElement.append($messageElement);
363
+ }
364
+ }
365
+
366
+ function setCloseButton() {
367
+ if (options.closeButton) {
368
+ $closeElement.addClass(options.closeClass).attr('role', 'button');
369
+ $toastElement.prepend($closeElement);
370
+ }
371
+ }
372
+
373
+ function setProgressBar() {
374
+ if (options.progressBar) {
375
+ $progressElement.addClass(options.progressClass);
376
+ $toastElement.prepend($progressElement);
377
+ }
378
+ }
379
+
380
+ function setRTL() {
381
+ if (options.rtl) {
382
+ $toastElement.addClass('rtl');
383
+ }
384
+ }
385
+
386
+ function shouldExit(options, map) {
387
+ if (options.preventDuplicates) {
388
+ if (map.message === previousToast) {
389
+ return true;
390
+ } else {
391
+ previousToast = map.message;
392
+ }
393
+ }
394
+ return false;
395
+ }
396
+
397
+ function hideToast(override) {
398
+ var method = override && options.closeMethod !== false ? options.closeMethod : options.hideMethod;
399
+ var duration = override && options.closeDuration !== false ?
400
+ options.closeDuration : options.hideDuration;
401
+ var easing = override && options.closeEasing !== false ? options.closeEasing : options.hideEasing;
402
+ if ($(':focus', $toastElement).length && !override) {
403
+ return;
404
+ }
405
+ clearTimeout(progressBar.intervalId);
406
+ return $toastElement[method]({
407
+ duration: duration,
408
+ easing: easing,
409
+ complete: function () {
410
+ removeToast($toastElement);
411
+ clearTimeout(intervalId);
412
+ if (options.onHidden && response.state !== 'hidden') {
413
+ options.onHidden();
414
+ }
415
+ response.state = 'hidden';
416
+ response.endTime = new Date();
417
+ publish(response);
418
+ }
419
+ });
420
+ }
421
+
422
+ function delayedHideToast() {
423
+ if (options.timeOut > 0 || options.extendedTimeOut > 0) {
424
+ intervalId = setTimeout(hideToast, options.extendedTimeOut);
425
+ progressBar.maxHideTime = parseFloat(options.extendedTimeOut);
426
+ progressBar.hideEta = new Date().getTime() + progressBar.maxHideTime;
427
+ }
428
+ }
429
+
430
+ function stickAround() {
431
+ clearTimeout(intervalId);
432
+ progressBar.hideEta = 0;
433
+ $toastElement.stop(true, true)[options.showMethod](
434
+ {duration: options.showDuration, easing: options.showEasing}
435
+ );
436
+ }
437
+
438
+ function updateProgress() {
439
+ var percentage = ((progressBar.hideEta - (new Date().getTime())) / progressBar.maxHideTime) * 100;
440
+ $progressElement.width(percentage + '%');
441
+ }
442
+ }
443
+
444
+ function getOptions() {
445
+ return $.extend({}, getDefaults(), toastr.options);
446
+ }
447
+
448
+ function removeToast($toastElement) {
449
+ if (!$container) { $container = getContainer(); }
450
+ if ($toastElement.is(':visible')) {
451
+ return;
452
+ }
453
+ $toastElement.remove();
454
+ $toastElement = null;
455
+ if ($container.children().length === 0) {
456
+ $container.remove();
457
+ previousToast = undefined;
458
+ }
459
+ }
460
+
461
+ })();
462
+ });
463
+ }(typeof define === 'function' && define.amd ? define : function (deps, factory) {
464
+ if (typeof module !== 'undefined' && module.exports) { //Node
465
+ module.exports = factory(require('jquery'));
466
+ } else {
467
+ window.toastr = factory(window.jQuery);
468
+ }
469
+ }));
470
+
471
+ /* 'WordpressUlike' plugin : https://github.com/alimir/wp-ulike */
472
+ ;(function ( $, window, document, undefined ) {
473
+
474
+ "use strict";
475
+
476
+ // Create the defaults once
477
+ var pluginName = "WordpressUlike",
478
+ $window = $(window),
479
+ defaults = {
480
+ ID : 0, /* Auto ID value by element type */
481
+ nonce : 0, /* Get nonce token */
482
+ type : '', /* Values : likeThis (Posts),likeThisComment, likeThisActivity, likeThisTopic */
483
+ likeStatus : 0, /* Values : 0 (Is not logged-in), 1 (Is not liked), 2 (Is liked), 3 (Is unliked), 4 (Already liked) */
484
+ counterSelector : wp_ulike_params.counter_selector, /* You can change this value by add filter on 'wp_ulike_counter_selector' */
485
+ generalSelector : wp_ulike_params.general_selector, /* You can change this value by add filter on 'wp_ulike_general_selector' */
486
+ buttonSelector : wp_ulike_params.button_selector /* You can change this value by add filter on 'wp_ulike_button_selector' */
487
+ },
488
+ attributesMap = {
489
+ 'ulike-id' : 'ID',
490
+ 'ulike-nonce' : 'nonce',
491
+ 'ulike-type' : 'type',
492
+ 'ulike-status': 'likeStatus'
493
+ };
494
+
495
+ // The actual plugin constructor
496
+ function Plugin ( element, options ) {
497
+ this.element = element;
498
+ this.$element = $(element);
499
+ this.settings = $.extend( {}, defaults, options );
500
+ this._defaults = defaults;
501
+ this._name = pluginName;
502
+
503
+ // Create main selectors
504
+ this.buttonElement = this.$element.find(this.settings.buttonSelector);
505
+ this.generalElement = this.$element.find(this.settings.generalSelector);
506
+ this.counterElement = this.generalElement.find( this.settings.counterSelector );
507
+
508
+ // read attributes
509
+ for ( var attrName in attributesMap ) {
510
+ var value = this.buttonElement.data( attrName );
511
+ if ( value !== undefined ) {
512
+ this.settings[attributesMap[attrName]] = value;
513
+ }
514
+ }
515
+ this.init();
516
+ }
517
+
518
+ // Avoid Plugin.prototype conflicts
519
+ $.extend(Plugin.prototype, {
520
+ init: function () {
521
+ //Call _ajaxify function on click button
522
+ this.buttonElement.click( this._ajaxify.bind(this) );
523
+ },
524
+
525
+ _ajaxify: function(){
526
+ $.ajax({
527
+ type:'POST',
528
+ cache: false,
529
+ dataType: 'json',
530
+ url: wp_ulike_params.ajax_url,
531
+ data:{
532
+ action: 'wp_ulike_process',
533
+ id: this.settings.ID,
534
+ nonce: this.settings.nonce,
535
+ status: this.settings.likeStatus,
536
+ type: this.settings.type
537
+ },
538
+ beforeSend:function(){
539
+ this.generalElement.addClass( 'wp_ulike_is_loading' );
540
+ }.bind(this),
541
+ success: function( response ){
542
+ this._update( response );
543
+ }.bind(this)
544
+ });
545
+ },
546
+
547
+ _update: function( response ){
548
+ //remove loading class
549
+ this.generalElement.removeClass( 'wp_ulike_is_loading' );
550
+ //check likeStatus
551
+ switch(this.settings.likeStatus) {
552
+ case 1: /* Change the status of 'is not liked' to 'liked' */
553
+ this.buttonElement.attr('data-ulike-status', 4);
554
+ this.settings.likeStatus = 4;
555
+ this.generalElement.addClass( 'wp_ulike_is_liked' ).removeClass( 'wp_ulike_is_not_liked' );
556
+ this.generalElement.children().first().addClass( 'wp_ulike_click_is_disabled' );
557
+ this.counterElement.text( response.data );
558
+ this._actions( 'success', response.message, response.btnText, 4 );
559
+ break;
560
+ case 2: /* Change the status of 'liked' to 'unliked' */
561
+ this.buttonElement.attr( 'data-ulike-status', 3 );
562
+ this.settings.likeStatus = 3;
563
+ this.generalElement.addClass( 'wp_ulike_is_unliked' ).removeClass('wp_ulike_is_liked');
564
+ this.counterElement.text( response.data );
565
+ this._actions( 'error', response.message, response.btnText, 3 );
566
+ break;
567
+ case 3: /* Change the status of 'unliked' to 'liked' */
568
+ this.buttonElement.attr('data-ulike-status', 2);
569
+ this.settings.likeStatus = 2;
570
+ this.generalElement.addClass('wp_ulike_is_liked').removeClass('wp_ulike_is_unliked');
571
+ this.counterElement.text( response.data );
572
+ this._actions( 'success', response.message, response.btnText, 2 );
573
+ break;
574
+ case 4: /* Just print the log-in warning message */
575
+ this._actions( 'info', response.message, response.btnText, 4 );
576
+ this.generalElement.children().first().addClass( 'wp_ulike_click_is_disabled' );
577
+ break;
578
+ default: /* Just print the permission faild message */
579
+ this._actions( 'warning', response.message, response.btnText, 0 );
580
+ }
581
+ },
582
+
583
+ _actions: function( messageType, messageText, btnText, likeStatus ){
584
+ //check the button types
585
+ if( wp_ulike_params.button_type === 'image' ) {
586
+ if( likeStatus === 3 || likeStatus === 2){
587
+ this.buttonElement.toggleClass('image-unlike');
588
+ }
589
+ } else if( wp_ulike_params.button_type === 'text' ) {
590
+ this.buttonElement.find('span').html(btnText);
591
+ }
592
+ //Check notifications active mode
593
+ if(wp_ulike_params.notifications !== '1') return;
594
+ //Set 'toastr' options
595
+ toastr.options = {
596
+ closeButton : false,
597
+ debug : false,
598
+ newestOnTop : false,
599
+ progressBar : false,
600
+ positionClass : 'toast-bottom-right',
601
+ preventDuplicates : false,
602
+ showDuration : 300,
603
+ hideDuration : 2000,
604
+ timeOut : 5000,
605
+ extendedTimeOut : 1000,
606
+ showEasing : 'swing',
607
+ hideEasing : 'linear',
608
+ showMethod : 'fadeIn',
609
+ hideMethod : 'fadeOut'
610
+ }
611
+ //Toast my notification
612
+ toastr[messageType]( messageText );
613
+ }
614
+ });
615
+
616
+ // A really lightweight plugin wrapper around the constructor,
617
+ // preventing against multiple instantiations
618
+ $.fn[ pluginName ] = function ( options ) {
619
+ return this.each(function() {
620
+ if ( !$.data( this, "plugin_" + pluginName ) ) {
621
+ $.data( this, "plugin_" + pluginName, new Plugin( this, options ) );
622
+ }
623
+ });
624
+ };
625
+
626
+ })( jQuery, window, document );
627
+
628
+ /* Run :) */
629
+
630
+ (function( $ ) {
631
+ // init WordpressUlike
632
+ $(".wpulike").WordpressUlike();
633
+ // removes "empty" paragraphs
634
+ $('p').filter(function () { return this.innerHTML == "" }).remove();
635
+ })( jQuery );
assets/js/wp-ulike.min.js ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ /**
2
+ * WP ULike 2.8
3
+ * @author Alimir [https://wordpress.org/plugins/wp-ulike/]
4
+ */
5
+
6
+ !function(e){e(["jquery"],function(e){return function(){function t(t,s){return t||(t=l()),(c=e("#"+t.containerId)).length?c:(s&&(c=n(t)),c)}function s(t){for(var s=c.children(),n=s.length-1;n>=0;n--)i(e(s[n]),t)}function i(t,s,i){var n=!(!i||!i.force)&&i.force;return!(!t||!n&&0!==e(":focus",t).length)&&(t[s.hideMethod]({duration:s.hideDuration,easing:s.hideEasing,complete:function(){u(t)}}),!0)}function n(t){return(c=e("<div/>").attr("id",t.containerId).addClass(t.positionClass)).appendTo(e(t.target)),c}function o(){return{tapToDismiss:!0,toastClass:"toast",containerId:"toast-container",debug:!1,showMethod:"fadeIn",showDuration:300,showEasing:"swing",onShown:void 0,hideMethod:"fadeOut",hideDuration:1e3,hideEasing:"swing",onHidden:void 0,closeMethod:!1,closeDuration:!1,closeEasing:!1,closeOnHover:!0,extendedTimeOut:1e3,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},iconClass:"toast-info",positionClass:"toast-top-right",timeOut:5e3,titleClass:"toast-title",messageClass:"toast-message",escapeHtml:!1,target:"body",closeHtml:'<button type="button">&times;</button>',closeClass:"toast-close-button",newestOnTop:!0,preventDuplicates:!1,progressBar:!1,progressClass:"toast-progress",rtl:!1}}function a(e){d&&d(e)}function r(s){function i(e){return null==e&&(e=""),e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function n(){var e="";switch(s.iconClass){case"toast-success":case"toast-info":e="polite";break;default:e="assertive"}x.attr("aria-live",e)}function o(){s.iconClass&&x.addClass(b.toastClass).addClass(E)}function r(){b.newestOnTop?c.prepend(x):c.append(x)}function d(){if(s.title){var e=s.title;b.escapeHtml&&(e=i(s.title)),O.append(e).addClass(b.titleClass),x.append(O)}}function m(){if(s.message){var e=s.message;b.escapeHtml&&(e=i(s.message)),y.append(e).addClass(b.messageClass),x.append(y)}}function g(){b.closeButton&&(H.addClass(b.closeClass).attr("role","button"),x.prepend(H))}function f(){b.progressBar&&(D.addClass(b.progressClass),x.prepend(D))}function _(){b.rtl&&x.addClass("rtl")}function w(t){var s=t&&!1!==b.closeMethod?b.closeMethod:b.hideMethod,i=t&&!1!==b.closeDuration?b.closeDuration:b.hideDuration,n=t&&!1!==b.closeEasing?b.closeEasing:b.hideEasing;if(!e(":focus",x).length||t)return clearTimeout(S.intervalId),x[s]({duration:i,easing:n,complete:function(){u(x),clearTimeout(T),b.onHidden&&"hidden"!==I.state&&b.onHidden(),I.state="hidden",I.endTime=new Date,a(I)}})}function k(){(b.timeOut>0||b.extendedTimeOut>0)&&(T=setTimeout(w,b.extendedTimeOut),S.maxHideTime=parseFloat(b.extendedTimeOut),S.hideEta=(new Date).getTime()+S.maxHideTime)}function v(){clearTimeout(T),S.hideEta=0,x.stop(!0,!0)[b.showMethod]({duration:b.showDuration,easing:b.showEasing})}function C(){var e=(S.hideEta-(new Date).getTime())/S.maxHideTime*100;D.width(e+"%")}var b=l(),E=s.iconClass||b.iconClass;if(void 0!==s.optionsOverride&&(b=e.extend(b,s.optionsOverride),E=s.optionsOverride.iconClass||E),!function(e,t){if(e.preventDuplicates){if(t.message===p)return!0;p=t.message}return!1}(b,s)){h++,c=t(b,!0);var T=null,x=e("<div/>"),O=e("<div/>"),y=e("<div/>"),D=e("<div/>"),H=e(b.closeHtml),S={intervalId:null,hideEta:null,maxHideTime:null},I={toastId:h,state:"visible",startTime:new Date,options:b,map:s};return o(),d(),m(),g(),f(),_(),r(),n(),x.hide(),x[b.showMethod]({duration:b.showDuration,easing:b.showEasing,complete:b.onShown}),b.timeOut>0&&(T=setTimeout(w,b.timeOut),S.maxHideTime=parseFloat(b.timeOut),S.hideEta=(new Date).getTime()+S.maxHideTime,b.progressBar&&(S.intervalId=setInterval(C,10))),b.closeOnHover&&x.hover(v,k),!b.onclick&&b.tapToDismiss&&x.click(w),b.closeButton&&H&&H.click(function(e){e.stopPropagation?e.stopPropagation():void 0!==e.cancelBubble&&!0!==e.cancelBubble&&(e.cancelBubble=!0),b.onCloseClick&&b.onCloseClick(e),w(!0)}),b.onclick&&x.click(function(e){b.onclick(e),w()}),a(I),b.debug&&console&&console.log(I),x}}function l(){return e.extend({},o(),g.options)}function u(e){c||(c=t()),e.is(":visible")||(e.remove(),e=null,0===c.children().length&&(c.remove(),p=void 0))}var c,d,p,h=0,m={error:"error",info:"info",success:"success",warning:"warning"},g={clear:function(e,n){var o=l();c||t(o),i(e,o,n)||s(o)},remove:function(s){var i=l();c||t(i),s&&0===e(":focus",s).length?u(s):c.children().length&&c.remove()},error:function(e,t,s){return r({type:m.error,iconClass:l().iconClasses.error,message:e,optionsOverride:s,title:t})},getContainer:t,info:function(e,t,s){return r({type:m.info,iconClass:l().iconClasses.info,message:e,optionsOverride:s,title:t})},options:{},subscribe:function(e){d=e},success:function(e,t,s){return r({type:m.success,iconClass:l().iconClasses.success,message:e,optionsOverride:s,title:t})},version:"2.1.3",warning:function(e,t,s){return r({type:m.warning,iconClass:l().iconClasses.warning,message:e,optionsOverride:s,title:t})}};return g}()})}("function"==typeof define&&define.amd?define:function(e,t){"undefined"!=typeof module&&module.exports?module.exports=t(require("jquery")):window.toastr=t(window.jQuery)}),function(e,t,s,i){"use strict";function n(t,s){this.element=t,this.$element=e(t),this.settings=e.extend({},a,s),this._defaults=a,this._name=o,this.buttonElement=this.$element.find(this.settings.buttonSelector),this.generalElement=this.$element.find(this.settings.generalSelector),this.counterElement=this.generalElement.find(this.settings.counterSelector);for(var n in r){var l=this.buttonElement.data(n);l!==i&&(this.settings[r[n]]=l)}this.init()}var o="WordpressUlike",a=(e(t),{ID:0,nonce:0,type:"",likeStatus:0,counterSelector:wp_ulike_params.counter_selector,generalSelector:wp_ulike_params.general_selector,buttonSelector:wp_ulike_params.button_selector}),r={"ulike-id":"ID","ulike-nonce":"nonce","ulike-type":"type","ulike-status":"likeStatus"};e.extend(n.prototype,{init:function(){this.buttonElement.click(this._ajaxify.bind(this))},_ajaxify:function(){e.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(){this.generalElement.addClass("wp_ulike_is_loading")}.bind(this),success:function(e){this._update(e)}.bind(this)})},_update:function(e){switch(this.generalElement.removeClass("wp_ulike_is_loading"),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),this._actions("success",e.message,e.btnText,4);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),this._actions("error",e.message,e.btnText,3);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),this._actions("success",e.message,e.btnText,2);break;case 4:this._actions("info",e.message,e.btnText,4),this.generalElement.children().first().addClass("wp_ulike_click_is_disabled");break;default:this._actions("warning",e.message,e.btnText,0)}},_actions:function(e,t,s,i){"image"===wp_ulike_params.button_type?3!==i&&2!==i||this.buttonElement.toggleClass("image-unlike"):"text"===wp_ulike_params.button_type&&this.buttonElement.find("span").html(s),"1"===wp_ulike_params.notifications&&(toastr.options={closeButton:!1,debug:!1,newestOnTop:!1,progressBar:!1,positionClass:"toast-bottom-right",preventDuplicates:!1,showDuration:300,hideDuration:2e3,timeOut:5e3,extendedTimeOut:1e3,showEasing:"swing",hideEasing:"linear",showMethod:"fadeIn",hideMethod:"fadeOut"},toastr[e](t))}}),e.fn[o]=function(t){return this.each(function(){e.data(this,"plugin_"+o)||e.data(this,"plugin_"+o,new n(this,t))})}}(jQuery,window,document),function(e){e(".wpulike").WordpressUlike(),e("p").filter(function(){return""==this.innerHTML}).remove()}(jQuery);
inc/classes/class-ulike.php CHANGED
@@ -2,7 +2,14 @@
2
  if ( ! class_exists( 'wp_ulike' ) ) {
3
 
4
  class wp_ulike{
 
5
  private $wpdb;
 
 
 
 
 
 
6
 
7
  /**
8
  * Constructor
@@ -14,29 +21,31 @@ if ( ! class_exists( 'wp_ulike' ) ) {
14
  }
15
 
16
  /**
17
- * Select logging method
18
  *
19
  * @author Alimir
20
  * @param Array $data
21
  * @since 2.0
 
22
  * @return String
23
  */
24
  public function wp_get_ulike(array $data){
25
  //get loggin method option
26
  $loggin_method = wp_ulike_get_setting( $data['setting'], 'logging_method');
27
-
28
- //select function from logging method
29
- if($loggin_method == 'do_not_log')
30
- return $this->do_not_log_method($data);
31
-
32
- else if($loggin_method == 'by_cookie')
33
- return $this->loggedby_cookie_method($data);
34
-
35
- else if($loggin_method == 'by_ip')
36
- return $this->loggedby_ip_method($data);
37
-
38
- else
39
- return $this->loggedby_other_ways($data);
 
40
  }
41
 
42
  /**
@@ -46,20 +55,14 @@ if ( ! class_exists( 'wp_ulike' ) ) {
46
  * @param Array $data
47
  * @since 2.0
48
  * @updated 2.3
 
49
  * @return String
50
  */
51
  public function do_not_log_method(array $data){
52
- $liked = wp_ulike_format_number($data["get_like"]);
53
- $template = $this->get_template($data["id"],$data["method"],$liked,2,2);
54
- $counter = '';
55
 
56
  if($data["type"] == 'post'){
57
- if (wp_ulike_get_setting( 'wp_ulike_general', 'button_type') == 'image') {
58
- $counter = $template['like_img'];
59
- }
60
- else {
61
- $counter = $template['like_text'];
62
- }
63
  }//end post button
64
  else if($data["type"] == 'process'){
65
  $newLike = $data["get_like"] + 1;
@@ -69,9 +72,9 @@ if ( ! class_exists( 'wp_ulike' ) ) {
69
  wp_ulike_bp_activity_add($data['user_id'],$data['id'],$data['key']);
70
  }
71
  do_action('wp_ulike_mycred_like', $data['id'], $data['key']);
72
- $counter = wp_ulike_format_number($newLike);
73
  }//end post process
74
- return $counter;
75
  }
76
 
77
  /**
@@ -81,31 +84,20 @@ if ( ! class_exists( 'wp_ulike' ) ) {
81
  * @param Array $data
82
  * @since 2.0
83
  * @updated 2.3
 
84
  * @return String
85
  */
86
- public function loggedby_cookie_method(array $data){
87
- $liked = wp_ulike_format_number($data["get_like"]);
88
- $template = $this->get_template($data["id"],$data["method"],$liked,1,2);
89
  $condition = isset($_COOKIE[$data["cookie"].$data["id"]]);
90
  $button_type = wp_ulike_get_setting( 'wp_ulike_general', 'button_type');
91
- $counter = '';
92
 
93
  if($data["type"] == 'post'){
94
  if(!$condition){
95
- if ($button_type == 'image') {
96
- $counter = $template['like_img'];
97
- }
98
- else {
99
- $counter = $template['like_text'];
100
- }
101
  }
102
  else{
103
- if ($button_type == 'image') {
104
- $counter = $template['permission_img'];
105
- }
106
- else {
107
- $counter = $template['permission_text'];
108
- }
109
  }
110
  }//end post button
111
  else if($data["type"] == 'process'){
@@ -118,13 +110,13 @@ if ( ! class_exists( 'wp_ulike' ) ) {
118
  wp_ulike_bp_activity_add($data['user_id'],$data['id'],$data['key']);
119
  }
120
  do_action('wp_ulike_mycred_like', $data['id'], $data['key']);
121
- $counter = wp_ulike_format_number($newLike);
122
  }
123
  else{
124
- $counter = wp_ulike_format_number($data["get_like"]);
125
  }
126
  }//end post process
127
- return $counter;
128
  }
129
 
130
  /**
@@ -133,41 +125,24 @@ if ( ! class_exists( 'wp_ulike' ) ) {
133
  * @author Alimir
134
  * @param Array $data
135
  * @since 2.0
136
- * @updated 2.3
 
137
  * @return String
138
  */
139
- public function loggedby_ip_method(array $data){
140
- $liked = wp_ulike_format_number($data["get_like"]);
141
- $tmp1 = $this->get_template($data["id"],$data["method"],$liked,1,0);
142
- $tmp2 = $this->get_template($data["id"],$data["method"],$liked,1,1);
143
- $button_type = wp_ulike_get_setting( 'wp_ulike_general', 'button_type');
144
  $condition = $this->wpdb->get_var("SELECT COUNT(*) FROM ".$this->wpdb->prefix.$data['table']." WHERE ".$data['column']." = '".$data['id']."' AND ip = '".$data['user_ip']."'");
 
145
 
146
  if($data["type"] == 'post'){
147
  if($condition == 0){
148
- if ($button_type == 'image') {
149
- $counter = $tmp1['like_img'];
150
- }
151
- else {
152
- $counter = $tmp1['like_text'];
153
- }
154
  }
155
  else{
156
  if($this->get_user_status($data['table'],$data['column'],'ip',$data['id'],$data['user_ip']) == "like"){
157
- if ($button_type == 'image') {
158
- $counter = $tmp2['unlike_img'];
159
- }
160
- else {
161
- $counter = $tmp2['unlike_text'];
162
- }
163
  }
164
  else{
165
- if ($button_type == 'image') {
166
- $counter = $tmp1['like_img'];
167
- }
168
- else {
169
- $counter = $tmp1['like_text'];
170
- }
171
  }
172
  }
173
  }//end post button
@@ -180,7 +155,7 @@ if ( ! class_exists( 'wp_ulike' ) ) {
180
  wp_ulike_bp_activity_add($data['user_id'],$data['id'],$data['key']);
181
  }
182
  do_action('wp_ulike_mycred_like', $data['id'], $data['key']);
183
- $counter = wp_ulike_format_number($newLike);
184
  }
185
  else{
186
  if($this->get_user_status($data['table'],$data['column'],'ip',$data['id'],$data['user_ip']) == "like"){
@@ -193,7 +168,7 @@ if ( ! class_exists( 'wp_ulike' ) ) {
193
  WHERE ".$data['column']." = '".$data['id']."' AND ip = '".$data['user_ip']."'
194
  ");
195
  do_action('wp_ulike_mycred_unlike', $data['id'], $data['key']);
196
- $counter = wp_ulike_format_number($newLike);
197
  }
198
  else{
199
  $newLike = $data["get_like"] + 1;
@@ -205,11 +180,11 @@ if ( ! class_exists( 'wp_ulike' ) ) {
205
  WHERE ".$data['column']." = '".$data['id']."' AND ip = '".$data['user_ip']."'
206
  ");
207
  do_action('wp_ulike_mycred_like', $data['id'], $data['key']);
208
- $counter = wp_ulike_format_number($newLike);
209
  }
210
  }
211
  }//end post process
212
- return $counter;
213
  }
214
 
215
  /**
@@ -219,16 +194,14 @@ if ( ! class_exists( 'wp_ulike' ) ) {
219
  * @param Array $data
220
  * @since 2.0
221
  * @updated 2.3
222
- * @updated 2.4.2
 
223
  * @return String
224
  */
225
- public function loggedby_other_ways(array $data){
226
- $liked = wp_ulike_format_number($data["get_like"]);
227
- $tmp1 = $this->get_template($data["id"],$data["method"],$liked,1,0);
228
- $tmp2 = $this->get_template($data["id"],$data["method"],$liked,1,1);
229
- $loggin_method = wp_ulike_get_setting( $data['setting'], 'logging_method');
230
- $button_type = wp_ulike_get_setting( 'wp_ulike_general', 'button_type');
231
  $second_condition = true; //check for by_username login method
 
232
 
233
  /* I removed this section (by_cookie_ip method) for some tests on v2.4.2
234
  if($loggin_method == 'by_cookie_ip'){
@@ -237,50 +210,29 @@ if ( ! class_exists( 'wp_ulike' ) ) {
237
  $second_val = $data['user_ip'];
238
  }*/
239
  //else if($loggin_method == 'by_username'){
240
- $condition = $this->wpdb->get_var("SELECT COUNT(*) FROM ".$this->wpdb->prefix.$data['table']." WHERE ".$data['column']." = '".$data['id']."' AND user_id = '".$data['user_id']."'");
241
- $user_info = get_userdata($data['user_id']);// check for user data
242
- if(!$user_info) $second_condition = false;// if user not exist, condition will be false
243
- $second_column = 'user_id';
244
- $second_val = $data['user_id'];
245
- if(!is_user_logged_in())
246
- $tmp1 = $this->get_template($data["id"],$data["method"],$liked,1,2);
247
  //}
248
 
249
 
250
  if($data["type"] == 'post'){
251
  if($condition == 0 /*&& !isset($_COOKIE[$data["cookie"].$data["id"]])*/){
252
- if ($button_type == 'image') {
253
- $counter = $tmp1['like_img'];
254
- }
255
- else {
256
- $counter = $tmp1['like_text'];
257
- }
258
  }
259
  else if($condition != 0 /*&& isset($_COOKIE[$data["cookie"].$data["id"]])*/ && $second_condition){
260
  if($this->get_user_status($data['table'],$data['column'],$second_column,$data['id'],$second_val) == "like"){
261
- if ($button_type == 'image') {
262
- $counter = $tmp2['unlike_img'];
263
- }
264
- else {
265
- $counter = $tmp2['unlike_text'];
266
- }
267
  }
268
  else{
269
- if ($button_type == 'image') {
270
- $counter = $tmp1['like_img'];
271
- }
272
- else {
273
- $counter = $tmp1['like_text'];
274
- }
275
  }
276
  }
277
- else{
278
- if ($button_type == 'image') {
279
- $counter = $tmp1['permission_img'];
280
- }
281
- else {
282
- $counter = $tmp1['permission_text'];
283
- } }
284
  }//end post button
285
  else if($data["type"] == 'process'){
286
  if($condition == 0 /*&& !isset($_COOKIE[$data["cookie"].$data["id"]])*/){
@@ -292,7 +244,7 @@ if ( ! class_exists( 'wp_ulike' ) ) {
292
  }
293
  //setcookie($data["cookie"].$data["id"], time(), time()+3600*24*365, '/');
294
  do_action('wp_ulike_mycred_like', $data['id'], $data['key']);
295
- $counter = wp_ulike_format_number($newLike);
296
  }
297
  else if($condition != 0 /*&&isset($_COOKIE[$data["cookie"].$data["id"]])*/ && $second_condition){
298
  if($this->get_user_status($data['table'],$data['column'],$second_column,$data['id'],$second_val) == "like"){
@@ -305,7 +257,7 @@ if ( ! class_exists( 'wp_ulike' ) ) {
305
  WHERE ".$data['column']." = '".$data['id']."' AND $second_column = '$second_val'
306
  ");
307
  do_action('wp_ulike_mycred_unlike', $data['id'], $data['key']);
308
- $counter = wp_ulike_format_number($newLike);
309
  }
310
  else{
311
  $newLike = $data["get_like"] + 1;
@@ -317,14 +269,14 @@ if ( ! class_exists( 'wp_ulike' ) ) {
317
  WHERE ".$data['column']." = '".$data['id']."' AND $second_column = '$second_val'
318
  ");
319
  do_action('wp_ulike_mycred_like', $data['id'], $data['key']);
320
- $counter = wp_ulike_format_number($newLike);
321
  }
322
  }
323
  else{
324
- $counter = wp_ulike_format_number($data["get_like"]);
325
  }
326
  }//end post process
327
- return $counter;
328
  }
329
 
330
  /**
@@ -348,40 +300,93 @@ if ( ! class_exists( 'wp_ulike' ) ) {
348
  else
349
  return 0;
350
  }
 
351
 
352
  /**
353
  * Get template
354
  *
355
  * @author Alimir
356
- * @param Integer $id
357
- * @param String $method
358
- * @param Integer $liked
359
- * @param Integer $num1
360
- * @param Integer $num2
361
  * @since 2.0
362
  * @updated 2.3
363
  * @updated 2.7 //Added 'wp_ulike_count_box_template' filter
 
364
  * @return String
365
  */
366
- public function get_template($id,$method,$liked,$num1,$num2){
367
-
368
- $counter = apply_filters('wp_ulike_count_box_template', '<span class="count-box">'.$liked.'</span>', $liked);
369
- $button_text = html_entity_decode(wp_ulike_get_setting( 'wp_ulike_general', 'button_text'));
370
- $button_text_u = html_entity_decode(wp_ulike_get_setting( 'wp_ulike_general', 'button_text_u'));
371
- $permission_text = html_entity_decode(wp_ulike_get_setting( 'wp_ulike_general', 'permission_text'));
372
- $login_text = html_entity_decode(wp_ulike_get_setting( 'wp_ulike_general', 'login_text'));
373
- $status = $num1 + $num2;
 
 
 
 
 
 
 
 
 
 
 
 
 
374
 
375
- return array(
376
- "like_img" => '<a data-ulike-id="'.$id.'" data-ulike-type="'.$method.'" data-ulike-status="'.$status.'" class="wp_ulike_btn image"></a>'.$counter.'',
377
- "like_text" => '<a data-ulike-id="'.$id.'" data-ulike-type="'.$method.'" data-ulike-status="'.$status.'" class="wp_ulike_btn text">'.$button_text.'</a>'.$counter.'',
378
- "unlike_img" => '<a data-ulike-id="'.$id.'" data-ulike-type="'.$method.'" data-ulike-status="'.$status.'" class="wp_ulike_btn image-unlike"></a>'.$counter.'',
379
- "unlike_text" => '<a data-ulike-id="'.$id.'" data-ulike-type="'.$method.'" data-ulike-status="'.$status.'" class="wp_ulike_btn text">'.$button_text_u.'</a>'.$counter.'',
380
- "permission_text" => '<a title="'.$permission_text.'" class="text user-tooltip">'.$button_text_u.'</a>'.$counter.'',
381
- "permission_img" => '<a title="'.$permission_text.'" class="image-unlike user-tooltip"></a>'.$counter.'',
382
- "login_img" => '<a title="'.$login_text.'" class="image user-tooltip"></a>'.$counter.'',
383
- "login_text" => '<a title="'.$login_text.'" class="text user-tooltip">'.$button_text.'</a>'.$counter.''
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
384
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
385
  }
386
 
387
  /**
@@ -397,11 +402,14 @@ if ( ! class_exists( 'wp_ulike' ) ) {
397
  * @return String
398
  */
399
  public function get_user_status($table,$first_column,$second_column,$first_val,$second_val){
 
400
  $like_status = $this->wpdb->get_var("SELECT status FROM ".$this->wpdb->prefix."$table WHERE $first_column = '$first_val' AND $second_column = '$second_val'");
401
- if ($like_status == "like")
402
- return "like";
403
- else
404
- return "unlike";
 
 
405
  }
406
 
407
  /**
@@ -521,18 +529,35 @@ if ( ! class_exists( 'wp_ulike' ) ) {
521
  */
522
  function get_reutrn_id(){
523
  global $user_ID,$wp_user_IP;
 
524
  if(!is_user_logged_in()){
525
  return ip2long($wp_user_IP);
526
  }
527
- else
528
  return $user_ID;
 
529
  }
530
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
531
 
532
  }
533
 
534
  //global variables
535
  global $wp_ulike_class;
536
- $wp_ulike_class = new wp_ulike();
537
 
538
  }
2
  if ( ! class_exists( 'wp_ulike' ) ) {
3
 
4
  class wp_ulike{
5
+
6
  private $wpdb;
7
+ /**
8
+ * Instance of this class.
9
+ *
10
+ * @var object
11
+ */
12
+ protected static $instance = null;
13
 
14
  /**
15
  * Constructor
21
  }
22
 
23
  /**
24
+ * Select the logging type
25
  *
26
  * @author Alimir
27
  * @param Array $data
28
  * @since 2.0
29
+ * @since 2.8 //Added switch statement
30
  * @return String
31
  */
32
  public function wp_get_ulike(array $data){
33
  //get loggin method option
34
  $loggin_method = wp_ulike_get_setting( $data['setting'], 'logging_method');
35
+ //Select the logging functionality
36
+ switch($loggin_method){
37
+ case 'do_not_log':
38
+ return $this->do_not_log_method($data);
39
+ break;
40
+ case 'by_cookie':
41
+ return $this->loggedby_cookie_method($data);
42
+ break;
43
+ case 'by_ip':
44
+ return $this->loggedby_ip_method($data);
45
+ break;
46
+ default:
47
+ return $this->loggedby_other_ways($data);
48
+ }
49
  }
50
 
51
  /**
55
  * @param Array $data
56
  * @since 2.0
57
  * @updated 2.3
58
+ * @updated 2.8 //Added 'get_template' changes & Removed some variables
59
  * @return String
60
  */
61
  public function do_not_log_method(array $data){
62
+ $output = '';
 
 
63
 
64
  if($data["type"] == 'post'){
65
+ $output = $this->get_template( $data, 1 );
 
 
 
 
 
66
  }//end post button
67
  else if($data["type"] == 'process'){
68
  $newLike = $data["get_like"] + 1;
72
  wp_ulike_bp_activity_add($data['user_id'],$data['id'],$data['key']);
73
  }
74
  do_action('wp_ulike_mycred_like', $data['id'], $data['key']);
75
+ $output = wp_ulike_format_number($newLike);
76
  }//end post process
77
+ return $output;
78
  }
79
 
80
  /**
84
  * @param Array $data
85
  * @since 2.0
86
  * @updated 2.3
87
+ * @updated 2.8 //Added 'get_template' changes & Removed some variables
88
  * @return String
89
  */
90
+ public function loggedby_cookie_method( array $data ){
 
 
91
  $condition = isset($_COOKIE[$data["cookie"].$data["id"]]);
92
  $button_type = wp_ulike_get_setting( 'wp_ulike_general', 'button_type');
93
+ $output = '';
94
 
95
  if($data["type"] == 'post'){
96
  if(!$condition){
97
+ $output = $this->get_template( $data, 1 );
 
 
 
 
 
98
  }
99
  else{
100
+ $output = $this->get_template( $data, 4 );
 
 
 
 
 
101
  }
102
  }//end post button
103
  else if($data["type"] == 'process'){
110
  wp_ulike_bp_activity_add($data['user_id'],$data['id'],$data['key']);
111
  }
112
  do_action('wp_ulike_mycred_like', $data['id'], $data['key']);
113
+ $output = wp_ulike_format_number($newLike);
114
  }
115
  else{
116
+ $output = wp_ulike_format_number($data["get_like"]);
117
  }
118
  }//end post process
119
+ return $output;
120
  }
121
 
122
  /**
125
  * @author Alimir
126
  * @param Array $data
127
  * @since 2.0
128
+ * @updated 2.3
129
+ * @updated 2.8 //Added 'get_template' changes & Removed some variables
130
  * @return String
131
  */
132
+ public function loggedby_ip_method( array $data ){
 
 
 
 
133
  $condition = $this->wpdb->get_var("SELECT COUNT(*) FROM ".$this->wpdb->prefix.$data['table']." WHERE ".$data['column']." = '".$data['id']."' AND ip = '".$data['user_ip']."'");
134
+ $output = '';
135
 
136
  if($data["type"] == 'post'){
137
  if($condition == 0){
138
+ $output = $this->get_template( $data, 1 );
 
 
 
 
 
139
  }
140
  else{
141
  if($this->get_user_status($data['table'],$data['column'],'ip',$data['id'],$data['user_ip']) == "like"){
142
+ $output = $this->get_template( $data, 2 );
 
 
 
 
 
143
  }
144
  else{
145
+ $output = $this->get_template( $data, 3 );
 
 
 
 
 
146
  }
147
  }
148
  }//end post button
155
  wp_ulike_bp_activity_add($data['user_id'],$data['id'],$data['key']);
156
  }
157
  do_action('wp_ulike_mycred_like', $data['id'], $data['key']);
158
+ $output = wp_ulike_format_number($newLike);
159
  }
160
  else{
161
  if($this->get_user_status($data['table'],$data['column'],'ip',$data['id'],$data['user_ip']) == "like"){
168
  WHERE ".$data['column']." = '".$data['id']."' AND ip = '".$data['user_ip']."'
169
  ");
170
  do_action('wp_ulike_mycred_unlike', $data['id'], $data['key']);
171
+ $output = wp_ulike_format_number($newLike);
172
  }
173
  else{
174
  $newLike = $data["get_like"] + 1;
180
  WHERE ".$data['column']." = '".$data['id']."' AND ip = '".$data['user_ip']."'
181
  ");
182
  do_action('wp_ulike_mycred_like', $data['id'], $data['key']);
183
+ $output = wp_ulike_format_number($newLike);
184
  }
185
  }
186
  }//end post process
187
+ return $output;
188
  }
189
 
190
  /**
194
  * @param Array $data
195
  * @since 2.0
196
  * @updated 2.3
197
+ * @updated 2.4.2
198
+ * @updated 2.8 //Added 'get_template' changes & Removed some variables
199
  * @return String
200
  */
201
+ public function loggedby_other_ways( array $data ){
202
+ $loggin_method = wp_ulike_get_setting( $data['setting'], 'logging_method' );
 
 
 
 
203
  $second_condition = true; //check for by_username login method
204
+ $output = '';
205
 
206
  /* I removed this section (by_cookie_ip method) for some tests on v2.4.2
207
  if($loggin_method == 'by_cookie_ip'){
210
  $second_val = $data['user_ip'];
211
  }*/
212
  //else if($loggin_method == 'by_username'){
213
+ $condition = $this->wpdb->get_var("SELECT COUNT(*) FROM ".$this->wpdb->prefix.$data['table']." WHERE ".$data['column']." = '".$data['id']."' AND user_id = '".$data['user_id']."'");
214
+ $user_info = get_userdata($data['user_id']);// check for user data
215
+ if(!$user_info) $second_condition = false;// if user not exist, condition will be false
216
+ $second_column = 'user_id';
217
+ $second_val = $data['user_id'];
 
 
218
  //}
219
 
220
 
221
  if($data["type"] == 'post'){
222
  if($condition == 0 /*&& !isset($_COOKIE[$data["cookie"].$data["id"]])*/){
223
+ $output = $this->get_template( $data, 1 );
 
 
 
 
 
224
  }
225
  else if($condition != 0 /*&& isset($_COOKIE[$data["cookie"].$data["id"]])*/ && $second_condition){
226
  if($this->get_user_status($data['table'],$data['column'],$second_column,$data['id'],$second_val) == "like"){
227
+ $output = $this->get_template( $data, 2 );
 
 
 
 
 
228
  }
229
  else{
230
+ $output = $this->get_template( $data, 3 );
 
 
 
 
 
231
  }
232
  }
233
+ else {
234
+ $output = $this->get_template( $data, 4 );
235
+ }
 
 
 
 
236
  }//end post button
237
  else if($data["type"] == 'process'){
238
  if($condition == 0 /*&& !isset($_COOKIE[$data["cookie"].$data["id"]])*/){
244
  }
245
  //setcookie($data["cookie"].$data["id"], time(), time()+3600*24*365, '/');
246
  do_action('wp_ulike_mycred_like', $data['id'], $data['key']);
247
+ $output = wp_ulike_format_number($newLike);
248
  }
249
  else if($condition != 0 /*&&isset($_COOKIE[$data["cookie"].$data["id"]])*/ && $second_condition){
250
  if($this->get_user_status($data['table'],$data['column'],$second_column,$data['id'],$second_val) == "like"){
257
  WHERE ".$data['column']." = '".$data['id']."' AND $second_column = '$second_val'
258
  ");
259
  do_action('wp_ulike_mycred_unlike', $data['id'], $data['key']);
260
+ $output = wp_ulike_format_number($newLike);
261
  }
262
  else{
263
  $newLike = $data["get_like"] + 1;
269
  WHERE ".$data['column']." = '".$data['id']."' AND $second_column = '$second_val'
270
  ");
271
  do_action('wp_ulike_mycred_like', $data['id'], $data['key']);
272
+ $output = wp_ulike_format_number($newLike);
273
  }
274
  }
275
  else{
276
+ $output = wp_ulike_format_number($data["get_like"]);
277
  }
278
  }//end post process
279
+ return $output;
280
  }
281
 
282
  /**
300
  else
301
  return 0;
302
  }
303
+
304
 
305
  /**
306
  * Get template
307
  *
308
  * @author Alimir
309
+ * @param Array $args
310
+ * @param Integer $status ( 0 = Is not logged, 1 = Is not liked, 2 = Is liked in the past, 3 = Is unliked, 4 = Is already liked )
 
 
 
311
  * @since 2.0
312
  * @updated 2.3
313
  * @updated 2.7 //Added 'wp_ulike_count_box_template' filter
314
+ * @updated 2.8 //Removed some old variables & added a new functionality
315
  * @return String
316
  */
317
+ public function get_template( array $args, $status ){
318
+
319
+ $button_type = wp_ulike_get_setting( 'wp_ulike_general', 'button_type' );
320
+ //Primary button class name
321
+ $button_class_name = str_replace( ".", "", apply_filters( 'wp_ulike_button_selector', 'wp_ulike_btn' ) );
322
+ //Button text value
323
+ $button_text = '';
324
+
325
+ if( $button_type == 'image' ){
326
+ $button_class_name .= ' wp_ulike_put_image';
327
+ if($status == 2){
328
+ $button_class_name .= ' image-unlike';
329
+ }
330
+ } else {
331
+ $button_class_name .= ' wp_ulike_put_text';
332
+ if($status == 2){
333
+ $button_text = html_entity_decode( wp_ulike_get_setting( 'wp_ulike_general', 'button_text_u' ) );
334
+ } else {
335
+ $button_text = html_entity_decode( wp_ulike_get_setting( 'wp_ulike_general', 'button_text' ) );
336
+ }
337
+ }
338
 
339
+ $general_class_name = str_replace( ".", "", apply_filters( 'wp_ulike_general_selector', 'wp_ulike_general_class' ) );
340
+
341
+ switch ($status){
342
+ case 0:
343
+ $general_class_name .= ' wp_ulike_is_not_logged';
344
+ break;
345
+ case 1:
346
+ $general_class_name .= ' wp_ulike_is_not_liked';
347
+ break;
348
+ case 2:
349
+ $general_class_name .= ' wp_ulike_is_liked';
350
+ break;
351
+ case 3:
352
+ $general_class_name .= ' wp_ulike_is_unliked';
353
+ break;
354
+ case 4:
355
+ $general_class_name .= ' wp_ulike_is_already_liked';
356
+ }
357
+
358
+ $counter = apply_filters( 'wp_ulike_count_box_template', '<span class="count-box">'. wp_ulike_format_number( $args['get_like'] ) .'</span>' , $args['get_like'] );
359
+
360
+ $wp_ulike_template = apply_filters( 'wp_ulike_add_templates_args', array(
361
+ "ID" => $args['id'],
362
+ "slug" => $args['slug'],
363
+ "counter" => $counter,
364
+ "type" => $args['method'],
365
+ "status" => $status,
366
+ "attributes" => $args['attributes'],
367
+ "microdata" => $args['microdata'],
368
+ "style" => $args['style'],
369
+ "button_type" => $button_type,
370
+ "button_text" => $button_text,
371
+ "general_class" => $general_class_name,
372
+ "button_class" => $button_class_name
373
+ )
374
  );
375
+
376
+
377
+ $wp_ulike_callback = apply_filters( 'wp_ulike_add_templates_list', call_user_func('wp_ulike_generate_templates_list') );
378
+
379
+ $output = '';
380
+
381
+ foreach( $wp_ulike_callback as $key => $value ){
382
+ if ( $key === $args['style'] ) {
383
+ $output = call_user_func( $value['callback'], $wp_ulike_template );
384
+ break;
385
+ }
386
+ }
387
+
388
+ return apply_filters( 'wp_ulike_return_final_templates', trim( preg_replace( '/\s+/',' ', $output ) ), $wp_ulike_template );
389
+
390
  }
391
 
392
  /**
402
  * @return String
403
  */
404
  public function get_user_status($table,$first_column,$second_column,$first_val,$second_val){
405
+
406
  $like_status = $this->wpdb->get_var("SELECT status FROM ".$this->wpdb->prefix."$table WHERE $first_column = '$first_val' AND $second_column = '$second_val'");
407
+
408
+ if ($like_status == "like") {
409
+ return "like";
410
+ } else {
411
+ return "unlike";
412
+ }
413
  }
414
 
415
  /**
529
  */
530
  function get_reutrn_id(){
531
  global $user_ID,$wp_user_IP;
532
+
533
  if(!is_user_logged_in()){
534
  return ip2long($wp_user_IP);
535
  }
536
+ else {
537
  return $user_ID;
538
+ }
539
  }
540
 
541
+ /**
542
+ * Return an instance of this class.
543
+ *
544
+ * @return object A single instance of this class.
545
+ */
546
+ public static function get_instance() {
547
+
548
+ // If the single instance hasn't been set, set it now.
549
+ if ( null == self::$instance ) {
550
+ self::$instance = new self;
551
+ }
552
+
553
+ return self::$instance;
554
+ }
555
+
556
 
557
  }
558
 
559
  //global variables
560
  global $wp_ulike_class;
561
+ $wp_ulike_class = wp_ulike::get_instance();
562
 
563
  }
inc/wp-functions.php CHANGED
@@ -1,4 +1,6 @@
1
  <?php
 
 
2
 
3
  /*******************************************************
4
  Posts Likes Functions
@@ -111,6 +113,7 @@
111
  *
112
  * @author Alimir
113
  * @since 2.7
 
114
  * @return String
115
  */
116
  add_filter( 'wp_ulike_posts_microdata', 'wp_ulike_get_posts_microdata');
@@ -120,7 +123,7 @@
120
  $post_meta = '<meta itemprop="name" content="' . get_the_title() . '" />';
121
  $post_meta .= apply_filters( 'wp_ulike_extra_structured_data', NULL );
122
  $post_meta .= '<span itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="name" content="' . get_the_author() . '" /></span>';
123
- $post_meta .= '<meta itemprop="datePublished" content="' . mysql2date( 'c', get_the_date(), false ) . '" />';
124
  $ratings_meta = '<span itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">';
125
  $ratings_meta .= '<meta itemprop="bestRating" content="5" />';
126
  $ratings_meta .= '<meta itemprop="worstRating" content="1" />';
@@ -267,7 +270,7 @@
267
  */
268
  if (wp_ulike_get_setting( 'wp_ulike_buddypress', 'auto_display' ) == '1') {
269
  function wp_ulike_put_buddypress() {
270
- echo wp_ulike_buddypress('put');
271
  }
272
 
273
  if (wp_ulike_get_setting( 'wp_ulike_buddypress', 'auto_display_position' ) == 'meta'){
@@ -549,7 +552,7 @@
549
  if (wp_ulike_get_setting( 'wp_ulike_bbpress', 'auto_display' ) == '1') {
550
 
551
  function wp_ulike_put_bbpress() {
552
- echo wp_ulike_bbpress('put');
553
  }
554
 
555
  if (wp_ulike_get_setting( 'wp_ulike_bbpress', 'auto_display_position' ) == 'top')
@@ -749,6 +752,7 @@
749
  * @since 1.3
750
  * @updated 2.3
751
  * @updated 2.4
 
752
  * @return Void (Print new CSS styles)
753
  */
754
  function wp_ulike_get_custom_style(){
@@ -767,105 +771,103 @@
767
 
768
  if(wp_ulike_get_setting( 'wp_ulike_customize', 'custom_style') == '1'){
769
 
770
- //get custom options
771
- $customstyle = get_option( 'wp_ulike_customize' );
772
-
773
- //button style
774
- $btn_bg = $customstyle['btn_bg'];
775
- $btn_border = $customstyle['btn_border'];
776
- $btn_color = $customstyle['btn_color'];
777
-
778
- //counter style
779
- $counter_bg = $customstyle['counter_bg'];
780
- $counter_border = $customstyle['counter_border'];
781
- $counter_color = $customstyle['counter_color'];
782
-
783
- //Loading animation
784
- $customloading = $customstyle['loading_animation'];
785
- $loadingurl = wp_get_attachment_url( $customloading );
786
-
787
- $custom_css = $customstyle['custom_css'];
788
 
789
-
790
- if($btn_bg != ''){
791
- $btn_style .= "background-color:$btn_bg;";
792
- }
793
- if($btn_border != ''){
794
- $btn_style .= "border-color:$btn_border; ";
795
- }
796
- if($btn_color != ''){
797
- $btn_style .= "color:$btn_color;text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.3);";
798
- }
799
 
800
- if($counter_bg != ''){
801
- $counter_style .= "background-color:$counter_bg; ";
802
- }
803
- if($counter_border != ''){
804
- $counter_style .= "border-color:$counter_border; ";
805
- $before_style = "border-color:transparent; border-bottom-color:$counter_border; border-left-color:$counter_border;";
806
- }
807
- if($counter_color != ''){
808
- $counter_style .= "color:$counter_color;";
809
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
810
 
811
  }
812
 
813
  if($getlikeicon != '' || $getunlikeicon != '' || $customstyle != ''){
814
 
815
- if($getlikeicon != ''){
816
- $return_style .= '
817
- .wpulike .counter a.image {
818
- background-image: url('.$getlikeurl.') !important;
819
- }
820
- .wpulike-heart .counter a.image:hover {
821
- background-image: url('.$getlikeurl.') !important;
822
- }
823
- ';
824
- }
825
-
826
- if($getunlikeicon != ''){
827
- $return_style .= '
828
- .wpulike .counter a.image-unlike {
829
- background-image: url('.$getunlikeurl.') !important;
830
- }
831
- .wpulike-heart .counter a.image-unlike:hover {
832
- background-image: url('.$getunlikeurl.') !important;
833
- }
834
- ';
835
- }
836
-
837
- if($customloading != ''){
838
- $return_style .= '
839
- .wpulike .counter a.loading {
840
- background-image: url('.$loadingurl.') !important;
841
- }
842
- ';
843
- }
844
-
845
- if($btn_style != ''){
846
- $return_style .= "
847
- .wpulike-default .counter a{
848
- $btn_style
849
- }
850
- .wpulike-heart .counter{
851
- $btn_style
852
- }
853
- ";
854
- }
855
-
856
- if($counter_style != ''){
857
- $return_style .= "
858
- .wpulike-default .count-box,.wpulike-default .count-box:before{
859
- $counter_style
860
- }
861
- .wpulike-default .count-box:before{
862
- $before_style
863
- } ";
864
- }
865
-
866
- if($custom_css != ''){
867
- $return_style .= $custom_css;
868
- }
869
  }
870
 
871
  return $return_style;
@@ -905,7 +907,9 @@
905
 
906
 
907
  /*******************************************************
908
- WP ULike Class
909
  *******************************************************/
910
-
911
- include( plugin_dir_path(__FILE__) . 'classes/class-ulike.php');
 
 
1
  <?php
2
+
3
+ if ( ! defined( 'ABSPATH' ) ) exit; // No direct access allowed
4
 
5
  /*******************************************************
6
  Posts Likes Functions
113
  *
114
  * @author Alimir
115
  * @since 2.7
116
+ * @since 2.8 //Replaced 'mysql2date' with 'get_post_time' function
117
  * @return String
118
  */
119
  add_filter( 'wp_ulike_posts_microdata', 'wp_ulike_get_posts_microdata');
123
  $post_meta = '<meta itemprop="name" content="' . get_the_title() . '" />';
124
  $post_meta .= apply_filters( 'wp_ulike_extra_structured_data', NULL );
125
  $post_meta .= '<span itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="name" content="' . get_the_author() . '" /></span>';
126
+ $post_meta .= '<meta itemprop="datePublished" content="' . get_post_time('c') . '" />';
127
  $ratings_meta = '<span itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">';
128
  $ratings_meta .= '<meta itemprop="bestRating" content="5" />';
129
  $ratings_meta .= '<meta itemprop="worstRating" content="1" />';
270
  */
271
  if (wp_ulike_get_setting( 'wp_ulike_buddypress', 'auto_display' ) == '1') {
272
  function wp_ulike_put_buddypress() {
273
+ wp_ulike_buddypress('get');
274
  }
275
 
276
  if (wp_ulike_get_setting( 'wp_ulike_buddypress', 'auto_display_position' ) == 'meta'){
552
  if (wp_ulike_get_setting( 'wp_ulike_bbpress', 'auto_display' ) == '1') {
553
 
554
  function wp_ulike_put_bbpress() {
555
+ wp_ulike_bbpress('get');
556
  }
557
 
558
  if (wp_ulike_get_setting( 'wp_ulike_bbpress', 'auto_display_position' ) == 'top')
752
  * @since 1.3
753
  * @updated 2.3
754
  * @updated 2.4
755
+ * @updated 2.8 //Added new element names
756
  * @return Void (Print new CSS styles)
757
  */
758
  function wp_ulike_get_custom_style(){
771
 
772
  if(wp_ulike_get_setting( 'wp_ulike_customize', 'custom_style') == '1'){
773
 
774
+ //get custom options
775
+ $customstyle = get_option( 'wp_ulike_customize' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
776
 
777
+ //button style
778
+ $btn_bg = $customstyle['btn_bg'];
779
+ $btn_border = $customstyle['btn_border'];
780
+ $btn_color = $customstyle['btn_color'];
 
 
 
 
 
 
781
 
782
+ //counter style
783
+ $counter_bg = $customstyle['counter_bg'];
784
+ $counter_border = $customstyle['counter_border'];
785
+ $counter_color = $customstyle['counter_color'];
786
+
787
+ //Loading animation
788
+ $customloading = $customstyle['loading_animation'];
789
+ $loadingurl = wp_get_attachment_url( $customloading );
790
+
791
+ $custom_css = $customstyle['custom_css'];
792
+
793
+
794
+ if($btn_bg != ''){
795
+ $btn_style .= "background-color:$btn_bg;";
796
+ }
797
+ if($btn_border != ''){
798
+ $btn_style .= "border-color:$btn_border; ";
799
+ }
800
+ if($btn_color != ''){
801
+ $btn_style .= "color:$btn_color;text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.3);";
802
+ }
803
+
804
+ if($counter_bg != ''){
805
+ $counter_style .= "background-color:$counter_bg; ";
806
+ }
807
+ if($counter_border != ''){
808
+ $counter_style .= "border-color:$counter_border; ";
809
+ $before_style = "border-color:transparent; border-bottom-color:$counter_border; border-left-color:$counter_border;";
810
+ }
811
+ if($counter_color != ''){
812
+ $counter_style .= "color:$counter_color;";
813
+ }
814
 
815
  }
816
 
817
  if($getlikeicon != '' || $getunlikeicon != '' || $customstyle != ''){
818
 
819
+ if($getlikeicon != ''){
820
+ $return_style .= '
821
+ .wp_ulike_btn.wp_ulike_put_image {
822
+ background-image: url('.$getlikeurl.') !important;
823
+ }
824
+ ';
825
+ }
826
+
827
+ if($getunlikeicon != ''){
828
+ $return_style .= '
829
+ .wp_ulike_btn.wp_ulike_put_image.image-unlike {
830
+ background-image: url('.$getunlikeurl.') !important;
831
+ }
832
+ ';
833
+ }
834
+
835
+ if($customloading != ''){
836
+ $return_style .= '
837
+ .wpulike .wp_ulike_is_loading .wp_ulike_btn,
838
+ #buddypress .activity-content .wpulike .wp_ulike_is_loading .wp_ulike_btn,
839
+ #bbpress-forums .bbp-reply-content .wpulike .wp_ulike_is_loading .wp_ulike_btn {
840
+ background-image: url('.$loadingurl.') !important;
841
+ }
842
+ ';
843
+ }
844
+
845
+ if($btn_style != ''){
846
+ $return_style .= '
847
+ .wpulike-default .wp_ulike_btn, .wpulike-default .wp_ulike_btn:hover, #bbpress-forums .wpulike-default .wp_ulike_btn, #bbpress-forums .wpulike-default .wp_ulike_btn:hover{
848
+ '.$btn_style.'
849
+ }
850
+ .wpulike-heart .wp_ulike_general_class{
851
+ '.$btn_style.'
852
+ }
853
+ ';
854
+ }
855
+
856
+ if($counter_style != ''){
857
+ $return_style .= '
858
+ .wpulike-default .count-box,.wpulike-default .count-box:before{
859
+ '.$counter_style.'
860
+ }
861
+ .wpulike-default .count-box:before{
862
+ '.$before_style.'
863
+ }
864
+ ';
865
+ }
866
+
867
+ if($custom_css != ''){
868
+ $return_style .= $custom_css;
869
+ }
870
+
 
 
871
  }
872
 
873
  return $return_style;
907
 
908
 
909
  /*******************************************************
910
+ WP ULike Class & Templates
911
  *******************************************************/
912
+ //Include wp_ulike class
913
+ require_once( plugin_dir_path( __FILE__ ) . 'classes/class-ulike.php' );
914
+ //Include templates functions
915
+ require_once( plugin_dir_path( __FILE__ ) . 'wp-templates.php' );
inc/wp-script.php CHANGED
@@ -9,6 +9,7 @@
9
  * @since 1.0
10
  * @updated 2.2
11
  * @updated 2.4.1
 
12
  * @return void
13
  */
14
  add_action('init', 'wp_ulike_enqueue_scripts');
@@ -16,19 +17,16 @@
16
  function wp_ulike_enqueue_scripts() {
17
  //enqueue JQuery script
18
  wp_enqueue_script( 'jquery' );
19
- //Add ulike script file with special functions.
20
- wp_enqueue_script('wp_ulike', plugins_url('assets/js/wp-ulike-scripts.min.js', dirname(__FILE__)), array('jquery'), '1.2.3');
21
- //Add ulike plugin file, such as: tooltip, transaction, ...
22
- wp_enqueue_script('wp_ulike_plugins', plugins_url('assets/js/wp-ulike-plugins.js', dirname(__FILE__)), array('jquery'), '1.0.1', true);
23
  //localize script
24
- wp_localize_script( 'wp_ulike', 'ulike_obj', array(
25
- 'ajaxurl' => admin_url( 'admin-ajax.php' ),
26
- 'button_text_u' => wp_ulike_get_setting( 'wp_ulike_general', 'button_text_u'),
27
- 'button_text' => wp_ulike_get_setting( 'wp_ulike_general', 'button_text'),
28
- 'button_type' => wp_ulike_get_setting( 'wp_ulike_general', 'button_type'),
29
- 'notifications' => wp_ulike_get_setting( 'wp_ulike_general', 'notifications'),
30
- 'like_notice' => wp_ulike_get_setting( 'wp_ulike_general', 'like_notice'),
31
- 'unlike_notice' => wp_ulike_get_setting( 'wp_ulike_general', 'unlike_notice')
32
  ));
33
  //wp_ajax hooks for the custom AJAX requests
34
  add_action('wp_ajax_wp_ulike_process','wp_ulike_process');
9
  * @since 1.0
10
  * @updated 2.2
11
  * @updated 2.4.1
12
+ * @updated 2.8 //Removed like_notice & unlike_notice variables of 'wp_localize_script' function + Dequeued 'wp_ulike_plugins' script
13
  * @return void
14
  */
15
  add_action('init', 'wp_ulike_enqueue_scripts');
17
  function wp_ulike_enqueue_scripts() {
18
  //enqueue JQuery script
19
  wp_enqueue_script( 'jquery' );
20
+ //Add wp_ulike script file with special functions.
21
+ wp_enqueue_script('wp_ulike', plugins_url('assets/js/wp-ulike.min.js', dirname(__FILE__)), array('jquery'), '2.8', true);
 
 
22
  //localize script
23
+ wp_localize_script( 'wp_ulike', 'wp_ulike_params', array(
24
+ 'ajax_url' => admin_url( 'admin-ajax.php' ),
25
+ 'counter_selector' => apply_filters('wp_ulike_counter_selector', '.count-box'),
26
+ 'button_selector' => apply_filters('wp_ulike_button_selector', '.wp_ulike_btn'),
27
+ 'general_selector' => apply_filters('wp_ulike_general_selector', '.wp_ulike_general_class'),
28
+ 'button_type' => wp_ulike_get_setting( 'wp_ulike_general', 'button_type'),
29
+ 'notifications' => wp_ulike_get_setting( 'wp_ulike_general', 'notifications')
 
30
  ));
31
  //wp_ajax hooks for the custom AJAX requests
32
  add_action('wp_ajax_wp_ulike_process','wp_ulike_process');
inc/wp-templates.php ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if ( ! defined( 'ABSPATH' ) ) exit; // No direct access allowed
4
+
5
+ /**
6
+ * Create simple default template
7
+ *
8
+ * @author Alimir
9
+ * @since 2.8
10
+ * @return Void
11
+ */
12
+ function wp_ulike_set_default_template( array $wp_ulike_template ){
13
+ //This function will turn output buffering on
14
+ ob_start();
15
+ ?>
16
+ <div id="wp-ulike-<?php echo $wp_ulike_template['slug'] . '-' . $wp_ulike_template['ID']; ?>" class="wpulike wpulike-default" <?php echo $wp_ulike_template['attributes']; ?>>
17
+ <div class="<?php echo $wp_ulike_template['general_class']; ?>">
18
+ <a data-ulike-id="<?php echo $wp_ulike_template['ID']; ?>" data-ulike-nonce="<?php echo wp_create_nonce( $wp_ulike_template['type'] . $wp_ulike_template['ID'] ); ?>" data-ulike-type="<?php echo $wp_ulike_template['type']; ?>"
19
+ data-ulike-status="<?php echo $wp_ulike_template['status']; ?>" class="<?php echo $wp_ulike_template['button_class']; ?>">
20
+ <?php
21
+ if($wp_ulike_template['button_type'] == 'text'){
22
+ echo '<span>' . $wp_ulike_template['button_text'] . '</span>';
23
+ }
24
+ ?>
25
+ </a>
26
+ <?php echo $wp_ulike_template['counter']; ?>
27
+ </div>
28
+ <?php echo $wp_ulike_template['microdata']; ?>
29
+ </div>
30
+ <?php
31
+ return ob_get_clean(); // data is now in here
32
+ }
33
+
34
+ /**
35
+ * Create simple heart template
36
+ *
37
+ * @author Alimir
38
+ * @since 2.8
39
+ * @return Void
40
+ */
41
+ function wp_ulike_set_simple_heart_template( array $wp_ulike_template ){
42
+ //This function will turn output buffering on
43
+ ob_start();
44
+ ?>
45
+ <div id="wp-ulike-<?php echo $wp_ulike_template['slug'] . '-' . $wp_ulike_template['ID']; ?>" class="wpulike wpulike-heart" <?php echo $wp_ulike_template['attributes']; ?>>
46
+ <div class="<?php echo $wp_ulike_template['general_class']; ?>">
47
+ <a data-ulike-id="<?php echo $wp_ulike_template['ID']; ?>" data-ulike-nonce="<?php echo wp_create_nonce( $wp_ulike_template['type'] . $wp_ulike_template['ID'] ); ?>" data-ulike-type="<?php echo $wp_ulike_template['type']; ?>"
48
+ data-ulike-status="<?php echo $wp_ulike_template['status']; ?>" class="<?php echo $wp_ulike_template['button_class']; ?>">
49
+ <?php
50
+ if($wp_ulike_template['button_type'] == 'text'){
51
+ echo '<span>' . $wp_ulike_template['button_text'] . '</span>';
52
+ }
53
+ ?>
54
+ </a>
55
+ <?php echo $wp_ulike_template['counter']; ?>
56
+ </div>
57
+ <?php echo $wp_ulike_template['microdata']; ?>
58
+ </div>
59
+ <?php
60
+ return ob_get_clean(); // data is now in here
61
+ }
62
+
63
+ /**
64
+ * Create Robeen (Animated Heart) template
65
+ *
66
+ * @author Alimir
67
+ * @since 2.8
68
+ * @return Void
69
+ */
70
+ function wp_ulike_set_robeen_template( array $wp_ulike_template ){
71
+ $checked = '';
72
+ if( $wp_ulike_template['status'] == 2 ){
73
+ $checked = 'checked="checked"';
74
+ }
75
+ //This function will turn output buffering on
76
+ ob_start();
77
+ ?>
78
+ <div id="wp-ulike-<?php echo $wp_ulike_template['slug'] . '-' . $wp_ulike_template['ID']; ?>" class="wpulike wpulike-robeen" <?php echo $wp_ulike_template['attributes']; ?>>
79
+ <div class="<?php echo $wp_ulike_template['general_class']; ?>">
80
+ <label>
81
+ <input type="checkbox" data-ulike-id="<?php echo $wp_ulike_template['ID']; ?>" data-ulike-nonce="<?php echo wp_create_nonce( $wp_ulike_template['type'] . $wp_ulike_template['ID'] ); ?>" data-ulike-type="<?php echo $wp_ulike_template['type']; ?>"
82
+ data-ulike-status="<?php echo $wp_ulike_template['status']; ?>" class="<?php echo $wp_ulike_template['button_class']; ?>" <?php echo $checked; ?> />
83
+ <svg class="heart-svg" viewBox="467 392 58 57" xmlns="http://www.w3.org/2000/svg"><g class="Group" fill="none" fill-rule="evenodd" transform="translate(467 392)"><path d="M29.144 20.773c-.063-.13-4.227-8.67-11.44-2.59C7.63 28.795 28.94 43.256 29.143 43.394c.204-.138 21.513-14.6 11.44-25.213-7.214-6.08-11.377 2.46-11.44 2.59z" class="heart" fill="#AAB8C2"/><circle class="main-circ" fill="#E2264D" opacity="0" cx="29.5" cy="29.5" r="1.5"/><g class="grp7" opacity="0" transform="translate(7 6)"><circle class="oval1" fill="#9CD8C3" cx="2" cy="6" r="2"/><circle class="oval2" fill="#8CE8C3" cx="5" cy="2" r="2"/></g><g class="grp6" opacity="0" transform="translate(0 28)"><circle class="oval1" fill="#CC8EF5" cx="2" cy="7" r="2"/><circle class="oval2" fill="#91D2FA" cx="3" cy="2" r="2"/></g><g class="grp3" opacity="0" transform="translate(52 28)"><circle class="oval2" fill="#9CD8C3" cx="2" cy="7" r="2"/><circle class="oval1" fill="#8CE8C3" cx="4" cy="2" r="2"/></g><g class="grp2" opacity="0" transform="translate(44 6)" fill="#CC8EF5"><circle class="oval2" transform="matrix(-1 0 0 1 10 0)" cx="5" cy="6" r="2"/><circle class="oval1" transform="matrix(-1 0 0 1 4 0)" cx="2" cy="2" r="2"/></g><g class="grp5" opacity="0" transform="translate(14 50)" fill="#91D2FA"><circle class="oval1" transform="matrix(-1 0 0 1 12 0)" cx="6" cy="5" r="2"/><circle class="oval2" transform="matrix(-1 0 0 1 4 0)" cx="2" cy="2" r="2"/></g><g class="grp4" opacity="0" transform="translate(35 50)" fill="#F48EA7"><circle class="oval1" transform="matrix(-1 0 0 1 12 0)" cx="6" cy="5" r="2"/><circle class="oval2" transform="matrix(-1 0 0 1 4 0)" cx="2" cy="2" r="2"/></g><g class="grp1" opacity="0" transform="translate(24)" fill="#9FC7FA"><circle class="oval1" cx="2.5" cy="3" r="2"/><circle class="oval2" cx="7.5" cy="2" r="2"/></g></g></svg>
84
+ <?php echo $wp_ulike_template['counter']; ?>
85
+ </label>
86
+ </div>
87
+ <?php echo $wp_ulike_template['microdata']; ?>
88
+ </div>
89
+ <?php
90
+ return ob_get_clean(); // data is now in here
91
+ }
inc/wp-ulike.php CHANGED
@@ -1,4 +1,6 @@
1
  <?php
 
 
2
 
3
  /**
4
  * wp_ulike function for posts like/unlike display
@@ -7,69 +9,59 @@
7
  * @since 1.0
8
  * @updated 2.3
9
  * @updated 2.7 //added 'wp_ulike_posts_add_attr', 'wp_ulike_posts_microdata' & 'wp_ulike_login_alert_template' filters
 
10
  * @return String
11
  */
12
- function wp_ulike($arg) {
13
  //global variables
14
- global $post,$wp_ulike_class,$wp_user_IP;
15
 
16
  $post_ID = $post->ID;
17
- $get_post_meta = get_post_meta($post_ID, '_liked', true);
18
  $get_like = $get_post_meta != '' ? $get_post_meta : 0;
19
  $return_userID = $wp_ulike_class->get_reutrn_id();
20
- $theme_class = wp_ulike_get_setting( 'wp_ulike_posts', 'theme');
21
-
22
- if(
23
- (wp_ulike_get_setting( 'wp_ulike_posts', 'only_registered_users') != '1')
24
- or
25
- (wp_ulike_get_setting( 'wp_ulike_posts', 'only_registered_users') == '1' && is_user_logged_in())
26
- ){
27
-
28
- $data = array(
29
- "id" => $post_ID, //Post ID
30
- "user_id" => $return_userID, //User ID (if the user is guest, we save ip as user_id with "ip2long" function)
31
- "user_ip" => $wp_user_IP, //User IP
32
- "get_like" => $get_like, //Number Of Likes
33
- "method" => 'likeThis', //JavaScript method
34
- "setting" => 'wp_ulike_posts', //Setting Key
35
- "type" => 'post', //Function type (post/process)
36
- "table" => 'ulike', //posts table
37
- "column" => 'post_id', //ulike table column name
38
- "key" => '_liked', //meta key
39
- "cookie" => 'liked-' //Cookie Name
 
40
  );
41
 
42
- //call wp_get_ulike function from class-ulike calss
43
- $counter = $wp_ulike_class->wp_get_ulike($data);
44
-
45
- $wp_ulike = '<div id="wp-ulike-'.$post_ID.'" class="wpulike '.$theme_class.'" '.apply_filters('wp_ulike_posts_add_attr', null).'>';
46
- $wp_ulike .= '<div class="counter">'.$counter.'</div>';
47
- $wp_ulike .= apply_filters('wp_ulike_posts_microdata', null);
48
- $wp_ulike .= '</div>';
49
- $wp_ulike .= $wp_ulike_class->get_liked_users($post_ID,'ulike','post_id','wp_ulike_posts');
50
-
51
- if ($arg == 'put') {
52
- return $wp_ulike;
53
- }
54
- else {
55
- echo $wp_ulike;
56
- }
57
 
58
  }//end !only_registered_users condition
59
-
60
- else if (wp_ulike_get_setting( 'wp_ulike_posts', 'only_registered_users') == '1' && !is_user_logged_in()){
61
- $login_type = wp_ulike_get_setting( 'wp_ulike_general', 'login_type');
62
- if($login_type == "button"){
63
- $template = $wp_ulike_class->get_template($post_ID,'likeThis',$get_like,1,0);
64
- if (wp_ulike_get_setting( 'wp_ulike_general', 'button_type') == 'image') {
65
- return '<div id="wp-ulike-'.$post_ID.'" class="wpulike '.$theme_class.'"><div class="counter">' . $template['login_img'] . '</div></div>';
66
- }
67
- else {
68
- return '<div id="wp-ulike-'.$post_ID.'" class="wpulike '.$theme_class.'"><div class="counter">' . $template['login_text'] . '</div></div>';
69
- }
70
  }
71
- else
72
- return apply_filters('wp_ulike_login_alert_template', '<p class="alert alert-info fade in" role="alert"><button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>'.__('You need to login in order to like this post: ',WP_ULIKE_SLUG).'<a href="'.wp_login_url( get_permalink() ).'"> '.__('click here',WP_ULIKE_SLUG).' </a></p>');
73
  }//end only_registered_users condition
74
 
75
  }
@@ -81,68 +73,59 @@
81
  * @since 1.6
82
  * @updated 2.3
83
  * @updated 2.7 //added 'wp_ulike_login_alert_template' & 'wp_ulike_comments_add_attr' filters
 
84
  * @return String
85
  */
86
- function wp_ulike_comments($arg) {
87
  //global variables
88
- global $wp_ulike_class,$wp_user_IP;
89
 
90
  $CommentID = get_comment_ID();
91
- $comment_meta = get_comment_meta($CommentID, '_commentliked', true);
92
  $get_like = $comment_meta != '' ? $comment_meta : 0;
93
  $return_userID = $wp_ulike_class->get_reutrn_id();
94
- $theme_class = wp_ulike_get_setting( 'wp_ulike_comments', 'theme');
95
-
96
- if(
97
- (wp_ulike_get_setting( 'wp_ulike_comments', 'only_registered_users') != '1')
98
- or
99
- (wp_ulike_get_setting( 'wp_ulike_comments', 'only_registered_users') == '1' && is_user_logged_in())
100
- ){
101
-
102
- $data = array(
103
- "id" => $CommentID, //Comment ID
104
- "user_id" => $return_userID, //User ID (if the user is guest, we save ip as user_id with "ip2long" function)
105
- "user_ip" => $wp_user_IP, //User IP
106
- "get_like" => $get_like, //Number Of Likes
107
- "method" => 'likeThisComment', //JavaScript method
108
- "setting" => 'wp_ulike_comments', //Setting Key
109
- "type" => 'post', //Function type (post/process)
110
- "table" => 'ulike_comments', //Comments table
111
- "column" => 'comment_id', //ulike_comments table column name
112
- "key" => '_commentliked', //meta key
113
- "cookie" => 'comment-liked-' //Cookie Name
 
114
  );
115
 
116
- //call wp_get_ulike function from class-ulike calss
117
- $counter = $wp_ulike_class->wp_get_ulike($data);
118
-
119
- $wp_ulike = '<div id="wp-ulike-comment-'.$CommentID.'" class="wpulike '.$theme_class.'" '.apply_filters('wp_ulike_comments_add_attr', null).'>';
120
- $wp_ulike .= '<div class="counter">'.$counter.'</div>';
121
- $wp_ulike .= '</div>';
122
- $wp_ulike .= $wp_ulike_class->get_liked_users($CommentID,'ulike_comments','comment_id','wp_ulike_comments');
123
-
124
- if ($arg == 'put') {
125
- return $wp_ulike;
126
- }
127
- else {
128
- echo $wp_ulike;
129
- }
130
 
131
  }//end !only_registered_users condition
132
-
133
- else if (wp_ulike_get_setting( 'wp_ulike_comments', 'only_registered_users') == '1' && !is_user_logged_in()){
134
- $login_type = wp_ulike_get_setting( 'wp_ulike_general', 'login_type');
135
- if($login_type == "button"){
136
- $template = $wp_ulike_class->get_template($CommentID,'likeThisComment',$get_like,1,0);
137
- if (wp_ulike_get_setting( 'wp_ulike_general', 'button_type') == 'image') {
138
- return '<div id="wp-ulike-comment-'.$CommentID.'" class="wpulike '.$theme_class.'"><div class="counter">' . $template['login_img'] . '</div></div>';
139
- }
140
- else {
141
- return '<div id="wp-ulike-comment-'.$CommentID.'" class="wpulike '.$theme_class.'"><div class="counter">' . $template['login_text'] . '</div></div>';
142
- }
143
  }
144
- else
145
- return apply_filters('wp_ulike_login_alert_template', '<p class="alert alert-info fade in" role="alert"><button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>'.__('You need to login in order to like this comment: ',WP_ULIKE_SLUG).'<a href="'.wp_login_url( get_permalink() ).'"> '.__('click here',WP_ULIKE_SLUG).' </a></p>');
146
  }//end only_registered_users condition
147
 
148
  }
@@ -155,77 +138,65 @@
155
  * @updated 2.3
156
  * @updated 2.4
157
  * @updated 2.7 //added 'wp_ulike_login_alert_template' & 'wp_ulike_activities_add_attr' filters
 
158
  * @return String
159
  */
160
- function wp_ulike_buddypress($arg) {
161
  //global variables
162
- global $wp_ulike_class,$wp_user_IP;
163
 
164
- if ( bp_get_activity_comment_id() != null )
165
- $activityID = bp_get_activity_comment_id();
166
- else
167
- $activityID = bp_get_activity_id();
168
-
 
169
  $bp_get_meta = bp_activity_get_meta($activityID, '_activityliked');
170
  $get_like = $bp_get_meta != '' ? $bp_get_meta : 0;
171
  $return_userID = $wp_ulike_class->get_reutrn_id();
172
- $theme_class = wp_ulike_get_setting( 'wp_ulike_buddypress', 'theme');
173
-
174
- if (wp_ulike_get_setting( 'wp_ulike_buddypress', 'auto_display_position' ) == 'meta')
175
- $html_tag = 'span';
176
- else
177
- $html_tag = 'div';
178
-
179
- if(
180
- (wp_ulike_get_setting( 'wp_ulike_buddypress', 'only_registered_users') != '1')
181
- or
182
- (wp_ulike_get_setting( 'wp_ulike_buddypress', 'only_registered_users') == '1' && is_user_logged_in())
183
- ){
184
-
185
- $data = array(
186
- "id" => $activityID, //Activity ID
187
- "user_id" => $return_userID, //User ID (if the user is guest, we save ip as user_id with "ip2long" function)
188
- "user_ip" => $wp_user_IP, //User IP
189
- "get_like" => $get_like, //Number Of Likes
190
- "method" => 'likeThisActivity', //JavaScript method
191
- "setting" => 'wp_ulike_buddypress', //Setting Key
192
- "type" => 'post', //Function type (post/process)
193
- "table" => 'ulike_activities', //Activities table
194
- "column" => 'activity_id', //ulike_activities table column name
195
- "key" => '_activityliked', //meta key
196
- "cookie" => 'activity-liked-' //Cookie Name
197
- );
198
-
199
- //call wp_get_ulike function from class-ulike calss
200
- $counter = $wp_ulike_class->wp_get_ulike($data);
201
-
202
- $wp_ulike = '<'.$html_tag.' id="wp-ulike-activity-'.$activityID.'" class="wpulike '.$theme_class.'" '.apply_filters('wp_ulike_activities_add_attr', null).'>';
203
- $wp_ulike .= '<'.$html_tag.' class="counter">'.$counter.'</'.$html_tag.'>';
204
- $wp_ulike .= '</'.$html_tag.'>';
205
- $wp_ulike .= $wp_ulike_class->get_liked_users($activityID,'ulike_activities','activity_id','wp_ulike_buddypress');
206
-
207
- if ($arg == 'put') {
208
- return $wp_ulike;
209
- }
210
- else {
211
- echo $wp_ulike;
212
- }
213
 
 
 
 
 
 
 
 
 
 
 
 
 
214
  }//end !only_registered_users condition
215
-
216
- else if (wp_ulike_get_setting( 'wp_ulike_buddypress', 'only_registered_users') == '1' && !is_user_logged_in()){
217
- $login_type = wp_ulike_get_setting( 'wp_ulike_general', 'login_type');
218
- if($login_type == "button"){
219
- $template = $wp_ulike_class->get_template($activityID,'likeThisActivity',$get_like,1,0);
220
- if (wp_ulike_get_setting( 'wp_ulike_general', 'button_type') == 'image') {
221
- return '<'.$html_tag.' id="wp-ulike-activity-'.$activityID.'" class="wpulike '.$theme_class.'"><'.$html_tag.' class="counter">' . $template['login_img'] . '</'.$html_tag.'></'.$html_tag.'>';
222
- }
223
- else {
224
- return '<'.$html_tag.' id="wp-ulike-activity-'.$activityID.'" class="wpulike '.$theme_class.'"><'.$html_tag.' class="counter">' . $template['login_text'] . '</'.$html_tag.'></'.$html_tag.'>';
225
- }
226
  }
227
- else
228
- return apply_filters('wp_ulike_login_alert_template', '<p class="alert alert-info fade in" role="alert"><button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>'.__('You need to login in order to like this activity: ',WP_ULIKE_SLUG).'<a href="'.wp_login_url( get_permalink() ).'"> '.__('click here',WP_ULIKE_SLUG).' </a></p>');
 
229
  }//end only_registered_users condition
230
 
231
  }
@@ -238,9 +209,10 @@
238
  * @updated 2.3
239
  * @updated 2.4.1
240
  * @updated 2.7 //added 'wp_ulike_login_alert_template' & 'wp_ulike_topics_add_attr' filters
 
241
  * @return String
242
  */
243
- function wp_ulike_bbpress($arg) {
244
  //global variables
245
  global $post,$wp_ulike_class,$wp_user_IP;
246
 
@@ -248,61 +220,53 @@
248
  $replyID = bbp_get_reply_id();
249
  $post_ID = !$replyID ? $post->ID : $replyID;
250
 
251
- $get_post_meta = get_post_meta($post_ID, '_topicliked', true);
252
  $get_like = $get_post_meta != '' ? $get_post_meta : 0;
253
- $return_userID = $wp_ulike_class->get_reutrn_id();
254
- $theme_class = wp_ulike_get_setting( 'wp_ulike_bbpress', 'theme');
255
-
256
- if(
257
- (wp_ulike_get_setting( 'wp_ulike_bbpress', 'only_registered_users') != '1')
258
- or
259
- (wp_ulike_get_setting( 'wp_ulike_bbpress', 'only_registered_users') == '1' && is_user_logged_in())
260
- ){
261
-
262
- $data = array(
263
- "id" => $post_ID, //Post ID
264
- "user_id" => $return_userID, //User ID (if the user is guest, we save ip as user_id with "ip2long" function)
265
- "user_ip" => $wp_user_IP, //User IP
266
- "get_like" => $get_like, //Number Of Likes
267
- "method" => 'likeThisTopic', //JavaScript method
268
- "setting" => 'wp_ulike_bbpress', //Setting Key
269
- "type" => 'post', //Function type (post/process)
270
- "table" => 'ulike_forums', //posts table
271
- "column" => 'topic_id', //ulike table column name
272
- "key" => '_topicliked', //meta key
273
- "cookie" => 'topic-liked-' //Cookie Name
274
- );
275
-
276
- //call wp_get_ulike function from class-ulike calss
277
- $counter = $wp_ulike_class->wp_get_ulike($data);
278
-
279
- $wp_ulike = '<div id="wp-ulike-'.$post_ID.'" class="wpulike '.$theme_class.'" '.apply_filters('wp_ulike_topics_add_attr', null).'>';
280
- $wp_ulike .= '<div class="counter">'.$counter.'</div>';
281
- $wp_ulike .= '</div>';
282
- $wp_ulike .= $wp_ulike_class->get_liked_users($post_ID,'ulike_forums','topic_id','wp_ulike_bbpress');
283
 
284
- if ($arg == 'put') {
285
- return $wp_ulike;
286
- }
287
- else {
288
- echo $wp_ulike;
289
- }
 
 
 
 
 
290
 
291
  }//end !only_registered_users condition
292
 
293
- else if (wp_ulike_get_setting( 'wp_ulike_bbpress', 'only_registered_users') == '1' && !is_user_logged_in()){
294
- $login_type = wp_ulike_get_setting( 'wp_ulike_general', 'login_type');
295
- if($login_type == "button"){
296
- $template = $wp_ulike_class->get_template($post_ID,'likeThisTopic',$get_like,1,0);
297
- if (wp_ulike_get_setting( 'wp_ulike_general', 'button_type') == 'image') {
298
- return '<div id="wp-ulike-'.$post_ID.'" class="wpulike '.$theme_class.'"><div class="counter">' . $template['login_img'] . '</div></div>';
299
- }
300
- else {
301
- return '<div id="wp-ulike-'.$post_ID.'" class="wpulike '.$theme_class.'"><div class="counter">' . $template['login_text'] . '</div></div>';
302
- }
303
  }
304
- else
305
- return apply_filters('wp_ulike_login_alert_template', '<p class="alert alert-info fade in" role="alert"><button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>'.__('You need to login in order to like this post: ',WP_ULIKE_SLUG).'<a href="'.wp_login_url( get_permalink() ).'"> '.__('click here',WP_ULIKE_SLUG).' </a></p>');
306
  }//end only_registered_users condition
307
 
308
  }
@@ -314,6 +278,7 @@
314
  * @since 1.0
315
  * @updated 2.2
316
  * @updated 2.4.1
 
317
  * @return String
318
  */
319
  function wp_ulike_process(){
@@ -321,6 +286,9 @@
321
  global $wp_ulike_class,$wp_user_IP;
322
  $post_ID = $_POST['id'];
323
  $post_type = $_POST['type'];
 
 
 
324
 
325
  if($post_type == 'likeThis'){
326
  $get_meta_data = get_post_meta($post_ID, '_liked', true);
@@ -358,11 +326,10 @@
358
  wp_die(__('Error: This Method Is Not Exist!',WP_ULIKE_SLUG));
359
  }
360
 
361
-
362
  $get_like = $get_meta_data != '' ? $get_meta_data : 0;
363
  $return_userID = $wp_ulike_class->get_reutrn_id();
364
 
365
- $data = array(
366
  "id" => $post_ID, //Post ID
367
  "user_id" => $return_userID, //User ID (if the user is guest, we save ip as user_id with "ip2long" function)
368
  "user_ip" => $wp_user_IP, //User IP
@@ -375,23 +342,46 @@
375
  "key" => $meta_key, //meta key
376
  "cookie" => $cookie_name //Cookie Name
377
  );
378
-
379
- $response = new WP_Ajax_Response;
380
-
381
- if($post_ID != null) {
382
- $response->add(
383
- array(
384
- 'what' =>'wpulike',
385
- 'action' =>'wp_ulike_process',
386
- 'id' => $post_ID,
387
- 'data' => $wp_ulike_class->wp_get_ulike($data)
388
- )
389
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
390
  }
391
-
392
- // Whatever the outcome, send the Response back
393
- $response->send();
394
 
395
- // Exit when doing Ajax
396
- exit();
397
  }
1
  <?php
2
+
3
+ if ( ! defined( 'ABSPATH' ) ) exit; // No direct access allowed
4
 
5
  /**
6
  * wp_ulike function for posts like/unlike display
9
  * @since 1.0
10
  * @updated 2.3
11
  * @updated 2.7 //added 'wp_ulike_posts_add_attr', 'wp_ulike_posts_microdata' & 'wp_ulike_login_alert_template' filters
12
+ * @updated 2.8 //Removed some old functions & added new filters support.
13
  * @return String
14
  */
15
+ function wp_ulike( $type = 'get', $args = array() ) {
16
  //global variables
17
+ global $post, $wp_ulike_class, $wp_user_IP;
18
 
19
  $post_ID = $post->ID;
20
+ $get_post_meta = get_post_meta( $post_ID, '_liked', true );
21
  $get_like = $get_post_meta != '' ? $get_post_meta : 0;
22
  $return_userID = $wp_ulike_class->get_reutrn_id();
23
+ $attributes = apply_filters( 'wp_ulike_posts_add_attr', null );
24
+ $microdata = apply_filters( 'wp_ulike_posts_microdata', null );
25
+ $style = wp_ulike_get_setting( 'wp_ulike_posts', 'theme' );
26
+
27
+ //Main data
28
+ $args = array(
29
+ "id" => $post_ID, //Post ID
30
+ "user_id" => $return_userID, //User ID (if the user is guest, we save ip as user_id with "ip2long" function)
31
+ "user_ip" => $wp_user_IP, //User IP
32
+ "get_like" => $get_like, //Number Of Likes
33
+ "method" => 'likeThis', //JavaScript method
34
+ "setting" => 'wp_ulike_posts', //Setting Key
35
+ "type" => 'post', //Function type (post/process)
36
+ "table" => 'ulike', //posts table
37
+ "column" => 'post_id', //ulike table column name
38
+ "key" => '_liked', //meta key
39
+ "cookie" => 'liked-', //Cookie Name
40
+ "slug" => 'post', //Slug Name
41
+ "style" => $style, //Get Default Theme
42
+ "microdata" => $microdata, //Get Microdata Filter
43
+ "attributes" => $attributes //Get Attributes Filter
44
  );
45
 
46
+ if( ( wp_ulike_get_setting( 'wp_ulike_posts', 'only_registered_users') != '1' ) or ( wp_ulike_get_setting( 'wp_ulike_posts', 'only_registered_users' ) == '1' && is_user_logged_in() ) ) {
47
+ //call wp_get_ulike function from wp_ulike class
48
+ $wp_ulike = $wp_ulike_class->wp_get_ulike( $args );
49
+ $wp_ulike .= $wp_ulike_class->get_liked_users( $post_ID, 'ulike', 'post_id', 'wp_ulike_posts' );
50
+
51
+ if ($type == 'put') {
52
+ return $wp_ulike;
53
+ }
54
+ else {
55
+ echo $wp_ulike;
56
+ }
 
 
 
 
57
 
58
  }//end !only_registered_users condition
59
+ elseif ( wp_ulike_get_setting( 'wp_ulike_posts', 'only_registered_users') == '1' && ! is_user_logged_in() ) {
60
+ if(wp_ulike_get_setting( 'wp_ulike_general', 'login_type') == "button") {
61
+ return $wp_ulike_class->get_template( $args, 0 );
62
+ } else {
63
+ return apply_filters('wp_ulike_login_alert_template', '<p class="alert alert-info fade in" role="alert">'.__('You need to login in order to like this post: ',WP_ULIKE_SLUG).'<a href="'.wp_login_url( get_permalink() ).'"> '.__('click here',WP_ULIKE_SLUG).' </a></p>');
 
 
 
 
 
 
64
  }
 
 
65
  }//end only_registered_users condition
66
 
67
  }
73
  * @since 1.6
74
  * @updated 2.3
75
  * @updated 2.7 //added 'wp_ulike_login_alert_template' & 'wp_ulike_comments_add_attr' filters
76
+ * @updated 2.8 //Removed some old functions & added new filters support.
77
  * @return String
78
  */
79
+ function wp_ulike_comments( $type = 'get', $args = array() ) {
80
  //global variables
81
+ global $wp_ulike_class, $wp_user_IP;
82
 
83
  $CommentID = get_comment_ID();
84
+ $comment_meta = get_comment_meta( $CommentID, '_commentliked', true );
85
  $get_like = $comment_meta != '' ? $comment_meta : 0;
86
  $return_userID = $wp_ulike_class->get_reutrn_id();
87
+ $attributes = apply_filters( 'wp_ulike_comments_add_attr', null );
88
+ $microdata = apply_filters( 'wp_ulike_comments_microdata', null );
89
+ $style = wp_ulike_get_setting( 'wp_ulike_comments', 'theme' );
90
+
91
+ //Main Data
92
+ $args = array(
93
+ "id" => $CommentID, //Comment ID
94
+ "user_id" => $return_userID, //User ID (if the user is guest, we save ip as user_id with "ip2long" function)
95
+ "user_ip" => $wp_user_IP, //User IP
96
+ "get_like" => $get_like, //Number Of Likes
97
+ "method" => 'likeThisComment', //JavaScript method
98
+ "setting" => 'wp_ulike_comments', //Setting Key
99
+ "type" => 'post', //Function type (post/process)
100
+ "table" => 'ulike_comments', //Comments table
101
+ "column" => 'comment_id', //ulike_comments table column name
102
+ "key" => '_commentliked', //meta key
103
+ "cookie" => 'comment-liked-', //Cookie Name
104
+ "slug" => 'comment', //Slug Name
105
+ "style" => $style, //Get Default Theme
106
+ "microdata" => $microdata, //Get Microdata Filter
107
+ "attributes" => $attributes //Get Attributes Filter
108
  );
109
 
110
+ if( ( wp_ulike_get_setting( 'wp_ulike_comments', 'only_registered_users' ) != '1' ) or ( wp_ulike_get_setting( 'wp_ulike_comments', 'only_registered_users' ) == '1' && is_user_logged_in() ) ) {
111
+ //call wp_get_ulike function from wp_ulike class
112
+ $wp_ulike = $wp_ulike_class->wp_get_ulike( $args );
113
+ $wp_ulike .= $wp_ulike_class->get_liked_users( $CommentID, 'ulike_comments', 'comment_id', 'wp_ulike_comments' );
114
+
115
+ if ($type == 'put') {
116
+ return $wp_ulike;
117
+ }
118
+ else {
119
+ echo $wp_ulike;
120
+ }
 
 
 
121
 
122
  }//end !only_registered_users condition
123
+ elseif (wp_ulike_get_setting( 'wp_ulike_comments', 'only_registered_users') == '1' && ! is_user_logged_in()){
124
+ if( wp_ulike_get_setting( 'wp_ulike_general', 'login_type' ) == "button" ){
125
+ return $wp_ulike_class->get_template( $args, 0 );
126
+ } else {
127
+ return apply_filters( 'wp_ulike_login_alert_template', '<p class="alert alert-info fade in" role="alert">'.__('You need to login in order to like this comment: ',WP_ULIKE_SLUG).'<a href="'.wp_login_url( get_permalink() ).'"> '.__('click here',WP_ULIKE_SLUG).' </a></p>' );
 
 
 
 
 
 
128
  }
 
 
129
  }//end only_registered_users condition
130
 
131
  }
138
  * @updated 2.3
139
  * @updated 2.4
140
  * @updated 2.7 //added 'wp_ulike_login_alert_template' & 'wp_ulike_activities_add_attr' filters
141
+ * @updated 2.8 //Removed some old functions & added new filters support.
142
  * @return String
143
  */
144
+ function wp_ulike_buddypress( $type = 'get', $args = array() ) {
145
  //global variables
146
+ global $wp_ulike_class, $wp_user_IP;
147
 
148
+ if ( bp_get_activity_comment_id() != null ){
149
+ $activityID = bp_get_activity_comment_id();
150
+ } else {
151
+ $activityID = bp_get_activity_id();
152
+ }
153
+
154
  $bp_get_meta = bp_activity_get_meta($activityID, '_activityliked');
155
  $get_like = $bp_get_meta != '' ? $bp_get_meta : 0;
156
  $return_userID = $wp_ulike_class->get_reutrn_id();
157
+ $attributes = apply_filters( 'wp_ulike_activities_add_attr', null );
158
+ $microdata = apply_filters( 'wp_ulike_activities_microdata', null );
159
+ $style = wp_ulike_get_setting( 'wp_ulike_buddypress', 'theme' );
160
+
161
+ //Main Data
162
+ $args = array(
163
+ "id" => $activityID, //Activity ID
164
+ "user_id" => $return_userID, //User ID (if the user is guest, we save ip as user_id with "ip2long" function)
165
+ "user_ip" => $wp_user_IP, //User IP
166
+ "get_like" => $get_like, //Number Of Likes
167
+ "method" => 'likeThisActivity', //JavaScript method
168
+ "setting" => 'wp_ulike_buddypress', //Setting Key
169
+ "type" => 'post', //Function type (post/process)
170
+ "table" => 'ulike_activities', //Activities table
171
+ "column" => 'activity_id', //ulike_activities table column name
172
+ "key" => '_activityliked', //meta key
173
+ "cookie" => 'activity-liked-', //Cookie Name
174
+ "slug" => 'activity', //Slug Name
175
+ "style" => $style, //Get Default Theme
176
+ "microdata" => $microdata, //Get Microdata Filter
177
+ "attributes" => $attributes //Get Attributes Filter
178
+ );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
179
 
180
+ if( ( wp_ulike_get_setting( 'wp_ulike_buddypress', 'only_registered_users') != '1' ) or ( wp_ulike_get_setting( 'wp_ulike_buddypress', 'only_registered_users' ) == '1' && is_user_logged_in() ) ) {
181
+ //call wp_get_ulike function from wp_ulike class
182
+ $wp_ulike = $wp_ulike_class->wp_get_ulike($args);
183
+ $wp_ulike .= $wp_ulike_class->get_liked_users( $activityID, 'ulike_activities', 'activity_id', 'wp_ulike_buddypress' );
184
+
185
+ if ($type == 'put') {
186
+ return $wp_ulike;
187
+ }
188
+ else {
189
+ echo $wp_ulike;
190
+ }
191
+
192
  }//end !only_registered_users condition
193
+ elseif ( wp_ulike_get_setting( 'wp_ulike_buddypress', 'only_registered_users') == '1' && ! is_user_logged_in() ) {
194
+ if( wp_ulike_get_setting( 'wp_ulike_general', 'login_type') == "button" ){
195
+ return $wp_ulike_class->get_template( $args, 0 );
 
 
 
 
 
 
 
 
196
  }
197
+ else{
198
+ return apply_filters('wp_ulike_login_alert_template', '<p class="alert alert-info fade in" role="alert">'.__('You need to login in order to like this activity: ',WP_ULIKE_SLUG).'<a href="'.wp_login_url( get_permalink() ).'"> '.__('click here',WP_ULIKE_SLUG).' </a></p>');
199
+ }
200
  }//end only_registered_users condition
201
 
202
  }
209
  * @updated 2.3
210
  * @updated 2.4.1
211
  * @updated 2.7 //added 'wp_ulike_login_alert_template' & 'wp_ulike_topics_add_attr' filters
212
+ * @updated 2.8 //Removed some old functions & added new filters support.
213
  * @return String
214
  */
215
+ function wp_ulike_bbpress( $type = 'get', $args = array() ) {
216
  //global variables
217
  global $post,$wp_ulike_class,$wp_user_IP;
218
 
220
  $replyID = bbp_get_reply_id();
221
  $post_ID = !$replyID ? $post->ID : $replyID;
222
 
223
+ $get_post_meta = get_post_meta( $post_ID, '_topicliked', true );
224
  $get_like = $get_post_meta != '' ? $get_post_meta : 0;
225
+ $return_userID = $wp_ulike_class->get_reutrn_id();
226
+ $attributes = apply_filters( 'wp_ulike_topics_add_attr', null );
227
+ $microdata = apply_filters( 'wp_ulike_topics_microdata', null );
228
+ $style = wp_ulike_get_setting( 'wp_ulike_bbpress', 'theme' );
229
+
230
+ //Main Data
231
+ $args = array(
232
+ "id" => $post_ID, //Post ID
233
+ "user_id" => $return_userID, //User ID (if the user is guest, we save ip as user_id with "ip2long" function)
234
+ "user_ip" => $wp_user_IP, //User IP
235
+ "get_like" => $get_like, //Number Of Likes
236
+ "method" => 'likeThisTopic', //JavaScript method
237
+ "setting" => 'wp_ulike_bbpress', //Setting Key
238
+ "type" => 'post', //Function type (post/process)
239
+ "table" => 'ulike_forums', //posts table
240
+ "column" => 'topic_id', //ulike table column name
241
+ "key" => '_topicliked', //meta key
242
+ "cookie" => 'topic-liked-', //Cookie Name
243
+ "slug" => 'topic', //Slug Name
244
+ "style" => $style, //Get Default Theme
245
+ "microdata" => $microdata, //Get Microdata Filter
246
+ "attributes" => $attributes //Get Attributes Filter
247
+ );
 
 
 
 
 
 
 
248
 
249
+ if( ( wp_ulike_get_setting( 'wp_ulike_bbpress', 'only_registered_users' ) != '1' ) or ( wp_ulike_get_setting( 'wp_ulike_bbpress', 'only_registered_users' ) == '1' && is_user_logged_in() ) ) {
250
+ //call wp_get_ulike function from wp_ulike class
251
+ $wp_ulike = $wp_ulike_class->wp_get_ulike( $args );
252
+ $wp_ulike .= $wp_ulike_class->get_liked_users( $post_ID, 'ulike_forums', 'topic_id', 'wp_ulike_bbpress' );
253
+
254
+ if ($type == 'put') {
255
+ return $wp_ulike;
256
+ }
257
+ else {
258
+ echo $wp_ulike;
259
+ }
260
 
261
  }//end !only_registered_users condition
262
 
263
+ else if ( wp_ulike_get_setting( 'wp_ulike_bbpress', 'only_registered_users' ) == '1' && !is_user_logged_in()) {
264
+ if( wp_ulike_get_setting( 'wp_ulike_general', 'login_type') ){
265
+ return $wp_ulike_class->get_template( $args, 0 );
266
+ }
267
+ else {
268
+ return apply_filters('wp_ulike_login_alert_template', '<p class="alert alert-info fade in" role="alert">'.__('You need to login in order to like this post: ',WP_ULIKE_SLUG).'<a href="'.wp_login_url( get_permalink() ).'"> '.__('click here',WP_ULIKE_SLUG).' </a></p>');
 
 
 
 
269
  }
 
 
270
  }//end only_registered_users condition
271
 
272
  }
278
  * @since 1.0
279
  * @updated 2.2
280
  * @updated 2.4.1
281
+ * @updated 2.8 //Replaced 'WP_Ajax_Response' class with 'wp_send_json' function + Added message respond
282
  * @return String
283
  */
284
  function wp_ulike_process(){
286
  global $wp_ulike_class,$wp_user_IP;
287
  $post_ID = $_POST['id'];
288
  $post_type = $_POST['type'];
289
+ $like_status = $_POST['status'];
290
+ $nonce_token = $_POST['nonce'];
291
+ $response = array();
292
 
293
  if($post_type == 'likeThis'){
294
  $get_meta_data = get_post_meta($post_ID, '_liked', true);
326
  wp_die(__('Error: This Method Is Not Exist!',WP_ULIKE_SLUG));
327
  }
328
 
 
329
  $get_like = $get_meta_data != '' ? $get_meta_data : 0;
330
  $return_userID = $wp_ulike_class->get_reutrn_id();
331
 
332
+ $args = array(
333
  "id" => $post_ID, //Post ID
334
  "user_id" => $return_userID, //User ID (if the user is guest, we save ip as user_id with "ip2long" function)
335
  "user_ip" => $wp_user_IP, //User IP
342
  "key" => $meta_key, //meta key
343
  "cookie" => $cookie_name //Cookie Name
344
  );
345
+
346
+ if( $post_ID == null || ! wp_verify_nonce( $nonce_token, $post_type . $post_ID ) ) wp_die();
347
+
348
+ switch ( $like_status ){
349
+ case 0:
350
+ $response = array(
351
+ 'message' => wp_ulike_get_setting( 'wp_ulike_general', 'login_text'),
352
+ 'btnText' => html_entity_decode(wp_ulike_get_setting( 'wp_ulike_general', 'button_text')),
353
+ 'data' => NULL
354
+ );
355
+ break;
356
+ case 1:
357
+ $response = array(
358
+ 'message' => wp_ulike_get_setting( 'wp_ulike_general', 'like_notice'),
359
+ 'btnText' => html_entity_decode(wp_ulike_get_setting( 'wp_ulike_general', 'button_text')),
360
+ 'data' => $wp_ulike_class->wp_get_ulike($args)
361
+ );
362
+ break;
363
+ case 2:
364
+ $response = array(
365
+ 'message' => wp_ulike_get_setting( 'wp_ulike_general', 'unlike_notice'),
366
+ 'btnText' => html_entity_decode(wp_ulike_get_setting( 'wp_ulike_general', 'button_text')),
367
+ 'data' => $wp_ulike_class->wp_get_ulike($args)
368
+ );
369
+ break;
370
+ case 3:
371
+ $response = array(
372
+ 'message' => wp_ulike_get_setting( 'wp_ulike_general', 'like_notice'),
373
+ 'btnText' => html_entity_decode(wp_ulike_get_setting( 'wp_ulike_general', 'button_text_u')),
374
+ 'data' => $wp_ulike_class->wp_get_ulike($args)
375
+ );
376
+ break;
377
+ default:
378
+ $response = array(
379
+ 'message' => wp_ulike_get_setting( 'wp_ulike_general', 'permission_text'),
380
+ 'btnText' => html_entity_decode(wp_ulike_get_setting( 'wp_ulike_general', 'button_text')),
381
+ 'data' => NULL
382
+ );
383
+ break;
384
  }
 
 
 
385
 
386
+ wp_send_json($response);
 
387
  }
lang/wp-ulike-fa_IR.mo CHANGED
Binary file
lang/wp-ulike-fa_IR.po CHANGED
@@ -1,8 +1,8 @@
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: WP ULike\n"
4
- "POT-Creation-Date: 2017-06-18 16:19+0330\n"
5
- "PO-Revision-Date: 2017-06-18 16:19+0330\n"
6
  "Last-Translator: Alimir <alimir71@yahoo.com>\n"
7
  "Language-Team: alimir.ir <info@alimir.ir>\n"
8
  "Language: fa_IR\n"
@@ -16,15 +16,15 @@ msgstr ""
16
  "X-Poedit-SearchPath-0: .\n"
17
  "X-Poedit-SearchPath-1: ..\n"
18
 
19
- #: ../wp-ulike.php:142
20
  msgid "Settings"
21
  msgstr "تنظیمات"
22
 
23
- #: ../wp-ulike.php:143
24
  msgid "Statistics"
25
  msgstr "آماره"
26
 
27
- #: ../wp-ulike.php:144
28
  msgid "About"
29
  msgstr "درباره"
30
 
@@ -86,7 +86,7 @@ msgstr "امتیازدهی"
86
  msgid "Introducing WP ULike"
87
  msgstr "معرفی وردپرس یولاک"
88
 
89
- #: ../admin/about.php:150 ../admin/stats.php:37 ../admin/admin.php:197
90
  msgid "About WP ULike"
91
  msgstr "درباره وردپرس یولایک"
92
 
@@ -178,11 +178,11 @@ msgstr ""
178
  "از نسخه ۲.۳ افزونه یولایک،‌ امکان بررسی جغرافیایی لایک کنندگان به همراه "
179
  "ابزراک ویژه برترین لایک کنندگان اضافه شده است."
180
 
181
- #: ../admin/about.php:213 ../admin/stats.php:24 ../admin/admin.php:193
182
  msgid "WP ULike Statistics"
183
  msgstr "آماره وردپرس یولایک"
184
 
185
- #: ../admin/about.php:213 ../admin/classes/tmp/settings.php:118
186
  msgid "Home"
187
  msgstr "خانه"
188
 
@@ -190,7 +190,7 @@ msgstr "خانه"
190
  msgid "OR"
191
  msgstr "یا"
192
 
193
- #: ../admin/about.php:213 ../admin/admin.php:73
194
  msgid "WP ULike Settings"
195
  msgstr "تنظیمات وردپرس یولایک"
196
 
@@ -241,7 +241,7 @@ msgstr "آیا از حذف این آیتم اطمینان دارید؟!"
241
  msgid "WP ULike Logs"
242
  msgstr "وقایع اتفاقیه در وردپرس یولایک"
243
 
244
- #: ../admin/logs.php:140 ../admin/stats.php:43 ../admin/admin.php:177
245
  msgid "Post Likes Logs"
246
  msgstr "وقایع لایک در نوشتارها"
247
 
@@ -297,7 +297,7 @@ msgstr ""
297
  "<strong>خطا:</strong> چیزی یافت نشد. (این مشکل به خاطر این مسأله ایجاد شده "
298
  "است که شما هیچ اطلاعاتی را در این جدول ندارید)"
299
 
300
- #: ../admin/logs.php:262 ../admin/stats.php:44 ../admin/admin.php:181
301
  msgid "Comment Likes Logs"
302
  msgstr "وقایع لایک در دیدگاه ها"
303
 
@@ -313,7 +313,7 @@ msgstr "نویسنده دیدگاه"
313
  msgid "Comment Text"
314
  msgstr "متن دیدگاه"
315
 
316
- #: ../admin/logs.php:390 ../admin/stats.php:45 ../admin/admin.php:185
317
  msgid "Activity Likes Logs"
318
  msgstr "وقایع لایک در فعالیت ها"
319
 
@@ -330,7 +330,7 @@ msgstr "لینک همیشگی"
330
  msgid "<a href=\"%1$s\">Activity Permalink</a>"
331
  msgstr "<a href=\"%1$s\">مشاهده فعالیت</a>"
332
 
333
- #: ../admin/logs.php:513 ../admin/stats.php:46 ../admin/admin.php:189
334
  msgid "Topics Likes Logs"
335
  msgstr "وقایع لایک در تاپیک ها"
336
 
@@ -507,22 +507,34 @@ msgstr ""
507
  "\">وردپرس يولايک را</a> انتخاب کرده ايد. طراحي و کدنويسي توسط <a href=\"%s\" "
508
  "title=\"Wordpress ULike\" target=\"_blank\">علي ميرزائي</a>"
509
 
510
- #: ../admin/admin.php:76 ../inc/wp-functions.php:581
511
  msgid "WP ULike"
512
  msgstr "وردپرس یولایک"
513
 
514
- #: ../admin/admin.php:85
515
  msgid "Settings saved."
516
  msgstr "تنظیمات ذخیره شد"
517
 
518
- #: ../admin/admin.php:121 ../admin/admin.php:156
519
  msgid "Failed! An Error Has Occurred While Deleting All ULike Logs/Data"
520
  msgstr "خطا! مشکلی در عملیات حذف وقایع/داده ها وجود دارد"
521
 
522
- #: ../admin/admin.php:123 ../admin/admin.php:158
523
  msgid "Success! All ULike Logs/Data Have Been Deleted"
524
  msgstr "هووورا! همه وقایع/داده ها با موفقیت حذف شدند"
525
 
 
 
 
 
 
 
 
 
 
 
 
 
526
  #: ../admin/classes/class-widget.php:11
527
  msgid "WP Ulike Widget"
528
  msgstr "ابزارک یولایک"
@@ -581,12 +593,6 @@ msgstr "قالب:"
581
  msgid "Simple"
582
  msgstr "ساده"
583
 
584
- #: ../admin/classes/class-widget.php:430 ../admin/classes/tmp/settings.php:95
585
- #: ../admin/classes/tmp/settings.php:208 ../admin/classes/tmp/settings.php:356
586
- #: ../admin/classes/tmp/settings.php:482
587
- msgid "Heart"
588
- msgstr "قلب"
589
-
590
  #: ../admin/classes/class-widget.php:435
591
  msgid "Title Trim (Length):"
592
  msgstr "برش عنوان (طول):"
@@ -605,7 +611,7 @@ msgstr "لینک پروفایل به:"
605
 
606
  #: ../admin/classes/class-widget.php:455
607
  #: ../admin/classes/class-settings.php:97
608
- #: ../admin/classes/tmp/settings.php:348
609
  msgid "BuddyPress"
610
  msgstr "بادی پرس"
611
 
@@ -634,8 +640,8 @@ msgid "Similar Settings"
634
  msgstr "تنظیمات مشابه"
635
 
636
  #: ../admin/classes/class-settings.php:48
637
- #: ../admin/classes/tmp/settings.php:146 ../admin/classes/tmp/settings.php:237
638
- #: ../admin/classes/tmp/settings.php:391 ../admin/classes/tmp/settings.php:510
639
  msgid "Logging Method"
640
  msgstr "روش وقایع نگاری"
641
 
@@ -748,8 +754,8 @@ msgstr "نوشته ها"
748
  #: ../admin/classes/class-settings.php:91
749
  #: ../admin/classes/class-settings.php:99
750
  #: ../admin/classes/class-settings.php:107
751
- #: ../admin/classes/tmp/settings.php:101 ../admin/classes/tmp/settings.php:214
752
- #: ../admin/classes/tmp/settings.php:362 ../admin/classes/tmp/settings.php:488
753
  msgid "Automatic display"
754
  msgstr "نمایش خودکار"
755
 
@@ -765,8 +771,8 @@ msgstr ""
765
  #: ../admin/classes/class-settings.php:91
766
  #: ../admin/classes/class-settings.php:99
767
  #: ../admin/classes/class-settings.php:107
768
- #: ../admin/classes/tmp/settings.php:177 ../admin/classes/tmp/settings.php:268
769
- #: ../admin/classes/tmp/settings.php:422 ../admin/classes/tmp/settings.php:541
770
  msgid "Users Like Box Template"
771
  msgstr "قالب جعبه لایک کاربران"
772
 
@@ -778,12 +784,12 @@ msgid "Default Template:"
778
  msgstr "قالب پیشفرض:"
779
 
780
  #: ../admin/classes/class-settings.php:82
781
- #: ../admin/classes/tmp/settings.php:176 ../inc/classes/class-ulike.php:427
782
  msgid "Users who have LIKED this post:"
783
  msgstr "کاربرانی که این مطلب را پسندیده اند:"
784
 
785
  #: ../admin/classes/class-settings.php:89
786
- #: ../admin/classes/tmp/settings.php:200
787
  msgid "Comments"
788
  msgstr "دیدگاه ها"
789
 
@@ -796,7 +802,7 @@ msgstr ""
796
  "ها قرار دهید "
797
 
798
  #: ../admin/classes/class-settings.php:91
799
- #: ../admin/classes/tmp/settings.php:267
800
  msgid "Users who have LIKED this comment:"
801
  msgstr "کاربرانی که این دیدگاه را پسندیده اند:"
802
 
@@ -811,22 +817,22 @@ msgstr ""
811
 
812
  #: ../admin/classes/class-settings.php:99
813
  #: ../admin/classes/class-settings.php:107
814
- #: ../admin/classes/tmp/settings.php:421
815
  msgid "Users who have liked this activity:"
816
  msgstr "کاربرانی که این فعالیت را پسندیده اند:"
817
 
818
  #: ../admin/classes/class-settings.php:99
819
- #: ../admin/classes/tmp/settings.php:442
820
  msgid "Post Activity Text"
821
  msgstr "متن فعالیت مطالب"
822
 
823
  #: ../admin/classes/class-settings.php:99
824
- #: ../admin/classes/tmp/settings.php:448
825
  msgid "Comment Activity Text"
826
  msgstr "متن فعالیت دیدگاه ها"
827
 
828
  #: ../admin/classes/class-settings.php:105
829
- #: ../admin/classes/tmp/settings.php:474
830
  msgid "bbPress"
831
  msgstr "بی بی پرس"
832
 
@@ -845,21 +851,21 @@ msgstr "آیا از بازیابی تنظیمات پیشفرض مطمئن هست
845
 
846
  #: ../admin/classes/class-settings.php:311
847
  #: ../admin/classes/class-settings.php:322
848
- #: ../admin/classes/class-settings.php:346
849
  msgid "No options defined."
850
  msgstr "هیچ تنظیماتی تعریف نشده است."
851
 
852
- #: ../admin/classes/class-settings.php:333
853
  #, php-format
854
  msgid "Select %s"
855
  msgstr "انتخاب %s"
856
 
857
- #: ../admin/classes/class-settings.php:334
858
  #, php-format
859
  msgid "Remove %s"
860
  msgstr "حذف %s"
861
 
862
- #: ../admin/classes/class-settings.php:358
863
  msgid "No action defined."
864
  msgstr "هیچ کاری تعریف نشده است."
865
 
@@ -893,7 +899,7 @@ msgid "Button Icon"
893
  msgstr "آیکن دکمه"
894
 
895
  #: ../admin/classes/tmp/settings.php:33 ../admin/classes/tmp/settings.php:38
896
- #: ../admin/classes/tmp/settings.php:332
897
  msgid "Best size: 16x16"
898
  msgstr "سایز مناسب : 16x16"
899
 
@@ -930,15 +936,15 @@ msgid "Format Number"
930
  msgstr "فرمت اعداد"
931
 
932
  #: ../admin/classes/tmp/settings.php:61 ../admin/classes/tmp/settings.php:68
933
- #: ../admin/classes/tmp/settings.php:102 ../admin/classes/tmp/settings.php:133
934
- #: ../admin/classes/tmp/settings.php:140 ../admin/classes/tmp/settings.php:159
935
- #: ../admin/classes/tmp/settings.php:215 ../admin/classes/tmp/settings.php:231
936
- #: ../admin/classes/tmp/settings.php:250 ../admin/classes/tmp/settings.php:297
937
- #: ../admin/classes/tmp/settings.php:363 ../admin/classes/tmp/settings.php:378
938
- #: ../admin/classes/tmp/settings.php:385 ../admin/classes/tmp/settings.php:404
939
- #: ../admin/classes/tmp/settings.php:429 ../admin/classes/tmp/settings.php:436
940
- #: ../admin/classes/tmp/settings.php:489 ../admin/classes/tmp/settings.php:504
941
- #: ../admin/classes/tmp/settings.php:523
942
  msgid "Activate"
943
  msgstr "فعال سازی"
944
 
@@ -972,317 +978,311 @@ msgstr "متأسفیم! شما این را نپسندیدید."
972
  msgid "Unliked Notice Message"
973
  msgstr "پیغام اطلاعیه لغو پسندیدن"
974
 
975
- #: ../admin/classes/tmp/settings.php:92 ../admin/classes/tmp/settings.php:205
976
- #: ../admin/classes/tmp/settings.php:353 ../admin/classes/tmp/settings.php:479
977
  #: ../inc/wp-strings.php:10
978
  msgid "Themes"
979
  msgstr "قالب ها"
980
 
981
- #: ../admin/classes/tmp/settings.php:94 ../admin/classes/tmp/settings.php:207
982
- #: ../admin/classes/tmp/settings.php:355 ../admin/classes/tmp/settings.php:481
983
- #: ../inc/wp-strings.php:25
984
- msgid "Default"
985
- msgstr "پیشفرض"
986
-
987
- #: ../admin/classes/tmp/settings.php:106 ../admin/classes/tmp/settings.php:219
988
- #: ../admin/classes/tmp/settings.php:367 ../admin/classes/tmp/settings.php:493
989
  msgid "Auto Display Position"
990
  msgstr "محل قرار گیری در نمایش خودکار"
991
 
992
- #: ../admin/classes/tmp/settings.php:109 ../admin/classes/tmp/settings.php:222
993
- #: ../admin/classes/tmp/settings.php:496
994
  msgid "Top of Content"
995
  msgstr "بالای محتوا"
996
 
997
- #: ../admin/classes/tmp/settings.php:110 ../admin/classes/tmp/settings.php:223
998
- #: ../admin/classes/tmp/settings.php:497
999
  msgid "Bottom of Content"
1000
  msgstr "پایین محتوا"
1001
 
1002
- #: ../admin/classes/tmp/settings.php:111 ../admin/classes/tmp/settings.php:224
1003
  msgid "Top and Bottom"
1004
  msgstr "بالا و پایین"
1005
 
1006
- #: ../admin/classes/tmp/settings.php:116
1007
  msgid "Auto Display Filter"
1008
  msgstr "فیلتر گذاری در نمایش خودکار"
1009
 
1010
- #: ../admin/classes/tmp/settings.php:119
1011
  msgid "Single Posts"
1012
  msgstr "تک نوشته ها"
1013
 
1014
- #: ../admin/classes/tmp/settings.php:120
1015
  msgid "Pages"
1016
  msgstr "برگه ها"
1017
 
1018
- #: ../admin/classes/tmp/settings.php:121
1019
  msgid "Archives"
1020
  msgstr "بایگانی"
1021
 
1022
- #: ../admin/classes/tmp/settings.php:122
1023
  msgid "Categories"
1024
  msgstr "دسته بندی ها"
1025
 
1026
- #: ../admin/classes/tmp/settings.php:123
1027
  msgid "Search Results"
1028
  msgstr "نتایج جستجوها"
1029
 
1030
- #: ../admin/classes/tmp/settings.php:124
1031
  msgid "Tags"
1032
  msgstr "برچسب ها"
1033
 
1034
- #: ../admin/classes/tmp/settings.php:125
1035
  msgid "Author Page"
1036
  msgstr "صفحه نویسنده"
1037
 
1038
- #: ../admin/classes/tmp/settings.php:127
1039
  msgid "You can filter theses pages on auto display option."
1040
  msgstr ""
1041
  "شما می توانید بر روی این صفحات فیلتر گذاری کنید تا دکمه لایک نمایش داده نشود"
1042
 
1043
- #: ../admin/classes/tmp/settings.php:132
1044
  msgid "Google Rich Snippets"
1045
  msgstr "گوگل ریچ اسنیپت"
1046
 
1047
- #: ../admin/classes/tmp/settings.php:134
1048
  msgid "Add rich snippet for ratings in form of schema.org"
1049
  msgstr "این آپشن، رتبه ی نوشته شما را از بین 5 ستاره مشخص می کند."
1050
 
1051
- #: ../admin/classes/tmp/settings.php:139 ../admin/classes/tmp/settings.php:230
1052
- #: ../admin/classes/tmp/settings.php:384 ../admin/classes/tmp/settings.php:503
1053
  msgid "Only registered Users"
1054
  msgstr "محدودسازی لایک کاربران"
1055
 
1056
- #: ../admin/classes/tmp/settings.php:141
1057
  msgid "<strong>Only</strong> registered users have permission to like posts."
1058
  msgstr ""
1059
  "با فعال سازی این گزینه، <strong>تنها</strong> کاربران عضو شده، می توانند "
1060
  "مطالب را لایک کنند."
1061
 
1062
- #: ../admin/classes/tmp/settings.php:148 ../admin/classes/tmp/settings.php:239
1063
- #: ../admin/classes/tmp/settings.php:393 ../admin/classes/tmp/settings.php:512
1064
  msgid "Do Not Log"
1065
  msgstr "وقایع نگاری نکن"
1066
 
1067
- #: ../admin/classes/tmp/settings.php:149 ../admin/classes/tmp/settings.php:240
1068
- #: ../admin/classes/tmp/settings.php:394 ../admin/classes/tmp/settings.php:513
1069
  msgid "Logged By Cookie"
1070
  msgstr "با کوکی"
1071
 
1072
- #: ../admin/classes/tmp/settings.php:150 ../admin/classes/tmp/settings.php:241
1073
- #: ../admin/classes/tmp/settings.php:395 ../admin/classes/tmp/settings.php:514
1074
  msgid "Logged By IP"
1075
  msgstr "با آی پی"
1076
 
1077
- #: ../admin/classes/tmp/settings.php:151 ../admin/classes/tmp/settings.php:242
1078
- #: ../admin/classes/tmp/settings.php:396 ../admin/classes/tmp/settings.php:515
1079
  msgid "Logged By Cookie & IP"
1080
  msgstr "با کوکی و آی پی"
1081
 
1082
- #: ../admin/classes/tmp/settings.php:152 ../admin/classes/tmp/settings.php:243
1083
- #: ../admin/classes/tmp/settings.php:397 ../admin/classes/tmp/settings.php:516
1084
  msgid "Logged By Username"
1085
  msgstr "با نام کاربری"
1086
 
1087
- #: ../admin/classes/tmp/settings.php:158 ../admin/classes/tmp/settings.php:249
1088
- #: ../admin/classes/tmp/settings.php:403 ../admin/classes/tmp/settings.php:522
1089
  msgid "Show Liked Users Box"
1090
  msgstr "نمایش باکس کاربران لایک کرده"
1091
 
1092
- #: ../admin/classes/tmp/settings.php:160 ../admin/classes/tmp/settings.php:251
1093
- #: ../admin/classes/tmp/settings.php:405 ../admin/classes/tmp/settings.php:524
1094
  msgid ""
1095
  "Active this option to show liked users avatars in the bottom of button like."
1096
  msgstr ""
1097
  "با فعال سازی این گزینه، می توانید آواتار کاربران لایک کرده، را در زیر دکمه "
1098
  "لایک، نمایش دهید."
1099
 
1100
- #: ../admin/classes/tmp/settings.php:165 ../admin/classes/tmp/settings.php:256
1101
- #: ../admin/classes/tmp/settings.php:410 ../admin/classes/tmp/settings.php:529
1102
  msgid "Size of Gravatars"
1103
  msgstr "سایز آوتار"
1104
 
1105
- #: ../admin/classes/tmp/settings.php:166 ../admin/classes/tmp/settings.php:257
1106
- #: ../admin/classes/tmp/settings.php:411 ../admin/classes/tmp/settings.php:530
1107
  msgid "Size of Gravatars to return (max is 512)"
1108
  msgstr "سایز تصاویر گراواتار (بیشترین اندازه 512)"
1109
 
1110
- #: ../admin/classes/tmp/settings.php:171 ../admin/classes/tmp/settings.php:262
1111
- #: ../admin/classes/tmp/settings.php:416 ../admin/classes/tmp/settings.php:535
1112
  msgid "Number Of The Users"
1113
  msgstr "تعداد کاربران قابل نمایش"
1114
 
1115
- #: ../admin/classes/tmp/settings.php:172 ../admin/classes/tmp/settings.php:263
1116
- #: ../admin/classes/tmp/settings.php:417 ../admin/classes/tmp/settings.php:536
1117
  msgid "The number of users to show in the users liked box"
1118
  msgstr "حداکثر چند کاربر در باکس لایک کنندگان، نمایش داده شوند؟!؟"
1119
 
1120
- #: ../admin/classes/tmp/settings.php:178 ../admin/classes/tmp/settings.php:269
1121
- #: ../admin/classes/tmp/settings.php:423 ../admin/classes/tmp/settings.php:443
1122
- #: ../admin/classes/tmp/settings.php:449 ../admin/classes/tmp/settings.php:542
1123
  msgid "Allowed Variables:"
1124
  msgstr "متغیرهای قابل استفاده:"
1125
 
1126
- #: ../admin/classes/tmp/settings.php:182 ../admin/classes/tmp/settings.php:273
1127
- #: ../admin/classes/tmp/settings.php:453 ../admin/classes/tmp/settings.php:546
1128
  msgid "Delete All Logs"
1129
  msgstr "حذف تمام وقایع"
1130
 
1131
- #: ../admin/classes/tmp/settings.php:183 ../admin/classes/tmp/settings.php:274
1132
- #: ../admin/classes/tmp/settings.php:454 ../admin/classes/tmp/settings.php:547
1133
  msgid "You Are About To Delete All Likes Logs. This Action Is Not Reversible."
1134
  msgstr ""
1135
  "شما قصد دارید که تمامی \"وقایع\" ثبت شده را حذف کنید! این عمل برگشت نا پذیر "
1136
  "است."
1137
 
1138
- #: ../admin/classes/tmp/settings.php:188 ../admin/classes/tmp/settings.php:279
1139
- #: ../admin/classes/tmp/settings.php:459 ../admin/classes/tmp/settings.php:552
1140
  msgid "Delete All Data"
1141
  msgstr "حذف تمام داده ها"
1142
 
1143
- #: ../admin/classes/tmp/settings.php:189 ../admin/classes/tmp/settings.php:280
1144
- #: ../admin/classes/tmp/settings.php:460 ../admin/classes/tmp/settings.php:553
1145
  msgid "You Are About To Delete All Likes Data. This Action Is Not Reversible."
1146
  msgstr ""
1147
  "شما قصد دارید که تمامی \"داده ها\" ثبت شده را حذف کنید! این عمل برگشت نا "
1148
  "پذیر است."
1149
 
1150
- #: ../admin/classes/tmp/settings.php:232
1151
  msgid ""
1152
  "<strong>Only</strong> registered users have permission to like comments."
1153
  msgstr ""
1154
  "با فعال سازی این گزینه، <strong>تنها</strong> کاربران عضو شده، می توانند "
1155
  "دیدگاه ها را لایک کنند."
1156
 
1157
- #: ../admin/classes/tmp/settings.php:291
1158
  msgid "Customize"
1159
  msgstr "سفارشی سازی"
1160
 
1161
- #: ../admin/classes/tmp/settings.php:296
1162
  msgid "Custom Style"
1163
  msgstr "سفارشی سازی"
1164
 
1165
- #: ../admin/classes/tmp/settings.php:301
1166
  msgid "Active this option to see the custom style settings."
1167
  msgstr ""
1168
  "با فعال سازی این گزینه، می توانید استایل سفارشی خود را در افزونه به کار "
1169
  "ببرید."
1170
 
1171
- #: ../admin/classes/tmp/settings.php:305
1172
  msgid "Button style"
1173
  msgstr "دکمه لایک"
1174
 
1175
- #: ../admin/classes/tmp/settings.php:306 ../admin/classes/tmp/settings.php:319
1176
  msgid "Background"
1177
  msgstr "رنگ پس زمینه"
1178
 
1179
- #: ../admin/classes/tmp/settings.php:310 ../admin/classes/tmp/settings.php:323
1180
  msgid "Border Color"
1181
  msgstr "رنگ حاشیه"
1182
 
1183
- #: ../admin/classes/tmp/settings.php:314 ../admin/classes/tmp/settings.php:327
1184
  msgid "Text Color"
1185
  msgstr "رنگ متن"
1186
 
1187
- #: ../admin/classes/tmp/settings.php:318
1188
  msgid "Counter Style"
1189
  msgstr "باکس شمارنده"
1190
 
1191
- #: ../admin/classes/tmp/settings.php:331
1192
  msgid "Loading Animation"
1193
  msgstr "انیمیشن بارگذاری"
1194
 
1195
- #: ../admin/classes/tmp/settings.php:336
1196
  msgid "Custom CSS"
1197
  msgstr "سفارشی سازی css"
1198
 
1199
- #: ../admin/classes/tmp/settings.php:370
1200
  msgid "Activity Content"
1201
  msgstr "در متن فعالیت"
1202
 
1203
- #: ../admin/classes/tmp/settings.php:371
1204
  msgid "Activity Meta"
1205
  msgstr "در متاباکس فعالیت"
1206
 
1207
- #: ../admin/classes/tmp/settings.php:377
1208
  msgid "Activity Comment"
1209
  msgstr "نظرات فعالیت ها"
1210
 
1211
- #: ../admin/classes/tmp/settings.php:379
1212
  msgid "Add the possibility to like Buddypress comments in the activity stream"
1213
  msgstr ""
1214
  " با فعال سازی این گزینه،‌ سیستم لایک در بخش دیدگاه های مربوط به بادی پرس فعال "
1215
  "می شود."
1216
 
1217
- #: ../admin/classes/tmp/settings.php:386
1218
  msgid ""
1219
  "<strong>Only</strong> registered users have permission to like activities."
1220
  msgstr ""
1221
  "با فعال سازی این گزینه، <strong>تنها</strong> کاربران عضو شده، می توانند "
1222
  "فعالیت های بادی پرس را لایک کنند."
1223
 
1224
- #: ../admin/classes/tmp/settings.php:428
1225
  msgid "BuddyPress Activity"
1226
  msgstr "فعالیت های بادی پرس"
1227
 
1228
- #: ../admin/classes/tmp/settings.php:430
1229
  msgid "insert new likes in buddyPress activity page"
1230
  msgstr ""
1231
  "با فعال سازی این گزینه، اطلاعات جدیدترین لایک ها به بخش فعالیت های بادی پرس "
1232
  "اضافه خواهد شد."
1233
 
1234
- #: ../admin/classes/tmp/settings.php:435
1235
  msgid "BuddyPress Custom Notification"
1236
  msgstr "اطلاعیه های خصوصی بادی پرس"
1237
 
1238
- #: ../admin/classes/tmp/settings.php:437
1239
  msgid "Sends out notifications when you get a like from someone"
1240
  msgstr "ارسال اطلاعیه های خصوصی به کاربران هنگامی که مطالب آنها لایک می شود"
1241
 
1242
- #: ../admin/classes/tmp/settings.php:505
1243
  msgid "<strong>Only</strong> registered users have permission to like Topics."
1244
  msgstr ""
1245
  "با فعال سازی این گزینه، <strong>تنها</strong> کاربران عضو شده، می توانند "
1246
  "تاپیک ها را لایک کنند."
1247
 
1248
- #: ../admin/classes/tmp/settings.php:540
1249
  msgid "Users who have liked this topic:"
1250
  msgstr "کاربرانی که این تاپیک را پسندیده اند:"
1251
 
1252
- #: ../inc/wp-ulike.php:72 ../inc/wp-ulike.php:305
1253
  msgid "You need to login in order to like this post: "
1254
  msgstr "برای امتیاز دهی به این مطلب، لطفا وارد شوید: "
1255
 
1256
- #: ../inc/wp-ulike.php:72 ../inc/wp-ulike.php:145 ../inc/wp-ulike.php:228
1257
- #: ../inc/wp-ulike.php:305
1258
  msgid "click here"
1259
  msgstr "برای ورود کلیک کنید"
1260
 
1261
- #: ../inc/wp-ulike.php:145
1262
  msgid "You need to login in order to like this comment: "
1263
  msgstr "برای امتیاز دهی به این دیدگاه، لطفا وارد شوید: "
1264
 
1265
- #: ../inc/wp-ulike.php:228
1266
  msgid "You need to login in order to like this activity: "
1267
  msgstr "برای امتیاز دهی به این فعالیت، لطفا وارد شوید: "
1268
 
1269
- #: ../inc/wp-ulike.php:358
1270
  msgid "Error: This Method Is Not Exist!"
1271
  msgstr "خطا: این متد وجود خارجی ندارد!"
1272
 
1273
- #: ../inc/wp-functions.php:296
1274
  msgid "WP ULike Activity"
1275
  msgstr "فعالیت های وردپرس یولایک"
1276
 
1277
- #: ../inc/wp-functions.php:416
1278
  msgid "Likes"
1279
  msgstr "لایک ها"
1280
 
1281
- #: ../inc/wp-functions.php:482
1282
  msgid "You have a new like from"
1283
  msgstr "شما یک لایک جدید دریافت کرده اید! توسط :"
1284
 
1285
- #: ../inc/wp-functions.php:582
1286
  msgid ""
1287
  "This hook award / deducts points from users who Like/Unlike any content of "
1288
  "WordPress, bbPress, BuddyPress & ..."
@@ -1291,31 +1291,31 @@ msgstr ""
1291
  "و... را لایک/آنلایک کنند (بعلاوه افرادی که نوشته آنها لایک/آنلایک شده)، می "
1292
  "توانند به ترتیب امتیازات مثبت و منفی دریافت کنند."
1293
 
1294
- #: ../inc/wp-functions.php:590
1295
  msgid "Liking Content"
1296
  msgstr "لایک نوشته"
1297
 
1298
- #: ../inc/wp-functions.php:591
1299
  msgid "Liked Content"
1300
  msgstr "نوشته لایک شده"
1301
 
1302
- #: ../inc/wp-functions.php:592
1303
  msgid "Unliking Content"
1304
  msgstr "لغو لایک نوشته"
1305
 
1306
- #: ../inc/wp-functions.php:593
1307
  msgid "Unliked Content"
1308
  msgstr "نوشته لغو لایک شده"
1309
 
1310
- #: ../inc/wp-functions.php:615 ../inc/wp-functions.php:649
1311
  msgid "Recent Posts Liked"
1312
  msgstr "تازه ترین مطالب لایک شده"
1313
 
1314
- #: ../inc/wp-functions.php:620 ../inc/wp-functions.php:689
1315
  msgid "Recent Comments Liked"
1316
  msgstr "تازه ترین دیدگاه های لایک شده"
1317
 
1318
- #: ../inc/wp-functions.php:665 ../inc/wp-functions.php:706
1319
  msgid "This user has not made any likes."
1320
  msgstr "این کاربر، هنوز هیچ موردی را نپسندیده است."
1321
 
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: WP ULike\n"
4
+ "POT-Creation-Date: 2017-07-24 13:30+0330\n"
5
+ "PO-Revision-Date: 2017-07-24 13:30+0330\n"
6
  "Last-Translator: Alimir <alimir71@yahoo.com>\n"
7
  "Language-Team: alimir.ir <info@alimir.ir>\n"
8
  "Language: fa_IR\n"
16
  "X-Poedit-SearchPath-0: .\n"
17
  "X-Poedit-SearchPath-1: ..\n"
18
 
19
+ #: ../wp-ulike.php:141
20
  msgid "Settings"
21
  msgstr "تنظیمات"
22
 
23
+ #: ../wp-ulike.php:142
24
  msgid "Statistics"
25
  msgstr "آماره"
26
 
27
+ #: ../wp-ulike.php:143
28
  msgid "About"
29
  msgstr "درباره"
30
 
86
  msgid "Introducing WP ULike"
87
  msgstr "معرفی وردپرس یولاک"
88
 
89
+ #: ../admin/about.php:150 ../admin/stats.php:37 ../admin/admin.php:198
90
  msgid "About WP ULike"
91
  msgstr "درباره وردپرس یولایک"
92
 
178
  "از نسخه ۲.۳ افزونه یولایک،‌ امکان بررسی جغرافیایی لایک کنندگان به همراه "
179
  "ابزراک ویژه برترین لایک کنندگان اضافه شده است."
180
 
181
+ #: ../admin/about.php:213 ../admin/stats.php:24 ../admin/admin.php:194
182
  msgid "WP ULike Statistics"
183
  msgstr "آماره وردپرس یولایک"
184
 
185
+ #: ../admin/about.php:213 ../admin/classes/tmp/settings.php:115
186
  msgid "Home"
187
  msgstr "خانه"
188
 
190
  msgid "OR"
191
  msgstr "یا"
192
 
193
+ #: ../admin/about.php:213 ../admin/admin.php:74
194
  msgid "WP ULike Settings"
195
  msgstr "تنظیمات وردپرس یولایک"
196
 
241
  msgid "WP ULike Logs"
242
  msgstr "وقایع اتفاقیه در وردپرس یولایک"
243
 
244
+ #: ../admin/logs.php:140 ../admin/stats.php:43 ../admin/admin.php:178
245
  msgid "Post Likes Logs"
246
  msgstr "وقایع لایک در نوشتارها"
247
 
297
  "<strong>خطا:</strong> چیزی یافت نشد. (این مشکل به خاطر این مسأله ایجاد شده "
298
  "است که شما هیچ اطلاعاتی را در این جدول ندارید)"
299
 
300
+ #: ../admin/logs.php:262 ../admin/stats.php:44 ../admin/admin.php:182
301
  msgid "Comment Likes Logs"
302
  msgstr "وقایع لایک در دیدگاه ها"
303
 
313
  msgid "Comment Text"
314
  msgstr "متن دیدگاه"
315
 
316
+ #: ../admin/logs.php:390 ../admin/stats.php:45 ../admin/admin.php:186
317
  msgid "Activity Likes Logs"
318
  msgstr "وقایع لایک در فعالیت ها"
319
 
330
  msgid "<a href=\"%1$s\">Activity Permalink</a>"
331
  msgstr "<a href=\"%1$s\">مشاهده فعالیت</a>"
332
 
333
+ #: ../admin/logs.php:513 ../admin/stats.php:46 ../admin/admin.php:190
334
  msgid "Topics Likes Logs"
335
  msgstr "وقایع لایک در تاپیک ها"
336
 
507
  "\">وردپرس يولايک را</a> انتخاب کرده ايد. طراحي و کدنويسي توسط <a href=\"%s\" "
508
  "title=\"Wordpress ULike\" target=\"_blank\">علي ميرزائي</a>"
509
 
510
+ #: ../admin/admin.php:77 ../inc/wp-functions.php:585
511
  msgid "WP ULike"
512
  msgstr "وردپرس یولایک"
513
 
514
+ #: ../admin/admin.php:86
515
  msgid "Settings saved."
516
  msgstr "تنظیمات ذخیره شد"
517
 
518
+ #: ../admin/admin.php:122 ../admin/admin.php:157
519
  msgid "Failed! An Error Has Occurred While Deleting All ULike Logs/Data"
520
  msgstr "خطا! مشکلی در عملیات حذف وقایع/داده ها وجود دارد"
521
 
522
+ #: ../admin/admin.php:124 ../admin/admin.php:159
523
  msgid "Success! All ULike Logs/Data Have Been Deleted"
524
  msgstr "هووورا! همه وقایع/داده ها با موفقیت حذف شدند"
525
 
526
+ #: ../admin/admin.php:215 ../inc/wp-strings.php:25
527
+ msgid "Default"
528
+ msgstr "پیشفرض"
529
+
530
+ #: ../admin/admin.php:219 ../admin/classes/class-widget.php:430
531
+ msgid "Heart"
532
+ msgstr "قلب"
533
+
534
+ #: ../admin/admin.php:223
535
+ msgid "Robeen"
536
+ msgstr "روبین"
537
+
538
  #: ../admin/classes/class-widget.php:11
539
  msgid "WP Ulike Widget"
540
  msgstr "ابزارک یولایک"
593
  msgid "Simple"
594
  msgstr "ساده"
595
 
 
 
 
 
 
 
596
  #: ../admin/classes/class-widget.php:435
597
  msgid "Title Trim (Length):"
598
  msgstr "برش عنوان (طول):"
611
 
612
  #: ../admin/classes/class-widget.php:455
613
  #: ../admin/classes/class-settings.php:97
614
+ #: ../admin/classes/tmp/settings.php:342
615
  msgid "BuddyPress"
616
  msgstr "بادی پرس"
617
 
640
  msgstr "تنظیمات مشابه"
641
 
642
  #: ../admin/classes/class-settings.php:48
643
+ #: ../admin/classes/tmp/settings.php:143 ../admin/classes/tmp/settings.php:231
644
+ #: ../admin/classes/tmp/settings.php:382 ../admin/classes/tmp/settings.php:498
645
  msgid "Logging Method"
646
  msgstr "روش وقایع نگاری"
647
 
754
  #: ../admin/classes/class-settings.php:91
755
  #: ../admin/classes/class-settings.php:99
756
  #: ../admin/classes/class-settings.php:107
757
+ #: ../admin/classes/tmp/settings.php:98 ../admin/classes/tmp/settings.php:208
758
+ #: ../admin/classes/tmp/settings.php:353 ../admin/classes/tmp/settings.php:476
759
  msgid "Automatic display"
760
  msgstr "نمایش خودکار"
761
 
771
  #: ../admin/classes/class-settings.php:91
772
  #: ../admin/classes/class-settings.php:99
773
  #: ../admin/classes/class-settings.php:107
774
+ #: ../admin/classes/tmp/settings.php:174 ../admin/classes/tmp/settings.php:262
775
+ #: ../admin/classes/tmp/settings.php:413 ../admin/classes/tmp/settings.php:529
776
  msgid "Users Like Box Template"
777
  msgstr "قالب جعبه لایک کاربران"
778
 
784
  msgstr "قالب پیشفرض:"
785
 
786
  #: ../admin/classes/class-settings.php:82
787
+ #: ../admin/classes/tmp/settings.php:173 ../inc/classes/class-ulike.php:470
788
  msgid "Users who have LIKED this post:"
789
  msgstr "کاربرانی که این مطلب را پسندیده اند:"
790
 
791
  #: ../admin/classes/class-settings.php:89
792
+ #: ../admin/classes/tmp/settings.php:197
793
  msgid "Comments"
794
  msgstr "دیدگاه ها"
795
 
802
  "ها قرار دهید "
803
 
804
  #: ../admin/classes/class-settings.php:91
805
+ #: ../admin/classes/tmp/settings.php:261
806
  msgid "Users who have LIKED this comment:"
807
  msgstr "کاربرانی که این دیدگاه را پسندیده اند:"
808
 
817
 
818
  #: ../admin/classes/class-settings.php:99
819
  #: ../admin/classes/class-settings.php:107
820
+ #: ../admin/classes/tmp/settings.php:412
821
  msgid "Users who have liked this activity:"
822
  msgstr "کاربرانی که این فعالیت را پسندیده اند:"
823
 
824
  #: ../admin/classes/class-settings.php:99
825
+ #: ../admin/classes/tmp/settings.php:433
826
  msgid "Post Activity Text"
827
  msgstr "متن فعالیت مطالب"
828
 
829
  #: ../admin/classes/class-settings.php:99
830
+ #: ../admin/classes/tmp/settings.php:439
831
  msgid "Comment Activity Text"
832
  msgstr "متن فعالیت دیدگاه ها"
833
 
834
  #: ../admin/classes/class-settings.php:105
835
+ #: ../admin/classes/tmp/settings.php:465
836
  msgid "bbPress"
837
  msgstr "بی بی پرس"
838
 
851
 
852
  #: ../admin/classes/class-settings.php:311
853
  #: ../admin/classes/class-settings.php:322
854
+ #: ../admin/classes/class-settings.php:349
855
  msgid "No options defined."
856
  msgstr "هیچ تنظیماتی تعریف نشده است."
857
 
858
+ #: ../admin/classes/class-settings.php:336
859
  #, php-format
860
  msgid "Select %s"
861
  msgstr "انتخاب %s"
862
 
863
+ #: ../admin/classes/class-settings.php:337
864
  #, php-format
865
  msgid "Remove %s"
866
  msgstr "حذف %s"
867
 
868
+ #: ../admin/classes/class-settings.php:361
869
  msgid "No action defined."
870
  msgstr "هیچ کاری تعریف نشده است."
871
 
899
  msgstr "آیکن دکمه"
900
 
901
  #: ../admin/classes/tmp/settings.php:33 ../admin/classes/tmp/settings.php:38
902
+ #: ../admin/classes/tmp/settings.php:326
903
  msgid "Best size: 16x16"
904
  msgstr "سایز مناسب : 16x16"
905
 
936
  msgstr "فرمت اعداد"
937
 
938
  #: ../admin/classes/tmp/settings.php:61 ../admin/classes/tmp/settings.php:68
939
+ #: ../admin/classes/tmp/settings.php:99 ../admin/classes/tmp/settings.php:130
940
+ #: ../admin/classes/tmp/settings.php:137 ../admin/classes/tmp/settings.php:156
941
+ #: ../admin/classes/tmp/settings.php:209 ../admin/classes/tmp/settings.php:225
942
+ #: ../admin/classes/tmp/settings.php:244 ../admin/classes/tmp/settings.php:291
943
+ #: ../admin/classes/tmp/settings.php:354 ../admin/classes/tmp/settings.php:369
944
+ #: ../admin/classes/tmp/settings.php:376 ../admin/classes/tmp/settings.php:395
945
+ #: ../admin/classes/tmp/settings.php:420 ../admin/classes/tmp/settings.php:427
946
+ #: ../admin/classes/tmp/settings.php:477 ../admin/classes/tmp/settings.php:492
947
+ #: ../admin/classes/tmp/settings.php:511
948
  msgid "Activate"
949
  msgstr "فعال سازی"
950
 
978
  msgid "Unliked Notice Message"
979
  msgstr "پیغام اطلاعیه لغو پسندیدن"
980
 
981
+ #: ../admin/classes/tmp/settings.php:92 ../admin/classes/tmp/settings.php:202
982
+ #: ../admin/classes/tmp/settings.php:347 ../admin/classes/tmp/settings.php:470
983
  #: ../inc/wp-strings.php:10
984
  msgid "Themes"
985
  msgstr "قالب ها"
986
 
987
+ #: ../admin/classes/tmp/settings.php:103 ../admin/classes/tmp/settings.php:213
988
+ #: ../admin/classes/tmp/settings.php:358 ../admin/classes/tmp/settings.php:481
 
 
 
 
 
 
989
  msgid "Auto Display Position"
990
  msgstr "محل قرار گیری در نمایش خودکار"
991
 
992
+ #: ../admin/classes/tmp/settings.php:106 ../admin/classes/tmp/settings.php:216
993
+ #: ../admin/classes/tmp/settings.php:484
994
  msgid "Top of Content"
995
  msgstr "بالای محتوا"
996
 
997
+ #: ../admin/classes/tmp/settings.php:107 ../admin/classes/tmp/settings.php:217
998
+ #: ../admin/classes/tmp/settings.php:485
999
  msgid "Bottom of Content"
1000
  msgstr "پایین محتوا"
1001
 
1002
+ #: ../admin/classes/tmp/settings.php:108 ../admin/classes/tmp/settings.php:218
1003
  msgid "Top and Bottom"
1004
  msgstr "بالا و پایین"
1005
 
1006
+ #: ../admin/classes/tmp/settings.php:113
1007
  msgid "Auto Display Filter"
1008
  msgstr "فیلتر گذاری در نمایش خودکار"
1009
 
1010
+ #: ../admin/classes/tmp/settings.php:116
1011
  msgid "Single Posts"
1012
  msgstr "تک نوشته ها"
1013
 
1014
+ #: ../admin/classes/tmp/settings.php:117
1015
  msgid "Pages"
1016
  msgstr "برگه ها"
1017
 
1018
+ #: ../admin/classes/tmp/settings.php:118
1019
  msgid "Archives"
1020
  msgstr "بایگانی"
1021
 
1022
+ #: ../admin/classes/tmp/settings.php:119
1023
  msgid "Categories"
1024
  msgstr "دسته بندی ها"
1025
 
1026
+ #: ../admin/classes/tmp/settings.php:120
1027
  msgid "Search Results"
1028
  msgstr "نتایج جستجوها"
1029
 
1030
+ #: ../admin/classes/tmp/settings.php:121
1031
  msgid "Tags"
1032
  msgstr "برچسب ها"
1033
 
1034
+ #: ../admin/classes/tmp/settings.php:122
1035
  msgid "Author Page"
1036
  msgstr "صفحه نویسنده"
1037
 
1038
+ #: ../admin/classes/tmp/settings.php:124
1039
  msgid "You can filter theses pages on auto display option."
1040
  msgstr ""
1041
  "شما می توانید بر روی این صفحات فیلتر گذاری کنید تا دکمه لایک نمایش داده نشود"
1042
 
1043
+ #: ../admin/classes/tmp/settings.php:129
1044
  msgid "Google Rich Snippets"
1045
  msgstr "گوگل ریچ اسنیپت"
1046
 
1047
+ #: ../admin/classes/tmp/settings.php:131
1048
  msgid "Add rich snippet for ratings in form of schema.org"
1049
  msgstr "این آپشن، رتبه ی نوشته شما را از بین 5 ستاره مشخص می کند."
1050
 
1051
+ #: ../admin/classes/tmp/settings.php:136 ../admin/classes/tmp/settings.php:224
1052
+ #: ../admin/classes/tmp/settings.php:375 ../admin/classes/tmp/settings.php:491
1053
  msgid "Only registered Users"
1054
  msgstr "محدودسازی لایک کاربران"
1055
 
1056
+ #: ../admin/classes/tmp/settings.php:138
1057
  msgid "<strong>Only</strong> registered users have permission to like posts."
1058
  msgstr ""
1059
  "با فعال سازی این گزینه، <strong>تنها</strong> کاربران عضو شده، می توانند "
1060
  "مطالب را لایک کنند."
1061
 
1062
+ #: ../admin/classes/tmp/settings.php:145 ../admin/classes/tmp/settings.php:233
1063
+ #: ../admin/classes/tmp/settings.php:384 ../admin/classes/tmp/settings.php:500
1064
  msgid "Do Not Log"
1065
  msgstr "وقایع نگاری نکن"
1066
 
1067
+ #: ../admin/classes/tmp/settings.php:146 ../admin/classes/tmp/settings.php:234
1068
+ #: ../admin/classes/tmp/settings.php:385 ../admin/classes/tmp/settings.php:501
1069
  msgid "Logged By Cookie"
1070
  msgstr "با کوکی"
1071
 
1072
+ #: ../admin/classes/tmp/settings.php:147 ../admin/classes/tmp/settings.php:235
1073
+ #: ../admin/classes/tmp/settings.php:386 ../admin/classes/tmp/settings.php:502
1074
  msgid "Logged By IP"
1075
  msgstr "با آی پی"
1076
 
1077
+ #: ../admin/classes/tmp/settings.php:148 ../admin/classes/tmp/settings.php:236
1078
+ #: ../admin/classes/tmp/settings.php:387 ../admin/classes/tmp/settings.php:503
1079
  msgid "Logged By Cookie & IP"
1080
  msgstr "با کوکی و آی پی"
1081
 
1082
+ #: ../admin/classes/tmp/settings.php:149 ../admin/classes/tmp/settings.php:237
1083
+ #: ../admin/classes/tmp/settings.php:388 ../admin/classes/tmp/settings.php:504
1084
  msgid "Logged By Username"
1085
  msgstr "با نام کاربری"
1086
 
1087
+ #: ../admin/classes/tmp/settings.php:155 ../admin/classes/tmp/settings.php:243
1088
+ #: ../admin/classes/tmp/settings.php:394 ../admin/classes/tmp/settings.php:510
1089
  msgid "Show Liked Users Box"
1090
  msgstr "نمایش باکس کاربران لایک کرده"
1091
 
1092
+ #: ../admin/classes/tmp/settings.php:157 ../admin/classes/tmp/settings.php:245
1093
+ #: ../admin/classes/tmp/settings.php:396 ../admin/classes/tmp/settings.php:512
1094
  msgid ""
1095
  "Active this option to show liked users avatars in the bottom of button like."
1096
  msgstr ""
1097
  "با فعال سازی این گزینه، می توانید آواتار کاربران لایک کرده، را در زیر دکمه "
1098
  "لایک، نمایش دهید."
1099
 
1100
+ #: ../admin/classes/tmp/settings.php:162 ../admin/classes/tmp/settings.php:250
1101
+ #: ../admin/classes/tmp/settings.php:401 ../admin/classes/tmp/settings.php:517
1102
  msgid "Size of Gravatars"
1103
  msgstr "سایز آوتار"
1104
 
1105
+ #: ../admin/classes/tmp/settings.php:163 ../admin/classes/tmp/settings.php:251
1106
+ #: ../admin/classes/tmp/settings.php:402 ../admin/classes/tmp/settings.php:518
1107
  msgid "Size of Gravatars to return (max is 512)"
1108
  msgstr "سایز تصاویر گراواتار (بیشترین اندازه 512)"
1109
 
1110
+ #: ../admin/classes/tmp/settings.php:168 ../admin/classes/tmp/settings.php:256
1111
+ #: ../admin/classes/tmp/settings.php:407 ../admin/classes/tmp/settings.php:523
1112
  msgid "Number Of The Users"
1113
  msgstr "تعداد کاربران قابل نمایش"
1114
 
1115
+ #: ../admin/classes/tmp/settings.php:169 ../admin/classes/tmp/settings.php:257
1116
+ #: ../admin/classes/tmp/settings.php:408 ../admin/classes/tmp/settings.php:524
1117
  msgid "The number of users to show in the users liked box"
1118
  msgstr "حداکثر چند کاربر در باکس لایک کنندگان، نمایش داده شوند؟!؟"
1119
 
1120
+ #: ../admin/classes/tmp/settings.php:175 ../admin/classes/tmp/settings.php:263
1121
+ #: ../admin/classes/tmp/settings.php:414 ../admin/classes/tmp/settings.php:434
1122
+ #: ../admin/classes/tmp/settings.php:440 ../admin/classes/tmp/settings.php:530
1123
  msgid "Allowed Variables:"
1124
  msgstr "متغیرهای قابل استفاده:"
1125
 
1126
+ #: ../admin/classes/tmp/settings.php:179 ../admin/classes/tmp/settings.php:267
1127
+ #: ../admin/classes/tmp/settings.php:444 ../admin/classes/tmp/settings.php:534
1128
  msgid "Delete All Logs"
1129
  msgstr "حذف تمام وقایع"
1130
 
1131
+ #: ../admin/classes/tmp/settings.php:180 ../admin/classes/tmp/settings.php:268
1132
+ #: ../admin/classes/tmp/settings.php:445 ../admin/classes/tmp/settings.php:535
1133
  msgid "You Are About To Delete All Likes Logs. This Action Is Not Reversible."
1134
  msgstr ""
1135
  "شما قصد دارید که تمامی \"وقایع\" ثبت شده را حذف کنید! این عمل برگشت نا پذیر "
1136
  "است."
1137
 
1138
+ #: ../admin/classes/tmp/settings.php:185 ../admin/classes/tmp/settings.php:273
1139
+ #: ../admin/classes/tmp/settings.php:450 ../admin/classes/tmp/settings.php:540
1140
  msgid "Delete All Data"
1141
  msgstr "حذف تمام داده ها"
1142
 
1143
+ #: ../admin/classes/tmp/settings.php:186 ../admin/classes/tmp/settings.php:274
1144
+ #: ../admin/classes/tmp/settings.php:451 ../admin/classes/tmp/settings.php:541
1145
  msgid "You Are About To Delete All Likes Data. This Action Is Not Reversible."
1146
  msgstr ""
1147
  "شما قصد دارید که تمامی \"داده ها\" ثبت شده را حذف کنید! این عمل برگشت نا "
1148
  "پذیر است."
1149
 
1150
+ #: ../admin/classes/tmp/settings.php:226
1151
  msgid ""
1152
  "<strong>Only</strong> registered users have permission to like comments."
1153
  msgstr ""
1154
  "با فعال سازی این گزینه، <strong>تنها</strong> کاربران عضو شده، می توانند "
1155
  "دیدگاه ها را لایک کنند."
1156
 
1157
+ #: ../admin/classes/tmp/settings.php:285
1158
  msgid "Customize"
1159
  msgstr "سفارشی سازی"
1160
 
1161
+ #: ../admin/classes/tmp/settings.php:290
1162
  msgid "Custom Style"
1163
  msgstr "سفارشی سازی"
1164
 
1165
+ #: ../admin/classes/tmp/settings.php:295
1166
  msgid "Active this option to see the custom style settings."
1167
  msgstr ""
1168
  "با فعال سازی این گزینه، می توانید استایل سفارشی خود را در افزونه به کار "
1169
  "ببرید."
1170
 
1171
+ #: ../admin/classes/tmp/settings.php:299
1172
  msgid "Button style"
1173
  msgstr "دکمه لایک"
1174
 
1175
+ #: ../admin/classes/tmp/settings.php:300 ../admin/classes/tmp/settings.php:313
1176
  msgid "Background"
1177
  msgstr "رنگ پس زمینه"
1178
 
1179
+ #: ../admin/classes/tmp/settings.php:304 ../admin/classes/tmp/settings.php:317
1180
  msgid "Border Color"
1181
  msgstr "رنگ حاشیه"
1182
 
1183
+ #: ../admin/classes/tmp/settings.php:308 ../admin/classes/tmp/settings.php:321
1184
  msgid "Text Color"
1185
  msgstr "رنگ متن"
1186
 
1187
+ #: ../admin/classes/tmp/settings.php:312
1188
  msgid "Counter Style"
1189
  msgstr "باکس شمارنده"
1190
 
1191
+ #: ../admin/classes/tmp/settings.php:325
1192
  msgid "Loading Animation"
1193
  msgstr "انیمیشن بارگذاری"
1194
 
1195
+ #: ../admin/classes/tmp/settings.php:330
1196
  msgid "Custom CSS"
1197
  msgstr "سفارشی سازی css"
1198
 
1199
+ #: ../admin/classes/tmp/settings.php:361
1200
  msgid "Activity Content"
1201
  msgstr "در متن فعالیت"
1202
 
1203
+ #: ../admin/classes/tmp/settings.php:362
1204
  msgid "Activity Meta"
1205
  msgstr "در متاباکس فعالیت"
1206
 
1207
+ #: ../admin/classes/tmp/settings.php:368
1208
  msgid "Activity Comment"
1209
  msgstr "نظرات فعالیت ها"
1210
 
1211
+ #: ../admin/classes/tmp/settings.php:370
1212
  msgid "Add the possibility to like Buddypress comments in the activity stream"
1213
  msgstr ""
1214
  " با فعال سازی این گزینه،‌ سیستم لایک در بخش دیدگاه های مربوط به بادی پرس فعال "
1215
  "می شود."
1216
 
1217
+ #: ../admin/classes/tmp/settings.php:377
1218
  msgid ""
1219
  "<strong>Only</strong> registered users have permission to like activities."
1220
  msgstr ""
1221
  "با فعال سازی این گزینه، <strong>تنها</strong> کاربران عضو شده، می توانند "
1222
  "فعالیت های بادی پرس را لایک کنند."
1223
 
1224
+ #: ../admin/classes/tmp/settings.php:419
1225
  msgid "BuddyPress Activity"
1226
  msgstr "فعالیت های بادی پرس"
1227
 
1228
+ #: ../admin/classes/tmp/settings.php:421
1229
  msgid "insert new likes in buddyPress activity page"
1230
  msgstr ""
1231
  "با فعال سازی این گزینه، اطلاعات جدیدترین لایک ها به بخش فعالیت های بادی پرس "
1232
  "اضافه خواهد شد."
1233
 
1234
+ #: ../admin/classes/tmp/settings.php:426
1235
  msgid "BuddyPress Custom Notification"
1236
  msgstr "اطلاعیه های خصوصی بادی پرس"
1237
 
1238
+ #: ../admin/classes/tmp/settings.php:428
1239
  msgid "Sends out notifications when you get a like from someone"
1240
  msgstr "ارسال اطلاعیه های خصوصی به کاربران هنگامی که مطالب آنها لایک می شود"
1241
 
1242
+ #: ../admin/classes/tmp/settings.php:493
1243
  msgid "<strong>Only</strong> registered users have permission to like Topics."
1244
  msgstr ""
1245
  "با فعال سازی این گزینه، <strong>تنها</strong> کاربران عضو شده، می توانند "
1246
  "تاپیک ها را لایک کنند."
1247
 
1248
+ #: ../admin/classes/tmp/settings.php:528
1249
  msgid "Users who have liked this topic:"
1250
  msgstr "کاربرانی که این تاپیک را پسندیده اند:"
1251
 
1252
+ #: ../inc/wp-ulike.php:56 ../inc/wp-ulike.php:240
1253
  msgid "You need to login in order to like this post: "
1254
  msgstr "برای امتیاز دهی به این مطلب، لطفا وارد شوید: "
1255
 
1256
+ #: ../inc/wp-ulike.php:56 ../inc/wp-ulike.php:113 ../inc/wp-ulike.php:177
1257
+ #: ../inc/wp-ulike.php:240
1258
  msgid "click here"
1259
  msgstr "برای ورود کلیک کنید"
1260
 
1261
+ #: ../inc/wp-ulike.php:113
1262
  msgid "You need to login in order to like this comment: "
1263
  msgstr "برای امتیاز دهی به این دیدگاه، لطفا وارد شوید: "
1264
 
1265
+ #: ../inc/wp-ulike.php:177
1266
  msgid "You need to login in order to like this activity: "
1267
  msgstr "برای امتیاز دهی به این فعالیت، لطفا وارد شوید: "
1268
 
1269
+ #: ../inc/wp-ulike.php:297
1270
  msgid "Error: This Method Is Not Exist!"
1271
  msgstr "خطا: این متد وجود خارجی ندارد!"
1272
 
1273
+ #: ../inc/wp-functions.php:300
1274
  msgid "WP ULike Activity"
1275
  msgstr "فعالیت های وردپرس یولایک"
1276
 
1277
+ #: ../inc/wp-functions.php:420
1278
  msgid "Likes"
1279
  msgstr "لایک ها"
1280
 
1281
+ #: ../inc/wp-functions.php:486
1282
  msgid "You have a new like from"
1283
  msgstr "شما یک لایک جدید دریافت کرده اید! توسط :"
1284
 
1285
+ #: ../inc/wp-functions.php:586
1286
  msgid ""
1287
  "This hook award / deducts points from users who Like/Unlike any content of "
1288
  "WordPress, bbPress, BuddyPress & ..."
1291
  "و... را لایک/آنلایک کنند (بعلاوه افرادی که نوشته آنها لایک/آنلایک شده)، می "
1292
  "توانند به ترتیب امتیازات مثبت و منفی دریافت کنند."
1293
 
1294
+ #: ../inc/wp-functions.php:594
1295
  msgid "Liking Content"
1296
  msgstr "لایک نوشته"
1297
 
1298
+ #: ../inc/wp-functions.php:595
1299
  msgid "Liked Content"
1300
  msgstr "نوشته لایک شده"
1301
 
1302
+ #: ../inc/wp-functions.php:596
1303
  msgid "Unliking Content"
1304
  msgstr "لغو لایک نوشته"
1305
 
1306
+ #: ../inc/wp-functions.php:597
1307
  msgid "Unliked Content"
1308
  msgstr "نوشته لغو لایک شده"
1309
 
1310
+ #: ../inc/wp-functions.php:619 ../inc/wp-functions.php:653
1311
  msgid "Recent Posts Liked"
1312
  msgstr "تازه ترین مطالب لایک شده"
1313
 
1314
+ #: ../inc/wp-functions.php:624 ../inc/wp-functions.php:693
1315
  msgid "Recent Comments Liked"
1316
  msgstr "تازه ترین دیدگاه های لایک شده"
1317
 
1318
+ #: ../inc/wp-functions.php:669 ../inc/wp-functions.php:710
1319
  msgid "This user has not made any likes."
1320
  msgstr "این کاربر، هنوز هیچ موردی را نپسندیده است."
1321
 
readme.txt CHANGED
@@ -5,7 +5,7 @@ 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.8
8
- Stable tag: 2.7
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -21,9 +21,10 @@ WP ULike is a WordPress plugin that also supports BuddyPress, bbPress and a numb
21
  * Fork Us In [Github](https://github.com/Alimir/wp-ulike).
22
 
23
  = Features =
24
- * Clean Design.
25
  * Full myCRED Points Support.
26
- * Full Statistics tools.
 
27
  * Supporting UltimateMember & BuddyPress Profiles.
28
  * Likers World Map & Top Likers Widget.
29
  * Ajax feature to update the data without reloading.
@@ -131,99 +132,31 @@ Also you can use of the following function and shortcode for your posts:
131
  `[wp_ulike]`
132
 
133
  = How To Change The Counter Format? =
134
- Just add a filter on `wp_ulike_format_number`. e.g. If you want to remove `+` character, you need to make use of the sample code below:
135
- <code>
136
- add_filter('wp_ulike_format_number','wp_ulike_new_format_number',10,3);
137
- function wp_ulike_new_format_number($value, $num, $plus){
138
- if ($num >= 1000 && get_option('wp_ulike_format_number') == '1'):
139
- $value = round($num/1000, 2) . 'K';
140
- else:
141
- $value = $num;
142
- endif;
143
- return $value;
144
- }
145
- </code>
146
 
147
  = How To Change Schema Type? =
148
- * The default schema type is 'CreativeWork', if you want to change it to 'Article', you need to make use of the `wp_ulike_posts_add_attr` filter as shown in the sample code below:
149
- <code>
150
- add_filter('wp_ulike_posts_add_attr', 'wp_ulike_change_posts_microdata_itemtype', 10);
151
- function wp_ulike_change_posts_microdata_itemtype() {
152
- return 'itemscope itemtype="http://schema.org/Article"';
153
- }
154
- </code>
155
 
156
  = How To Add Extra Microdata? =
157
- * Make use of the `wp_ulike_extra_structured_data` filter as shown in the sample code below:
158
- <code>
159
- add_filter('wp_ulike_extra_structured_data', 'wp_ulike_add_extra_structured_data', 10);
160
- function wp_ulike_add_extra_structured_data(){
161
- $post_meta = '<div style="display: none;" itemprop="publisher" itemscope itemtype="https://schema.org/Organization">';
162
- $post_meta .= '<meta itemprop="name" content="WordPress" />';
163
- $post_meta .= '<div itemprop="logo" itemscope itemtype="https://schema.org/ImageObject">';
164
- $post_meta .= '<meta itemprop="url" content="https://s.w.org/about/images/logos/wordpress-logo-hoz-rgb.png" />';
165
- $post_meta .= '</div>';
166
- $post_meta .= '</div>';
167
- return $post_meta;
168
- }
169
- </code>
170
 
171
  = How To Remove All Schema Data Except Of aggregateRating? =
172
- * Make use of the `wp_ulike_remove_microdata_post_meta` & 'wp_ulike_posts_add_attr' filters as shown in the sample code below:
173
- <code>
174
- add_filter('wp_ulike_remove_microdata_post_meta', '__return_true', 10);
175
- add_filter('wp_ulike_posts_add_attr', '__return_null', 10);
176
- </code>
177
 
178
  = How To Remove "0" Count If There Are No Likes? =
179
- * Make use of the `wp_ulike_count_box_template` filter as shown in the sample code below:
180
- <code>
181
- <?php
182
- add_filter('wp_ulike_count_box_template', 'wp_ulike_change_my_count_box_template', 10, 2);
183
- function wp_ulike_change_my_count_box_template($string, $counter) {
184
- $num = preg_replace("/[^0-9,.]/", "", $counter);
185
- if($num == 0) return;
186
- else return $string;
187
- }
188
- ?>
189
- </code>
190
 
191
  = How To Change The Login Alert Template? =
192
- * Make use of the `wp_ulike_login_alert_template` filter as shown in the sample code below:
193
- <code>
194
- add_filter('wp_ulike_login_alert_template', 'wp_ulike_change_login_alert_template', 10);
195
- function wp_ulike_change_login_alert_template(){
196
- return '<p class="alert alert-info fade in" role="alert"><button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>Please login to your account! :)</p>';
197
- }
198
- </code>
199
 
200
  = How To Get Post Likes Number? =
201
- * Make use of the following function in WP Loop:
202
- <code>
203
- if (function_exists('wp_ulike_get_post_likes')):
204
- echo wp_ulike_get_post_likes(get_the_ID());
205
- endif;
206
- </code>
207
 
208
  = How To Get Comment Likes Number? =
209
- * Make use of the following function in your comments loop:
210
- <code>
211
- if (function_exists('wp_ulike_get_comment_likes')):
212
- echo wp_ulike_get_comment_likes(get_comment_ID());
213
- endif;
214
- </code>
215
 
216
  = How To Sort Most Liked Posts? =
217
- * Make use of the following query on a loop:
218
- <code>
219
- $the_query = new WP_Query(array(
220
- 'post_status' => 'published',
221
- 'post_type' => 'post',
222
- 'orderby' => 'meta_value_num',
223
- 'meta_key' => '_liked',
224
- 'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1
225
- ));
226
- </code>
227
 
228
  = How Can I Create Custom Template In Users Liked Box? =
229
  * We have provided some variables in setting panel. You can use them in textarea and then save the new options.
@@ -238,6 +171,17 @@ define( 'WP_MEMORY_LIMIT', '256M' );
238
 
239
  == Changelog ==
240
 
 
 
 
 
 
 
 
 
 
 
 
241
  = 2.7 =
242
  * Added: Flexible google rich snippets for posts. (Add rich snippet for likes in form of schema.org)
243
  * Added: 'wp_ulike_count_box_template' filter to customize count box template.
@@ -459,6 +403,9 @@ define( 'WP_MEMORY_LIMIT', '256M' );
459
 
460
  == Upgrade Notice ==
461
 
 
 
 
462
  = 2.5 =
463
  In this version, we have made a new option for buddypress custom notifications with some bug fixes. Attention! This new option does not work with bbPress -V2.6.
464
 
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.8
8
+ Stable tag: 2.8
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
21
  * Fork Us In [Github](https://github.com/Alimir/wp-ulike).
22
 
23
  = Features =
24
+ * Clean Design + Pretty styles.
25
  * Full myCRED Points Support.
26
+ * Flexible google rich snippets support. (Microdata)
27
+ * Full Statistics tools with many widgets.
28
  * Supporting UltimateMember & BuddyPress Profiles.
29
  * Likers World Map & Top Likers Widget.
30
  * Ajax feature to update the data without reloading.
132
  `[wp_ulike]`
133
 
134
  = How To Change The Counter Format? =
135
+ Documentation : https://github.com/alimir/wp-ulike#how-to-change-the-counter-format
 
 
 
 
 
 
 
 
 
 
 
136
 
137
  = How To Change Schema Type? =
138
+ Documentation : https://github.com/alimir/wp-ulike#how-to-change-schema-type
 
 
 
 
 
 
139
 
140
  = How To Add Extra Microdata? =
141
+ Documentation : https://github.com/alimir/wp-ulike#how-to-add-extra-microdata
 
 
 
 
 
 
 
 
 
 
 
 
142
 
143
  = How To Remove All Schema Data Except Of aggregateRating? =
144
+ Documentation : https://github.com/alimir/wp-ulike#how-to-remove-all-schema-data-except-of-aggregaterating
 
 
 
 
145
 
146
  = How To Remove "0" Count If There Are No Likes? =
147
+ Documentation : https://github.com/alimir/wp-ulike#how-to-remove-0-count-if-there-are-no-likes
 
 
 
 
 
 
 
 
 
 
148
 
149
  = How To Change The Login Alert Template? =
150
+ Documentation : https://github.com/alimir/wp-ulike#how-to-change-the-login-alert-template
 
 
 
 
 
 
151
 
152
  = How To Get Post Likes Number? =
153
+ Documentation : https://github.com/alimir/wp-ulike#how-to-get-post-likes-number
 
 
 
 
 
154
 
155
  = How To Get Comment Likes Number? =
156
+ Documentation : https://github.com/alimir/wp-ulike#how-to-get-comment-likes-number
 
 
 
 
 
157
 
158
  = How To Sort Most Liked Posts? =
159
+ Documentation : https://github.com/alimir/wp-ulike#how-to-sort-most-liked-posts
 
 
 
 
 
 
 
 
 
160
 
161
  = How Can I Create Custom Template In Users Liked Box? =
162
  * We have provided some variables in setting panel. You can use them in textarea and then save the new options.
171
 
172
  == Changelog ==
173
 
174
+ = 2.8 =
175
+ * Added: Robeen (Animated Heart) template. (New Theme)
176
+ * Added: New hooks for better front-end/back-end development.
177
+ * Added: New library for AJAX functionalities.
178
+ * Added: New hooks support for default settings.
179
+ * Added: New response functionality with JSON.
180
+ * Updated: 'wp_ulike' core class functionality.
181
+ * Updated: FAQ documentation.
182
+ * Removed: Old script files and enqueue new wp-ulike script.
183
+ * Removed: Old version of 'mysql2date' function.
184
+
185
  = 2.7 =
186
  * Added: Flexible google rich snippets for posts. (Add rich snippet for likes in form of schema.org)
187
  * Added: 'wp_ulike_count_box_template' filter to customize count box template.
403
 
404
  == Upgrade Notice ==
405
 
406
+ = 2.8 =
407
+ Attention Please!! In this version, we have made a new script library (wp-ulike.js), variables, templates, and functionalities. Besides, we have removed old ones, which may destroy your previous changes. That is very important to clear your browser cache and reset your customization with our new class names after updating the plugin. If you have a development version, please take some time to review our new changes.
408
+
409
  = 2.5 =
410
  In this version, we have made a new option for buddypress custom notifications with some bug fixes. Attention! This new option does not work with bbPress -V2.6.
411
 
wp-ulike.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: WP ULike
4
  Plugin URI: http://wp-ulike.alimir.ir/
5
  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.
6
- Version: 2.7
7
  Author: Ali Mirzaei
8
  Author URI: http://about.alimir.ir
9
  Text Domain: wp-ulike
@@ -27,12 +27,12 @@ Thanks for using WP ULike plugin!
27
  */
28
 
29
  //Do not change this value
30
- define( 'WP_ULIKE_PLUGIN_URI' , 'http://wp-ulike.alimir.ir/' );
31
- define( 'WP_ULIKE_VERSION' , '2.7' );
32
  define( 'WP_ULIKE_SLUG' , 'wp-ulike' );
33
  define( 'WP_ULIKE_DB_VERSION' , '1.3' );
34
 
35
- //Load Translations
36
  load_plugin_textdomain( WP_ULIKE_SLUG, false, dirname( plugin_basename( __FILE__ ) ) .'/lang/' );
37
 
38
  /**
@@ -171,23 +171,27 @@ function wp_ulike_activation_redirect( $plugin ) {
171
  *
172
  * @author Alimir
173
  * @since 1.7
 
174
  * @return Void
175
  */
176
  add_action( 'plugins_loaded', 'wp_ulike_update_db_check' );
177
  function wp_ulike_update_db_check() {
178
  if ( get_site_option( 'wp_ulike_dbVersion' ) != WP_ULIKE_DB_VERSION ) {
179
- wp_ulike_install();
180
  }
181
  }
182
 
183
- //Include plugin setting file
184
- include plugin_dir_path( __FILE__ ) . 'admin/admin.php';
 
185
 
 
 
186
  //Include general functions
187
- include plugin_dir_path( __FILE__ ) . 'inc/wp-functions.php';
188
-
189
  //Include plugin scripts
190
- include plugin_dir_path( __FILE__ ) . 'inc/wp-script.php';
191
-
192
  //Load WP ULike functions
193
- include plugin_dir_path( __FILE__ ) . 'inc/wp-ulike.php';
 
 
3
  Plugin Name: WP ULike
4
  Plugin URI: http://wp-ulike.alimir.ir/
5
  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.
6
+ Version: 2.8
7
  Author: Ali Mirzaei
8
  Author URI: http://about.alimir.ir
9
  Text Domain: wp-ulike
27
  */
28
 
29
  //Do not change this value
30
+ define( 'WP_ULIKE_PLUGIN_URI' , 'http://wp-ulike.alimir.ir' );
31
+ define( 'WP_ULIKE_VERSION' , '2.8' );
32
  define( 'WP_ULIKE_SLUG' , 'wp-ulike' );
33
  define( 'WP_ULIKE_DB_VERSION' , '1.3' );
34
 
35
+ //Load Translations
36
  load_plugin_textdomain( WP_ULIKE_SLUG, false, dirname( plugin_basename( __FILE__ ) ) .'/lang/' );
37
 
38
  /**
171
  *
172
  * @author Alimir
173
  * @since 1.7
174
+ * @updated 2.8 //Added 'call_user_func' for better callbacks
175
  * @return Void
176
  */
177
  add_action( 'plugins_loaded', 'wp_ulike_update_db_check' );
178
  function wp_ulike_update_db_check() {
179
  if ( get_site_option( 'wp_ulike_dbVersion' ) != WP_ULIKE_DB_VERSION ) {
180
+ call_user_func('wp_ulike_install');
181
  }
182
  }
183
 
184
+ /**
185
+ * Initialize the plugin
186
+ * ===========================================================================*/
187
 
188
+ //Include plugin setting file
189
+ require_once( plugin_dir_path( __FILE__ ) . 'admin/admin.php' );
190
  //Include general functions
191
+ require_once( plugin_dir_path( __FILE__ ) . 'inc/wp-functions.php' );
 
192
  //Include plugin scripts
193
+ require_once( plugin_dir_path( __FILE__ ) . 'inc/wp-script.php');
 
194
  //Load WP ULike functions
195
+ require_once( plugin_dir_path( __FILE__ ) . 'inc/wp-ulike.php' );
196
+
197
+ /*============================================================================*/