WP ULike - Version 4.0.1

Version Description

  • Added: New myCred option for points to be awarded even when item authors Like/Unlike their own item.
  • Fixed: Some important issues in myCred functionality.
  • Fixed: An issue with get counter value.
  • Fixed: Some styling issues.
Download this release

Release Info

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

Code changes from version 4.0.0 to 4.0.1

README.md CHANGED
@@ -182,13 +182,17 @@ endif;
182
  ## How To Sort Most Liked Posts? ##
183
  Make use of the following query on a loop:
184
  ```php
185
- $the_query = new WP_Query(array(
186
- 'post_status' => 'published',
187
- 'post_type' => 'post',
188
- 'orderby' => 'meta_value_num',
189
- 'meta_key' => '_liked',
190
- 'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1
191
- ));
 
 
 
 
192
  ```
193
 
194
  ## How Can I Create Custom Template In Users Liked Box? ##
182
  ## How To Sort Most Liked Posts? ##
183
  Make use of the following query on a loop:
184
  ```php
185
+ /**
186
+ * Get most liked posts in query
187
+ *
188
+ * @param integer $numberposts The number of items
189
+ * @param array|string $post_type Select post type
190
+ * @param string $method keep this as default value
191
+ * @param string $period Date peroid (all|today|yeterday|week|month|year)
192
+ * @param string $status Log status (like|unlike|dislike|undislike)
193
+ * @return WP_Post[]|int[] Array of post objects or post IDs.
194
+ */
195
+ $wp_query = wp_ulike_get_most_liked_posts( $numberposts = 10, $post_type = '', 'post', $period = 'all', $status = 'like' );
196
  ```
197
 
198
  ## How Can I Create Custom Template In Users Liked Box? ##
admin/admin-functions.php CHANGED
@@ -225,7 +225,6 @@ function wp_ulike_widget_button_callback( $atts = array() ){
225
  // get escaped class attributes
226
  $button_class_attr = wp_ulike_make_html_class_attribute( $btn_css_classes );
227
 
228
- $label = empty( $label ) ? $shortcode_content : $label;
229
  $label = empty( $label ) ? __( "Button", WP_ULIKE_SLUG ) : $label;
230
 
231
  $btn_content = '<span class="wp-ulike-text">'. wp_ulike_do_cleanup_shortcode( $label ) .'</span>';
225
  // get escaped class attributes
226
  $button_class_attr = wp_ulike_make_html_class_attribute( $btn_css_classes );
227
 
 
228
  $label = empty( $label ) ? __( "Button", WP_ULIKE_SLUG ) : $label;
229
 
230
  $btn_content = '<span class="wp-ulike-text">'. wp_ulike_do_cleanup_shortcode( $label ) .'</span>';
admin/admin-hooks.php CHANGED
@@ -198,4 +198,26 @@ function wp_ulike_notice_manager(){
198
  }
199
  }
200
  }
201
- add_action( 'admin_notices', 'wp_ulike_notice_manager' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
198
  }
199
  }
200
  }
201
+ add_action( 'admin_notices', 'wp_ulike_notice_manager' );
202
+
203
+ /**
204
+ * This makes a new admin menu page to introduce premium version
205
+ *
206
+ * @param array $submenus
207
+ * @return array
208
+ */
209
+ function wp_ulike_go_pro_admin_menu( $submenus ){
210
+ if( is_array( $submenus ) && ! defined( 'WP_ULIKE_PRO_VERSION' ) ){
211
+ $submenus['go_pro'] = array(
212
+ 'title' => sprintf( '<span class="wp-ulike-gopro-menu-link"><strong>%s</strong></span>', __( 'Go Pro', WP_ULIKE_SLUG )),
213
+ 'parent_slug' => 'wp-ulike-settings',
214
+ 'capability' => 'manage_options',
215
+ 'path' => '/includes/templates/go-pro.php',
216
+ 'menu_slug' => 'wp-ulike-go-pro',
217
+ 'load_screen' => false
218
+ );
219
+ }
220
+
221
+ return $submenus;
222
+ }
223
+ add_filter( 'wp_ulike_admin_pages', 'wp_ulike_go_pro_admin_menu', 1, 10 );
admin/assets/css/admin.css CHANGED
@@ -1,5 +1,6 @@
1
  /*
2
- /------------------------------------------\ _ __ _ _____ _ _ _ _
 
3
  | | / \ | | ___ \ | |(_)| | / /
4
  | | / /\ \ | | |_/ / _| || || |/ / ___
5
  | | / / \ \ | | __/ | | | || || | / _ \
@@ -13,147 +14,472 @@ https://wordpress.org/plugins/wp-ulike/
13
 
14
  \------------------------------------------/
15
  */
16
- /** WP ULike Icons */
17
- @font-face { font-family: 'wp-ulike'; src: url("../fonts/wp-ulike.eot?113a2q"); src: url("../fonts/wp-ulike.eot?113a2q#iefix") format("embedded-opentype"), url("../fonts/wp-ulike.ttf?113a2q") format("truetype"), url("../fonts/wp-ulike.woff?113a2q") format("woff"), url("../fonts/wp-ulike.svg?113a2q#wp-ulike") format("svg"); font-weight: normal; font-style: normal; }
18
- [class^="wp-ulike-icons-"], [class*=" wp-ulike-icons-"] { /* use !important to prevent issues with browser extensions that change fonts */ font-family: 'wp-ulike' !important; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; /* Better Font Rendering =========== */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
 
20
  /* wp-ulike dashicons */
21
- .dashicons.dashicons-wp-ulike, .dashicons-before.dashicons-wp-ulike::before { font-family: 'wp-ulike' !important; }
 
 
22
 
23
- .dashicons-wp-ulike::before { content: "\e905"; }
 
 
24
 
25
  /* wp-ulike dashicons */
26
- .wp-ulike-icons-thumb_up:before { content: "\e905"; }
 
 
27
 
28
- .wp-ulike-icons-thumb_down:before { content: "\e906"; }
 
 
29
 
30
- .wp-ulike-icons-thumbs-up:before { content: "\e900"; }
 
 
31
 
32
- .wp-ulike-icons-thumbs-down:before { content: "\e901"; }
 
 
33
 
34
- .wp-ulike-icons-thumbs-down2:before { content: "\e902"; }
 
 
35
 
36
- .wp-ulike-icons-thumbs-up2:before { content: "\e903"; }
 
 
37
 
38
- .wp-ulike-icons-like:before { content: "\e904"; }
 
 
39
 
40
- .wp-ulike-icons-mobile:before { content: "\e000"; }
 
 
41
 
42
- .wp-ulike-icons-bargraph:before { content: "\e018"; }
 
 
43
 
44
- .wp-ulike-icons-adjustments:before { content: "\e01d"; }
45
-
46
- .wp-ulike-icons-hourglass:before { content: "\e01f"; }
47
-
48
- .wp-ulike-icons-trophy:before { content: "\e023"; }
49
-
50
- .wp-ulike-icons-map:before { content: "\e025"; }
51
-
52
- .wp-ulike-icons-puzzle:before { content: "\e026"; }
53
-
54
- .wp-ulike-icons-gears:before { content: "\e02b"; }
55
-
56
- .wp-ulike-icons-key:before { content: "\e02c"; }
57
-
58
- .wp-ulike-icons-paperclip:before { content: "\e02d"; }
59
-
60
- .wp-ulike-icons-attachment:before { content: "\e02e"; }
61
-
62
- .wp-ulike-icons-pricetags:before { content: "\e02f"; }
63
-
64
- .wp-ulike-icons-paintbrush:before { content: "\e036"; }
65
-
66
- .wp-ulike-icons-magnifying-glass:before { content: "\e037"; }
67
-
68
- .wp-ulike-icons-circle-compass:before { content: "\e038"; }
69
-
70
- .wp-ulike-icons-linegraph:before { content: "\e039"; }
71
-
72
- .wp-ulike-icons-mic:before { content: "\e03a"; }
73
-
74
- .wp-ulike-icons-strategy:before { content: "\e03b"; }
75
-
76
- .wp-ulike-icons-profile-male:before { content: "\e040"; }
77
-
78
- .wp-ulike-icons-bike:before { content: "\e042"; }
79
-
80
- .wp-ulike-icons-wine:before { content: "\e043"; }
81
-
82
- .wp-ulike-icons-hotairballoon:before { content: "\e044"; }
83
-
84
- .wp-ulike-icons-globe:before { content: "\e045"; }
85
-
86
- .wp-ulike-icons-genius:before { content: "\e046"; }
87
-
88
- .wp-ulike-icons-heart:before { content: "\e04a"; }
89
-
90
- .wp-ulike-icons-global:before { content: "\e052"; }
91
-
92
- .wp-ulike-icons-refresh:before { content: "\e05a"; }
93
-
94
- /** Settings Page */
95
- form.wp-ulike h2 { display: inline-block; margin-right: 20px; }
96
- form.wp-ulike p.submit { display: inline-block; margin-right: 20px; }
97
- form.wp-ulike p.submit .button { height: 50px !important; line-height: 50px !important; padding: 0 25px !important; font-size: 18px !important; }
98
- form.wp-ulike p.submit .button:active { vertical-align: inherit; }
99
- form.wp-ulike td .settings-error { overflow: hidden; }
100
- form.wp-ulike td .settings-error p { margin: 0.5em 0; }
101
- form.wp-ulike .wp-ulike-settings-tabs h2 { float: left; padding: 10px 15px; margin: 1em 0 0; font-weight: 500; border: 1px solid #e0e0e0; border-right: none; border-bottom: none; cursor: pointer; }
102
- form.wp-ulike .wp-ulike-settings-tabs h2:hover { background-color: #f9f9f9; }
103
- form.wp-ulike .wp-ulike-settings-tabs h2:last-child { border-right: 1px solid #e0e0e0; }
104
- form.wp-ulike .wp-ulike-settings-tabs h2.active { background-color: #ffffff; border-bottom: 1px solid #fff; margin-bottom: -1px; }
105
- form.wp-ulike .toggle-switch input[type=checkbox] { display: none; }
106
- form.wp-ulike .toggle-switch label { cursor: pointer; text-indent: -9999px; width: 50px; height: 30px; background: #757575; display: block; border-radius: 100px; position: relative; }
107
- form.wp-ulike .toggle-switch label:after { content: ''; position: absolute; top: 5px; left: 5px; width: 20px; height: 20px; background: #fff; border-radius: 50%; transition: 0.3s; }
108
- form.wp-ulike .toggle-switch input:checked + label { background: #0077a3; }
109
- form.wp-ulike .toggle-switch input:checked + label:after { left: calc(100% - 5px); transform: translateX(-100%); }
110
- form.wp-ulike .wp-ulike-settings-license-activation { display: flex; align-items: center; flex-wrap: wrap; }
111
- form.wp-ulike .wp-ulike-settings-license-activation .settings-error { flex: 0 1 100%; }
112
- form.wp-ulike .wp-ulike-settings-license-activation .regular-text { font-size: 18px; font-weight: 600; width: 400px; height: 45px; }
113
- form.wp-ulike .wp-ulike-settings-license-activation .button { height: 45px; font-weight: 700; padding: 0 20px; }
114
-
115
- .wp-ulike-settings-notice, .wp-ulike-notice-wrapper { position: relative; }
116
- .wp-ulike-settings-notice.wp-ulike-notice-control, .wp-ulike-notice-wrapper.wp-ulike-notice-control { display: flex; align-items: center; padding: 30px 40px; margin-top: 20px !important; margin-bottom: 20px !important; box-shadow: 0 0 25px rgba(0, 0, 0, 0.08); border-left: 0; border-right: 0; margin-top: 20px !important; margin-bottom: 20px !important; }
117
- .wp-ulike-settings-notice.wp-ulike-notice-control:before, .wp-ulike-notice-wrapper.wp-ulike-notice-control:before { content: ''; position: absolute; left: 6px; top: 0; bottom: 0; width: 6px; background-color: #2C87FF; -webkit-transform: translateX(-6px); -ms-transform: translateX(-6px); transform: translateX(-6px); box-shadow: 0 3px 6px rgba(44, 135, 255, 0.16); }
118
- .wp-ulike-settings-notice.wp-ulike-notice-skin-success, .wp-ulike-notice-wrapper.wp-ulike-notice-skin-success { box-shadow: 0 3px 6px rgba(57, 216, 148, 0.16); }
119
- .wp-ulike-settings-notice.wp-ulike-notice-skin-success:before, .wp-ulike-notice-wrapper.wp-ulike-notice-skin-success:before { background-color: #39D894; }
120
- .wp-ulike-settings-notice.wp-ulike-notice-skin-info, .wp-ulike-notice-wrapper.wp-ulike-notice-skin-info { box-shadow: 0 3px 6px rgba(255, 166, 88, 0.16); }
121
- .wp-ulike-settings-notice.wp-ulike-notice-skin-info:before, .wp-ulike-notice-wrapper.wp-ulike-notice-skin-info:before { background-color: #FFA658; }
122
- .wp-ulike-settings-notice.wp-ulike-notice-skin-error, .wp-ulike-notice-wrapper.wp-ulike-notice-skin-error { box-shadow: 0 3px 6px rgba(255, 88, 88, 0.16); }
123
- .wp-ulike-settings-notice.wp-ulike-notice-skin-error:before, .wp-ulike-notice-wrapper.wp-ulike-notice-skin-error:before { background-color: #FF5858; }
124
- .wp-ulike-settings-notice .wp-ulike-notice-image, .wp-ulike-notice-wrapper .wp-ulike-notice-image { margin-right: 25px; }
125
- .wp-ulike-settings-notice .wp-ulike-notice-title, .wp-ulike-notice-wrapper .wp-ulike-notice-title { font-size: 18px; line-height: 24px; font-weight: 600; margin: 0; margin-bottom: 5px; letter-spacing: 0; }
126
- .wp-ulike-settings-notice .wp-ulike-notice-description, .wp-ulike-notice-wrapper .wp-ulike-notice-description { font-size: 16px; line-height: 23px; font-weight: 400; margin: 0; }
127
- .wp-ulike-settings-notice .wp-ulike-notice-submit, .wp-ulike-notice-wrapper .wp-ulike-notice-submit { margin: 1.5em 0 0 -5px; padding: 0; }
128
- .wp-ulike-settings-notice .wp-ulike-notice-submit .wp-ulike-btn, .wp-ulike-notice-wrapper .wp-ulike-notice-submit .wp-ulike-btn { margin-bottom: 0; margin: 0 5px; }
129
- .wp-ulike-settings-notice .wp-ulike-close-notice, .wp-ulike-notice-wrapper .wp-ulike-close-notice { text-decoration: none; }
130
-
131
- .wp-ulike-settings-tab { padding: 2em; border: 1px solid #e0e0e0; clear: both; background: #fff; }
132
-
133
- tr.hide-label th { display: none; }
134
- tr.hide-label td { padding-left: 0; }
135
-
136
- .wp-ulike-settings-tabs .dashicons-bbpress:before { content: "\f449"; }
137
- .wp-ulike-settings-tabs .dashicons-buddypress:before { content: "\f452"; }
138
-
139
- #wp_ulike_customize_custom_css { font-family: Consolas, Monaco, monospace; direction: ltr; font-size: 13px; width: 97%; background: none repeat scroll 0% 0% #F9F9F9; outline: 0px none; width: 60%; min-height: 300px; }
140
-
141
- .wp-ulike-btn { font-weight: 600; display: inline-block; position: relative; line-height: 100%; border: none; cursor: pointer; overflow: hidden; text-decoration: none; z-index: 1; padding: 15px 20px !important; background: #f7f7f7; border-radius: 50em; background-color: #2C87FF; color: #fff; }
142
- .wp-ulike-btn:hover { color: white; background-color: #006bf8; }
143
- .wp-ulike-btn:focus { outline: none; box-shadow: none; color: white; }
144
- .wp-ulike-btn .wp-ulike-text { font-weight: 600; font-size: 14px; letter-spacing: 0; }
145
- .wp-ulike-btn.wp-ulike-btn-success { background-color: #39D894; }
146
- .wp-ulike-btn.wp-ulike-btn-success:hover { background-color: #25b97a; }
147
- .wp-ulike-btn.wp-ulike-btn-info { background-color: #FFA658; }
148
- .wp-ulike-btn.wp-ulike-btn-info:hover { background-color: #ff8b25; }
149
- .wp-ulike-btn.wp-ulike-btn-error { background-color: #FF5858; }
150
- .wp-ulike-btn.wp-ulike-btn-error:hover { background-color: #ff2525; }
151
-
152
- /** RTL support */
153
- .rtl form.wp-ulike p.submit { margin-right: inherit; margin-left: 20px; }
154
- .rtl form.wp-ulike .wp-ulike-settings-tabs h2 { float: right; border-right: 1px solid #e0e0e0; border-left: none; }
155
- .rtl form.wrap .wp-ulike-settings-tabs h2:last-child { border-left: 1px solid #ddd; }
156
- .rtl tr.hide-label td { padding-right: 0; padding-left: inherit !important; }
157
- .rtl .wp-ulike-about-page .ulike-badge { right: inherit; left: 0px; }
158
- .rtl .wp-ulike-notice .links a { margin-right: 0; margin-left: 8px; }
159
- .rtl .wp-ulike-notice-image { margin-left: 25px; margin-right: 0; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  /*
2
+ /------------------------------------------\
3
+ _ __ _ _____ _ _ _ _
4
  | | / \ | | ___ \ | |(_)| | / /
5
  | | / /\ \ | | |_/ / _| || || |/ / ___
6
  | | / / \ \ | | __/ | | | || || | / _ \
14
 
15
  \------------------------------------------/
16
  */
17
+ /**
18
+ * WP ULike Icons
19
+ */
20
+ @font-face {
21
+ font-family: 'wp-ulike';
22
+ src: url("../fonts/wp-ulike.eot?113a2q");
23
+ src: url("../fonts/wp-ulike.eot?113a2q#iefix") format("embedded-opentype"), url("../fonts/wp-ulike.ttf?113a2q") format("truetype"), url("../fonts/wp-ulike.woff?113a2q") format("woff"), url("../fonts/wp-ulike.svg?113a2q#wp-ulike") format("svg");
24
+ font-weight: normal;
25
+ font-style: normal;
26
+ }
27
+ [class^="wp-ulike-icons-"], [class*=" wp-ulike-icons-"] {
28
+ /* use !important to prevent issues with browser extensions that change fonts */
29
+ font-family: 'wp-ulike' !important;
30
+ speak: none;
31
+ font-style: normal;
32
+ font-weight: normal;
33
+ font-variant: normal;
34
+ text-transform: none;
35
+ line-height: 1;
36
+ /* Better Font Rendering =========== */
37
+ -webkit-font-smoothing: antialiased;
38
+ -moz-osx-font-smoothing: grayscale;
39
+ }
40
 
41
  /* wp-ulike dashicons */
42
+ .dashicons.dashicons-wp-ulike, .dashicons-before.dashicons-wp-ulike::before {
43
+ font-family: 'wp-ulike' !important;
44
+ }
45
 
46
+ .dashicons-wp-ulike::before {
47
+ content: "\e905";
48
+ }
49
 
50
  /* wp-ulike dashicons */
51
+ .wp-ulike-icons-thumb_up:before {
52
+ content: "\e905";
53
+ }
54
 
55
+ .wp-ulike-icons-thumb_down:before {
56
+ content: "\e906";
57
+ }
58
 
59
+ .wp-ulike-icons-thumbs-up:before {
60
+ content: "\e900";
61
+ }
62
 
63
+ .wp-ulike-icons-thumbs-down:before {
64
+ content: "\e901";
65
+ }
66
 
67
+ .wp-ulike-icons-thumbs-down2:before {
68
+ content: "\e902";
69
+ }
70
 
71
+ .wp-ulike-icons-thumbs-up2:before {
72
+ content: "\e903";
73
+ }
74
 
75
+ .wp-ulike-icons-like:before {
76
+ content: "\e904";
77
+ }
78
 
79
+ .wp-ulike-icons-mobile:before {
80
+ content: "\e000";
81
+ }
82
 
83
+ .wp-ulike-icons-bargraph:before {
84
+ content: "\e018";
85
+ }
86
 
87
+ .wp-ulike-icons-adjustments:before {
88
+ content: "\e01d";
89
+ }
90
+
91
+ .wp-ulike-icons-hourglass:before {
92
+ content: "\e01f";
93
+ }
94
+
95
+ .wp-ulike-icons-trophy:before {
96
+ content: "\e023";
97
+ }
98
+
99
+ .wp-ulike-icons-map:before {
100
+ content: "\e025";
101
+ }
102
+
103
+ .wp-ulike-icons-puzzle:before {
104
+ content: "\e026";
105
+ }
106
+
107
+ .wp-ulike-icons-gears:before {
108
+ content: "\e02b";
109
+ }
110
+
111
+ .wp-ulike-icons-key:before {
112
+ content: "\e02c";
113
+ }
114
+
115
+ .wp-ulike-icons-paperclip:before {
116
+ content: "\e02d";
117
+ }
118
+
119
+ .wp-ulike-icons-attachment:before {
120
+ content: "\e02e";
121
+ }
122
+
123
+ .wp-ulike-icons-pricetags:before {
124
+ content: "\e02f";
125
+ }
126
+
127
+ .wp-ulike-icons-paintbrush:before {
128
+ content: "\e036";
129
+ }
130
+
131
+ .wp-ulike-icons-magnifying-glass:before {
132
+ content: "\e037";
133
+ }
134
+
135
+ .wp-ulike-icons-circle-compass:before {
136
+ content: "\e038";
137
+ }
138
+
139
+ .wp-ulike-icons-linegraph:before {
140
+ content: "\e039";
141
+ }
142
+
143
+ .wp-ulike-icons-mic:before {
144
+ content: "\e03a";
145
+ }
146
+
147
+ .wp-ulike-icons-strategy:before {
148
+ content: "\e03b";
149
+ }
150
+
151
+ .wp-ulike-icons-profile-male:before {
152
+ content: "\e040";
153
+ }
154
+
155
+ .wp-ulike-icons-bike:before {
156
+ content: "\e042";
157
+ }
158
+
159
+ .wp-ulike-icons-wine:before {
160
+ content: "\e043";
161
+ }
162
+
163
+ .wp-ulike-icons-hotairballoon:before {
164
+ content: "\e044";
165
+ }
166
+
167
+ .wp-ulike-icons-globe:before {
168
+ content: "\e045";
169
+ }
170
+
171
+ .wp-ulike-icons-genius:before {
172
+ content: "\e046";
173
+ }
174
+
175
+ .wp-ulike-icons-heart:before {
176
+ content: "\e04a";
177
+ }
178
+
179
+ .wp-ulike-icons-global:before {
180
+ content: "\e052";
181
+ }
182
+
183
+ .wp-ulike-icons-refresh:before {
184
+ content: "\e05a";
185
+ }
186
+
187
+ /**
188
+ * Settings Page
189
+ */
190
+ form.wp-ulike h2 {
191
+ display: inline-block;
192
+ margin-right: 20px;
193
+ }
194
+ form.wp-ulike p.submit {
195
+ display: inline-block;
196
+ margin-right: 20px;
197
+ }
198
+ form.wp-ulike p.submit .button {
199
+ height: 50px !important;
200
+ line-height: 50px !important;
201
+ padding: 0 25px !important;
202
+ font-size: 18px !important;
203
+ }
204
+ form.wp-ulike p.submit .button:active {
205
+ vertical-align: inherit;
206
+ }
207
+ form.wp-ulike td .settings-error {
208
+ overflow: hidden;
209
+ }
210
+ form.wp-ulike td .settings-error p {
211
+ margin: 0.5em 0;
212
+ }
213
+ form.wp-ulike .wp-ulike-settings-tabs h2 {
214
+ float: left;
215
+ padding: 10px 15px;
216
+ margin: 1em 0 0;
217
+ font-weight: 500;
218
+ border: 1px solid #e0e0e0;
219
+ border-right: none;
220
+ border-bottom: none;
221
+ cursor: pointer;
222
+ }
223
+ form.wp-ulike .wp-ulike-settings-tabs h2:hover {
224
+ background-color: #f9f9f9;
225
+ }
226
+ form.wp-ulike .wp-ulike-settings-tabs h2:last-child {
227
+ border-right: 1px solid #e0e0e0;
228
+ }
229
+ form.wp-ulike .wp-ulike-settings-tabs h2.active {
230
+ background-color: #ffffff;
231
+ border-bottom: 1px solid #fff;
232
+ margin-bottom: -1px;
233
+ }
234
+ form.wp-ulike .toggle-switch input[type=checkbox] {
235
+ display: none;
236
+ }
237
+ form.wp-ulike .toggle-switch label {
238
+ cursor: pointer;
239
+ text-indent: -9999px;
240
+ width: 50px;
241
+ height: 30px;
242
+ background: #757575;
243
+ display: block;
244
+ border-radius: 100px;
245
+ position: relative;
246
+ }
247
+ form.wp-ulike .toggle-switch label:after {
248
+ content: '';
249
+ position: absolute;
250
+ top: 5px;
251
+ left: 5px;
252
+ width: 20px;
253
+ height: 20px;
254
+ background: #fff;
255
+ border-radius: 50%;
256
+ transition: 0.3s;
257
+ }
258
+ form.wp-ulike .toggle-switch input:checked + label {
259
+ background: #0077a3;
260
+ }
261
+ form.wp-ulike .toggle-switch input:checked + label:after {
262
+ left: calc(100% - 5px);
263
+ transform: translateX(-100%);
264
+ }
265
+ form.wp-ulike .wp-ulike-settings-license-activation {
266
+ display: flex;
267
+ align-items: center;
268
+ flex-wrap: wrap;
269
+ }
270
+ form.wp-ulike .wp-ulike-settings-license-activation .settings-error {
271
+ flex: 0 1 100%;
272
+ }
273
+ form.wp-ulike .wp-ulike-settings-license-activation .regular-text {
274
+ font-size: 18px;
275
+ font-weight: 600;
276
+ width: 400px;
277
+ height: 45px;
278
+ }
279
+ form.wp-ulike .wp-ulike-settings-license-activation .button {
280
+ height: 45px;
281
+ font-weight: 700;
282
+ padding: 0 20px;
283
+ }
284
+
285
+ .wp-ulike-settings-notice, .wp-ulike-notice-wrapper {
286
+ position: relative;
287
+ }
288
+ .wp-ulike-settings-notice.wp-ulike-notice-control, .wp-ulike-notice-wrapper.wp-ulike-notice-control {
289
+ display: flex;
290
+ align-items: center;
291
+ padding: 30px 40px;
292
+ margin-top: 20px !important;
293
+ margin-bottom: 20px !important;
294
+ box-shadow: 0 0 25px rgba(0, 0, 0, 0.08);
295
+ border-left: 0;
296
+ border-right: 0;
297
+ margin-top: 20px !important;
298
+ margin-bottom: 20px !important;
299
+ }
300
+ .wp-ulike-settings-notice.wp-ulike-notice-control:before, .wp-ulike-notice-wrapper.wp-ulike-notice-control:before {
301
+ content: '';
302
+ position: absolute;
303
+ left: 6px;
304
+ top: 0;
305
+ bottom: 0;
306
+ width: 6px;
307
+ background-color: #2C87FF;
308
+ -webkit-transform: translateX(-6px);
309
+ -ms-transform: translateX(-6px);
310
+ transform: translateX(-6px);
311
+ box-shadow: 0 3px 6px rgba(44, 135, 255, 0.16);
312
+ }
313
+ .wp-ulike-settings-notice.wp-ulike-notice-skin-success, .wp-ulike-notice-wrapper.wp-ulike-notice-skin-success {
314
+ box-shadow: 0 3px 6px rgba(57, 216, 148, 0.16);
315
+ }
316
+ .wp-ulike-settings-notice.wp-ulike-notice-skin-success:before, .wp-ulike-notice-wrapper.wp-ulike-notice-skin-success:before {
317
+ background-color: #39D894;
318
+ }
319
+ .wp-ulike-settings-notice.wp-ulike-notice-skin-info, .wp-ulike-notice-wrapper.wp-ulike-notice-skin-info {
320
+ box-shadow: 0 3px 6px rgba(255, 166, 88, 0.16);
321
+ }
322
+ .wp-ulike-settings-notice.wp-ulike-notice-skin-info:before, .wp-ulike-notice-wrapper.wp-ulike-notice-skin-info:before {
323
+ background-color: #FFA658;
324
+ }
325
+ .wp-ulike-settings-notice.wp-ulike-notice-skin-error, .wp-ulike-notice-wrapper.wp-ulike-notice-skin-error {
326
+ box-shadow: 0 3px 6px rgba(255, 88, 88, 0.16);
327
+ }
328
+ .wp-ulike-settings-notice.wp-ulike-notice-skin-error:before, .wp-ulike-notice-wrapper.wp-ulike-notice-skin-error:before {
329
+ background-color: #FF5858;
330
+ }
331
+ .wp-ulike-settings-notice .wp-ulike-notice-image, .wp-ulike-notice-wrapper .wp-ulike-notice-image {
332
+ margin-right: 25px;
333
+ }
334
+ .wp-ulike-settings-notice .wp-ulike-notice-title, .wp-ulike-notice-wrapper .wp-ulike-notice-title {
335
+ font-size: 18px;
336
+ line-height: 24px;
337
+ font-weight: 600;
338
+ margin: 0;
339
+ margin-bottom: 5px;
340
+ letter-spacing: 0;
341
+ }
342
+ .wp-ulike-settings-notice .wp-ulike-notice-description, .wp-ulike-notice-wrapper .wp-ulike-notice-description {
343
+ font-size: 16px;
344
+ line-height: 23px;
345
+ font-weight: 400;
346
+ margin: 0;
347
+ }
348
+ .wp-ulike-settings-notice .wp-ulike-notice-submit, .wp-ulike-notice-wrapper .wp-ulike-notice-submit {
349
+ margin: 1.5em 0 0 -5px;
350
+ padding: 0;
351
+ }
352
+ .wp-ulike-settings-notice .wp-ulike-notice-submit .wp-ulike-btn, .wp-ulike-notice-wrapper .wp-ulike-notice-submit .wp-ulike-btn {
353
+ margin-bottom: 0;
354
+ margin: 0 5px;
355
+ }
356
+ .wp-ulike-settings-notice .wp-ulike-close-notice, .wp-ulike-notice-wrapper .wp-ulike-close-notice {
357
+ text-decoration: none;
358
+ }
359
+
360
+ .wp-ulike-settings-tab {
361
+ padding: 2em;
362
+ border: 1px solid #e0e0e0;
363
+ clear: both;
364
+ background: #fff;
365
+ }
366
+
367
+ tr.hide-label th {
368
+ display: none;
369
+ }
370
+ tr.hide-label td {
371
+ padding-left: 0;
372
+ }
373
+
374
+ .wp-ulike-settings-tabs .dashicons-bbpress:before {
375
+ content: "\f449";
376
+ }
377
+ .wp-ulike-settings-tabs .dashicons-buddypress:before {
378
+ content: "\f452";
379
+ }
380
+
381
+ #wp_ulike_customize_custom_css {
382
+ font-family: Consolas, Monaco, monospace;
383
+ direction: ltr;
384
+ font-size: 13px;
385
+ width: 97%;
386
+ background: none repeat scroll 0% 0% #F9F9F9;
387
+ outline: 0px none;
388
+ width: 60%;
389
+ min-height: 300px;
390
+ }
391
+
392
+ .wp-ulike-btn {
393
+ font-weight: 600;
394
+ display: inline-block;
395
+ position: relative;
396
+ line-height: 100%;
397
+ border: none;
398
+ cursor: pointer;
399
+ overflow: hidden;
400
+ text-decoration: none;
401
+ z-index: 1;
402
+ padding: 15px 20px !important;
403
+ background: #f7f7f7;
404
+ border-radius: 50em;
405
+ background-color: #2C87FF;
406
+ color: #fff;
407
+ }
408
+ .wp-ulike-btn:hover {
409
+ color: white;
410
+ background-color: #006bf8;
411
+ }
412
+ .wp-ulike-btn:focus {
413
+ outline: none;
414
+ box-shadow: none;
415
+ color: white;
416
+ }
417
+ .wp-ulike-btn .wp-ulike-text {
418
+ font-weight: 600;
419
+ font-size: 14px;
420
+ letter-spacing: 0;
421
+ }
422
+ .wp-ulike-btn.wp-ulike-btn-success {
423
+ background-color: #39D894;
424
+ }
425
+ .wp-ulike-btn.wp-ulike-btn-success:hover {
426
+ background-color: #25b97a;
427
+ }
428
+ .wp-ulike-btn.wp-ulike-btn-info {
429
+ background-color: #FFA658;
430
+ }
431
+ .wp-ulike-btn.wp-ulike-btn-info:hover {
432
+ background-color: #ff8b25;
433
+ }
434
+ .wp-ulike-btn.wp-ulike-btn-error {
435
+ background-color: #FF5858;
436
+ }
437
+ .wp-ulike-btn.wp-ulike-btn-error:hover {
438
+ background-color: #ff2525;
439
+ }
440
+
441
+ .wp-ulike-gopro-menu-link::before {
442
+ content: '';
443
+ background-image: url(../../../assets/img/svg/rocket.svg);
444
+ background-repeat: no-repeat;
445
+ background-size: cover;
446
+ display: inline-block;
447
+ width: 18px;
448
+ height: 18px;
449
+ vertical-align: middle;
450
+ }
451
+ .wp-ulike-gopro-menu-link strong {
452
+ padding: 0 5px;
453
+ }
454
+
455
+ /**
456
+ * RTL support
457
+ */
458
+ .rtl form.wp-ulike p.submit {
459
+ margin-right: inherit;
460
+ margin-left: 20px;
461
+ }
462
+ .rtl form.wp-ulike .wp-ulike-settings-tabs h2 {
463
+ float: right;
464
+ border-right: 1px solid #e0e0e0;
465
+ border-left: none;
466
+ }
467
+ .rtl form.wrap .wp-ulike-settings-tabs h2:last-child {
468
+ border-left: 1px solid #ddd;
469
+ }
470
+ .rtl tr.hide-label td {
471
+ padding-right: 0;
472
+ padding-left: inherit !important;
473
+ }
474
+ .rtl .wp-ulike-about-page .ulike-badge {
475
+ right: inherit;
476
+ left: 0px;
477
+ }
478
+ .rtl .wp-ulike-notice .links a {
479
+ margin-right: 0;
480
+ margin-left: 8px;
481
+ }
482
+ .rtl .wp-ulike-notice-image {
483
+ margin-left: 25px;
484
+ margin-right: 0;
485
+ }
admin/assets/css/plugins.css CHANGED
@@ -1,5 +1,6 @@
1
  /*
2
- /------------------------------------------\ _ __ _ _____ _ _ _ _
 
3
  | | / \ | | ___ \ | |(_)| | / /
4
  | | / /\ \ | | |_/ / _| || || |/ / ___
5
  | | / / \ \ | | __/ | | | || || | / _ \
@@ -19,287 +20,1001 @@ https://github.com/bgrins/spectrum
19
  Author: Brian Grinstead
20
  License: MIT
21
  ***/
22
- .sp-container { position: absolute; top: 0; left: 0; display: inline-block; *display: inline; *zoom: 1; /* https://github.com/bgrins/spectrum/issues/40 */ z-index: 9999994; overflow: hidden; }
23
-
24
- .sp-container.sp-flat { position: relative; }
 
 
 
 
 
 
 
 
 
 
 
 
25
 
26
  /* Fix for * { box-sizing: border-box; } */
27
- .sp-container, .sp-container * { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; }
 
 
 
 
 
28
 
29
  /* http://ansciath.tumblr.com/post/7347495869/css-aspect-ratio */
30
- .sp-top { position: relative; width: 100%; display: inline-block; }
31
-
32
- .sp-top-inner { position: absolute; top: 0; left: 0; bottom: 0; right: 0; }
33
-
34
- .sp-color { position: absolute; top: 0; left: 0; bottom: 0; right: 20%; }
35
-
36
- .sp-hue { position: absolute; top: 0; right: 0; bottom: 0; left: 84%; height: 100%; }
37
-
38
- .sp-clear-enabled .sp-hue { top: 33px; height: 77.5%; }
39
-
40
- .sp-fill { padding-top: 80%; }
41
-
42
- .sp-sat, .sp-val { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
43
-
44
- .sp-alpha-enabled .sp-top { margin-bottom: 18px; }
45
-
46
- .sp-alpha-enabled .sp-alpha { display: block; }
47
-
48
- .sp-alpha-handle { position: absolute; top: -4px; bottom: -4px; width: 6px; left: 50%; cursor: pointer; border: 1px solid black; background: white; opacity: .8; }
49
-
50
- .sp-alpha { display: none; position: absolute; bottom: -14px; right: 0; left: 0; height: 8px; }
51
-
52
- .sp-alpha-inner { border: solid 1px #333; }
53
-
54
- .sp-clear { display: none; }
55
-
56
- .sp-clear.sp-clear-display { background-position: center; }
57
-
58
- .sp-clear-enabled .sp-clear { display: block; position: absolute; top: 0px; right: 0; bottom: 0; left: 84%; height: 28px; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
 
60
  /* Don't allow text selection */
61
- .sp-container, .sp-replacer, .sp-preview, .sp-dragger, .sp-slider, .sp-alpha, .sp-clear, .sp-alpha-handle, .sp-container.sp-dragging .sp-input, .sp-container button { -webkit-user-select: none; -moz-user-select: -moz-none; -o-user-select: none; user-select: none; }
 
 
 
 
 
62
 
63
- .sp-container.sp-input-disabled .sp-input-container { display: none; }
 
 
64
 
65
- .sp-container.sp-buttons-disabled .sp-button-container { display: none; }
 
 
66
 
67
- .sp-container.sp-palette-buttons-disabled .sp-palette-button-container { display: none; }
 
 
68
 
69
- .sp-palette-only .sp-picker-container { display: none; }
 
 
70
 
71
- .sp-palette-disabled .sp-palette-container { display: none; }
 
 
72
 
73
- .sp-initial-disabled .sp-initial { display: none; }
 
 
74
 
75
  /* Gradients for hue, saturation and value instead of images. Not pretty... but it works */
76
- .sp-sat { background-image: -webkit-gradient(linear, 0 0, 100% 0, from(#FFF), to(rgba(204, 154, 129, 0))); background-image: -webkit-linear-gradient(left, #FFF, rgba(204, 154, 129, 0)); background-image: -moz-linear-gradient(left, #fff, rgba(204, 154, 129, 0)); background-image: -o-linear-gradient(left, #fff, rgba(204, 154, 129, 0)); background-image: -ms-linear-gradient(left, #fff, rgba(204, 154, 129, 0)); background-image: linear-gradient(to right, #ffffff, rgba(204, 154, 129, 0)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr=#FFFFFFFF, endColorstr=#00CC9A81)"; filter: progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr='#FFFFFFFF', endColorstr='#00CC9A81'); }
77
-
78
- .sp-val { background-image: -webkit-gradient(linear, 0 100%, 0 0, from(#000000), to(rgba(204, 154, 129, 0))); background-image: -webkit-linear-gradient(bottom, #000000, rgba(204, 154, 129, 0)); background-image: -moz-linear-gradient(bottom, #000, rgba(204, 154, 129, 0)); background-image: -o-linear-gradient(bottom, #000, rgba(204, 154, 129, 0)); background-image: -ms-linear-gradient(bottom, #000, rgba(204, 154, 129, 0)); background-image: linear-gradient(to top, #000000, rgba(204, 154, 129, 0)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00CC9A81, endColorstr=#FF000000)"; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00CC9A81', endColorstr='#FF000000'); }
79
-
80
- .sp-hue { background: -moz-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%); background: -ms-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%); background: -o-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%); background: -webkit-gradient(linear, left top, left bottom, from(#ff0000), color-stop(0.17, #ffff00), color-stop(0.33, #00ff00), color-stop(0.5, #00ffff), color-stop(0.67, #0000ff), color-stop(0.83, #ff00ff), to(#ff0000)); background: -webkit-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%); background: linear-gradient(to bottom, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%); }
81
-
82
- /* IE filters do not support multiple color stops. Generate 6 divs, line them up, and do two color gradients for each. Yes, really. */
83
- .sp-1 { height: 17%; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000', endColorstr='#ffff00'); }
84
-
85
- .sp-2 { height: 16%; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff00', endColorstr='#00ff00'); }
86
-
87
- .sp-3 { height: 17%; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ff00', endColorstr='#00ffff'); }
88
-
89
- .sp-4 { height: 17%; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffff', endColorstr='#0000ff'); }
90
-
91
- .sp-5 { height: 16%; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0000ff', endColorstr='#ff00ff'); }
92
-
93
- .sp-6 { height: 17%; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00ff', endColorstr='#ff0000'); }
94
-
95
- .sp-hidden { display: none !important; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
96
 
97
  /* Clearfix hack */
98
- .sp-cf:before, .sp-cf:after { content: ""; display: table; }
 
 
 
99
 
100
- .sp-cf:after { clear: both; }
 
 
101
 
102
- .sp-cf { *zoom: 1; }
 
 
103
 
104
  /* Mobile devices, make hue slider bigger so it is easier to slide */
105
- @media (max-device-width: 480px) { .sp-color { right: 40%; }
106
- .sp-hue { left: 63%; }
107
- .sp-fill { padding-top: 60%; } }
108
- .sp-dragger { border-radius: 5px; height: 5px; width: 5px; border: 1px solid #fff; background: #000; cursor: pointer; position: absolute; top: 0; left: 0; }
109
-
110
- .sp-slider { position: absolute; top: 0; cursor: pointer; height: 3px; left: -1px; right: -1px; border: 1px solid #000; background: white; opacity: .8; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
111
 
112
  /*
113
  Theme authors:
114
  Here are the basic themeable display options (colors, fonts, global widths).
115
  See http://bgrins.github.io/spectrum/themes/ for instructions.
116
  */
117
- .sp-container { border-radius: 0; background-color: #ECECEC; border: solid 1px #f0c49B; padding: 0; }
118
-
119
- .sp-container, .sp-container button, .sp-container input, .sp-color, .sp-hue, .sp-clear { font: normal 12px "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
120
-
121
- .sp-top { margin-bottom: 3px; }
122
-
123
- .sp-color, .sp-hue, .sp-clear { border: solid 1px #666; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124
 
125
  /* Input */
126
- .sp-input-container { float: right; width: 100px; margin-bottom: 4px; }
127
-
128
- .sp-initial-disabled .sp-input-container { width: 100%; }
129
-
130
- .sp-input { font-size: 12px !important; border: 1px inset; padding: 4px 5px; margin: 0; width: 100%; background: transparent; border-radius: 3px; color: #222; }
131
-
132
- .sp-input:focus { border: 1px solid orange; }
133
-
134
- .sp-input.sp-validation-error { border: 1px solid red; background: #fdd; }
135
-
136
- .sp-picker-container, .sp-palette-container { float: left; position: relative; padding: 10px; padding-bottom: 300px; margin-bottom: -290px; }
137
-
138
- .sp-picker-container { width: 172px; border-left: solid 1px #fff; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
139
 
140
  /* Palettes */
141
- .sp-palette-container { border-right: solid 1px #ccc; }
142
-
143
- .sp-palette-only .sp-palette-container { border: 0; }
144
-
145
- .sp-palette .sp-thumb-el { display: block; position: relative; float: left; width: 24px; height: 15px; margin: 3px; cursor: pointer; border: solid 2px transparent; }
146
-
147
- .sp-palette .sp-thumb-el:hover, .sp-palette .sp-thumb-el.sp-thumb-active { border-color: orange; }
148
-
149
- .sp-thumb-el { position: relative; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
150
 
151
  /* Initial */
152
- .sp-initial { float: left; border: solid 1px #333; }
153
-
154
- .sp-initial span { width: 30px; height: 25px; border: none; display: block; float: left; margin: 0; }
155
-
156
- .sp-initial .sp-clear-display { background-position: center; }
 
 
 
 
 
 
 
 
 
 
 
 
157
 
158
  /* Buttons */
159
- .sp-palette-button-container, .sp-button-container { float: right; }
 
 
 
160
 
161
  /* Replacer (the little preview div that shows up instead of the <input>) */
162
- .sp-replacer { margin: 0; overflow: hidden; cursor: pointer; padding: 4px; display: inline-block; *zoom: 1; *display: inline; border: solid 1px #91765d; background: #eee; color: #333; vertical-align: middle; }
163
-
164
- .sp-replacer:hover, .sp-replacer.sp-active { border-color: #F0C49B; color: #111; }
165
-
166
- .sp-replacer.sp-disabled { cursor: default; border-color: silver; color: silver; }
167
-
168
- .sp-dd { padding: 2px 0; height: 16px; line-height: 16px; float: left; font-size: 10px; }
169
-
170
- .sp-preview { position: relative; width: 25px; height: 20px; border: solid 1px #222; margin-right: 5px; float: left; z-index: 0; }
171
-
172
- .sp-palette { *width: 220px; max-width: 220px; }
173
-
174
- .sp-palette .sp-thumb-el { width: 16px; height: 16px; margin: 2px 1px; border: solid 1px #d0d0d0; }
175
-
176
- .sp-container { padding-bottom: 0; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
177
 
178
  /* Buttons: http://hellohappy.org/css3-buttons/ */
179
- .sp-container button { background-color: #eeeeee; background-image: -webkit-linear-gradient(top, #eeeeee, #cccccc); background-image: -moz-linear-gradient(top, #eeeeee, #cccccc); background-image: -ms-linear-gradient(top, #eeeeee, #cccccc); background-image: -o-linear-gradient(top, #eeeeee, #cccccc); background-image: linear-gradient(to bottom, #eeeeee, #cccccc); border: 1px solid #ccc; border-bottom: 1px solid #bbb; border-radius: 3px; color: #333; font-size: 14px; line-height: 1; padding: 5px 4px; text-align: center; text-shadow: 0 1px 0 #eee; vertical-align: middle; }
180
-
181
- .sp-container button:hover { background-color: #dddddd; background-image: -webkit-linear-gradient(top, #dddddd, #bbbbbb); background-image: -moz-linear-gradient(top, #dddddd, #bbbbbb); background-image: -ms-linear-gradient(top, #dddddd, #bbbbbb); background-image: -o-linear-gradient(top, #dddddd, #bbbbbb); background-image: linear-gradient(to bottom, #dddddd, #bbbbbb); border: 1px solid #bbb; border-bottom: 1px solid #999; cursor: pointer; text-shadow: 0 1px 0 #ddd; }
182
-
183
- .sp-container button:active { border: 1px solid #aaa; border-bottom: 1px solid #888; -webkit-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee; -moz-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee; -ms-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee; -o-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee; box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee; }
184
-
185
- .sp-cancel { font-size: 11px; color: #d93f3f !important; margin: 0; padding: 2px; margin-right: 5px; vertical-align: middle; text-decoration: none; }
186
-
187
- .sp-cancel:hover { color: #d93f3f !important; text-decoration: underline; }
188
-
189
- .sp-palette span:hover, .sp-palette span.sp-thumb-active { border-color: #000; }
190
-
191
- .sp-preview, .sp-alpha, .sp-thumb-el { position: relative; background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==); }
192
-
193
- .sp-preview-inner, .sp-alpha-inner, .sp-thumb-inner { display: block; position: absolute; top: 0; left: 0; bottom: 0; right: 0; }
194
-
195
- .sp-palette .sp-thumb-inner { background-position: 50% 50%; background-repeat: no-repeat; }
196
-
197
- .sp-palette .sp-thumb-light.sp-thumb-active .sp-thumb-inner { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIVJREFUeNpiYBhsgJFMffxAXABlN5JruT4Q3wfi/0DsT64h8UD8HmpIPCWG/KemIfOJCUB+Aoacx6EGBZyHBqI+WsDCwuQ9mhxeg2A210Ntfo8klk9sOMijaURm7yc1UP2RNCMbKE9ODK1HM6iegYLkfx8pligC9lCD7KmRof0ZhjQACDAAceovrtpVBRkAAAAASUVORK5CYII=); }
198
-
199
- .sp-palette .sp-thumb-dark.sp-thumb-active .sp-thumb-inner { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAMdJREFUOE+tkgsNwzAMRMugEAahEAahEAZhEAqlEAZhEAohEAYh81X2dIm8fKpEspLGvudPOsUYpxE2BIJCroJmEW9qJ+MKaBFhEMNabSy9oIcIPwrB+afvAUFoK4H0tMaQ3XtlrggDhOVVMuT4E5MMG0FBbCEYzjYT7OxLEvIHQLY2zWwQ3D+9luyOQTfKDiFD3iUIfPk8VqrKjgAiSfGFPecrg6HN6m/iBcwiDAo7WiBeawa+Kwh7tZoSCGLMqwlSAzVDhoK+6vH4G0P5wdkAAAAASUVORK5CYII=); }
200
-
201
- .sp-clear-display { background-repeat: no-repeat; background-position: center; background-image: url(data:image/gif;base64,R0lGODlhFAAUAPcAAAAAAJmZmZ2dnZ6enqKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq/Hx8fLy8vT09PX19ff39/j4+Pn5+fr6+vv7+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAUABQAAAihAP9FoPCvoMGDBy08+EdhQAIJCCMybCDAAYUEARBAlFiQQoMABQhKUJBxY0SPICEYHBnggEmDKAuoPMjS5cGYMxHW3IiT478JJA8M/CjTZ0GgLRekNGpwAsYABHIypcAgQMsITDtWJYBR6NSqMico9cqR6tKfY7GeBCuVwlipDNmefAtTrkSzB1RaIAoXodsABiZAEFB06gIBWC1mLVgBa0AAOw==); }
202
-
203
- /** Visual Select */
204
- .wp-ulike-visual-select { height: auto; display: inline-block; width: 100%; max-width: 900px; }
205
- .wp-ulike-visual-select .radio-img-item { display: inline-block; margin-right: 10px; margin-bottom: 10px; border: 3px solid #d8d8d8; padding: 4px 15px; width: 110px; height: 60px; cursor: pointer; }
206
- .wp-ulike-visual-select .radio-img-item.item-checked { -webkit-filter: brightness(40%) sepia(100%) hue-rotate(170deg) saturate(250%); filter: brightness(40%) sepia(100%) hue-rotate(170deg) saturate(250%); }
207
- .wp-ulike-visual-select .radio-img-item img { display: block; clear: both; width: 100%; height: 100%; }
208
-
209
- .wp-ulike-container { width: 100%; margin-left: auto; margin-right: auto; }
210
-
211
- .wp-ulike-row { position: relative; width: 100%; }
212
-
213
- .wp-ulike-flex { display: flex; align-items: center; flex-wrap: wrap; justify-content: center; padding: 10px 0; }
214
-
215
- .wp-ulike-row [class^="col"] { float: left; margin: 2%; }
216
-
217
- .rtl .wp-ulike-row [class^="col"] { float: right; }
218
-
219
- .wp-ulike-row::after { content: ""; display: table; clear: both; }
220
-
221
- .wp-ulike-row .col-1, .wp-ulike-row .col-2, .wp-ulike-row .col-3, .wp-ulike-row .col-4, .wp-ulike-row .col-5, .wp-ulike-row .col-6, .wp-ulike-row .col-7, .wp-ulike-row .col-8, .wp-ulike-row .col-9, .wp-ulike-row .col-10, .wp-ulike-row .col-11, .wp-ulike-row .col-12 { width: 96%; }
222
- .wp-ulike-row .col-1-sm { width: 4.33333%; }
223
- .wp-ulike-row .col-2-sm { width: 12.66667%; }
224
- .wp-ulike-row .col-3-sm { width: 21%; }
225
- .wp-ulike-row .col-4-sm { width: 29.33333%; }
226
- .wp-ulike-row .col-5-sm { width: 37.66667%; }
227
- .wp-ulike-row .col-6-sm { width: 46%; }
228
- .wp-ulike-row .col-7-sm { width: 54.33333%; }
229
- .wp-ulike-row .col-8-sm { width: 62.66667%; }
230
- .wp-ulike-row .col-9-sm { width: 71%; }
231
- .wp-ulike-row .col-10-sm { width: 79.33333%; }
232
- .wp-ulike-row .col-11-sm { width: 87.66667%; }
233
- .wp-ulike-row .col-12-sm { width: 96%; }
234
-
235
- @media only screen and (min-width: 45em) { .wp-ulike-row .col-1 { width: 4.33333%; }
236
- .wp-ulike-row .col-2 { width: 12.66667%; }
237
- .wp-ulike-row .col-3 { width: 21%; }
238
- .wp-ulike-row .col-4 { width: 29.33333%; }
239
- .wp-ulike-row .col-5 { width: 37.66667%; }
240
- .wp-ulike-row .col-6 { width: 46%; }
241
- .wp-ulike-row .col-7 { width: 54.33333%; }
242
- .wp-ulike-row .col-8 { width: 62.66667%; }
243
- .wp-ulike-row .col-9 { width: 71%; }
244
- .wp-ulike-row .col-10 { width: 79.33333%; }
245
- .wp-ulike-row .col-11 { width: 87.66667%; }
246
- .wp-ulike-row .col-12 { width: 96%; }
247
- .wp-ulike-row .hidden-sm { display: block; } }
248
- @media only screen and (max-width: 45em) { .wp-ulike-flex { text-align: center; } }
249
- /** Statistics Page */
250
- .wp-ulike-page-title { font-size: 38px; line-height: 50px; font-weight: 400; margin: 0; }
251
-
252
- .wp-ulike-header { margin: 0 2% 10px; padding: 0 20px 35px; display: flex; justify-content: space-between; position: relative; align-items: center; flex-wrap: wrap; }
253
- .wp-ulike-header:after { content: ""; position: absolute; bottom: 0; height: 1px; background: #dde3e7; right: 20px; left: 20px; }
254
- .wp-ulike-header .wp-ulike-widget-title { text-transform: capitalize; font-size: 22px; font-weight: 500; line-height: normal; color: #3d3d3d; margin: 0; }
255
-
256
- .wp-ulike-button { background-color: #f9faff; padding: 10px 25px; text-decoration: none; text-transform: uppercase; color: #7e8996; border: 1px solid #dde3e7; border-radius: 50em; font-size: 14px; line-height: 20px; }
257
- .wp-ulike-button:hover { background-color: #fff; color: #42484e; }
258
-
259
- .wp-ulike-inner { position: relative; padding: 35px 20px; border: 1px solid #e4e6eb; background: #fff; border-radius: 4px; }
260
-
261
- .wp-ulike-logs-count { margin: 0 auto; text-align: center; }
262
- .wp-ulike-logs-count .wp-ulike-icon { font-size: 5vw; color: #8B93A6; line-height: 5vh; }
263
- .wp-ulike-logs-count .wp-ulike-var { font-size: 3vw; line-height: 4vw; display: block; }
264
- .wp-ulike-logs-count .wp-ulike-text { display: block; color: #8B93A6; font-size: 1.5vw; line-height: 2.5vw; }
265
-
266
- .wp-ulike-is-loading { padding: 10px 0; }
267
- .wp-ulike-is-loading:before { content: ""; position: absolute; left: 0; width: 100%; top: 0; height: 100%; background-color: white; background-image: url(../../../assets/img/svg/statistics.svg); background-repeat: no-repeat; background-position: center center; z-index: 9; }
268
-
269
- .wp-ulike-table { display: table; }
270
- .wp-ulike-table .wp-ulike-table-cell { display: table-cell; vertical-align: middle; }
271
-
272
- .wp-ulike-summary-charts .wp-ulike-info { flex-basis: 35%; }
273
- .wp-ulike-summary-charts .wp-ulike-icon { font-size: 3vw; color: #8B93A6; line-height: normal; flex-basis: 25%; }
274
- .wp-ulike-summary-charts .wp-ulike-var { font-size: 1.8vw; line-height: normal; display: block; }
275
- .wp-ulike-summary-charts .wp-ulike-text { display: block; color: #8B93A6; font-size: 1vw; line-height: normal; }
276
-
277
- .wp-ulike-top-likers { margin: 0 2%; }
278
- .wp-ulike-top-likers .wp-ulike-users-list { border-bottom: 1px solid #dde3e7; font-size: 15px; padding: 20px 0px; margin: 5px; }
279
- .wp-ulike-top-likers .wp-ulike-users-list i { color: #8B93A6; margin: 0 5px; }
280
- .wp-ulike-top-likers .wp-ulike-info { width: 60%; }
281
- .wp-ulike-top-likers .wp-ulike-counter { width: 20%; }
282
- .wp-ulike-top-likers .wp-ulike-total { width: 20%; }
283
-
284
- .wp-ulike-empty-stats { text-align: center; height: 50em; position: relative; }
285
- .wp-ulike-empty-stats > div { position: relative; top: 50%; transform: translateY(-50%); }
286
- .wp-ulike-empty-stats .wp-ulike-icon { font-size: 110px; color: #8B93A6; }
287
- .wp-ulike-empty-stats .wp-ulike-info { font-size: 28px; line-height: 42px; font-weight: 300; margin-top: 50px; }
288
-
289
- .wp-ulike-tops-list { padding: 0 20px; }
290
- .wp-ulike-tops-list > ul { font-size: 16px; font-weight: 300; line-height: 26px; color: #3d3d3d; margin: 0; }
291
- .wp-ulike-tops-list > ul > li { display: flex; justify-content: space-between; border-bottom: 1px solid #dde3e7; padding: 8px 0; }
292
- .wp-ulike-tops-list > ul > li a { text-decoration: none; color: #3d3d3d; }
293
-
294
- /** About Page */
295
- .wp-ulike-about-page .ulike-badge { background: url(../../../assets/img/wp-ulike-icon.svg) no-repeat scroll center 24px/95px 95px #FF7171; color: #FFFFFF; position: absolute; top: 0px; right: 0px; font-size: 14px; text-align: center; font-weight: 600; margin: 5px 0px 0px; padding-top: 120px; height: 40px; display: inline-block; width: 150px; text-rendering: optimizelegibility; box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.2); }
296
- .wp-ulike-about-page .wp_ulike_version { display: inline-block; position: absolute; top: 54px; left: 0; padding: 5px 10px; background: #e74c3c; color: #FFFFFF; font-size: 13px; font-weight: normal; }
297
- .wp-ulike-about-page .headline-feature h2 { margin: 1.1em 0px 0.2em; font-size: 2.4em; font-weight: 300; line-height: 1.3; text-align: center; }
298
- .wp-ulike-about-page .icon-container { text-align: center; font-size: 6vw; border: 1px solid #757575; padding: 35px 5px; }
299
- .wp-ulike-about-page .featured-image img { border: none; }
300
-
301
- /** Logs Page */
302
- .wp_ulike_logs .button { line-height: 20px; }
303
- .wp_ulike_logs i { font-size: 1.9em; }
304
- .wp_ulike_logs i.wp-ulike-icons-thumb_up:before { color: #4caf50; }
305
- .wp_ulike_logs i.wp-ulike-icons-thumb_down:before { color: #f44336; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  /*
2
+ /------------------------------------------\
3
+ _ __ _ _____ _ _ _ _
4
  | | / \ | | ___ \ | |(_)| | / /
5
  | | / /\ \ | | |_/ / _| || || |/ / ___
6
  | | / / \ \ | | __/ | | | || || | / _ \
20
  Author: Brian Grinstead
21
  License: MIT
22
  ***/
23
+ .sp-container {
24
+ position: absolute;
25
+ top: 0;
26
+ left: 0;
27
+ display: inline-block;
28
+ *display: inline;
29
+ *zoom: 1;
30
+ /* https://github.com/bgrins/spectrum/issues/40 */
31
+ z-index: 9999994;
32
+ overflow: hidden;
33
+ }
34
+
35
+ .sp-container.sp-flat {
36
+ position: relative;
37
+ }
38
 
39
  /* Fix for * { box-sizing: border-box; } */
40
+ .sp-container,
41
+ .sp-container * {
42
+ -webkit-box-sizing: content-box;
43
+ -moz-box-sizing: content-box;
44
+ box-sizing: content-box;
45
+ }
46
 
47
  /* http://ansciath.tumblr.com/post/7347495869/css-aspect-ratio */
48
+ .sp-top {
49
+ position: relative;
50
+ width: 100%;
51
+ display: inline-block;
52
+ }
53
+
54
+ .sp-top-inner {
55
+ position: absolute;
56
+ top: 0;
57
+ left: 0;
58
+ bottom: 0;
59
+ right: 0;
60
+ }
61
+
62
+ .sp-color {
63
+ position: absolute;
64
+ top: 0;
65
+ left: 0;
66
+ bottom: 0;
67
+ right: 20%;
68
+ }
69
+
70
+ .sp-hue {
71
+ position: absolute;
72
+ top: 0;
73
+ right: 0;
74
+ bottom: 0;
75
+ left: 84%;
76
+ height: 100%;
77
+ }
78
+
79
+ .sp-clear-enabled .sp-hue {
80
+ top: 33px;
81
+ height: 77.5%;
82
+ }
83
+
84
+ .sp-fill {
85
+ padding-top: 80%;
86
+ }
87
+
88
+ .sp-sat, .sp-val {
89
+ position: absolute;
90
+ top: 0;
91
+ left: 0;
92
+ right: 0;
93
+ bottom: 0;
94
+ }
95
+
96
+ .sp-alpha-enabled .sp-top {
97
+ margin-bottom: 18px;
98
+ }
99
+
100
+ .sp-alpha-enabled .sp-alpha {
101
+ display: block;
102
+ }
103
+
104
+ .sp-alpha-handle {
105
+ position: absolute;
106
+ top: -4px;
107
+ bottom: -4px;
108
+ width: 6px;
109
+ left: 50%;
110
+ cursor: pointer;
111
+ border: 1px solid black;
112
+ background: white;
113
+ opacity: .8;
114
+ }
115
+
116
+ .sp-alpha {
117
+ display: none;
118
+ position: absolute;
119
+ bottom: -14px;
120
+ right: 0;
121
+ left: 0;
122
+ height: 8px;
123
+ }
124
+
125
+ .sp-alpha-inner {
126
+ border: solid 1px #333;
127
+ }
128
+
129
+ .sp-clear {
130
+ display: none;
131
+ }
132
+
133
+ .sp-clear.sp-clear-display {
134
+ background-position: center;
135
+ }
136
+
137
+ .sp-clear-enabled .sp-clear {
138
+ display: block;
139
+ position: absolute;
140
+ top: 0px;
141
+ right: 0;
142
+ bottom: 0;
143
+ left: 84%;
144
+ height: 28px;
145
+ }
146
 
147
  /* Don't allow text selection */
148
+ .sp-container, .sp-replacer, .sp-preview, .sp-dragger, .sp-slider, .sp-alpha, .sp-clear, .sp-alpha-handle, .sp-container.sp-dragging .sp-input, .sp-container button {
149
+ -webkit-user-select: none;
150
+ -moz-user-select: -moz-none;
151
+ -o-user-select: none;
152
+ user-select: none;
153
+ }
154
 
155
+ .sp-container.sp-input-disabled .sp-input-container {
156
+ display: none;
157
+ }
158
 
159
+ .sp-container.sp-buttons-disabled .sp-button-container {
160
+ display: none;
161
+ }
162
 
163
+ .sp-container.sp-palette-buttons-disabled .sp-palette-button-container {
164
+ display: none;
165
+ }
166
 
167
+ .sp-palette-only .sp-picker-container {
168
+ display: none;
169
+ }
170
 
171
+ .sp-palette-disabled .sp-palette-container {
172
+ display: none;
173
+ }
174
 
175
+ .sp-initial-disabled .sp-initial {
176
+ display: none;
177
+ }
178
 
179
  /* Gradients for hue, saturation and value instead of images. Not pretty... but it works */
180
+ .sp-sat {
181
+ background-image: -webkit-gradient(linear, 0 0, 100% 0, from(#FFF), to(rgba(204, 154, 129, 0)));
182
+ background-image: -webkit-linear-gradient(left, #FFF, rgba(204, 154, 129, 0));
183
+ background-image: -moz-linear-gradient(left, #fff, rgba(204, 154, 129, 0));
184
+ background-image: -o-linear-gradient(left, #fff, rgba(204, 154, 129, 0));
185
+ background-image: -ms-linear-gradient(left, #fff, rgba(204, 154, 129, 0));
186
+ background-image: linear-gradient(to right, #ffffff, rgba(204, 154, 129, 0));
187
+ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr=#FFFFFFFF, endColorstr=#00CC9A81)";
188
+ filter: progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr='#FFFFFFFF', endColorstr='#00CC9A81');
189
+ }
190
+
191
+ .sp-val {
192
+ background-image: -webkit-gradient(linear, 0 100%, 0 0, from(#000000), to(rgba(204, 154, 129, 0)));
193
+ background-image: -webkit-linear-gradient(bottom, #000000, rgba(204, 154, 129, 0));
194
+ background-image: -moz-linear-gradient(bottom, #000, rgba(204, 154, 129, 0));
195
+ background-image: -o-linear-gradient(bottom, #000, rgba(204, 154, 129, 0));
196
+ background-image: -ms-linear-gradient(bottom, #000, rgba(204, 154, 129, 0));
197
+ background-image: linear-gradient(to top, #000000, rgba(204, 154, 129, 0));
198
+ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00CC9A81, endColorstr=#FF000000)";
199
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00CC9A81', endColorstr='#FF000000');
200
+ }
201
+
202
+ .sp-hue {
203
+ background: -moz-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
204
+ background: -ms-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
205
+ background: -o-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
206
+ background: -webkit-gradient(linear, left top, left bottom, from(#ff0000), color-stop(0.17, #ffff00), color-stop(0.33, #00ff00), color-stop(0.5, #00ffff), color-stop(0.67, #0000ff), color-stop(0.83, #ff00ff), to(#ff0000));
207
+ background: -webkit-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
208
+ background: linear-gradient(to bottom, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
209
+ }
210
+
211
+ /* IE filters do not support multiple color stops.
212
+ Generate 6 divs, line them up, and do two color gradients for each.
213
+ Yes, really.
214
+ */
215
+ .sp-1 {
216
+ height: 17%;
217
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000', endColorstr='#ffff00');
218
+ }
219
+
220
+ .sp-2 {
221
+ height: 16%;
222
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff00', endColorstr='#00ff00');
223
+ }
224
+
225
+ .sp-3 {
226
+ height: 17%;
227
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ff00', endColorstr='#00ffff');
228
+ }
229
+
230
+ .sp-4 {
231
+ height: 17%;
232
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffff', endColorstr='#0000ff');
233
+ }
234
+
235
+ .sp-5 {
236
+ height: 16%;
237
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0000ff', endColorstr='#ff00ff');
238
+ }
239
+
240
+ .sp-6 {
241
+ height: 17%;
242
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00ff', endColorstr='#ff0000');
243
+ }
244
+
245
+ .sp-hidden {
246
+ display: none !important;
247
+ }
248
 
249
  /* Clearfix hack */
250
+ .sp-cf:before, .sp-cf:after {
251
+ content: "";
252
+ display: table;
253
+ }
254
 
255
+ .sp-cf:after {
256
+ clear: both;
257
+ }
258
 
259
+ .sp-cf {
260
+ *zoom: 1;
261
+ }
262
 
263
  /* Mobile devices, make hue slider bigger so it is easier to slide */
264
+ @media (max-device-width: 480px) {
265
+ .sp-color {
266
+ right: 40%;
267
+ }
268
+
269
+ .sp-hue {
270
+ left: 63%;
271
+ }
272
+
273
+ .sp-fill {
274
+ padding-top: 60%;
275
+ }
276
+ }
277
+ .sp-dragger {
278
+ border-radius: 5px;
279
+ height: 5px;
280
+ width: 5px;
281
+ border: 1px solid #fff;
282
+ background: #000;
283
+ cursor: pointer;
284
+ position: absolute;
285
+ top: 0;
286
+ left: 0;
287
+ }
288
+
289
+ .sp-slider {
290
+ position: absolute;
291
+ top: 0;
292
+ cursor: pointer;
293
+ height: 3px;
294
+ left: -1px;
295
+ right: -1px;
296
+ border: 1px solid #000;
297
+ background: white;
298
+ opacity: .8;
299
+ }
300
 
301
  /*
302
  Theme authors:
303
  Here are the basic themeable display options (colors, fonts, global widths).
304
  See http://bgrins.github.io/spectrum/themes/ for instructions.
305
  */
306
+ .sp-container {
307
+ border-radius: 0;
308
+ background-color: #ECECEC;
309
+ border: solid 1px #f0c49B;
310
+ padding: 0;
311
+ }
312
+
313
+ .sp-container, .sp-container button, .sp-container input, .sp-color, .sp-hue, .sp-clear {
314
+ font: normal 12px "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif;
315
+ -webkit-box-sizing: border-box;
316
+ -moz-box-sizing: border-box;
317
+ -ms-box-sizing: border-box;
318
+ box-sizing: border-box;
319
+ }
320
+
321
+ .sp-top {
322
+ margin-bottom: 3px;
323
+ }
324
+
325
+ .sp-color, .sp-hue, .sp-clear {
326
+ border: solid 1px #666;
327
+ }
328
 
329
  /* Input */
330
+ .sp-input-container {
331
+ float: right;
332
+ width: 100px;
333
+ margin-bottom: 4px;
334
+ }
335
+
336
+ .sp-initial-disabled .sp-input-container {
337
+ width: 100%;
338
+ }
339
+
340
+ .sp-input {
341
+ font-size: 12px !important;
342
+ border: 1px inset;
343
+ padding: 4px 5px;
344
+ margin: 0;
345
+ width: 100%;
346
+ background: transparent;
347
+ border-radius: 3px;
348
+ color: #222;
349
+ }
350
+
351
+ .sp-input:focus {
352
+ border: 1px solid orange;
353
+ }
354
+
355
+ .sp-input.sp-validation-error {
356
+ border: 1px solid red;
357
+ background: #fdd;
358
+ }
359
+
360
+ .sp-picker-container, .sp-palette-container {
361
+ float: left;
362
+ position: relative;
363
+ padding: 10px;
364
+ padding-bottom: 300px;
365
+ margin-bottom: -290px;
366
+ }
367
+
368
+ .sp-picker-container {
369
+ width: 172px;
370
+ border-left: solid 1px #fff;
371
+ }
372
 
373
  /* Palettes */
374
+ .sp-palette-container {
375
+ border-right: solid 1px #ccc;
376
+ }
377
+
378
+ .sp-palette-only .sp-palette-container {
379
+ border: 0;
380
+ }
381
+
382
+ .sp-palette .sp-thumb-el {
383
+ display: block;
384
+ position: relative;
385
+ float: left;
386
+ width: 24px;
387
+ height: 15px;
388
+ margin: 3px;
389
+ cursor: pointer;
390
+ border: solid 2px transparent;
391
+ }
392
+
393
+ .sp-palette .sp-thumb-el:hover, .sp-palette .sp-thumb-el.sp-thumb-active {
394
+ border-color: orange;
395
+ }
396
+
397
+ .sp-thumb-el {
398
+ position: relative;
399
+ }
400
 
401
  /* Initial */
402
+ .sp-initial {
403
+ float: left;
404
+ border: solid 1px #333;
405
+ }
406
+
407
+ .sp-initial span {
408
+ width: 30px;
409
+ height: 25px;
410
+ border: none;
411
+ display: block;
412
+ float: left;
413
+ margin: 0;
414
+ }
415
+
416
+ .sp-initial .sp-clear-display {
417
+ background-position: center;
418
+ }
419
 
420
  /* Buttons */
421
+ .sp-palette-button-container,
422
+ .sp-button-container {
423
+ float: right;
424
+ }
425
 
426
  /* Replacer (the little preview div that shows up instead of the <input>) */
427
+ .sp-replacer {
428
+ margin: 0;
429
+ overflow: hidden;
430
+ cursor: pointer;
431
+ padding: 4px;
432
+ display: inline-block;
433
+ *zoom: 1;
434
+ *display: inline;
435
+ border: solid 1px #91765d;
436
+ background: #eee;
437
+ color: #333;
438
+ vertical-align: middle;
439
+ }
440
+
441
+ .sp-replacer:hover, .sp-replacer.sp-active {
442
+ border-color: #F0C49B;
443
+ color: #111;
444
+ }
445
+
446
+ .sp-replacer.sp-disabled {
447
+ cursor: default;
448
+ border-color: silver;
449
+ color: silver;
450
+ }
451
+
452
+ .sp-dd {
453
+ padding: 2px 0;
454
+ height: 16px;
455
+ line-height: 16px;
456
+ float: left;
457
+ font-size: 10px;
458
+ }
459
+
460
+ .sp-preview {
461
+ position: relative;
462
+ width: 25px;
463
+ height: 20px;
464
+ border: solid 1px #222;
465
+ margin-right: 5px;
466
+ float: left;
467
+ z-index: 0;
468
+ }
469
+
470
+ .sp-palette {
471
+ *width: 220px;
472
+ max-width: 220px;
473
+ }
474
+
475
+ .sp-palette .sp-thumb-el {
476
+ width: 16px;
477
+ height: 16px;
478
+ margin: 2px 1px;
479
+ border: solid 1px #d0d0d0;
480
+ }
481
+
482
+ .sp-container {
483
+ padding-bottom: 0;
484
+ }
485
 
486
  /* Buttons: http://hellohappy.org/css3-buttons/ */
487
+ .sp-container button {
488
+ background-color: #eeeeee;
489
+ background-image: -webkit-linear-gradient(top, #eeeeee, #cccccc);
490
+ background-image: -moz-linear-gradient(top, #eeeeee, #cccccc);
491
+ background-image: -ms-linear-gradient(top, #eeeeee, #cccccc);
492
+ background-image: -o-linear-gradient(top, #eeeeee, #cccccc);
493
+ background-image: linear-gradient(to bottom, #eeeeee, #cccccc);
494
+ border: 1px solid #ccc;
495
+ border-bottom: 1px solid #bbb;
496
+ border-radius: 3px;
497
+ color: #333;
498
+ font-size: 14px;
499
+ line-height: 1;
500
+ padding: 5px 4px;
501
+ text-align: center;
502
+ text-shadow: 0 1px 0 #eee;
503
+ vertical-align: middle;
504
+ }
505
+
506
+ .sp-container button:hover {
507
+ background-color: #dddddd;
508
+ background-image: -webkit-linear-gradient(top, #dddddd, #bbbbbb);
509
+ background-image: -moz-linear-gradient(top, #dddddd, #bbbbbb);
510
+ background-image: -ms-linear-gradient(top, #dddddd, #bbbbbb);
511
+ background-image: -o-linear-gradient(top, #dddddd, #bbbbbb);
512
+ background-image: linear-gradient(to bottom, #dddddd, #bbbbbb);
513
+ border: 1px solid #bbb;
514
+ border-bottom: 1px solid #999;
515
+ cursor: pointer;
516
+ text-shadow: 0 1px 0 #ddd;
517
+ }
518
+
519
+ .sp-container button:active {
520
+ border: 1px solid #aaa;
521
+ border-bottom: 1px solid #888;
522
+ -webkit-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
523
+ -moz-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
524
+ -ms-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
525
+ -o-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
526
+ box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
527
+ }
528
+
529
+ .sp-cancel {
530
+ font-size: 11px;
531
+ color: #d93f3f !important;
532
+ margin: 0;
533
+ padding: 2px;
534
+ margin-right: 5px;
535
+ vertical-align: middle;
536
+ text-decoration: none;
537
+ }
538
+
539
+ .sp-cancel:hover {
540
+ color: #d93f3f !important;
541
+ text-decoration: underline;
542
+ }
543
+
544
+ .sp-palette span:hover, .sp-palette span.sp-thumb-active {
545
+ border-color: #000;
546
+ }
547
+
548
+ .sp-preview, .sp-alpha, .sp-thumb-el {
549
+ position: relative;
550
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==);
551
+ }
552
+
553
+ .sp-preview-inner, .sp-alpha-inner, .sp-thumb-inner {
554
+ display: block;
555
+ position: absolute;
556
+ top: 0;
557
+ left: 0;
558
+ bottom: 0;
559
+ right: 0;
560
+ }
561
+
562
+ .sp-palette .sp-thumb-inner {
563
+ background-position: 50% 50%;
564
+ background-repeat: no-repeat;
565
+ }
566
+
567
+ .sp-palette .sp-thumb-light.sp-thumb-active .sp-thumb-inner {
568
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIVJREFUeNpiYBhsgJFMffxAXABlN5JruT4Q3wfi/0DsT64h8UD8HmpIPCWG/KemIfOJCUB+Aoacx6EGBZyHBqI+WsDCwuQ9mhxeg2A210Ntfo8klk9sOMijaURm7yc1UP2RNCMbKE9ODK1HM6iegYLkfx8pligC9lCD7KmRof0ZhjQACDAAceovrtpVBRkAAAAASUVORK5CYII=);
569
+ }
570
+
571
+ .sp-palette .sp-thumb-dark.sp-thumb-active .sp-thumb-inner {
572
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAMdJREFUOE+tkgsNwzAMRMugEAahEAahEAZhEAqlEAZhEAohEAYh81X2dIm8fKpEspLGvudPOsUYpxE2BIJCroJmEW9qJ+MKaBFhEMNabSy9oIcIPwrB+afvAUFoK4H0tMaQ3XtlrggDhOVVMuT4E5MMG0FBbCEYzjYT7OxLEvIHQLY2zWwQ3D+9luyOQTfKDiFD3iUIfPk8VqrKjgAiSfGFPecrg6HN6m/iBcwiDAo7WiBeawa+Kwh7tZoSCGLMqwlSAzVDhoK+6vH4G0P5wdkAAAAASUVORK5CYII=);
573
+ }
574
+
575
+ .sp-clear-display {
576
+ background-repeat: no-repeat;
577
+ background-position: center;
578
+ background-image: url(data:image/gif;base64,R0lGODlhFAAUAPcAAAAAAJmZmZ2dnZ6enqKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq/Hx8fLy8vT09PX19ff39/j4+Pn5+fr6+vv7+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAUABQAAAihAP9FoPCvoMGDBy08+EdhQAIJCCMybCDAAYUEARBAlFiQQoMABQhKUJBxY0SPICEYHBnggEmDKAuoPMjS5cGYMxHW3IiT478JJA8M/CjTZ0GgLRekNGpwAsYABHIypcAgQMsITDtWJYBR6NSqMico9cqR6tKfY7GeBCuVwlipDNmefAtTrkSzB1RaIAoXodsABiZAEFB06gIBWC1mLVgBa0AAOw==);
579
+ }
580
+
581
+ /**
582
+ * Visual Select
583
+ */
584
+ .wp-ulike-visual-select {
585
+ height: auto;
586
+ display: inline-block;
587
+ width: 100%;
588
+ max-width: 900px;
589
+ }
590
+ .wp-ulike-visual-select .radio-img-item {
591
+ display: inline-block;
592
+ margin-right: 10px;
593
+ margin-bottom: 10px;
594
+ border: 3px solid #d8d8d8;
595
+ padding: 4px 15px;
596
+ width: 110px;
597
+ height: 60px;
598
+ cursor: pointer;
599
+ }
600
+ .wp-ulike-visual-select .radio-img-item.item-checked {
601
+ -webkit-filter: brightness(40%) sepia(100%) hue-rotate(170deg) saturate(250%);
602
+ filter: brightness(40%) sepia(100%) hue-rotate(170deg) saturate(250%);
603
+ }
604
+ .wp-ulike-visual-select .radio-img-item img {
605
+ display: block;
606
+ clear: both;
607
+ width: 100%;
608
+ height: 100%;
609
+ }
610
+
611
+ .wp-ulike-container {
612
+ width: 100%;
613
+ margin-left: auto;
614
+ margin-right: auto;
615
+ }
616
+
617
+ .wp-ulike-row {
618
+ position: relative;
619
+ width: 100%;
620
+ }
621
+
622
+ .wp-ulike-flex {
623
+ display: flex;
624
+ align-items: center;
625
+ flex-wrap: wrap;
626
+ justify-content: center;
627
+ padding: 10px 0;
628
+ }
629
+
630
+ .wp-ulike-row [class^="col"] {
631
+ float: left;
632
+ margin: 2%;
633
+ }
634
+
635
+ .rtl .wp-ulike-row [class^="col"] {
636
+ float: right;
637
+ }
638
+
639
+ .wp-ulike-row::after {
640
+ content: "";
641
+ display: table;
642
+ clear: both;
643
+ }
644
+
645
+ .wp-ulike-row .col-1,
646
+ .wp-ulike-row .col-2,
647
+ .wp-ulike-row .col-3,
648
+ .wp-ulike-row .col-4,
649
+ .wp-ulike-row .col-5,
650
+ .wp-ulike-row .col-6,
651
+ .wp-ulike-row .col-7,
652
+ .wp-ulike-row .col-8,
653
+ .wp-ulike-row .col-9,
654
+ .wp-ulike-row .col-10,
655
+ .wp-ulike-row .col-11,
656
+ .wp-ulike-row .col-12 {
657
+ width: 96%;
658
+ }
659
+ .wp-ulike-row .col-1-sm {
660
+ width: 4.33333%;
661
+ }
662
+ .wp-ulike-row .col-2-sm {
663
+ width: 12.66667%;
664
+ }
665
+ .wp-ulike-row .col-3-sm {
666
+ width: 21%;
667
+ }
668
+ .wp-ulike-row .col-4-sm {
669
+ width: 29.33333%;
670
+ }
671
+ .wp-ulike-row .col-5-sm {
672
+ width: 37.66667%;
673
+ }
674
+ .wp-ulike-row .col-6-sm {
675
+ width: 46%;
676
+ }
677
+ .wp-ulike-row .col-7-sm {
678
+ width: 54.33333%;
679
+ }
680
+ .wp-ulike-row .col-8-sm {
681
+ width: 62.66667%;
682
+ }
683
+ .wp-ulike-row .col-9-sm {
684
+ width: 71%;
685
+ }
686
+ .wp-ulike-row .col-10-sm {
687
+ width: 79.33333%;
688
+ }
689
+ .wp-ulike-row .col-11-sm {
690
+ width: 87.66667%;
691
+ }
692
+ .wp-ulike-row .col-12-sm {
693
+ width: 96%;
694
+ }
695
+
696
+ @media only screen and (min-width: 45em) {
697
+ .wp-ulike-row .col-1 {
698
+ width: 4.33333%;
699
+ }
700
+ .wp-ulike-row .col-2 {
701
+ width: 12.66667%;
702
+ }
703
+ .wp-ulike-row .col-3 {
704
+ width: 21%;
705
+ }
706
+ .wp-ulike-row .col-4 {
707
+ width: 29.33333%;
708
+ }
709
+ .wp-ulike-row .col-5 {
710
+ width: 37.66667%;
711
+ }
712
+ .wp-ulike-row .col-6 {
713
+ width: 46%;
714
+ }
715
+ .wp-ulike-row .col-7 {
716
+ width: 54.33333%;
717
+ }
718
+ .wp-ulike-row .col-8 {
719
+ width: 62.66667%;
720
+ }
721
+ .wp-ulike-row .col-9 {
722
+ width: 71%;
723
+ }
724
+ .wp-ulike-row .col-10 {
725
+ width: 79.33333%;
726
+ }
727
+ .wp-ulike-row .col-11 {
728
+ width: 87.66667%;
729
+ }
730
+ .wp-ulike-row .col-12 {
731
+ width: 96%;
732
+ }
733
+ .wp-ulike-row .hidden-sm {
734
+ display: block;
735
+ }
736
+ }
737
+ @media only screen and (max-width: 45em) {
738
+ .wp-ulike-flex {
739
+ text-align: center;
740
+ }
741
+ }
742
+ /**
743
+ * Statistics Page
744
+ */
745
+ .wp-ulike-page-title {
746
+ font-size: 38px;
747
+ line-height: 50px;
748
+ font-weight: 400;
749
+ margin: 0;
750
+ }
751
+
752
+ .wp-ulike-header {
753
+ margin: 0 2% 10px;
754
+ padding: 0 20px 35px;
755
+ display: flex;
756
+ justify-content: space-between;
757
+ position: relative;
758
+ align-items: center;
759
+ flex-wrap: wrap;
760
+ }
761
+ .wp-ulike-header:after {
762
+ content: "";
763
+ position: absolute;
764
+ bottom: 0;
765
+ height: 1px;
766
+ background: #dde3e7;
767
+ right: 20px;
768
+ left: 20px;
769
+ }
770
+ .wp-ulike-header .wp-ulike-widget-title {
771
+ text-transform: capitalize;
772
+ font-size: 22px;
773
+ font-weight: 500;
774
+ line-height: normal;
775
+ color: #3d3d3d;
776
+ margin: 0;
777
+ }
778
+
779
+ .wp-ulike-button {
780
+ background-color: #f9faff;
781
+ padding: 10px 25px;
782
+ text-decoration: none;
783
+ text-transform: uppercase;
784
+ color: #7e8996;
785
+ border: 1px solid #dde3e7;
786
+ border-radius: 50em;
787
+ font-size: 14px;
788
+ line-height: 20px;
789
+ }
790
+ .wp-ulike-button:hover {
791
+ background-color: #fff;
792
+ color: #42484e;
793
+ }
794
+
795
+ .wp-ulike-inner {
796
+ position: relative;
797
+ padding: 35px 20px;
798
+ border: 1px solid #e4e6eb;
799
+ background: #fff;
800
+ border-radius: 4px;
801
+ }
802
+
803
+ .wp-ulike-logs-count {
804
+ margin: 0 auto;
805
+ text-align: center;
806
+ }
807
+ .wp-ulike-logs-count .wp-ulike-icon {
808
+ font-size: 5vw;
809
+ color: #8B93A6;
810
+ line-height: 5vh;
811
+ }
812
+ .wp-ulike-logs-count .wp-ulike-var {
813
+ font-size: 3vw;
814
+ line-height: 4vw;
815
+ display: block;
816
+ }
817
+ .wp-ulike-logs-count .wp-ulike-text {
818
+ display: block;
819
+ color: #8B93A6;
820
+ font-size: 1.5vw;
821
+ line-height: 2.5vw;
822
+ }
823
+
824
+ .wp-ulike-is-loading {
825
+ padding: 10px 0;
826
+ }
827
+ .wp-ulike-is-loading:before {
828
+ content: "";
829
+ position: absolute;
830
+ left: 0;
831
+ width: 100%;
832
+ top: 0;
833
+ height: 100%;
834
+ background-color: white;
835
+ background-image: url(../../../assets/img/svg/statistics.svg);
836
+ background-repeat: no-repeat;
837
+ background-position: center center;
838
+ z-index: 9;
839
+ }
840
+
841
+ .wp-ulike-table {
842
+ display: table;
843
+ }
844
+ .wp-ulike-table .wp-ulike-table-cell {
845
+ display: table-cell;
846
+ vertical-align: middle;
847
+ }
848
+
849
+ .wp-ulike-summary-charts .wp-ulike-info {
850
+ flex-basis: 35%;
851
+ }
852
+ .wp-ulike-summary-charts .wp-ulike-icon {
853
+ font-size: 3vw;
854
+ color: #8B93A6;
855
+ line-height: normal;
856
+ flex-basis: 25%;
857
+ }
858
+ .wp-ulike-summary-charts .wp-ulike-var {
859
+ font-size: 1.8vw;
860
+ line-height: normal;
861
+ display: block;
862
+ }
863
+ .wp-ulike-summary-charts .wp-ulike-text {
864
+ display: block;
865
+ color: #8B93A6;
866
+ font-size: 1vw;
867
+ line-height: normal;
868
+ }
869
+
870
+ .wp-ulike-top-likers {
871
+ margin: 0 2%;
872
+ }
873
+ .wp-ulike-top-likers .wp-ulike-users-list {
874
+ border-bottom: 1px solid #dde3e7;
875
+ font-size: 15px;
876
+ padding: 20px 0px;
877
+ margin: 5px;
878
+ }
879
+ .wp-ulike-top-likers .wp-ulike-users-list i {
880
+ color: #8B93A6;
881
+ margin: 0 5px;
882
+ }
883
+ .wp-ulike-top-likers .wp-ulike-info {
884
+ width: 60%;
885
+ }
886
+ .wp-ulike-top-likers .wp-ulike-counter {
887
+ width: 20%;
888
+ }
889
+ .wp-ulike-top-likers .wp-ulike-total {
890
+ width: 20%;
891
+ }
892
+
893
+ .wp-ulike-empty-stats {
894
+ text-align: center;
895
+ height: 50em;
896
+ position: relative;
897
+ }
898
+ .wp-ulike-empty-stats > div {
899
+ position: relative;
900
+ top: 50%;
901
+ transform: translateY(-50%);
902
+ }
903
+ .wp-ulike-empty-stats .wp-ulike-icon {
904
+ font-size: 110px;
905
+ color: #8B93A6;
906
+ }
907
+ .wp-ulike-empty-stats .wp-ulike-info {
908
+ font-size: 28px;
909
+ line-height: 42px;
910
+ font-weight: 300;
911
+ margin-top: 50px;
912
+ }
913
+
914
+ .wp-ulike-tops-list {
915
+ padding: 0 20px;
916
+ }
917
+ .wp-ulike-tops-list > ul {
918
+ font-size: 16px;
919
+ font-weight: 300;
920
+ line-height: 26px;
921
+ color: #3d3d3d;
922
+ margin: 0;
923
+ }
924
+ .wp-ulike-tops-list > ul > li {
925
+ display: flex;
926
+ justify-content: space-between;
927
+ border-bottom: 1px solid #dde3e7;
928
+ padding: 8px 0;
929
+ }
930
+ .wp-ulike-tops-list > ul > li a {
931
+ text-decoration: none;
932
+ color: #3d3d3d;
933
+ }
934
+
935
+ /**
936
+ * About Page
937
+ */
938
+ .wp-ulike-about-page .ulike-badge {
939
+ background: url(../../../assets/img/wp-ulike-icon.svg) no-repeat scroll center 24px/95px 95px #FF7171;
940
+ color: #FFFFFF;
941
+ position: absolute;
942
+ top: 0px;
943
+ right: 0px;
944
+ font-size: 14px;
945
+ text-align: center;
946
+ font-weight: 600;
947
+ margin: 5px 0px 0px;
948
+ padding-top: 120px;
949
+ height: 40px;
950
+ display: inline-block;
951
+ width: 150px;
952
+ text-rendering: optimizelegibility;
953
+ box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.2);
954
+ }
955
+ .wp-ulike-about-page .wp_ulike_version {
956
+ display: inline-block;
957
+ position: absolute;
958
+ top: 54px;
959
+ left: 0;
960
+ padding: 5px 10px;
961
+ background: #e74c3c;
962
+ color: #FFFFFF;
963
+ font-size: 13px;
964
+ font-weight: normal;
965
+ }
966
+ .wp-ulike-about-page .headline-feature h2 {
967
+ margin: 1.1em 0px 0.2em;
968
+ font-size: 2.4em;
969
+ font-weight: 300;
970
+ line-height: 1.3;
971
+ text-align: center;
972
+ }
973
+ .wp-ulike-about-page .icon-container {
974
+ text-align: center;
975
+ font-size: 6vw;
976
+ border: 1px solid #757575;
977
+ padding: 35px 5px;
978
+ }
979
+ .wp-ulike-about-page .featured-image img {
980
+ border: none;
981
+ }
982
+
983
+ /**
984
+ * Go Pro Page
985
+ */
986
+ .wp-ulike-go-pro-page .has-1-columns, .wp-ulike-go-pro-page .has-2-columns, .wp-ulike-go-pro-page .has-3-columns, .wp-ulike-go-pro-page .has-4-columns {
987
+ max-width: 1400px;
988
+ margin-left: 0;
989
+ margin-right: 0;
990
+ }
991
+ .wp-ulike-go-pro-page h1 {
992
+ margin-bottom: 1em;
993
+ }
994
+ .wp-ulike-go-pro-page h2 {
995
+ text-align: left;
996
+ }
997
+ .wp-ulike-go-pro-page .is-section-header {
998
+ margin-left: 20px;
999
+ margin-right: 20px;
1000
+ }
1001
+ .wp-ulike-go-pro-page .wp-ulike-btn {
1002
+ margin-top: 5px;
1003
+ margin-right: 15px;
1004
+ }
1005
+
1006
+ /**
1007
+ * Logs Page
1008
+ */
1009
+ .wp_ulike_logs .button {
1010
+ line-height: 20px;
1011
+ }
1012
+ .wp_ulike_logs i {
1013
+ font-size: 1.9em;
1014
+ }
1015
+ .wp_ulike_logs i.wp-ulike-icons-thumb_up:before {
1016
+ color: #4caf50;
1017
+ }
1018
+ .wp_ulike_logs i.wp-ulike-icons-thumb_down:before {
1019
+ color: #f44336;
1020
+ }
admin/assets/js/plugins.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! WP ULike - v4.0.0
2
  * https://wpulike.com
3
  * TechnoWich 2019;
4
  */
1
+ /*! WP ULike - v4.0.1
2
  * https://wpulike.com
3
  * TechnoWich 2019;
4
  */
admin/assets/js/scripts.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! WP ULike - v4.0.0
2
  * https://wpulike.com
3
  * TechnoWich 2019;
4
  */
1
+ /*! WP ULike - v4.0.1
2
  * https://wpulike.com
3
  * TechnoWich 2019;
4
  */
admin/classes/class-wp-ulike-widget.php CHANGED
@@ -60,7 +60,7 @@ if ( ! class_exists( 'wp_ulike_widget' ) ) {
60
  foreach ($posts as $post) {
61
  $post_title = stripslashes($post->post_title);
62
  $permalink = get_permalink($post->ID);
63
- $post_count = wp_ulike_get_counter_value($post->ID, 'post', 'all', false);
64
 
65
  $result .= $before_item;
66
  $result .= $show_thumb ? $this->get_post_thumbnail( $post->ID, $sizeOf ) : '';
@@ -106,7 +106,7 @@ if ( ! class_exists( 'wp_ulike_widget' ) ) {
106
  $post_permalink = get_permalink($comment->comment_post_ID);
107
  $post_title = get_the_title($comment->comment_post_ID);
108
  $comment_permalink = get_permalink($comment->comment_ID);
109
- $comment_likes_count = wp_ulike_get_counter_value($comment->comment_ID, 'comment', 'all', false);
110
 
111
  $result .= $before_item;
112
  $result .= $show_thumb ? get_avatar( $comment->comment_author_email, $sizeOf ) : '';
@@ -215,7 +215,7 @@ if ( ! class_exists( 'wp_ulike_widget' ) ) {
215
  foreach ($posts as $post) {
216
  $post_title = function_exists('bbp_get_forum_title') ? bbp_get_forum_title( $post->ID ) : $post->post_title;
217
  $permalink = get_permalink( $post->ID );
218
- $post_count = wp_ulike_get_counter_value($post->ID, 'topic', 'all', false);
219
 
220
  $result .= $before_item;
221
  $result .= '<a href="' . $permalink . '" title="' . $post_title.'" rel="nofollow">'. wp_trim_words( $post_title, $num_words = $trim, $more = null ) . '</a>';
@@ -267,7 +267,7 @@ if ( ! class_exists( 'wp_ulike_widget' ) ) {
267
  foreach ($activities as $activity) {
268
  $activity_permalink = function_exists('bp_activity_get_permalink') ? bp_activity_get_permalink( $activity->id ) : '';
269
  $activity_action = ! empty( $activity->content ) ? $activity->content : $activity->action;
270
- $post_count = wp_ulike_get_counter_value($activity->id, 'activity', 'all', false);
271
 
272
  // Skip empty activities
273
  if( empty( $activity_action ) ){
@@ -354,6 +354,20 @@ if ( ! class_exists( 'wp_ulike_widget' ) ) {
354
  }
355
  }
356
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
357
  /**
358
  * Set Period
359
  *
60
  foreach ($posts as $post) {
61
  $post_title = stripslashes($post->post_title);
62
  $permalink = get_permalink($post->ID);
63
+ $post_count = $this->get_counter_value($post->ID, 'post', 'all', false);
64
 
65
  $result .= $before_item;
66
  $result .= $show_thumb ? $this->get_post_thumbnail( $post->ID, $sizeOf ) : '';
106
  $post_permalink = get_permalink($comment->comment_post_ID);
107
  $post_title = get_the_title($comment->comment_post_ID);
108
  $comment_permalink = get_permalink($comment->comment_ID);
109
+ $comment_likes_count = $this->get_counter_value($comment->comment_ID, 'comment', 'all', false);
110
 
111
  $result .= $before_item;
112
  $result .= $show_thumb ? get_avatar( $comment->comment_author_email, $sizeOf ) : '';
215
  foreach ($posts as $post) {
216
  $post_title = function_exists('bbp_get_forum_title') ? bbp_get_forum_title( $post->ID ) : $post->post_title;
217
  $permalink = get_permalink( $post->ID );
218
+ $post_count = $this->get_counter_value($post->ID, 'topic', 'all', false);
219
 
220
  $result .= $before_item;
221
  $result .= '<a href="' . $permalink . '" title="' . $post_title.'" rel="nofollow">'. wp_trim_words( $post_title, $num_words = $trim, $more = null ) . '</a>';
267
  foreach ($activities as $activity) {
268
  $activity_permalink = function_exists('bp_activity_get_permalink') ? bp_activity_get_permalink( $activity->id ) : '';
269
  $activity_action = ! empty( $activity->content ) ? $activity->content : $activity->action;
270
+ $post_count = $this->get_counter_value( $activity->id, 'activity', 'all', false );
271
 
272
  // Skip empty activities
273
  if( empty( $activity_action ) ){
354
  }
355
  }
356
 
357
+ /**
358
+ * Get counter value
359
+ *
360
+ * @param integer $id
361
+ * @param string $slug
362
+ * @param string $status
363
+ * @param bool $is_distinct
364
+ * @return integer
365
+ */
366
+ private function get_counter_value( $id, $slug, $status, $is_distinct ){
367
+ $counter_val = wp_ulike_get_counter_value_info( $id, $slug, $status, $is_distinct );
368
+ return ! is_wp_error( $counter_val ) ? $counter_val : 0;
369
+ }
370
+
371
  /**
372
  * Set Period
373
  *
admin/includes/templates/go-pro.php ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * About page template
4
+ *
5
+ * @package wp-ulike
6
+ * @author TechnoWich 2019
7
+ * @link https://wpulike.com
8
+ */
9
+
10
+ // no direct access allowed
11
+ if ( ! defined('ABSPATH') ) {
12
+ die();
13
+ }
14
+ ?>
15
+
16
+ <div class="wrap about-wrap wp-ulike-go-pro-page full-width-layout">
17
+ <div class="has-1-columns">
18
+ <div class="column">
19
+ <h1><?php echo _e( 'WP ULike Premium', WP_ULIKE_SLUG ); ?></h1>
20
+ <div class="is-feature">
21
+ <?php
22
+ echo sprintf('<p>%s</p>', __('WP ULike Pro plugin is our ultimate solution to cast voting to any type of content you may have in your website. With outstanding and eye-catching widgets, you can have Like and Dislike Button on all of your contents would it be a Post, Comment, Activities, Forum Topics, WooCommerce products, you name it. Now you can really feel your users Love ❤ for each part of your contents.',WP_ULIKE_SLUG) );
23
+
24
+ echo wp_ulike_widget_button_callback( array(
25
+ 'label' => __( 'Buy WP ULike Premium', WP_ULIKE_SLUG ),
26
+ 'color_name' => 'default',
27
+ 'link' => WP_ULIKE_PLUGIN_URI . 'pricing/?utm_source=go-pro-page&utm_campaign=gopro&utm_medium=wp-dash',
28
+ 'target' => '_blank'
29
+ ) );
30
+ echo wp_ulike_widget_button_callback( array(
31
+ 'label' => __( 'More information', WP_ULIKE_SLUG ),
32
+ 'color_name' => 'info',
33
+ 'link' => WP_ULIKE_PLUGIN_URI . '?utm_source=go-pro-page&utm_campaign=gopro&utm_medium=wp-dash',
34
+ 'target' => '_blank'
35
+ ) );
36
+ ?>
37
+ </div>
38
+ </div>
39
+ </div>
40
+ <div class="has-3-columns">
41
+ <h2 class="is-section-header">Our Features</h2>
42
+
43
+ <div class="column">
44
+ <h3><?php echo _e( 'Extensions', WP_ULIKE_SLUG ); ?></h3>
45
+ <?php
46
+ echo sprintf( '<p>%s</p>', __('WP ULike support posts, comments, BuddyPress activities & bbPress Topics.',WP_ULIKE_SLUG) );
47
+ ?>
48
+ </div>
49
+ <div class="column">
50
+ <h3><?php echo _e( 'Languages', WP_ULIKE_SLUG ); ?></h3>
51
+ <?php
52
+ echo sprintf( '<p>%s</p>', __('WP ULike is already translated into +20 languages, with more always in progress.',WP_ULIKE_SLUG) );
53
+ ?>
54
+ </div>
55
+ <div class="column">
56
+ <h3><?php echo _e( 'Clean & Simple', WP_ULIKE_SLUG ); ?></h3>
57
+ <?php
58
+ echo sprintf( '<p>%s</p>', __('We’ve used the simplest and prettiest styles for designing like buttons.',WP_ULIKE_SLUG) );
59
+ ?>
60
+ </div>
61
+ <div class="column">
62
+ <h3><?php echo _e( 'Easy Develop', WP_ULIKE_SLUG ); ?></h3>
63
+ <?php
64
+ echo sprintf( '<p>%s</p>', __('Using various hooks and functions, you can easily customize this plugin.',WP_ULIKE_SLUG) );
65
+ ?>
66
+ </div>
67
+ <div class="column">
68
+ <h3><?php echo _e( 'Custom Templates', WP_ULIKE_SLUG ); ?></h3>
69
+ <?php
70
+ echo sprintf( '<p>%s</p>', __('You can choose from multiple gorgeous and professional designed templates.',WP_ULIKE_SLUG) );
71
+ ?>
72
+ </div>
73
+ <div class="column">
74
+ <h3><?php echo _e( 'Statistics', WP_ULIKE_SLUG ); ?></h3>
75
+ <?php
76
+ echo sprintf( '<p>%s</p>', __('extract detailed reports and beautiful, useful and simple charts in an instant.',WP_ULIKE_SLUG) );
77
+ ?>
78
+ </div>
79
+ </div>
80
+ <div class="has-2-columns">
81
+ <div class="column is-edge-to-edge has-accent-background-color">
82
+ <img src="<?php echo WP_ULIKE_ASSETS_URL; ?>/img/elementor-support.png" alt="Elementor Support" />
83
+ </div>
84
+ <div class="column is-vertically-aligned-center">
85
+ <h2><?php echo _e( 'Customize Every Part of Your YouLike Plugin', WP_ULIKE_SLUG ); ?></h2>
86
+ <?php
87
+ echo sprintf('<p>%s</p><p>%s</p>', __('Elementor is the #1 WordPress page builder. In the new version of the WP ULike PRO plugin we fully support this page builder and have a variety of widgets & controllers that make life much easier for you.',WP_ULIKE_SLUG), __('Just drag your desired widget and drop it in your Elementor sections, customize as you go and enjoy your like and dislike buttons on your contents.',WP_ULIKE_SLUG) );
88
+ ?>
89
+ </div>
90
+ </div>
91
+ </div>
assets/img/elementor-support.png ADDED
Binary file
assets/img/svg/rocket.svg ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Capa_1" x="0px" y="0px" viewBox="0 0 512.001 512.001" style="enable-background:new 0 0 512.001 512.001;" xml:space="preserve" width="18px" height="18px" class=""><g><g>
3
+ <g>
4
+ <path d="M268.662,243.351c-3.91-3.91-10.24-3.91-14.15,0c-3.9,3.9-3.9,10.23,0,14.14c3.91,3.9,10.24,3.9,14.15,0 C272.562,253.581,272.562,247.251,268.662,243.351z" data-original="#000000" class="active-path" data-old_color="#000000" fill="#FFFFFF"/>
5
+ </g>
6
+ </g><g>
7
+ <g>
8
+ <path d="M395.933,116.07c-19.54-19.539-51.172-19.54-70.713,0c-19.489,19.489-19.49,51.209,0.003,70.714 c19.496,19.484,51.216,19.492,70.71-0.002C415.471,167.244,415.475,135.611,395.933,116.07z M381.791,172.639 c-11.693,11.694-30.727,11.694-42.426,0.002c-11.695-11.702-11.696-30.736-0.002-42.429c11.723-11.723,30.703-11.725,42.428,0 C393.514,141.934,393.516,160.915,381.791,172.639z" data-original="#000000" class="active-path" data-old_color="#000000" fill="#FFFFFF"/>
9
+ </g>
10
+ </g><g>
11
+ <g>
12
+ <path d="M509.07,2.929c-1.964-1.963-4.644-3.027-7.43-2.922c-2.261,0.081-56.096,2.245-120.091,24.864 c-51.28,18.106-94.023,44.029-127.042,77.049c-7.399,7.399-14.599,15.245-21.488,23.396c-32.648-19.218-58.81-13.192-75.349-4.341 c-38.081,20.38-61.652,75.716-61.652,115.296c0.003,4.044,2.44,7.691,6.176,9.238c1.237,0.513,2.537,0.762,3.825,0.762 c2.603,0,5.16-1.017,7.073-2.929c20.083-20.083,44.854-18.827,52.946-17.763l3.502,3.502c-6.892,16.4-12.444,32.708-16.516,48.569 c-1.47,5.74-0.974,11.814,1.211,17.37c-9.628,4.437-18.917,10.952-27.005,19.04c-25.741,25.742-30.968,88.476-31.178,91.134 c-0.23,2.917,0.828,5.789,2.897,7.858c1.883,1.882,4.43,2.929,7.07,2.929c0.262,0,0.525-0.01,0.788-0.031 c2.658-0.209,65.394-5.436,91.135-31.177c8.085-8.085,14.599-17.373,19.036-26.999c5.882,2.313,11.936,2.598,17.38,1.203 c15.854-4.071,32.16-9.621,48.562-16.514l3.502,3.502c1.063,8.093,2.319,32.864-17.763,52.945 c-2.859,2.86-3.715,7.161-2.167,10.897c1.547,3.737,5.193,6.173,9.238,6.173c39.58,0,94.915-23.571,115.295-61.652 c8.851-16.537,14.877-42.699-4.341-75.348c8.147-6.886,15.994-14.086,23.396-21.488c33.02-33.02,58.942-75.763,77.048-127.039 c22.62-63.998,24.783-117.834,24.864-120.094C512.092,7.584,511.033,4.893,509.07,2.929z M118.376,214.762 c6.212-30.063,24.255-63.052,48.735-76.154c16.359-8.754,34.24-7.896,53.252,2.511c-16.197,21.302-30.278,44.252-42.015,68.487 c-0.149-0.092-1.949-2.355-5.293-3.109C171.68,206.186,145.221,200.495,118.376,214.762z M183.8,370.63 c-13.75,13.75-46.005,21.002-66.392,23.963c2.962-20.388,10.215-52.642,23.964-66.391c7.7-7.7,16.628-13.538,25.602-16.826 l33.652,33.652C197.338,354.002,191.501,362.93,183.8,370.63z M229.39,339.603c-2.894,0.741-6.246-0.347-8.738-2.835 c-12.937-12.937-17.998-17.998-19.586-19.585c-2.912-2.912-10.053-10.053-25.826-25.827c-2.494-2.499-3.582-5.85-2.843-8.739 c3.203-12.474,7.392-25.272,12.486-38.193l82.695,82.695C254.655,332.214,241.859,336.402,229.39,339.603z M373.394,344.891 c-13.102,24.479-46.09,42.523-76.152,48.734c9.585-18.037,11.698-40.998,8.196-54.921c-0.813-3.234-2.923-4.86-3.041-5.051 c24.233-11.737,47.182-25.818,68.486-42.015C381.29,310.652,382.147,328.535,373.394,344.891z M395.94,243.35 c-9.011,9.01-18.714,17.715-28.84,25.872c-24.342,19.6-51.134,36.202-79.718,49.418l-94.02-94.018 c13.216-28.586,29.818-55.378,49.416-79.717c8.164-10.133,16.868-19.837,25.875-28.843 c29.625-29.626,67.859-53.204,113.671-70.176l83.792,83.792C449.146,175.489,425.568,213.723,395.94,243.35z M473.311,108.587 l-69.896-69.896c38.081-11.828,71.21-16.257,87.746-17.849C489.568,37.381,485.138,70.51,473.311,108.587z" data-original="#000000" class="active-path" data-old_color="#000000" fill="#FFFFFF"/>
13
+ </g>
14
+ </g><g>
15
+ <g>
16
+ <path d="M240.371,413.049c-3.907-3.905-10.239-3.903-14.143,0.002l-28.28,28.29c-3.904,3.906-3.903,10.238,0.002,14.142 c3.907,3.904,10.239,3.904,14.143-0.002l28.28-28.29C244.277,423.285,244.276,416.953,240.371,413.049z" data-original="#000000" class="active-path" data-old_color="#000000" fill="#FFFFFF"/>
17
+ </g>
18
+ </g><g>
19
+ <g>
20
+ <path d="M98.954,271.631c-3.904-3.906-10.235-3.906-14.142-0.002l-28.29,28.28c-3.906,3.904-3.907,10.236-0.003,14.142 c3.903,3.904,10.234,3.908,14.142,0.002l28.29-28.28C102.857,281.869,102.858,275.537,98.954,271.631z" data-original="#000000" class="active-path" data-old_color="#000000" fill="#FFFFFF"/>
21
+ </g>
22
+ </g><g>
23
+ <g>
24
+ <path d="M169.663,427.2c-3.903-3.905-10.236-3.905-14.142-0.001l-67.74,67.73c-3.906,3.905-3.906,10.237-0.001,14.142 c3.903,3.905,10.236,3.907,14.142,0.001l67.74-67.73C173.568,437.437,173.568,431.105,169.663,427.2z" data-original="#000000" class="active-path" data-old_color="#000000" fill="#FFFFFF"/>
25
+ </g>
26
+ </g><g>
27
+ <g>
28
+ <path d="M89.663,427.2c-3.904-3.905-10.237-3.905-14.142-0.001l-67.74,67.73c-3.906,3.905-3.906,10.237-0.001,14.142 c3.903,3.905,10.236,3.907,14.142,0.001l67.74-67.73C93.568,437.437,93.568,431.105,89.663,427.2z" data-original="#000000" class="active-path" data-old_color="#000000" fill="#FFFFFF"/>
29
+ </g>
30
+ </g><g>
31
+ <g>
32
+ <path d="M84.802,342.338c-3.904-3.904-10.237-3.904-14.142,0.001l-67.73,67.74c-3.905,3.906-3.905,10.237,0.001,14.143 c3.905,3.905,10.237,3.905,14.142-0.001l67.73-67.74C88.708,352.575,88.708,346.244,84.802,342.338z" data-original="#000000" class="active-path" data-old_color="#000000" fill="#FFFFFF"/>
33
+ </g>
34
+ </g><g>
35
+ <g>
36
+ <path d="M311.083,200.919c-3.906-3.905-10.236-3.905-14.143,0l-14.14,14.14c-3.905,3.905-3.905,10.237,0,14.143 c3.906,3.905,10.237,3.905,14.143,0l14.14-14.14C314.988,211.157,314.988,204.825,311.083,200.919z" data-original="#000000" class="active-path" data-old_color="#000000" fill="#FFFFFF"/>
37
+ </g>
38
+ </g></g> </svg>
assets/js/wp-ulike.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! WP ULike - v4.0.0
2
  * https://wpulike.com
3
  * TechnoWich 2019;
4
  */
1
+ /*! WP ULike - v4.0.1
2
  * https://wpulike.com
3
  * TechnoWich 2019;
4
  */
inc/classes/class-wp-ulike-mycred.php CHANGED
@@ -37,7 +37,10 @@ if ( class_exists( 'myCRED_Hook' ) ) :
37
  'get_unlike' => array(
38
  'creds' => -1,
39
  'log' => '%plural% for getting Unliked from a content'
40
- )
 
 
 
41
  )
42
  ), $hook_prefs, $type );
43
 
@@ -59,18 +62,13 @@ if ( class_exists( 'myCRED_Hook' ) ) :
59
  * @since 2.3
60
  */
61
  public function status( $id , $key, $user_id, $status ) {
62
-
63
- if( strpos( $status, 'un') === 0 ) {
64
- $this->like( $id , $key, $user_id );
65
- } else {
66
- $this->unlike( $id , $key, $user_id );
67
  }
68
-
69
- }
70
-
71
- public function bp_get_auhtor_id($activity_id) {
72
- $activity = bp_activity_get_specific( array( 'activity_ids' => $activity_id, 'display_comments' => true ) );
73
- return $activity['activities'][0]->user_id;
74
  }
75
 
76
  /**
@@ -79,25 +77,10 @@ if ( class_exists( 'myCRED_Hook' ) ) :
79
  * @since 2.3
80
  */
81
  public function like( $id , $key, $user_id, $author_id = 0 ) {
82
-
83
  // Check for exclusion
84
- if ( $this->core->exclude_user( $user_id ) || ! is_user_logged_in() ) return;
85
-
86
- switch ( $key ) {
87
- case '_liked':
88
- case '_topicliked':
89
- $author_id = get_post_field( 'post_author', $id );
90
- break;
91
- case '_commentliked':
92
- $comment_id = get_comment( $id );
93
- $author_id = $comment_id->user_id;
94
- break;
95
- case '_activityliked':
96
- $author_id = $this->bp_get_auhtor_id($id);
97
- break;
98
- }
99
 
100
- if ( $user_id != $author_id ){
101
 
102
  // Award the user liking
103
  if ( $this->prefs['add_like']['creds'] ) {
@@ -151,24 +134,9 @@ if ( class_exists( 'myCRED_Hook' ) ) :
151
  public function unlike( $id , $key, $user_id, $author_id = 0 ) {
152
 
153
  // Check for exclusion
154
- if ( $this->core->exclude_user( $user_id ) || ! is_user_logged_in() ) return;
155
-
156
- switch ( $key ) {
157
- case '_liked':
158
- case '_topicliked':
159
- $author_id = get_post_field( 'post_author', $id );
160
- break;
161
- case '_commentliked':
162
- $comment_id = get_comment( $id );
163
- $author_id = $comment_id->user_id;
164
- break;
165
- case '_activityliked':
166
- $author_id = $this->bp_get_auhtor_id( $id );
167
- break;
168
- }
169
-
170
 
171
- if ( $user_id != $author_id ){
172
 
173
  // Award the user liking
174
  if ( $this->prefs['add_unlike']['creds'] ) {
@@ -208,6 +176,43 @@ if ( class_exists( 'myCRED_Hook' ) ) :
208
 
209
  }
210
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
211
 
212
  /**
213
  * Preference for wp_ulike Hook
@@ -219,64 +224,106 @@ if ( class_exists( 'myCRED_Hook' ) ) :
219
  $prefs = $this->prefs;
220
 
221
  ?>
222
- <label class="subheader"><?php echo _e( 'Points for Liking content', WP_ULIKE_SLUG ); ?></label>
223
- <ol>
224
- <li>
225
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'add_like' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'add_like' => 'creds' ) ); ?>" value="<?php echo $this->core->number( $prefs['add_like']['creds'] ); ?>" size="8" /></div>
226
- </li>
227
- <li class="empty"></li>
228
- <li>
229
- <label for="<?php echo $this->field_id( array( 'add_like' => 'limit' ) ); ?>"><?php _e( 'Limit', WP_ULIKE_SLUG ); ?></label>
230
- <?php echo $this->hook_limit_setting( $this->field_name( array( 'add_like' => 'limit' ) ), $this->field_id( array( 'add_like' => 'limit' ) ), $prefs['add_like']['limit'] ); ?>
231
- </li>
232
- <li class="empty"></li>
233
- <li>
234
- <label for="<?php echo $this->field_id( array( 'add_like' => 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
235
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'add_like' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'add_like' => 'log' ) ); ?>" value="<?php echo esc_attr( $prefs['add_like']['log'] ); ?>" class="long" /></div>
236
- <span class="description"><?php echo $this->available_template_tags( array( 'general' ) ); ?></span>
237
- </li>
238
- </ol>
239
- <label class="subheader"><?php _e( 'Points for Author Who Get Liked', WP_ULIKE_SLUG ); ?></label>
240
- <ol>
241
- <li>
242
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'get_like' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'get_like' => 'creds' ) ); ?>" value="<?php echo $this->core->number( $prefs['get_like']['creds'] ); ?>" size="8" /></div>
243
- </li>
244
- <li class="empty"></li>
245
- <li>
246
- <label for="<?php echo $this->field_id( array( 'get_like' => 'limit' ) ); ?>"><?php _e( 'Limit', WP_ULIKE_SLUG ); ?></label>
247
- <?php echo $this->hook_limit_setting( $this->field_name( array( 'get_like' => 'limit' ) ), $this->field_id( array( 'get_like' => 'limit' ) ), $prefs['get_like']['limit'] ); ?>
248
- </li>
249
- <li class="empty"></li>
250
- <li>
251
- <label for="<?php echo $this->field_id( array( 'get_like' => 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
252
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'get_like' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'get_like' => 'log' ) ); ?>" value="<?php echo esc_attr( $prefs['get_like']['log'] ); ?>" class="long" /></div>
253
- <span class="description"><?php echo $this->available_template_tags( array( 'general' ) ); ?></span>
254
- </li>
255
- </ol>
256
- <label class="subheader"><?php echo _e( 'Points for unliking content', WP_ULIKE_SLUG ); ?></label>
257
- <ol>
258
- <li>
259
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'add_unlike' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'add_unlike' => 'creds' ) ); ?>" value="<?php echo $this->core->number( $prefs['add_unlike']['creds'] ); ?>" size="8" /></div>
260
- </li>
261
- <li class="empty"></li>
262
- <li>
263
- <label for="<?php echo $this->field_id( array( 'add_unlike' => 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
264
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'add_unlike' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'add_unlike' => 'log' ) ); ?>" value="<?php echo esc_attr( $prefs['add_unlike']['log'] ); ?>" class="long" /></div>
265
- <span class="description"><?php echo $this->available_template_tags( array( 'general' ) ); ?></span>
266
- </li>
267
- </ol>
268
- <label class="subheader"><?php _e( 'Points for Author Who Get Unliked', WP_ULIKE_SLUG ); ?></label>
269
- <ol>
270
- <li>
271
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'get_unlike' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'get_unlike' => 'creds' ) ); ?>" value="<?php echo $this->core->number( $prefs['get_unlike']['creds'] ); ?>" size="8" /></div>
272
- </li>
273
- <li class="empty"></li>
274
- <li>
275
- <label for="<?php echo $this->field_id( array( 'get_unlike' => 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
276
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'get_unlike' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'get_unlike' => 'log' ) ); ?>" value="<?php echo esc_attr( $prefs['get_unlike']['log'] ); ?>" class="long" /></div>
277
- <span class="description"><?php echo $this->available_template_tags( array( 'general' ) ); ?></span>
278
- </li>
279
- </ol>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
280
  <?php
281
  }
282
 
37
  'get_unlike' => array(
38
  'creds' => -1,
39
  'log' => '%plural% for getting Unliked from a content'
40
+ ),
41
+ 'limits' => array(
42
+ 'self_reply' => 0
43
+ ),
44
  )
45
  ), $hook_prefs, $type );
46
 
62
  * @since 2.3
63
  */
64
  public function status( $id , $key, $user_id, $status ) {
65
+ $author_id = $this->get_author_ID( $key );
66
+ // Check status
67
+ if( ! in_array( $status, array( 'like', 'unlike' ) ) ){
68
+ return;
 
69
  }
70
+ // Call function by user status
71
+ call_user_func( array( $this, $status ), $id , $key, $user_id, $author_id );
 
 
 
 
72
  }
73
 
74
  /**
77
  * @since 2.3
78
  */
79
  public function like( $id , $key, $user_id, $author_id = 0 ) {
 
80
  // Check for exclusion
81
+ if ( wp_ulike_is_true( $this->core->exclude_user( $user_id ) ) || ! is_user_logged_in() ) return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
82
 
83
+ if ( $user_id != $author_id || wp_ulike_is_true( $this->prefs['limits']['self_reply'] ) ){
84
 
85
  // Award the user liking
86
  if ( $this->prefs['add_like']['creds'] ) {
134
  public function unlike( $id , $key, $user_id, $author_id = 0 ) {
135
 
136
  // Check for exclusion
137
+ if ( wp_ulike_is_true( $this->core->exclude_user( $user_id ) ) || ! is_user_logged_in() ) return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
138
 
139
+ if ( $user_id != $author_id || wp_ulike_is_true( $this->prefs['limits']['self_reply'] ) ){
140
 
141
  // Award the user liking
142
  if ( $this->prefs['add_unlike']['creds'] ) {
176
 
177
  }
178
 
179
+ /**
180
+ * Get buddpress user ID
181
+ *
182
+ * @param integer $activity_id
183
+ * @return integer
184
+ */
185
+ public function bp_get_auhtor_id($activity_id) {
186
+ $activity = bp_activity_get_specific( array( 'activity_ids' => $activity_id, 'display_comments' => true ) );
187
+ return $activity['activities'][0]->user_id;
188
+ }
189
+
190
+ /**
191
+ * Get author ID by it's type
192
+ *
193
+ * @param string $key
194
+ * @return integer
195
+ */
196
+ protected function get_author_ID( $key ){
197
+ // Default value
198
+ $author_id = 0;
199
+ // Get author ID by it's type
200
+ switch ( $key ) {
201
+ case '_liked':
202
+ case '_topicliked':
203
+ $author_id = get_post_field( 'post_author', $id );
204
+ break;
205
+ case '_commentliked':
206
+ $comment_id = get_comment( $id );
207
+ $author_id = $comment_id->user_id;
208
+ break;
209
+ case '_activityliked':
210
+ $author_id = $this->bp_get_auhtor_id( $id );
211
+ break;
212
+ }
213
+ return $author_id;
214
+ }
215
+
216
 
217
  /**
218
  * Preference for wp_ulike Hook
224
  $prefs = $this->prefs;
225
 
226
  ?>
227
+ <div class="hook-instance">
228
+ <h3><?php _e( 'Points for Liking content', WP_ULIKE_SLUG ); ?></h3>
229
+ <div class="row">
230
+ <div class="col-lg-2 col-md-6 col-sm-6 col-xs-12">
231
+ <div class="form-group">
232
+ <label for="<?php echo $this->field_id( array( 'add_like' => 'creds' ) ); ?>"><?php _e( 'Points', WP_ULIKE_SLUG ); ?></label>
233
+ <input type="text" name="<?php echo $this->field_name( array( 'add_like' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'add_like' => 'creds' ) ); ?>" value="<?php echo $this->core->number( $prefs['add_like']['creds'] ); ?>" class="form-control" />
234
+ <span class="description"><?php _e( 'Use zero to disable.', WP_ULIKE_SLUG ); ?></span>
235
+ </div>
236
+ </div>
237
+ <div class="col-lg-2 col-md-6 col-sm-12 col-xs-12">
238
+ <div class="form-group">
239
+ <label for="<?php echo $this->field_id( array( 'add_like', 'limit' ) ); ?>"><?php _e( 'Limit', WP_ULIKE_SLUG ); ?></label>
240
+ <?php echo $this->hook_limit_setting( $this->field_name( array( 'add_like', 'limit' ) ), $this->field_id( array( 'add_like', 'limit' ) ), $prefs['add_like']['limit'] ); ?>
241
+ </div>
242
+ </div>
243
+ <div class="col-lg-8 col-md-6 col-sm-12 col-xs-12">
244
+ <div class="form-group">
245
+ <label for="<?php echo $this->field_id( array( 'add_like' => 'log' ) ); ?>"><?php _e( 'Log template', WP_ULIKE_SLUG ); ?></label>
246
+ <input type="text" name="<?php echo $this->field_name( array( 'add_like' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'add_like' => 'log' ) ); ?>" placeholder="<?php _e( 'required', WP_ULIKE_SLUG ); ?>" value="<?php echo esc_attr( $prefs['add_like']['log'] ); ?>" class="form-control" />
247
+ <span class="description"><?php echo $this->available_template_tags( array( 'general' ) ); ?></span>
248
+ </div>
249
+ </div>
250
+ </div>
251
+ </div>
252
+ <div class="hook-instance">
253
+ <h3><?php _e( 'Points for Author Who Get Liked', WP_ULIKE_SLUG ); ?></h3>
254
+ <div class="row">
255
+ <div class="col-lg-2 col-md-6 col-sm-6 col-xs-12">
256
+ <div class="form-group">
257
+ <label for="<?php echo $this->field_id( array( 'get_like' => 'creds' ) ); ?>"><?php _e( 'Points', WP_ULIKE_SLUG ); ?></label>
258
+ <input type="text" name="<?php echo $this->field_name( array( 'get_like' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'get_like' => 'creds' ) ); ?>" value="<?php echo $this->core->number( $prefs['get_like']['creds'] ); ?>" class="form-control" />
259
+ <span class="description"><?php _e( 'Use zero to disable.', WP_ULIKE_SLUG ); ?></span>
260
+ </div>
261
+ </div>
262
+ <div class="col-lg-2 col-md-6 col-sm-12 col-xs-12">
263
+ <div class="form-group">
264
+ <label for="<?php echo $this->field_id( array( 'get_like', 'limit' ) ); ?>"><?php _e( 'Limit', WP_ULIKE_SLUG ); ?></label>
265
+ <?php echo $this->hook_limit_setting( $this->field_name( array( 'get_like', 'limit' ) ), $this->field_id( array( 'get_like', 'limit' ) ), $prefs['get_like']['limit'] ); ?>
266
+ </div>
267
+ </div>
268
+ <div class="col-lg-8 col-md-6 col-sm-12 col-xs-12">
269
+ <div class="form-group">
270
+ <label for="<?php echo $this->field_id( array( 'get_like' => 'log' ) ); ?>"><?php _e( 'Log template', WP_ULIKE_SLUG ); ?></label>
271
+ <input type="text" name="<?php echo $this->field_name( array( 'get_like' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'get_like' => 'log' ) ); ?>" placeholder="<?php _e( 'required', WP_ULIKE_SLUG ); ?>" value="<?php echo esc_attr( $prefs['get_like']['log'] ); ?>" class="form-control" />
272
+ <span class="description"><?php echo $this->available_template_tags( array( 'general' ) ); ?></span>
273
+ </div>
274
+ </div>
275
+ </div>
276
+ </div>
277
+ <div class="hook-instance">
278
+ <h3><?php _e( 'Points for unliking content', WP_ULIKE_SLUG ); ?></h3>
279
+ <div class="row">
280
+ <div class="col-lg-2 col-md-6 col-sm-6 col-xs-12">
281
+ <div class="form-group">
282
+ <label for="<?php echo $this->field_id( array( 'add_unlike' => 'creds' ) ); ?>"><?php _e( 'Points', WP_ULIKE_SLUG ); ?></label>
283
+ <input type="text" name="<?php echo $this->field_name( array( 'add_unlike' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'add_unlike' => 'creds' ) ); ?>" value="<?php echo $this->core->number( $prefs['add_unlike']['creds'] ); ?>" class="form-control" />
284
+ <span class="description"><?php _e( 'Use zero to disable.', WP_ULIKE_SLUG ); ?></span>
285
+ </div>
286
+ </div>
287
+ <div class="col-lg-10 col-md-6 col-sm-12 col-xs-12">
288
+ <div class="form-group">
289
+ <label for="<?php echo $this->field_id( array( 'add_unlike' => 'log' ) ); ?>"><?php _e( 'Log template', WP_ULIKE_SLUG ); ?></label>
290
+ <input type="text" name="<?php echo $this->field_name( array( 'add_unlike' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'add_unlike' => 'log' ) ); ?>" placeholder="<?php _e( 'required', WP_ULIKE_SLUG ); ?>" value="<?php echo esc_attr( $prefs['add_unlike']['log'] ); ?>" class="form-control" />
291
+ <span class="description"><?php echo $this->available_template_tags( array( 'general' ) ); ?></span>
292
+ </div>
293
+ </div>
294
+ </div>
295
+ </div>
296
+ <div class="hook-instance">
297
+ <h3><?php _e( 'Points for Author Who Get Unliked', WP_ULIKE_SLUG ); ?></h3>
298
+ <div class="row">
299
+ <div class="col-lg-2 col-md-6 col-sm-6 col-xs-12">
300
+ <div class="form-group">
301
+ <label for="<?php echo $this->field_id( array( 'get_unlike' => 'creds' ) ); ?>"><?php _e( 'Points', WP_ULIKE_SLUG ); ?></label>
302
+ <input type="text" name="<?php echo $this->field_name( array( 'get_unlike' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'get_unlike' => 'creds' ) ); ?>" value="<?php echo $this->core->number( $prefs['get_unlike']['creds'] ); ?>" class="form-control" />
303
+ <span class="description"><?php _e( 'Use zero to disable.', WP_ULIKE_SLUG ); ?></span>
304
+ </div>
305
+ </div>
306
+ <div class="col-lg-10 col-md-6 col-sm-12 col-xs-12">
307
+ <div class="form-group">
308
+ <label for="<?php echo $this->field_id( array( 'get_unlike' => 'log' ) ); ?>"><?php _e( 'Log template', WP_ULIKE_SLUG ); ?></label>
309
+ <input type="text" name="<?php echo $this->field_name( array( 'get_unlike' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'get_unlike' => 'log' ) ); ?>" placeholder="<?php _e( 'required', WP_ULIKE_SLUG ); ?>" value="<?php echo esc_attr( $prefs['get_unlike']['log'] ); ?>" class="form-control" />
310
+ <span class="description"><?php echo $this->available_template_tags( array( 'general' ) ); ?></span>
311
+ </div>
312
+ </div>
313
+ </div>
314
+ </div>
315
+ <div class="hook-instance">
316
+ <h3><?php _e( 'Limits', WP_ULIKE_SLUG ); ?></h3>
317
+ <div class="row">
318
+ <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
319
+ <div class="form-group">
320
+ <div class="checkbox">
321
+ <label for="<?php echo $this->field_id( array( 'limits' => 'self_reply' ) ); ?>"><input type="checkbox" name="<?php echo $this->field_name( array( 'limits' => 'self_reply' ) ); ?>" id="<?php echo $this->field_id( array( 'limits' => 'self_reply' ) ); ?>" <?php checked( $prefs['limits']['self_reply'], 1 ); ?> value="1" /> <?php echo $this->core->template_tags_general( __( '%plural% is to be awarded even when item authors Like/Unlike their own item.', WP_ULIKE_SLUG ) ); ?></label>
322
+ </div>
323
+ </div>
324
+ </div>
325
+ </div>
326
+ </div>
327
  <?php
328
  }
329
 
inc/classes/class-wp-ulike.php CHANGED
@@ -109,7 +109,7 @@ if ( ! class_exists( 'wp_ulike' ) ) {
109
  array( '%d', '%s', '%s', '%s', '%s' )
110
  );
111
  // Formatting the output
112
- $output = $this->get_counter_value( $id, $slug );
113
  // After process hook
114
  do_action_ref_array( 'wp_ulike_after_process',
115
  array(
@@ -176,7 +176,7 @@ if ( ! class_exists( 'wp_ulike' ) ) {
176
 
177
  }
178
  // Formatting the output
179
- $output = $this->get_counter_value( $id, $slug );
180
  // After process hook
181
  do_action_ref_array( 'wp_ulike_after_process',
182
  array(
@@ -252,7 +252,7 @@ if ( ! class_exists( 'wp_ulike' ) ) {
252
  }
253
 
254
  // Formatting the output
255
- $output = $this->get_counter_value( $id, $slug );
256
  // After process hook
257
  do_action_ref_array( 'wp_ulike_after_process',
258
  array(
@@ -276,9 +276,24 @@ if ( ! class_exists( 'wp_ulike' ) ) {
276
  * @param string $slug
277
  * @return integer
278
  */
279
- private function get_counter_value( $id, $slug ){
280
- $counter = wp_ulike_format_number( wp_ulike_get_counter_value( $id, $slug, $this->status, $this->is_distinct ), $this->status );
281
- return apply_filters( 'wp_ulike_ajax_counter_value', $counter, $id, $slug, $this->status, $this->is_distinct );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
282
  }
283
 
284
  /**
@@ -385,15 +400,15 @@ if ( ! class_exists( 'wp_ulike' ) ) {
385
  $general_class_name .= ' wp_ulike_is_already_liked';
386
  }
387
 
388
- $total_likes = wp_ulike_get_counter_value( $args['id'], $args['slug'], 'like', $this->is_distinct );
389
- $counter = apply_filters( 'wp_ulike_count_box_template', '<span class="count-box">'. wp_ulike_format_number( $total_likes ) .'</span>' , $total_likes );
390
  $args['is_distinct'] = $this->is_distinct;
391
 
392
  $wp_ulike_template = apply_filters( 'wp_ulike_add_templates_args', array(
393
  "ID" => esc_attr( $args['id'] ),
394
  "wrapper_class" => esc_attr( $args['wrapper_class'] ),
395
  "slug" => esc_attr( $args['slug'] ),
396
- "counter" => $counter,
397
  "total_likes" => $total_likes,
398
  "type" => esc_attr( $args['method'] ),
399
  "status" => esc_attr( $status ),
109
  array( '%d', '%s', '%s', '%s', '%s' )
110
  );
111
  // Formatting the output
112
+ $output = $this->get_ajax_counter_value( $id, $slug );
113
  // After process hook
114
  do_action_ref_array( 'wp_ulike_after_process',
115
  array(
176
 
177
  }
178
  // Formatting the output
179
+ $output = $this->get_ajax_counter_value( $id, $slug );
180
  // After process hook
181
  do_action_ref_array( 'wp_ulike_after_process',
182
  array(
252
  }
253
 
254
  // Formatting the output
255
+ $output = $this->get_ajax_counter_value( $id, $slug );
256
  // After process hook
257
  do_action_ref_array( 'wp_ulike_after_process',
258
  array(
276
  * @param string $slug
277
  * @return integer
278
  */
279
+ private function get_ajax_counter_value( $id, $slug ){
280
+ $counter_val = $this->get_counter_value( $id, $slug, $this->status, $this->is_distinct );
281
+ $formatted_val = wp_ulike_format_number( $counter_val, $this->status );
282
+ return apply_filters( 'wp_ulike_ajax_counter_value', $formatted_val, $id, $slug, $this->status, $this->is_distinct );
283
+ }
284
+
285
+ /**
286
+ * Get counter value
287
+ *
288
+ * @param integer $id
289
+ * @param string $slug
290
+ * @param string $status
291
+ * @param bool $is_distinct
292
+ * @return integer
293
+ */
294
+ private function get_counter_value( $id, $slug, $status, $is_distinct ){
295
+ $counter_val = wp_ulike_get_counter_value_info( $id, $slug, $status, $is_distinct );
296
+ return ! is_wp_error( $counter_val ) ? $counter_val : 0;
297
  }
298
 
299
  /**
400
  $general_class_name .= ' wp_ulike_is_already_liked';
401
  }
402
 
403
+ $total_likes = $this->get_counter_value( $args['id'], $args['slug'], 'like', $this->is_distinct );
404
+ $formatted_val = apply_filters( 'wp_ulike_count_box_template', '<span class="count-box">'. wp_ulike_format_number( $total_likes ) .'</span>' , $total_likes );
405
  $args['is_distinct'] = $this->is_distinct;
406
 
407
  $wp_ulike_template = apply_filters( 'wp_ulike_add_templates_args', array(
408
  "ID" => esc_attr( $args['id'] ),
409
  "wrapper_class" => esc_attr( $args['wrapper_class'] ),
410
  "slug" => esc_attr( $args['slug'] ),
411
+ "counter" => $formatted_val,
412
  "total_likes" => $total_likes,
413
  "type" => esc_attr( $args['method'] ),
414
  "status" => esc_attr( $status ),
inc/general-functions.php CHANGED
@@ -762,17 +762,17 @@ if( ! function_exists( 'wp_ulike_get_options_info' ) ){
762
  }
763
  }
764
 
765
- if( ! function_exists( 'wp_ulike_get_counter_value' ) ){
766
  /**
767
- * Get counter value
768
  *
769
  * @param integer $ID
770
  * @param string $type
771
  * @param string $status
772
  * @param boolean $is_distinct
773
- * @return integer
774
  */
775
- function wp_ulike_get_counter_value( $ID, $type, $status = 'like', $is_distinct = true ){
776
  global $wpdb;
777
 
778
  $status = ltrim( $status, 'un');
@@ -802,6 +802,21 @@ if( ! function_exists( 'wp_ulike_get_counter_value' ) ){
802
  }
803
  }
804
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
805
 
806
  if( ! function_exists( 'wp_ulike_get_table_info' ) ){
807
  /**
@@ -913,7 +928,7 @@ if( ! function_exists( 'wp_ulike_get_most_liked_posts' ) ){
913
  * Get most liked posts in query
914
  *
915
  * @param integer $numberposts
916
- * @param string $post_type
917
  * @param string $method
918
  * @param string $period
919
  * @param string $status
@@ -991,8 +1006,7 @@ if( ! function_exists( 'wp_ulike_get_post_likes' ) ){
991
  * @return String
992
  */
993
  function wp_ulike_get_post_likes( $post_ID, $status = 'like' ){
994
- $value = wp_ulike_get_counter_value( $post_ID, 'post', $status );
995
- return ! is_wp_error( $value ) ? $value : 0;
996
  }
997
  }
998
 
@@ -1167,8 +1181,7 @@ if( ! function_exists( 'wp_ulike_get_comment_likes' ) ){
1167
  * @return String
1168
  */
1169
  function wp_ulike_get_comment_likes( $comment_ID ){
1170
- $value = wp_ulike_get_counter_value( $comment_ID, 'comment' );
1171
- return ! is_wp_error( $value ) ? $value : 0;
1172
  }
1173
  }
1174
 
762
  }
763
  }
764
 
765
+ if( ! function_exists( 'wp_ulike_get_counter_value_info' ) ){
766
  /**
767
+ * Get counter value info
768
  *
769
  * @param integer $ID
770
  * @param string $type
771
  * @param string $status
772
  * @param boolean $is_distinct
773
+ * @return WP_Error[]|integer
774
  */
775
+ function wp_ulike_get_counter_value_info( $ID, $type, $status = 'like', $is_distinct = true ){
776
  global $wpdb;
777
 
778
  $status = ltrim( $status, 'un');
802
  }
803
  }
804
 
805
+ if( ! function_exists( 'wp_ulike_get_counter_value' ) ){
806
+ /**
807
+ * Get counter value
808
+ *
809
+ * @param integer $ID
810
+ * @param string $type
811
+ * @param string $status
812
+ * @param boolean $is_distinct
813
+ * @return integer
814
+ */
815
+ function wp_ulike_get_counter_value( $ID, $type, $status = 'like', $is_distinct = true ){
816
+ $counter_info = wp_ulike_get_counter_value_info( $ID, $type, $status, $is_distinct );
817
+ return ! is_wp_error( $counter_info ) ? $counter_info : 0;
818
+ }
819
+ }
820
 
821
  if( ! function_exists( 'wp_ulike_get_table_info' ) ){
822
  /**
928
  * Get most liked posts in query
929
  *
930
  * @param integer $numberposts
931
+ * @param array|string $post_type
932
  * @param string $method
933
  * @param string $period
934
  * @param string $status
1006
  * @return String
1007
  */
1008
  function wp_ulike_get_post_likes( $post_ID, $status = 'like' ){
1009
+ return wp_ulike_get_counter_value( $post_ID, 'post', $status );
 
1010
  }
1011
  }
1012
 
1181
  * @return String
1182
  */
1183
  function wp_ulike_get_comment_likes( $comment_ID ){
1184
+ return wp_ulike_get_counter_value( $comment_ID, 'comment' );
 
1185
  }
1186
  }
1187
 
inc/general-hooks.php CHANGED
@@ -832,6 +832,11 @@ if( ! function_exists( 'wp_ulike_purge_w3_total_cache' ) && function_exists( 'w3
832
  function wp_ulike_purge_w3_total_cache( $ID, $type ){
833
  if( $type === '_liked' ){
834
  w3tc_pgcache_flush_post( $ID );
 
 
 
 
 
835
  } else {
836
  w3tc_pgcache_flush();
837
  }
@@ -878,8 +883,21 @@ if( ! function_exists( 'wp_ulike_purge_wp_fastest_cache' ) && class_exists( 'WpF
878
  }
879
  }
880
  }
881
- } elseif( $type === '_liked' ){
882
- $cache_interface->singleDeleteCache( false, $ID );
 
 
 
 
 
 
 
 
 
 
 
 
 
883
  }
884
 
885
  }
@@ -898,6 +916,11 @@ if( ! function_exists( 'wp_ulike_purge_wp_super_cache' ) && function_exists( 'wp
898
  function wp_ulike_purge_wp_super_cache( $ID, $type ){
899
  if( $type === '_liked' ){
900
  wpsc_delete_post_cache( $ID );
 
 
 
 
 
901
  }
902
  }
903
  add_action( 'wp_ulike_after_process', 'wp_ulike_purge_wp_super_cache' , 10, 2 );
@@ -915,6 +938,11 @@ if( ! function_exists( 'wp_ulike_purge_rocket_cache' ) && function_exists( 'rock
915
  function wp_ulike_purge_rocket_cache( $ID, $type ){
916
  if( $type === '_liked' ){
917
  rocket_clean_post( $ID );
 
 
 
 
 
918
  }
919
  }
920
  add_action( 'wp_ulike_after_process', 'wp_ulike_purge_rocket_cache' , 10, 2 );
832
  function wp_ulike_purge_w3_total_cache( $ID, $type ){
833
  if( $type === '_liked' ){
834
  w3tc_pgcache_flush_post( $ID );
835
+ } elseif( $type === '_commentliked' ){
836
+ $comment = get_comment( $ID );
837
+ if( isset( $comment->comment_post_ID ) ){
838
+ w3tc_pgcache_flush_post( $comment->comment_post_ID );
839
+ }
840
  } else {
841
  w3tc_pgcache_flush();
842
  }
883
  }
884
  }
885
  }
886
+ } elseif( in_array( $type, array( '_liked', '_commentliked' ) ) ){
887
+ $comment_id = false;
888
+ $post_id = $ID;
889
+ if( $type === '_commentliked' ){
890
+ $comment = get_comment( $ID );
891
+ if( isset( $comment->comment_post_ID ) ){
892
+ $comment_id = $ID;
893
+ $post_id = $comment->comment_post_ID;
894
+ } else {
895
+ $post_id = NULL;
896
+ }
897
+ }
898
+ if( ! empty( $post_id ) ){
899
+ $cache_interface->singleDeleteCache( $comment_id, $post_id );
900
+ }
901
  }
902
 
903
  }
916
  function wp_ulike_purge_wp_super_cache( $ID, $type ){
917
  if( $type === '_liked' ){
918
  wpsc_delete_post_cache( $ID );
919
+ } elseif( $type === '_commentliked' ){
920
+ $comment = get_comment( $ID );
921
+ if( isset( $comment->comment_post_ID ) ){
922
+ wpsc_delete_post_cache( $comment->comment_post_ID );
923
+ }
924
  }
925
  }
926
  add_action( 'wp_ulike_after_process', 'wp_ulike_purge_wp_super_cache' , 10, 2 );
938
  function wp_ulike_purge_rocket_cache( $ID, $type ){
939
  if( $type === '_liked' ){
940
  rocket_clean_post( $ID );
941
+ } elseif( $type === '_commentliked' ){
942
+ $comment = get_comment( $ID );
943
+ if( isset( $comment->comment_post_ID ) ){
944
+ rocket_clean_post( $comment->comment_post_ID );
945
+ }
946
  }
947
  }
948
  add_action( 'wp_ulike_after_process', 'wp_ulike_purge_rocket_cache' , 10, 2 );
readme.txt CHANGED
@@ -2,11 +2,11 @@
2
  Contributors: alimir
3
  Donate link: https://wpulike.com/?utm_source=wp-repo&utm_medium=link&utm_campaign=readme
4
  Author: Ali Mirzaei
5
- Tags: wp ulike, elementor, like, dislike, 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 PHP: 5.4
7
  Requires at least: 3.5.0
8
  Tested up to: 5.3
9
- Stable tag: 4.0.0
10
  License: GPLv2 or later
11
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
12
 
@@ -34,9 +34,12 @@ Choose from 10+ of our beautiful [templates](https://wpulike.com/templates/?utm_
34
  = Try WP ULike Pro =
35
  So let's talk [PROfessional](https://wpulike.com/pricing/?utm_source=wp-repo&utm_medium=link&utm_campaign=readme)! WP ULike Pro has support DisLike button alongside Like button, both of them are completely customizable in our redesigned settings menu with tones of features and more beautiful and stylish templates. the PRO version of plugin is now compatible with Elementor Page builder and you can easily choose from +7 widgets by simply drag and drop them to your content. as you build your page and content with Elementor, you can add and customize Like and Dislike button in every part such as Posts, Comments, activities, etc.
36
 
 
 
37
  = More Information =
38
  * Visit Our [Home Page](https://wpulike.com/?utm_source=wp-repo&utm_medium=link&utm_campaign=readme).
39
  * See Online [Demo](https://wpulike.com/templates/?utm_source=wp-repo&utm_medium=link&utm_campaign=readme).
 
40
  * Fork Us In [Github](https://github.com/Alimir/wp-ulike).
41
 
42
  = Features =
@@ -185,6 +188,12 @@ define( 'WP_MEMORY_LIMIT', '256M' );
185
 
186
  == Changelog ==
187
 
 
 
 
 
 
 
188
  = 4.0.0 =
189
  * Added: New structure which switches the number of likes from meta values to the number of database logs.
190
  * Added: Custom ID support to have multiple buttons in same page.
2
  Contributors: alimir
3
  Donate link: https://wpulike.com/?utm_source=wp-repo&utm_medium=link&utm_campaign=readme
4
  Author: Ali Mirzaei
5
+ Tags: wp ulike, like button, elementor, like, dislike, wordpress youlike plugin, 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, ranking
6
  Requires PHP: 5.4
7
  Requires at least: 3.5.0
8
  Tested up to: 5.3
9
+ Stable tag: 4.0.1
10
  License: GPLv2 or later
11
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
12
 
34
  = Try WP ULike Pro =
35
  So let's talk [PROfessional](https://wpulike.com/pricing/?utm_source=wp-repo&utm_medium=link&utm_campaign=readme)! WP ULike Pro has support DisLike button alongside Like button, both of them are completely customizable in our redesigned settings menu with tones of features and more beautiful and stylish templates. the PRO version of plugin is now compatible with Elementor Page builder and you can easily choose from +7 widgets by simply drag and drop them to your content. as you build your page and content with Elementor, you can add and customize Like and Dislike button in every part such as Posts, Comments, activities, etc.
36
 
37
+ Join the elite web professionals who enjoy **[WP ULike PRO](https://wpulike.com/?utm_source=wp-repo&utm_medium=link&utm_campaign=readme)**.
38
+
39
  = More Information =
40
  * Visit Our [Home Page](https://wpulike.com/?utm_source=wp-repo&utm_medium=link&utm_campaign=readme).
41
  * See Online [Demo](https://wpulike.com/templates/?utm_source=wp-repo&utm_medium=link&utm_campaign=readme).
42
+ * For documentation and tutorials go to our [Documentation](https://docs.wpulike.com/?utm_source=wp-repo&utm_medium=link&utm_campaign=readme).
43
  * Fork Us In [Github](https://github.com/Alimir/wp-ulike).
44
 
45
  = Features =
188
 
189
  == Changelog ==
190
 
191
+ = 4.0.1 =
192
+ * Added: New myCred option for points to be awarded even when item authors Like/Unlike their own item.
193
+ * Fixed: Some important issues in myCred functionality.
194
+ * Fixed: An issue with get counter value.
195
+ * Fixed: Some styling issues.
196
+
197
  = 4.0.0 =
198
  * Added: New structure which switches the number of likes from meta values to the number of database logs.
199
  * Added: Custom ID support to have multiple buttons in same page.
wp-ulike.php CHANGED
@@ -10,7 +10,7 @@
10
  * Plugin Name: WP ULike
11
  * Plugin URI: https://wpulike.com/?utm_source=wp-plugins&utm_campaign=plugin-uri&utm_medium=wp-dash
12
  * Description: WP ULike plugin allows to integrate a beautiful Ajax Like Button into your wordPress website to allow your visitors to like and unlike pages, posts, comments AND buddypress activities. Its very simple to use and supports many options.
13
- * Version: 4.0.0
14
  * Author: Ali Mirzaei
15
  * Author URI: https://wpulike.com/?utm_source=wp-plugins&utm_campaign=author-uri&utm_medium=wp-dash
16
  * Text Domain: wp-ulike
@@ -46,7 +46,7 @@ if ( defined( 'WP_INSTALLING' ) && WP_INSTALLING ) {
46
 
47
  // Do not change these values
48
  define( 'WP_ULIKE_PLUGIN_URI' , 'https://wpulike.com/' );
49
- define( 'WP_ULIKE_VERSION' , '4.0.0' );
50
  define( 'WP_ULIKE_SLUG' , 'wp-ulike' );
51
  define( 'WP_ULIKE_NAME' , __( 'WP ULike', WP_ULIKE_SLUG ));
52
 
10
  * Plugin Name: WP ULike
11
  * Plugin URI: https://wpulike.com/?utm_source=wp-plugins&utm_campaign=plugin-uri&utm_medium=wp-dash
12
  * Description: WP ULike plugin allows to integrate a beautiful Ajax Like Button into your wordPress website to allow your visitors to like and unlike pages, posts, comments AND buddypress activities. Its very simple to use and supports many options.
13
+ * Version: 4.0.1
14
  * Author: Ali Mirzaei
15
  * Author URI: https://wpulike.com/?utm_source=wp-plugins&utm_campaign=author-uri&utm_medium=wp-dash
16
  * Text Domain: wp-ulike
46
 
47
  // Do not change these values
48
  define( 'WP_ULIKE_PLUGIN_URI' , 'https://wpulike.com/' );
49
+ define( 'WP_ULIKE_VERSION' , '4.0.1' );
50
  define( 'WP_ULIKE_SLUG' , 'wp-ulike' );
51
  define( 'WP_ULIKE_NAME' , __( 'WP ULike', WP_ULIKE_SLUG ));
52