Social Share Icons & Social Share Buttons - Version 3.2.0

Version Description

  • Update: SDK.
  • Update: Grammer Errors.
Download this release

Release Info

Developer socialdude
Plugin Icon 128x128 Social Share Icons & Social Share Buttons
Version 3.2.0
Comparing to
See all releases

Code changes from version 3.1.9 to 3.2.0

Files changed (66) hide show
  1. analyst/{assets → analyst/assets}/css/customize.css +280 -280
  2. analyst/{assets → analyst/assets}/img/pencil.png +0 -0
  3. analyst/{assets → analyst/assets}/img/shield_question.png +0 -0
  4. analyst/{assets → analyst/assets}/img/shield_success.png +0 -0
  5. analyst/{assets → analyst/assets}/img/smile.png +0 -0
  6. analyst/{assets → analyst/assets}/index.php +2 -2
  7. analyst/{assets → analyst/assets}/js/customize.js +29 -29
  8. analyst/{autoload.php → analyst/autoload.php} +40 -38
  9. analyst/{index.php → analyst/index.php} +2 -2
  10. analyst/{main.php → analyst/main.php} +36 -36
  11. analyst/{sdk_resolver.php → analyst/sdk_resolver.php} +79 -79
  12. analyst/{src → analyst/src}/Account/Account.php +606 -606
  13. analyst/{src → analyst/src}/Account/AccountData.php +176 -176
  14. analyst/{src → analyst/src}/Account/AccountDataFactory.php +125 -121
  15. analyst/{src → analyst/src}/Analyst.php +167 -167
  16. analyst/{src → analyst/src}/ApiRequestor.php +257 -257
  17. analyst/{src → analyst/src}/ApiResponse.php +44 -44
  18. analyst/{src → analyst/src}/Cache/DatabaseCache.php +127 -118
  19. analyst/{src → analyst/src}/Collector.php +217 -217
  20. analyst/{src → analyst/src}/Contracts/AnalystContract.php +12 -12
  21. analyst/{src → analyst/src}/Contracts/CacheContract.php +47 -47
  22. analyst/{src → analyst/src}/Contracts/HttpClientContract.php +25 -25
  23. analyst/{src → analyst/src}/Contracts/RequestContract.php +22 -22
  24. analyst/{src → analyst/src}/Contracts/RequestorContract.php +44 -44
  25. analyst/{src → analyst/src}/Contracts/TrackerContract.php +69 -69
  26. analyst/analyst/src/Core/AbstractFactory.php +27 -0
  27. analyst/{src → analyst/src}/Http/CurlHttpClient.php +102 -102
  28. analyst/{src → analyst/src}/Http/DummyHttpClient.php +33 -33
  29. analyst/{src → analyst/src}/Http/Requests/AbstractLoggerRequest.php +64 -64
  30. analyst/{src → analyst/src}/Http/Requests/ActivateRequest.php +42 -42
  31. analyst/{src → analyst/src}/Http/Requests/DeactivateRequest.php +64 -64
  32. analyst/{src → analyst/src}/Http/Requests/InstallRequest.php +38 -38
  33. analyst/{src → analyst/src}/Http/Requests/OptInRequest.php +42 -42
  34. analyst/{src → analyst/src}/Http/Requests/OptOutRequest.php +40 -40
  35. analyst/{src → analyst/src}/Http/Requests/UninstallRequest.php +36 -36
  36. analyst/{src → analyst/src}/Http/WordPressHttpClient.php +61 -61
  37. analyst/{src → analyst/src}/Mutator.php +103 -103
  38. analyst/{src → analyst/src}/Notices/Notice.php +121 -121
  39. analyst/{src → analyst/src}/Notices/NoticeFactory.php +130 -126
  40. analyst/{src → analyst/src}/helpers.php +84 -82
  41. analyst/{templates → analyst/templates}/forms/deactivate.php +156 -156
  42. analyst/{templates → analyst/templates}/forms/install.php +110 -110
  43. analyst/{templates → analyst/templates}/notice.php +10 -10
  44. analyst/{templates → analyst/templates}/optin.php +60 -60
  45. analyst/{templates → analyst/templates}/optout.php +109 -109
  46. analyst/{version.php → analyst/version.php} +15 -15
  47. dist/blocks.build.js +1 -1
  48. dist/blocks.editor.build.css +1 -1
  49. freemius/includes/class-freemius.php +15 -15
  50. freemius/includes/class-fs-plugin-updater.php +1 -1
  51. freemius/includes/class-fs-storage.php +4 -4
  52. freemius/includes/i18n.php +1 -1
  53. freemius/start.php +1 -1
  54. freemius/templates/add-ons.php +196 -196
  55. freemius/templates/forms/deactivation/retry-skip.php +23 -23
  56. images/website_theme/{others.png → Others.png} +0 -0
  57. languages/ultimate-social-media-plus-fa_IR.po +1823 -1823
  58. libs/sfsi_custom_social_sharing_data.php +76 -76
  59. libs/sfsi_install_uninstall.php +1158 -1158
  60. readme.txt +901 -897
  61. ultimate_social_media_icons.php +1372 -1372
  62. views/sfsi_option_view1.php +689 -689
  63. views/sfsi_option_view2.php +868 -868
  64. views/sfsi_option_view3.php +422 -422
  65. views/sfsi_option_view4.php +898 -898
  66. views/sfsi_option_view5.php +0 -954
analyst/{assets → analyst/assets}/css/customize.css RENAMED
@@ -1,280 +1,280 @@
1
- .analyst-action-opt {
2
- cursor: pointer;
3
- }
4
-
5
- .analyst-modal {
6
- color: #000000;
7
- display: none;
8
- position: fixed;
9
- z-index: 1000;
10
- padding-top: 100px;
11
- left: 0;
12
- top: 0;
13
- width: 100%;
14
- height: 100%;
15
- overflow: auto;
16
- background-color: rgb(0,0,0);
17
- background-color: rgba(0,0,0,0.4);
18
- }
19
-
20
- .analyst-modal-content {
21
- font-family: Helvetica, serif;
22
- position: relative;
23
- background-color: #fefefe;
24
- margin: auto;
25
- padding: 35px 35px 20px;
26
- border: 1px solid #F2F2F2;
27
- width: 40%;
28
- box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
29
- -webkit-animation-name: analyst-animatetop;
30
- -webkit-animation-duration: 0.4s;
31
- animation-name: analyst-animatetop;
32
- animation-duration: 0.4s
33
- }
34
-
35
- .analyst-btn-success {
36
- cursor: pointer;
37
- color: #ffffff;
38
- background-color: #00AF5E;
39
- border: none;
40
- width: 100%;
41
- font-size: 18px;
42
- padding: 8px;
43
- font-weight: bold;
44
- }
45
-
46
- .analyst-btn-grey {
47
- cursor: pointer;
48
- color: #2D2D2D;
49
- background-color: #D8D8D8;
50
- border: none;
51
- width: 100%;
52
- font-size: 18px;
53
- padding: 8px;
54
- font-weight: bold;
55
- }
56
-
57
- .analyst-btn-secondary-ghost {
58
- cursor: pointer;
59
- background: transparent;
60
- border: none;
61
- color: #898686;
62
- font-size: 18px;
63
- }
64
-
65
- .analyst-modal-def-top-padding {
66
- padding-top: 20px;
67
- }
68
-
69
- .analyst-modal-header {
70
- font-size: 20px;
71
- font-weight: bold;
72
- }
73
-
74
- /*INSTALL STYLES*/
75
- .analyst-install-footer {
76
- padding-top: 10px;
77
- text-align: center;
78
- }
79
-
80
- .analyst-install-image-block {
81
- width: 140px;
82
- }
83
-
84
- .analyst-install-image-block img {
85
- width: inherit;
86
- }
87
-
88
- .analyst-install-description-block {
89
- padding-left: 40px;
90
- padding-top: 5px
91
- }
92
-
93
- .analyst-install-description-text {
94
- font-size: 16px;
95
- color: #000000;
96
- }
97
-
98
- .analyst-install-permissions-list {
99
- list-style: disc inside;
100
- }
101
-
102
- .analyst-install-permissions-list li {
103
- padding-left: 15px;
104
- margin-bottom: 2px;
105
- }
106
-
107
- .analyst-install-footer span {
108
- color: #8a8787;
109
- padding-right: 10px;
110
- padding-left: 10px;
111
- }
112
-
113
- .analyst-install-footer span:not(:last-child) {
114
- border-right: 1px solid #8a8787;
115
- }
116
-
117
- /*INSTALL STYLES*/
118
-
119
- .reason-answer {
120
- padding: 7px;
121
- margin-left: 23px;
122
- border: 1px solid #F2F2F2;
123
- }
124
-
125
- .analyst-link {
126
- color: #00AF5E;
127
- text-decoration: none;
128
- }
129
-
130
- .analyst-action-text {
131
- cursor: pointer;
132
- }
133
-
134
- .analyst-action-text:hover {
135
- color: #9d9a9a;
136
- }
137
-
138
- .analyst-disable-modal-mask {
139
- width: 100%;
140
- height: 100%;
141
- opacity: 0.5;
142
- position: absolute;
143
- background: white;
144
- top: 0;
145
- left: 0;
146
- }
147
-
148
- .analyst-smile-image {
149
- vertical-align: middle;
150
- padding-bottom: 3px;
151
- width: 24px;
152
- }
153
-
154
- #analyst-deactivation-reasons li {
155
- padding-bottom: 3px;
156
- font-size: 16px;
157
- color: #000000;
158
- }
159
-
160
- @-webkit-keyframes analyst-animatetop {
161
- from {top:-300px; opacity:0}
162
- to {top:0; opacity:1}
163
- }
164
-
165
- @keyframes analyst-animatetop {
166
- from {top:-300px; opacity:0}
167
- to {top:0; opacity:1}
168
- }
169
-
170
- .analyst-modal-close {
171
- color: #48036F;
172
- font-size: 28px;
173
- font-weight: bold;
174
- top: 12px;
175
- position: absolute;
176
- right: 15px;
177
- }
178
-
179
- .analyst-modal-close:hover,
180
- .analyst-modal-close:focus {
181
- color: #000;
182
- text-decoration: none;
183
- cursor: pointer;
184
- }
185
-
186
- .analyst-modal-body {padding: 2px 16px;}
187
-
188
- .analyst-modal-footer {
189
- padding: 6px 16px;
190
- background-color: #FFE773;
191
- color: white;
192
- }
193
-
194
- #analyst-deactivate-modal .question-answer input, textarea {
195
- margin-top: 5px;
196
- width: 100%;
197
- }
198
-
199
- .analyst-btn-primary {
200
- cursor: pointer;
201
- border: none;
202
- display:inline-block;
203
- padding:0.7em 1.4em;
204
- margin:0 0.3em 0.3em 0;
205
- border-radius:0.15em;
206
- box-sizing: border-box;
207
- text-decoration:none;
208
- font-family:'Roboto',sans-serif;
209
- text-transform:uppercase;
210
- font-weight:400;
211
- color:#FFFFFF;
212
- background-color:#9F3ED5;
213
- box-shadow:inset 0 -0.6em 0 -0.35em rgba(0,0,0,0.17);
214
- text-align:center;
215
- position:relative;
216
- }
217
-
218
- .analyst-btn-primary:disabled {
219
- background-color: #AD66D5;
220
- cursor: not-allowed;
221
- }
222
-
223
- .analyst-btn-primary:active{
224
- top:0.1em;
225
- }
226
- @media all and (max-width:30em){
227
- .analyst-btn-primary {
228
- display:block;
229
- margin:0.4em auto;
230
- }
231
- }
232
-
233
- .analyst-btn-secondary {
234
- cursor: pointer;
235
- border: none;
236
- display:inline-block;
237
- padding:0.7em 1.4em;
238
- margin:0 0.3em 0.3em 0;
239
- border-radius:0.15em;
240
- box-sizing: border-box;
241
- text-decoration:none;
242
- font-family:'Roboto',sans-serif;
243
- text-transform:uppercase;
244
- font-weight:400;
245
- color:#FFFFFF;
246
- background-color:#6C8CD5;
247
- box-shadow:inset 0 -0.6em 0 -0.35em rgba(0,0,0,0.17);
248
- text-align:center;
249
- position:relative;
250
- }
251
-
252
- .analyst-btn-secondary:disabled {
253
- background-color: #6C8CD5;
254
- cursor: not-allowed;
255
- }
256
-
257
- .analyst-btn-secondary:active{
258
- top:0.1em;
259
- }
260
- @media all and (max-width:30em){
261
- .analyst-btn-secondary {
262
- display:block;
263
- margin:0.4em auto;
264
- }
265
- }
266
-
267
- .analyst-notice {
268
- padding-right: 38px;
269
- position: relative;
270
- margin-bottom: 30px !important;
271
- }
272
-
273
- .analyst-notice .analyst-plugin-name {
274
- background-color: #00000024;
275
- padding-left: 7px;
276
- padding-right: 7px;
277
- position: absolute;
278
- top: 100%;
279
- border-radius: 0 0 5px 5px;
280
- }
1
+ .analyst-action-opt {
2
+ cursor: pointer;
3
+ }
4
+
5
+ .analyst-modal {
6
+ color: #000000;
7
+ display: none;
8
+ position: fixed;
9
+ z-index: 1000;
10
+ padding-top: 100px;
11
+ left: 0;
12
+ top: 0;
13
+ width: 100%;
14
+ height: 100%;
15
+ overflow: auto;
16
+ background-color: rgb(0,0,0);
17
+ background-color: rgba(0,0,0,0.4);
18
+ }
19
+
20
+ .analyst-modal-content {
21
+ font-family: Helvetica, serif;
22
+ position: relative;
23
+ background-color: #fefefe;
24
+ margin: auto;
25
+ padding: 35px 35px 20px;
26
+ border: 1px solid #F2F2F2;
27
+ width: 40%;
28
+ box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
29
+ -webkit-animation-name: analyst-animatetop;
30
+ -webkit-animation-duration: 0.4s;
31
+ animation-name: analyst-animatetop;
32
+ animation-duration: 0.4s
33
+ }
34
+
35
+ .analyst-btn-success {
36
+ cursor: pointer;
37
+ color: #ffffff;
38
+ background-color: #00AF5E;
39
+ border: none;
40
+ width: 100%;
41
+ font-size: 18px;
42
+ padding: 8px;
43
+ font-weight: bold;
44
+ }
45
+
46
+ .analyst-btn-grey {
47
+ cursor: pointer;
48
+ color: #2D2D2D;
49
+ background-color: #D8D8D8;
50
+ border: none;
51
+ width: 100%;
52
+ font-size: 18px;
53
+ padding: 8px;
54
+ font-weight: bold;
55
+ }
56
+
57
+ .analyst-btn-secondary-ghost {
58
+ cursor: pointer;
59
+ background: transparent;
60
+ border: none;
61
+ color: #898686;
62
+ font-size: 18px;
63
+ }
64
+
65
+ .analyst-modal-def-top-padding {
66
+ padding-top: 20px;
67
+ }
68
+
69
+ .analyst-modal-header {
70
+ font-size: 20px;
71
+ font-weight: bold;
72
+ }
73
+
74
+ /*INSTALL STYLES*/
75
+ .analyst-install-footer {
76
+ padding-top: 10px;
77
+ text-align: center;
78
+ }
79
+
80
+ .analyst-install-image-block {
81
+ width: 140px;
82
+ }
83
+
84
+ .analyst-install-image-block img {
85
+ width: inherit;
86
+ }
87
+
88
+ .analyst-install-description-block {
89
+ padding-left: 40px;
90
+ padding-top: 5px
91
+ }
92
+
93
+ .analyst-install-description-text {
94
+ font-size: 16px;
95
+ color: #000000;
96
+ }
97
+
98
+ .analyst-install-permissions-list {
99
+ list-style: disc inside;
100
+ }
101
+
102
+ .analyst-install-permissions-list li {
103
+ padding-left: 15px;
104
+ margin-bottom: 2px;
105
+ }
106
+
107
+ .analyst-install-footer span {
108
+ color: #8a8787;
109
+ padding-right: 10px;
110
+ padding-left: 10px;
111
+ }
112
+
113
+ .analyst-install-footer span:not(:last-child) {
114
+ border-right: 1px solid #8a8787;
115
+ }
116
+
117
+ /*INSTALL STYLES*/
118
+
119
+ .reason-answer {
120
+ padding: 7px;
121
+ margin-left: 23px;
122
+ border: 1px solid #F2F2F2;
123
+ }
124
+
125
+ .analyst-link {
126
+ color: #00AF5E;
127
+ text-decoration: none;
128
+ }
129
+
130
+ .analyst-action-text {
131
+ cursor: pointer;
132
+ }
133
+
134
+ .analyst-action-text:hover {
135
+ color: #9d9a9a;
136
+ }
137
+
138
+ .analyst-disable-modal-mask {
139
+ width: 100%;
140
+ height: 100%;
141
+ opacity: 0.5;
142
+ position: absolute;
143
+ background: white;
144
+ top: 0;
145
+ left: 0;
146
+ }
147
+
148
+ .analyst-smile-image {
149
+ vertical-align: middle;
150
+ padding-bottom: 3px;
151
+ width: 24px;
152
+ }
153
+
154
+ #analyst-deactivation-reasons li {
155
+ padding-bottom: 3px;
156
+ font-size: 16px;
157
+ color: #000000;
158
+ }
159
+
160
+ @-webkit-keyframes analyst-animatetop {
161
+ from {top:-300px; opacity:0}
162
+ to {top:0; opacity:1}
163
+ }
164
+
165
+ @keyframes analyst-animatetop {
166
+ from {top:-300px; opacity:0}
167
+ to {top:0; opacity:1}
168
+ }
169
+
170
+ .analyst-modal-close {
171
+ color: #48036F;
172
+ font-size: 28px;
173
+ font-weight: bold;
174
+ top: 12px;
175
+ position: absolute;
176
+ right: 15px;
177
+ }
178
+
179
+ .analyst-modal-close:hover,
180
+ .analyst-modal-close:focus {
181
+ color: #000;
182
+ text-decoration: none;
183
+ cursor: pointer;
184
+ }
185
+
186
+ .analyst-modal-body {padding: 2px 16px;}
187
+
188
+ .analyst-modal-footer {
189
+ padding: 6px 16px;
190
+ background-color: #FFE773;
191
+ color: white;
192
+ }
193
+
194
+ #analyst-deactivate-modal .question-answer input, textarea {
195
+ margin-top: 5px;
196
+ width: 100%;
197
+ }
198
+
199
+ .analyst-btn-primary {
200
+ cursor: pointer;
201
+ border: none;
202
+ display:inline-block;
203
+ padding:0.7em 1.4em;
204
+ margin:0 0.3em 0.3em 0;
205
+ border-radius:0.15em;
206
+ box-sizing: border-box;
207
+ text-decoration:none;
208
+ font-family:'Roboto',sans-serif;
209
+ text-transform:uppercase;
210
+ font-weight:400;
211
+ color:#FFFFFF;
212
+ background-color:#9F3ED5;
213
+ box-shadow:inset 0 -0.6em 0 -0.35em rgba(0,0,0,0.17);
214
+ text-align:center;
215
+ position:relative;
216
+ }
217
+
218
+ .analyst-btn-primary:disabled {
219
+ background-color: #AD66D5;
220
+ cursor: not-allowed;
221
+ }
222
+
223
+ .analyst-btn-primary:active{
224
+ top:0.1em;
225
+ }
226
+ @media all and (max-width:30em){
227
+ .analyst-btn-primary {
228
+ display:block;
229
+ margin:0.4em auto;
230
+ }
231
+ }
232
+
233
+ .analyst-btn-secondary {
234
+ cursor: pointer;
235
+ border: none;
236
+ display:inline-block;
237
+ padding:0.7em 1.4em;
238
+ margin:0 0.3em 0.3em 0;
239
+ border-radius:0.15em;
240
+ box-sizing: border-box;
241
+ text-decoration:none;
242
+ font-family:'Roboto',sans-serif;
243
+ text-transform:uppercase;
244
+ font-weight:400;
245
+ color:#FFFFFF;
246
+ background-color:#6C8CD5;
247
+ box-shadow:inset 0 -0.6em 0 -0.35em rgba(0,0,0,0.17);
248
+ text-align:center;
249
+ position:relative;
250
+ }
251
+
252
+ .analyst-btn-secondary:disabled {
253
+ background-color: #6C8CD5;
254
+ cursor: not-allowed;
255
+ }
256
+
257
+ .analyst-btn-secondary:active{
258
+ top:0.1em;
259
+ }
260
+ @media all and (max-width:30em){
261
+ .analyst-btn-secondary {
262
+ display:block;
263
+ margin:0.4em auto;
264
+ }
265
+ }
266
+
267
+ .analyst-notice {
268
+ padding-right: 38px;
269
+ position: relative;
270
+ margin-bottom: 30px !important;
271
+ }
272
+
273
+ .analyst-notice .analyst-plugin-name {
274
+ background-color: #00000024;
275
+ padding-left: 7px;
276
+ padding-right: 7px;
277
+ position: absolute;
278
+ top: 100%;
279
+ border-radius: 0 0 5px 5px;
280
+ }
analyst/{assets → analyst/assets}/img/pencil.png RENAMED
File without changes
analyst/{assets → analyst/assets}/img/shield_question.png RENAMED
File without changes
analyst/{assets → analyst/assets}/img/shield_success.png RENAMED
File without changes
analyst/{assets → analyst/assets}/img/smile.png RENAMED
File without changes
analyst/{assets → analyst/assets}/index.php RENAMED
@@ -1,2 +1,2 @@
1
- <?php
2
- // Silence is golden.
1
+ <?php
2
+ // Silence is golden.
analyst/{assets → analyst/assets}/js/customize.js RENAMED
@@ -1,29 +1,29 @@
1
- (function ($) {
2
- $(document).on('click', '.analyst-notice-dismiss', function () {
3
- var id = $(this).attr('analyst-notice-id');
4
- var self = this;
5
-
6
- $.post(ajaxurl, {action: 'analyst_notification_dismiss', id: id})
7
- .done(function () {
8
- $(self).parent().fadeOut()
9
- })
10
- })
11
-
12
- var url = new URL(window.location.href)
13
-
14
- if (url.searchParams.has('verify')) {
15
- var pluginId = url.searchParams.get('plugin_id')
16
-
17
- $.ajax({
18
- url: ajaxurl,
19
- method: 'POST',
20
- data: {
21
- action: 'analyst_install_verified_' + pluginId,
22
- },
23
- success: function () {
24
- // Refresh page without query params
25
- window.location.href = window.location.origin + window.location.pathname
26
- }
27
- })
28
- }
29
- })(jQuery)
1
+ (function ($) {
2
+ $(document).on('click', '.analyst-notice-dismiss', function () {
3
+ var id = $(this).attr('analyst-notice-id');
4
+ var self = this;
5
+
6
+ $.post(ajaxurl, {action: 'analyst_notification_dismiss', id: id})
7
+ .done(function () {
8
+ $(self).parent().fadeOut()
9
+ })
10
+ })
11
+
12
+ var url = new URL(window.location.href)
13
+
14
+ if (url.searchParams.has('verify')) {
15
+ var pluginId = url.searchParams.get('plugin_id')
16
+
17
+ $.ajax({
18
+ url: ajaxurl,
19
+ method: 'POST',
20
+ data: {
21
+ action: 'analyst_install_verified_' + pluginId,
22
+ },
23
+ success: function () {
24
+ // Refresh page without query params
25
+ window.location.href = window.location.origin + window.location.pathname
26
+ }
27
+ })
28
+ }
29
+ })(jQuery)
analyst/{autoload.php → analyst/autoload.php} RENAMED
@@ -1,38 +1,40 @@
1
- <?php
2
-
3
- require_once __DIR__ . '/src/helpers.php';
4
-
5
- require_once __DIR__ . '/src/Contracts/HttpClientContract.php';
6
- require_once __DIR__ . '/src/Contracts/RequestContract.php';
7
- require_once __DIR__ . '/src/Contracts/RequestorContract.php';
8
- require_once __DIR__ . '/src/Contracts/TrackerContract.php';
9
- require_once __DIR__ . '/src/Contracts/CacheContract.php';
10
-
11
- require_once __DIR__ . '/src/Cache/DatabaseCache.php';
12
-
13
- require_once __DIR__ . '/src/Account/Account.php';
14
- require_once __DIR__ . '/src/Account/AccountData.php';
15
- require_once __DIR__ . '/src/Account/AccountDataFactory.php';
16
- require_once __DIR__ . '/src/Contracts/AnalystContract.php';
17
-
18
- require_once __DIR__ . '/src/Http/Requests/AbstractLoggerRequest.php';
19
- require_once __DIR__ . '/src/Http/Requests/ActivateRequest.php';
20
- require_once __DIR__ . '/src/Http/Requests/DeactivateRequest.php';
21
- require_once __DIR__ . '/src/Http/Requests/InstallRequest.php';
22
- require_once __DIR__ . '/src/Http/Requests/OptInRequest.php';
23
- require_once __DIR__ . '/src/Http/Requests/OptOutRequest.php';
24
- require_once __DIR__ . '/src/Http/Requests/UninstallRequest.php';
25
-
26
- require_once __DIR__ . '/src/Http/CurlHttpClient.php';
27
- require_once __DIR__ . '/src/Http/DummyHttpClient.php';
28
- require_once __DIR__ . '/src/Http/WordPressHttpClient.php';
29
-
30
- require_once __DIR__ . '/src/Notices/Notice.php';
31
- require_once __DIR__ . '/src/Notices/NoticeFactory.php';
32
-
33
- require_once __DIR__ . '/src/Analyst.php';
34
- require_once __DIR__ . '/src/ApiRequestor.php';
35
- require_once __DIR__ . '/src/ApiResponse.php';
36
- require_once __DIR__ . '/src/Collector.php';
37
- require_once __DIR__ . '/src/Mutator.php';
38
-
 
 
1
+ <?php
2
+
3
+ require_once __DIR__ . '/src/helpers.php';
4
+
5
+ require_once __DIR__ . '/src/Contracts/HttpClientContract.php';
6
+ require_once __DIR__ . '/src/Contracts/RequestContract.php';
7
+ require_once __DIR__ . '/src/Contracts/RequestorContract.php';
8
+ require_once __DIR__ . '/src/Contracts/TrackerContract.php';
9
+ require_once __DIR__ . '/src/Contracts/CacheContract.php';
10
+
11
+ require_once __DIR__ . '/src/Core/AbstractFactory.php';
12
+
13
+ require_once __DIR__ . '/src/Cache/DatabaseCache.php';
14
+
15
+ require_once __DIR__ . '/src/Account/Account.php';
16
+ require_once __DIR__ . '/src/Account/AccountData.php';
17
+ require_once __DIR__ . '/src/Account/AccountDataFactory.php';
18
+ require_once __DIR__ . '/src/Contracts/AnalystContract.php';
19
+
20
+ require_once __DIR__ . '/src/Http/Requests/AbstractLoggerRequest.php';
21
+ require_once __DIR__ . '/src/Http/Requests/ActivateRequest.php';
22
+ require_once __DIR__ . '/src/Http/Requests/DeactivateRequest.php';
23
+ require_once __DIR__ . '/src/Http/Requests/InstallRequest.php';
24
+ require_once __DIR__ . '/src/Http/Requests/OptInRequest.php';
25
+ require_once __DIR__ . '/src/Http/Requests/OptOutRequest.php';
26
+ require_once __DIR__ . '/src/Http/Requests/UninstallRequest.php';
27
+
28
+ require_once __DIR__ . '/src/Http/CurlHttpClient.php';
29
+ require_once __DIR__ . '/src/Http/DummyHttpClient.php';
30
+ require_once __DIR__ . '/src/Http/WordPressHttpClient.php';
31
+
32
+ require_once __DIR__ . '/src/Notices/Notice.php';
33
+ require_once __DIR__ . '/src/Notices/NoticeFactory.php';
34
+
35
+ require_once __DIR__ . '/src/Analyst.php';
36
+ require_once __DIR__ . '/src/ApiRequestor.php';
37
+ require_once __DIR__ . '/src/ApiResponse.php';
38
+ require_once __DIR__ . '/src/Collector.php';
39
+ require_once __DIR__ . '/src/Mutator.php';
40
+
analyst/{index.php → analyst/index.php} RENAMED
@@ -1,2 +1,2 @@
1
- <?php
2
- // Silence
1
+ <?php
2
+ // Silence
analyst/{main.php → analyst/main.php} RENAMED
@@ -1,36 +1,36 @@
1
- <?php
2
-
3
- require_once 'sdk_resolver.php';
4
-
5
-
6
- if (!function_exists('analyst_init')) {
7
- /**
8
- * Initialize analyst
9
- *
10
- * @param array $options
11
- */
12
- function analyst_init ($options) {
13
- // Try resolve latest supported SDK
14
- // In case resolving is failed exit the execution
15
- try {
16
- analyst_resolve_sdk($options['base-dir']);
17
- } catch (Exception $exception) {
18
- error_log('[ANALYST] Cannot resolve any supported SDK');
19
- return;
20
- }
21
-
22
- try {
23
- global /** @var Analyst\Analyst $analyst */
24
- $analyst;
25
-
26
- // Set global instance of analyst
27
- if (!$analyst) {
28
- $analyst = Analyst\Analyst::getInstance();
29
- }
30
-
31
- $analyst->registerAccount(new Account\Account($options['client-id'], $options['client-secret'], $options['base-dir']));
32
- } catch (Exception $e) {
33
- error_log('Analyst SDK receive an error: [' . $e->getMessage() . '] Please contact our support at support@analyst.com');
34
- }
35
- }
36
- }
1
+ <?php
2
+
3
+ require_once 'sdk_resolver.php';
4
+
5
+
6
+ if (!function_exists('analyst_init')) {
7
+ /**
8
+ * Initialize analyst
9
+ *
10
+ * @param array $options
11
+ */
12
+ function analyst_init ($options) {
13
+ // Try resolve latest supported SDK
14
+ // In case resolving is failed exit the execution
15
+ try {
16
+ analyst_resolve_sdk($options['base-dir']);
17
+ } catch (Exception $exception) {
18
+ error_log('[ANALYST] Cannot resolve any supported SDK');
19
+ return;
20
+ }
21
+
22
+ try {
23
+ global /** @var Analyst\Analyst $analyst */
24
+ $analyst;
25
+
26
+ // Set global instance of analyst
27
+ if (!$analyst) {
28
+ $analyst = Analyst\Analyst::getInstance();
29
+ }
30
+
31
+ $analyst->registerAccount(new Account\Account($options['client-id'], $options['client-secret'], $options['base-dir']));
32
+ } catch (Exception $e) {
33
+ error_log('Analyst SDK receive an error: [' . $e->getMessage() . '] Please contact our support at support@analyst.com');
34
+ }
35
+ }
36
+ }
analyst/{sdk_resolver.php → analyst/sdk_resolver.php} RENAMED
@@ -1,79 +1,79 @@
1
- <?php
2
-
3
- if (!function_exists('analyst_resolve_sdk')) {
4
-
5
- /**
6
- * Resolve supported sdk versions and load latest supported one
7
- * also bootstrap sdk with autoloader
8
- *
9
- * @since 1.1.3
10
- *
11
- * @param null $thisPluginPath
12
- * @return void
13
- * @throws Exception
14
- */
15
- function analyst_resolve_sdk($thisPluginPath = null) {
16
- static $loaded = false;
17
-
18
- // Exit if we already resolved SDK
19
- if ($loaded) return;
20
-
21
- $plugins = get_option('active_plugins');
22
-
23
- if ($thisPluginPath) {
24
- array_push($plugins, plugin_basename($thisPluginPath));
25
- }
26
-
27
- $pluginsFolder = ABSPATH . 'wp-content/plugins';
28
-
29
- $possibleSDKs = array_map(function ($path) use ($pluginsFolder) {
30
- $sdkFolder = sprintf('%s/%s/analyst/', $pluginsFolder, dirname($path));
31
-
32
- $sdkFolder = str_replace('\\', '/', $sdkFolder);
33
-
34
- $versionPath = $sdkFolder . 'version.php';
35
-
36
- if (file_exists($versionPath)) {
37
- return require $versionPath;
38
- }
39
-
40
- return false;
41
- }, $plugins);
42
-
43
- global $wp_version;
44
-
45
- // Filter out plugins which has no SDK
46
- $SDKs = array_filter($possibleSDKs, function ($s) {return is_array($s);});
47
-
48
- // Filter SDKs which is supported by PHP and WP
49
- $supported = array_values(array_filter($SDKs, function ($sdk) use($wp_version) {
50
- $phpSupported = version_compare(PHP_VERSION, $sdk['php']) >= 0;
51
- $wpSupported = version_compare($wp_version, $sdk['wp']) >= 0;
52
-
53
- return $phpSupported && $wpSupported;
54
- }));
55
-
56
- // Sort SDK by version in descending order
57
- uasort($supported, function ($x, $y) {
58
- return version_compare($y['sdk'], $x['sdk']);
59
- });
60
-
61
- // Reset sorted values keys
62
- $supported = array_values($supported);
63
-
64
- if (!isset($supported[0])) {
65
- throw new Exception('There is no SDK which is support current PHP version and WP version');
66
- }
67
-
68
- // Autoload files for supported SDK
69
- $autoloaderPath = str_replace(
70
- '\\',
71
- '/',
72
- sprintf('%s/autoload.php', $supported[0]['path'])
73
- );
74
-
75
- require_once $autoloaderPath;
76
-
77
- $loaded = true;
78
- }
79
- }
1
+ <?php
2
+
3
+ if (!function_exists('analyst_resolve_sdk')) {
4
+
5
+ /**
6
+ * Resolve supported sdk versions and load latest supported one
7
+ * also bootstrap sdk with autoloader
8
+ *
9
+ * @since 1.1.3
10
+ *
11
+ * @param null $thisPluginPath
12
+ * @return void
13
+ * @throws Exception
14
+ */
15
+ function analyst_resolve_sdk($thisPluginPath = null) {
16
+ static $loaded = false;
17
+
18
+ // Exit if we already resolved SDK
19
+ if ($loaded) return;
20
+
21
+ $plugins = get_option('active_plugins');
22
+
23
+ if ($thisPluginPath) {
24
+ array_push($plugins, plugin_basename($thisPluginPath));
25
+ }
26
+
27
+ $pluginsFolder = ABSPATH . 'wp-content/plugins';
28
+
29
+ $possibleSDKs = array_map(function ($path) use ($pluginsFolder) {
30
+ $sdkFolder = sprintf('%s/%s/analyst/', $pluginsFolder, dirname($path));
31
+
32
+ $sdkFolder = str_replace('\\', '/', $sdkFolder);
33
+
34
+ $versionPath = $sdkFolder . 'version.php';
35
+
36
+ if (file_exists($versionPath)) {
37
+ return require $versionPath;
38
+ }
39
+
40
+ return false;
41
+ }, $plugins);
42
+
43
+ global $wp_version;
44
+
45
+ // Filter out plugins which has no SDK
46
+ $SDKs = array_filter($possibleSDKs, function ($s) {return is_array($s);});
47
+
48
+ // Filter SDKs which is supported by PHP and WP
49
+ $supported = array_values(array_filter($SDKs, function ($sdk) use($wp_version) {
50
+ $phpSupported = version_compare(PHP_VERSION, $sdk['php']) >= 0;
51
+ $wpSupported = version_compare($wp_version, $sdk['wp']) >= 0;
52
+
53
+ return $phpSupported && $wpSupported;
54
+ }));
55
+
56
+ // Sort SDK by version in descending order
57
+ uasort($supported, function ($x, $y) {
58
+ return version_compare($y['sdk'], $x['sdk']);
59
+ });
60
+
61
+ // Reset sorted values keys
62
+ $supported = array_values($supported);
63
+
64
+ if (!isset($supported[0])) {
65
+ throw new Exception('There is no SDK which is support current PHP version and WP version');
66
+ }
67
+
68
+ // Autoload files for supported SDK
69
+ $autoloaderPath = str_replace(
70
+ '\\',
71
+ '/',
72
+ sprintf('%s/autoload.php', $supported[0]['path'])
73
+ );
74
+
75
+ require_once $autoloaderPath;
76
+
77
+ $loaded = true;
78
+ }
79
+ }
analyst/{src → analyst/src}/Account/Account.php RENAMED
@@ -1,606 +1,606 @@
1
- <?php
2
-
3
- namespace Account;
4
-
5
- use Analyst\Analyst;
6
- use Analyst\ApiRequestor;
7
- use Analyst\Cache\DatabaseCache;
8
- use Analyst\Collector;
9
- use Analyst\Http\Requests\ActivateRequest;
10
- use Analyst\Http\Requests\DeactivateRequest;
11
- use Analyst\Http\Requests\InstallRequest;
12
- use Analyst\Http\Requests\OptInRequest;
13
- use Analyst\Http\Requests\OptOutRequest;
14
- use Analyst\Http\Requests\UninstallRequest;
15
- use Analyst\Notices\Notice;
16
- use Analyst\Notices\NoticeFactory;
17
- use Analyst\Contracts\TrackerContract;
18
- use Analyst\Contracts\RequestorContract;
19
-
20
- /**
21
- * Class Account
22
- *
23
- * This is plugin's account object
24
- */
25
- class Account implements TrackerContract
26
- {
27
- /**
28
- * Account id
29
- *
30
- * @var string
31
- */
32
- protected $id;
33
-
34
- /**
35
- * Basename of plugin
36
- *
37
- * @var string
38
- */
39
- protected $path;
40
-
41
- /**
42
- * Whether plugin is active or not
43
- *
44
- * @var bool
45
- */
46
- protected $isInstalled = false;
47
-
48
- /**
49
- * Is user sign in for data tracking
50
- *
51
- * @var bool
52
- */
53
- protected $isOptedIn = false;
54
-
55
- /**
56
- * Is user accepted permissions grant
57
- * for collection site data
58
- *
59
- * @var bool
60
- */
61
- protected $isSigned = false;
62
-
63
- /**
64
- * Is user ever resolved install modal window?
65
- *
66
- * @var bool
67
- */
68
- protected $isInstallResolved = false;
69
-
70
- /**
71
- * Public secret code
72
- *
73
- * @var string
74
- */
75
- protected $clientSecret;
76
-
77
- /**
78
- * @var AccountData
79
- */
80
- protected $data;
81
-
82
- /**
83
- * Base plugin path
84
- *
85
- * @var string
86
- */
87
- protected $basePluginPath;
88
-
89
- /**
90
- * @var RequestorContract
91
- */
92
- protected $requestor;
93
-
94
- /**
95
- * @var Collector
96
- */
97
- protected $collector;
98
-
99
- /**
100
- * Account constructor.
101
- * @param $id
102
- * @param $secret
103
- * @param $baseDir
104
- */
105
- public function __construct($id, $secret, $baseDir)
106
- {
107
- $this->id = $id;
108
- $this->clientSecret = $secret;
109
-
110
- $this->path = $baseDir;
111
-
112
- $this->basePluginPath = plugin_basename($baseDir);
113
- }
114
-
115
- /**
116
- * @return string
117
- */
118
- public function getPath()
119
- {
120
- return $this->path;
121
- }
122
-
123
- /**
124
- * @param string $path
125
- */
126
- public function setPath($path)
127
- {
128
- $this->data->setPath($path);
129
-
130
- $this->path = $path;
131
- }
132
-
133
- /**
134
- * @return bool
135
- */
136
- public function isOptedIn()
137
- {
138
- return $this->isOptedIn;
139
- }
140
-
141
- /**
142
- * @param bool $isOptedIn
143
- */
144
- public function setIsOptedIn($isOptedIn)
145
- {
146
- $this->data->setIsOptedIn($isOptedIn);
147
-
148
- $this->isOptedIn = $isOptedIn;
149
- }
150
-
151
- /**
152
- * Whether plugin is active
153
- *
154
- * @return bool
155
- */
156
- public function isActive()
157
- {
158
- return is_plugin_active($this->path);
159
- }
160
-
161
- /**
162
- * @param string $id
163
- */
164
- public function setId($id)
165
- {
166
- $this->id = $id;
167
- }
168
-
169
- /**
170
- * @return string
171
- */
172
- public function getId()
173
- {
174
- return $this->id;
175
- }
176
-
177
- /**
178
- * @return bool
179
- */
180
- public function isInstalled()
181
- {
182
- return $this->isInstalled;
183
- }
184
-
185
- /**
186
- * @param bool $isInstalled
187
- */
188
- public function setIsInstalled($isInstalled)
189
- {
190
- $this->data->setIsInstalled($isInstalled);
191
-
192
- $this->isInstalled = $isInstalled;
193
- }
194
-
195
- /**
196
- * Should register activation and deactivation
197
- * event hooks
198
- *
199
- * @return void
200
- */
201
- public function registerHooks()
202
- {
203
- register_activation_hook($this->basePluginPath, [&$this, 'onActivePluginListener']);
204
- register_uninstall_hook($this->basePluginPath, ['Account\Account', 'onUninstallPluginListener']);
205
-
206
- $this->addFilter('plugin_action_links', [&$this, 'onRenderActionLinksHook']);
207
-
208
- $this->addAjax('analyst_opt_in', [&$this, 'onOptInListener']);
209
- $this->addAjax('analyst_opt_out', [&$this, 'onOptOutListener']);
210
- $this->addAjax('analyst_plugin_deactivate', [&$this, 'onDeactivatePluginListener']);
211
- $this->addAjax('analyst_install', [&$this, 'onInstallListener']);
212
- $this->addAjax('analyst_skip_install', [&$this, 'onSkipInstallListener']);
213
- $this->addAjax('analyst_install_verified', [&$this, 'onInstallVerifiedListener']);
214
- }
215
-
216
- /**
217
- * Will fire when admin activates plugin
218
- *
219
- * @return void
220
- */
221
- public function onActivePluginListener()
222
- {
223
- if (!$this->isInstallResolved()) {
224
- DatabaseCache::getInstance()->put('plugin_to_install', $this->id);
225
- }
226
-
227
- if (!$this->isAllowingLogging()) return;
228
-
229
- ActivateRequest::make($this->collector, $this->id, $this->path)
230
- ->execute($this->requestor);
231
-
232
- $this->setIsInstalled(true);
233
-
234
- AccountDataFactory::syncData();
235
-
236
- wp_send_json_success();
237
- }
238
-
239
- /**
240
- * Will fire when admin deactivates plugin
241
- *
242
- * @return void
243
- */
244
- public function onDeactivatePluginListener()
245
- {
246
- if (!$this->isAllowingLogging()) return;
247
-
248
- $question = isset($_POST['question']) ? stripslashes($_POST['question']) : null;
249
- $reason = isset($_POST['reason']) ? stripslashes($_POST['reason']) : null;
250
-
251
- $response = DeactivateRequest::make($this->collector, $this->id, $this->path, $question, $reason)
252
- ->execute($this->requestor);
253
-
254
- // Exit if request failed
255
- if (!$response->isSuccess()) {
256
- wp_send_json_error($response->body);
257
- }
258
-
259
- $this->setIsInstalled(false);
260
-
261
- AccountDataFactory::syncData();
262
-
263
- wp_send_json_success();
264
- }
265
-
266
- /**
267
- * Will fire when user opted in
268
- *
269
- * @return void
270
- */
271
- public function onOptInListener()
272
- {
273
- $response = OptInRequest::make($this->collector, $this->id, $this->path)->execute($this->requestor);
274
-
275
- // Exit if request failed
276
- if (!$response->isSuccess()) {
277
- wp_send_json_error($response->body);
278
- }
279
-
280
- $this->setIsOptedIn(true);
281
-
282
- AccountDataFactory::syncData();
283
-
284
- wp_die();
285
- }
286
-
287
- /**
288
- * Will fire when user opted out
289
- *
290
- * @return void
291
- */
292
- public function onOptOutListener()
293
- {
294
- $response = OptOutRequest::make($this->collector, $this->id, $this->path)->execute($this->requestor);
295
-
296
- // Exit if request failed
297
- if (!$response->isSuccess()) {
298
- wp_send_json_error($response->body);
299
- }
300
-
301
- $this->setIsOptedIn(false);
302
-
303
- AccountDataFactory::syncData();
304
-
305
- wp_send_json_success();
306
- }
307
-
308
- /**
309
- * Will fire when user accept opt-in
310
- * at first time
311
- *
312
- * @return void
313
- */
314
- public function onInstallListener()
315
- {
316
- $cache = DatabaseCache::getInstance();
317
-
318
- // Set flag to true which indicates that install is resolved
319
- // also remove install plugin id from cache
320
- $this->setIsInstallResolved(true);
321
- $cache->delete('plugin_to_install');
322
-
323
- $response = InstallRequest::make($this->collector, $this->id, $this->path)->execute($this->requestor);
324
-
325
- // Exit if request failed
326
- if (!$response->isSuccess()) {
327
- wp_send_json_error($response->body);
328
- }
329
-
330
- $this->setIsSigned(true);
331
-
332
- $this->setIsOptedIn(true);
333
-
334
- $factory = NoticeFactory::instance();
335
-
336
- $message = sprintf('Please confirm your email by clicking on the link we sent to %s. This makes sure you’re not a bot.', $this->collector->getGeneralEmailAddress());
337
-
338
- $notificationId = uniqid();
339
-
340
- $notice = Notice::make(
341
- $notificationId,
342
- $this->getId(),
343
- $message,
344
- $this->collector->getPluginName($this->path)
345
- );
346
-
347
- $factory->addNotice($notice);
348
-
349
- AccountDataFactory::syncData();
350
-
351
- // Set email confirmation notification id to cache
352
- // se we can extract and remove it when user confirmed email
353
- $cache->put(
354
- sprintf('account_email_confirmation_%s', $this->getId()),
355
- $notificationId
356
- );
357
-
358
- wp_send_json_success();
359
- }
360
-
361
- /**
362
- * Will fire when user skipped installation
363
- *
364
- * @return void
365
- */
366
- public function onSkipInstallListener()
367
- {
368
- // Set flag to true which indicates that install is resolved
369
- // also remove install plugin id from cache
370
- $this->setIsInstallResolved(true);
371
- DatabaseCache::getInstance()->delete('plugin_to_install');
372
- }
373
-
374
- /**
375
- * Will fire when user delete plugin through admin panel.
376
- * This action will happen if admin at least once
377
- * activated the plugin.
378
- *
379
- * @return void
380
- * @throws \Exception
381
- */
382
- public static function onUninstallPluginListener()
383
- {
384
- $factory = AccountDataFactory::instance();
385
-
386
- $pluginFile = substr(current_filter(), strlen( 'uninstall_' ));
387
-
388
- $account = $factory->getAccountDataByBasePath($pluginFile);
389
-
390
- // If account somehow is not found, exit the execution
391
- if (!$account) return;
392
-
393
- $analyst = Analyst::getInstance();
394
-
395
- $collector = new Collector($analyst);
396
-
397
- $requestor = new ApiRequestor($account->getId(), $account->getSecret(), $analyst->getApiBase());
398
-
399
- // Just send request to log uninstall event not caring about response
400
- UninstallRequest::make($collector, $account->getId(), $account->getPath())->execute($requestor);
401
-
402
- $factory->sync();
403
- }
404
-
405
- /**
406
- * Fires when used verified his account
407
- */
408
- public function onInstallVerifiedListener()
409
- {
410
- $factory = NoticeFactory::instance();
411
-
412
- $notice = Notice::make(
413
- uniqid(),
414
- $this->getId(),
415
- 'Thank you for confirming your email.',
416
- $this->collector->getPluginName($this->path)
417
- );
418
-
419
- $factory->addNotice($notice);
420
-
421
- // Remove confirmation notification
422
- $confirmationNotificationId = DatabaseCache::getInstance()->pop(sprintf('account_email_confirmation_%s', $this->getId()));
423
- $factory->remove($confirmationNotificationId);
424
-
425
- AccountDataFactory::syncData();
426
-
427
- wp_send_json_success();
428
- }
429
-
430
- /**
431
- * Will fire when wp renders plugin
432
- * action buttons
433
- *
434
- * @param $defaultLinks
435
- * @return array
436
- */
437
- public function onRenderActionLinksHook($defaultLinks)
438
- {
439
- $customLinks = [];
440
-
441
- $customLinks[] = $this->isOptedIn()
442
- ? '<a class="analyst-action-opt analyst-opt-out" analyst-plugin-id="' . $this->getId() . '" analyst-plugin-signed="' . (int) $this->isSigned() . '">Opt Out</a>'
443
- : '<a class="analyst-action-opt analyst-opt-in" analyst-plugin-id="' . $this->getId() . '" analyst-plugin-signed="' . (int) $this->isSigned() . '">Opt In</a>';
444
-
445
- // Append anchor to find specific deactivation link
446
- if (isset($defaultLinks['deactivate'])) {
447
- $defaultLinks['deactivate'] .= '<span analyst-plugin-id="' . $this->getId() . '" analyst-plugin-opted-in="' . (int) $this->isOptedIn() . '"></span>';
448
- }
449
-
450
- return array_merge($customLinks, $defaultLinks);
451
- }
452
-
453
- /**
454
- * @return AccountData
455
- */
456
- public function getData()
457
- {
458
- return $this->data;
459
- }
460
-
461
- /**
462
- * @param AccountData $data
463
- */
464
- public function setData(AccountData $data)
465
- {
466
- $this->data = $data;
467
-
468
- $this->setIsOptedIn($data->isOptedIn());
469
- $this->setIsInstalled($data->isInstalled());
470
- $this->setIsSigned($data->isSigned());
471
- $this->setIsInstallResolved($data->isInstallResolved());
472
- }
473
-
474
- /**
475
- * Resolves valid action name
476
- * based on client id
477
- *
478
- * @param $action
479
- * @return string
480
- */
481
- private function resolveActionName($action)
482
- {
483
- return sprintf('%s_%s', $action, $this->id);
484
- }
485
-
486
- /**
487
- * Register action for current plugin
488
- *
489
- * @param $action
490
- * @param $callback
491
- */
492
- private function addFilter($action, $callback)
493
- {
494
- $validAction = sprintf('%s_%s', $action, $this->basePluginPath);
495
-
496
- add_filter($validAction, $callback, 10);
497
- }
498
-
499
- /**
500
- * Add ajax action for current plugin
501
- *
502
- * @param $action
503
- * @param $callback
504
- * @param bool $raw Format action ??
505
- */
506
- private function addAjax($action, $callback, $raw = false)
507
- {
508
- $validAction = $raw ? $action : sprintf('%s%s', 'wp_ajax_', $this->resolveActionName($action));
509
-
510
- add_action($validAction, $callback);
511
- }
512
-
513
- /**
514
- * @return bool
515
- */
516
- public function isSigned()
517
- {
518
- return $this->isSigned;
519
- }
520
-
521
- /**
522
- * @param bool $isSigned
523
- */
524
- public function setIsSigned($isSigned)
525
- {
526
- $this->data->setIsSigned($isSigned);
527
-
528
- $this->isSigned = $isSigned;
529
- }
530
-
531
- /**
532
- * @return RequestorContract
533
- */
534
- public function getRequestor()
535
- {
536
- return $this->requestor;
537
- }
538
-
539
- /**
540
- * @param RequestorContract $requestor
541
- */
542
- public function setRequestor(RequestorContract $requestor)
543
- {
544
- $this->requestor = $requestor;
545
- }
546
-
547
- /**
548
- * @return string
549
- */
550
- public function getClientSecret()
551
- {
552
- return $this->clientSecret;
553
- }
554
-
555
- /**
556
- * @return Collector
557
- */
558
- public function getCollector()
559
- {
560
- return $this->collector;
561
- }
562
-
563
- /**
564
- * @param Collector $collector
565
- */
566
- public function setCollector(Collector $collector)
567
- {
568
- $this->collector = $collector;
569
- }
570
-
571
- /**
572
- * Do we allowing logging
573
- *
574
- * @return bool
575
- */
576
- public function isAllowingLogging()
577
- {
578
- return $this->isOptedIn;
579
- }
580
-
581
- /**
582
- * @return string
583
- */
584
- public function getBasePluginPath()
585
- {
586
- return $this->basePluginPath;
587
- }
588
-
589
- /**
590
- * @return bool
591
- */
592
- public function isInstallResolved()
593
- {
594
- return $this->isInstallResolved;
595
- }
596
-
597
- /**
598
- * @param bool $isInstallResolved
599
- */
600
- public function setIsInstallResolved($isInstallResolved)
601
- {
602
- $this->data->setIsInstallResolved($isInstallResolved);
603
-
604
- $this->isInstallResolved = $isInstallResolved;
605
- }
606
- }
1
+ <?php
2
+
3
+ namespace Account;
4
+
5
+ use Analyst\Analyst;
6
+ use Analyst\ApiRequestor;
7
+ use Analyst\Cache\DatabaseCache;
8
+ use Analyst\Collector;
9
+ use Analyst\Http\Requests\ActivateRequest;
10
+ use Analyst\Http\Requests\DeactivateRequest;
11
+ use Analyst\Http\Requests\InstallRequest;
12
+ use Analyst\Http\Requests\OptInRequest;
13
+ use Analyst\Http\Requests\OptOutRequest;
14
+ use Analyst\Http\Requests\UninstallRequest;
15
+ use Analyst\Notices\Notice;
16
+ use Analyst\Notices\NoticeFactory;
17
+ use Analyst\Contracts\TrackerContract;
18
+ use Analyst\Contracts\RequestorContract;
19
+
20
+ /**
21
+ * Class Account
22
+ *
23
+ * This is plugin's account object
24
+ */
25
+ class Account implements TrackerContract
26
+ {
27
+ /**
28
+ * Account id
29
+ *
30
+ * @var string
31
+ */
32
+ protected $id;
33
+
34
+ /**
35
+ * Basename of plugin
36
+ *
37
+ * @var string
38
+ */
39
+ protected $path;
40
+
41
+ /**
42
+ * Whether plugin is active or not
43
+ *
44
+ * @var bool
45
+ */
46
+ protected $isInstalled = false;
47
+
48
+ /**
49
+ * Is user sign in for data tracking
50
+ *
51
+ * @var bool
52
+ */
53
+ protected $isOptedIn = false;
54
+
55
+ /**
56
+ * Is user accepted permissions grant
57
+ * for collection site data
58
+ *
59
+ * @var bool
60
+ */
61
+ protected $isSigned = false;
62
+
63
+ /**
64
+ * Is user ever resolved install modal window?
65
+ *
66
+ * @var bool
67
+ */
68
+ protected $isInstallResolved = false;
69
+
70
+ /**
71
+ * Public secret code
72
+ *
73
+ * @var string
74
+ */
75
+ protected $clientSecret;
76
+
77
+ /**
78
+ * @var AccountData
79
+ */
80
+ protected $data;
81
+
82
+ /**
83
+ * Base plugin path
84
+ *
85
+ * @var string
86
+ */
87
+ protected $basePluginPath;
88
+
89
+ /**
90
+ * @var RequestorContract
91
+ */
92
+ protected $requestor;
93
+
94
+ /**
95
+ * @var Collector
96
+ */
97
+ protected $collector;
98
+
99
+ /**
100
+ * Account constructor.
101
+ * @param $id
102
+ * @param $secret
103
+ * @param $baseDir
104
+ */
105
+ public function __construct($id, $secret, $baseDir)
106
+ {
107
+ $this->id = $id;
108
+ $this->clientSecret = $secret;
109
+
110
+ $this->path = $baseDir;
111
+
112
+ $this->basePluginPath = plugin_basename($baseDir);
113
+ }
114
+
115
+ /**
116
+ * @return string
117
+ */
118
+ public function getPath()
119
+ {
120
+ return $this->path;
121
+ }
122
+
123
+ /**
124
+ * @param string $path
125
+ */
126
+ public function setPath($path)
127
+ {
128
+ $this->data->setPath($path);
129
+
130
+ $this->path = $path;
131
+ }
132
+
133
+ /**
134
+ * @return bool
135
+ */
136
+ public function isOptedIn()
137
+ {
138
+ return $this->isOptedIn;
139
+ }
140
+
141
+ /**
142
+ * @param bool $isOptedIn
143
+ */
144
+ public function setIsOptedIn($isOptedIn)
145
+ {
146
+ $this->data->setIsOptedIn($isOptedIn);
147
+
148
+ $this->isOptedIn = $isOptedIn;
149
+ }
150
+
151
+ /**
152
+ * Whether plugin is active
153
+ *
154
+ * @return bool
155
+ */
156
+ public function isActive()
157
+ {
158
+ return is_plugin_active($this->path);
159
+ }
160
+
161
+ /**
162
+ * @param string $id
163
+ */
164
+ public function setId($id)
165
+ {
166
+ $this->id = $id;
167
+ }
168
+
169
+ /**
170
+ * @return string
171
+ */
172
+ public function getId()
173
+ {
174
+ return $this->id;
175
+ }
176
+
177
+ /**
178
+ * @return bool
179
+ */
180
+ public function isInstalled()
181
+ {
182
+ return $this->isInstalled;
183
+ }
184
+
185
+ /**
186
+ * @param bool $isInstalled
187
+ */
188
+ public function setIsInstalled($isInstalled)
189
+ {
190
+ $this->data->setIsInstalled($isInstalled);
191
+
192
+ $this->isInstalled = $isInstalled;
193
+ }
194
+
195
+ /**
196
+ * Should register activation and deactivation
197
+ * event hooks
198
+ *
199
+ * @return void
200
+ */
201
+ public function registerHooks()
202
+ {
203
+ register_activation_hook($this->basePluginPath, [&$this, 'onActivePluginListener']);
204
+ register_uninstall_hook($this->basePluginPath, ['Account\Account', 'onUninstallPluginListener']);
205
+
206
+ $this->addFilter('plugin_action_links', [&$this, 'onRenderActionLinksHook']);
207
+
208
+ $this->addAjax('analyst_opt_in', [&$this, 'onOptInListener']);
209
+ $this->addAjax('analyst_opt_out', [&$this, 'onOptOutListener']);
210
+ $this->addAjax('analyst_plugin_deactivate', [&$this, 'onDeactivatePluginListener']);
211
+ $this->addAjax('analyst_install', [&$this, 'onInstallListener']);
212
+ $this->addAjax('analyst_skip_install', [&$this, 'onSkipInstallListener']);
213
+ $this->addAjax('analyst_install_verified', [&$this, 'onInstallVerifiedListener']);
214
+ }
215
+
216
+ /**
217
+ * Will fire when admin activates plugin
218
+ *
219
+ * @return void
220
+ */
221
+ public function onActivePluginListener()
222
+ {
223
+ if (!$this->isInstallResolved()) {
224
+ DatabaseCache::getInstance()->put('plugin_to_install', $this->id);
225
+ }
226
+
227
+ if (!$this->isAllowingLogging()) return;
228
+
229
+ ActivateRequest::make($this->collector, $this->id, $this->path)
230
+ ->execute($this->requestor);
231
+
232
+ $this->setIsInstalled(true);
233
+
234
+ AccountDataFactory::syncData();
235
+
236
+ wp_send_json_success();
237
+ }
238
+
239
+ /**
240
+ * Will fire when admin deactivates plugin
241
+ *
242
+ * @return void
243
+ */
244
+ public function onDeactivatePluginListener()
245
+ {
246
+ if (!$this->isAllowingLogging()) return;
247
+
248
+ $question = isset($_POST['question']) ? stripslashes($_POST['question']) : null;
249
+ $reason = isset($_POST['reason']) ? stripslashes($_POST['reason']) : null;
250
+
251
+ $response = DeactivateRequest::make($this->collector, $this->id, $this->path, $question, $reason)
252
+ ->execute($this->requestor);
253
+
254
+ // Exit if request failed
255
+ if (!$response->isSuccess()) {
256
+ wp_send_json_error($response->body);
257
+ }
258
+
259
+ $this->setIsInstalled(false);
260
+
261
+ AccountDataFactory::syncData();
262
+
263
+ wp_send_json_success();
264
+ }
265
+
266
+ /**
267
+ * Will fire when user opted in
268
+ *
269
+ * @return void
270
+ */
271
+ public function onOptInListener()
272
+ {
273
+ $response = OptInRequest::make($this->collector, $this->id, $this->path)->execute($this->requestor);
274
+
275
+ // Exit if request failed
276
+ if (!$response->isSuccess()) {
277
+ wp_send_json_error($response->body);
278
+ }
279
+
280
+ $this->setIsOptedIn(true);
281
+
282
+ AccountDataFactory::syncData();
283
+
284
+ wp_die();
285
+ }
286
+
287
+ /**
288
+ * Will fire when user opted out
289
+ *
290
+ * @return void
291
+ */
292
+ public function onOptOutListener()
293
+ {
294
+ $response = OptOutRequest::make($this->collector, $this->id, $this->path)->execute($this->requestor);
295
+
296
+ // Exit if request failed
297
+ if (!$response->isSuccess()) {
298
+ wp_send_json_error($response->body);
299
+ }
300
+
301
+ $this->setIsOptedIn(false);
302
+
303
+ AccountDataFactory::syncData();
304
+
305
+ wp_send_json_success();
306
+ }
307
+
308
+ /**
309
+ * Will fire when user accept opt-in
310
+ * at first time
311
+ *
312
+ * @return void
313
+ */
314
+ public function onInstallListener()
315
+ {
316
+ $cache = DatabaseCache::getInstance();
317
+
318
+ // Set flag to true which indicates that install is resolved
319
+ // also remove install plugin id from cache
320
+ $this->setIsInstallResolved(true);
321
+ $cache->delete('plugin_to_install');
322
+
323
+ $response = InstallRequest::make($this->collector, $this->id, $this->path)->execute($this->requestor);
324
+
325
+ // Exit if request failed
326
+ if (!$response->isSuccess()) {
327
+ wp_send_json_error($response->body);
328
+ }
329
+
330
+ $this->setIsSigned(true);
331
+
332
+ $this->setIsOptedIn(true);
333
+
334
+ $factory = NoticeFactory::instance();
335
+
336
+ $message = sprintf('Please confirm your email by clicking on the link we sent to %s. This makes sure you’re not a bot.', $this->collector->getGeneralEmailAddress());
337
+
338
+ $notificationId = uniqid();
339
+
340
+ $notice = Notice::make(
341
+ $notificationId,
342
+ $this->getId(),
343
+ $message,
344
+ $this->collector->getPluginName($this->path)
345
+ );
346
+
347
+ $factory->addNotice($notice);
348
+
349
+ AccountDataFactory::syncData();
350
+
351
+ // Set email confirmation notification id to cache
352
+ // se we can extract and remove it when user confirmed email
353
+ $cache->put(
354
+ sprintf('account_email_confirmation_%s', $this->getId()),
355
+ $notificationId
356
+ );
357
+
358
+ wp_send_json_success();
359
+ }
360
+
361
+ /**
362
+ * Will fire when user skipped installation
363
+ *
364
+ * @return void
365
+ */
366
+ public function onSkipInstallListener()
367
+ {
368
+ // Set flag to true which indicates that install is resolved
369
+ // also remove install plugin id from cache
370
+ $this->setIsInstallResolved(true);
371
+ DatabaseCache::getInstance()->delete('plugin_to_install');
372
+ }
373
+
374
+ /**
375
+ * Will fire when user delete plugin through admin panel.
376
+ * This action will happen if admin at least once
377
+ * activated the plugin.
378
+ *
379
+ * @return void
380
+ * @throws \Exception
381
+ */
382
+ public static function onUninstallPluginListener()
383
+ {
384
+ $factory = AccountDataFactory::instance();
385
+
386
+ $pluginFile = substr(current_filter(), strlen( 'uninstall_' ));
387
+
388
+ $account = $factory->getAccountDataByBasePath($pluginFile);
389
+
390
+ // If account somehow is not found, exit the execution
391
+ if (!$account) return;
392
+
393
+ $analyst = Analyst::getInstance();
394
+
395
+ $collector = new Collector($analyst);
396
+
397
+ $requestor = new ApiRequestor($account->getId(), $account->getSecret(), $analyst->getApiBase());
398
+
399
+ // Just send request to log uninstall event not caring about response
400
+ UninstallRequest::make($collector, $account->getId(), $account->getPath())->execute($requestor);
401
+
402
+ $factory->sync();
403
+ }
404
+
405
+ /**
406
+ * Fires when used verified his account
407
+ */
408
+ public function onInstallVerifiedListener()
409
+ {
410
+ $factory = NoticeFactory::instance();
411
+
412
+ $notice = Notice::make(
413
+ uniqid(),
414
+ $this->getId(),
415
+ 'Thank you for confirming your email.',
416
+ $this->collector->getPluginName($this->path)
417
+ );
418
+
419
+ $factory->addNotice($notice);
420
+
421
+ // Remove confirmation notification
422
+ $confirmationNotificationId = DatabaseCache::getInstance()->pop(sprintf('account_email_confirmation_%s', $this->getId()));
423
+ $factory->remove($confirmationNotificationId);
424
+
425
+ AccountDataFactory::syncData();
426
+
427
+ wp_send_json_success();
428
+ }
429
+
430
+ /**
431
+ * Will fire when wp renders plugin
432
+ * action buttons
433
+ *
434
+ * @param $defaultLinks
435
+ * @return array
436
+ */
437
+ public function onRenderActionLinksHook($defaultLinks)
438
+ {
439
+ $customLinks = [];
440
+
441
+ $customLinks[] = $this->isOptedIn()
442
+ ? '<a class="analyst-action-opt analyst-opt-out" analyst-plugin-id="' . $this->getId() . '" analyst-plugin-signed="' . (int) $this->isSigned() . '">Opt Out</a>'
443
+ : '<a class="analyst-action-opt analyst-opt-in" analyst-plugin-id="' . $this->getId() . '" analyst-plugin-signed="' . (int) $this->isSigned() . '">Opt In</a>';
444
+
445
+ // Append anchor to find specific deactivation link
446
+ if (isset($defaultLinks['deactivate'])) {
447
+ $defaultLinks['deactivate'] .= '<span analyst-plugin-id="' . $this->getId() . '" analyst-plugin-opted-in="' . (int) $this->isOptedIn() . '"></span>';
448
+ }
449
+
450
+ return array_merge($customLinks, $defaultLinks);
451
+ }
452
+
453
+ /**
454
+ * @return AccountData
455
+ */
456
+ public function getData()
457
+ {
458
+ return $this->data;
459
+ }
460
+
461
+ /**
462
+ * @param AccountData $data
463
+ */
464
+ public function setData(AccountData $data)
465
+ {
466
+ $this->data = $data;
467
+
468
+ $this->setIsOptedIn($data->isOptedIn());
469
+ $this->setIsInstalled($data->isInstalled());
470
+ $this->setIsSigned($data->isSigned());
471
+ $this->setIsInstallResolved($data->isInstallResolved());
472
+ }
473
+
474
+ /**
475
+ * Resolves valid action name
476
+ * based on client id
477
+ *
478
+ * @param $action
479
+ * @return string
480
+ */
481
+ private function resolveActionName($action)
482
+ {
483
+ return sprintf('%s_%s', $action, $this->id);
484
+ }
485
+
486
+ /**
487
+ * Register action for current plugin
488
+ *
489
+ * @param $action
490
+ * @param $callback
491
+ */
492
+ private function addFilter($action, $callback)
493
+ {
494
+ $validAction = sprintf('%s_%s', $action, $this->basePluginPath);
495
+
496
+ add_filter($validAction, $callback, 10);
497
+ }
498
+
499
+ /**
500
+ * Add ajax action for current plugin
501
+ *
502
+ * @param $action
503
+ * @param $callback
504
+ * @param bool $raw Format action ??
505
+ */
506
+ private function addAjax($action, $callback, $raw = false)
507
+ {
508
+ $validAction = $raw ? $action : sprintf('%s%s', 'wp_ajax_', $this->resolveActionName($action));
509
+
510
+ add_action($validAction, $callback);
511
+ }
512
+
513
+ /**
514
+ * @return bool
515
+ */
516
+ public function isSigned()
517
+ {
518
+ return $this->isSigned;
519
+ }
520
+
521
+ /**
522
+ * @param bool $isSigned
523
+ */
524
+ public function setIsSigned($isSigned)
525
+ {
526
+ $this->data->setIsSigned($isSigned);
527
+
528
+ $this->isSigned = $isSigned;
529
+ }
530
+
531
+ /**
532
+ * @return RequestorContract
533
+ */
534
+ public function getRequestor()
535
+ {
536
+ return $this->requestor;
537
+ }
538
+
539
+ /**
540
+ * @param RequestorContract $requestor
541
+ */
542
+ public function setRequestor(RequestorContract $requestor)
543
+ {
544
+ $this->requestor = $requestor;
545
+ }
546
+
547
+ /**
548
+ * @return string
549
+ */
550
+ public function getClientSecret()
551
+ {
552
+ return $this->clientSecret;
553
+ }
554
+
555
+ /**
556
+ * @return Collector
557
+ */
558
+ public function getCollector()
559
+ {
560
+ return $this->collector;
561
+ }
562
+
563
+ /**
564
+ * @param Collector $collector
565
+ */
566
+ public function setCollector(Collector $collector)
567
+ {
568
+ $this->collector = $collector;
569
+ }
570
+
571
+ /**
572
+ * Do we allowing logging
573
+ *
574
+ * @return bool
575
+ */
576
+ public function isAllowingLogging()
577
+ {
578
+ return $this->isOptedIn;
579
+ }
580
+
581
+ /**
582
+ * @return string
583
+ */
584
+ public function getBasePluginPath()
585
+ {
586
+ return $this->basePluginPath;
587
+ }
588
+
589
+ /**
590
+ * @return bool
591
+ */
592
+ public function isInstallResolved()
593
+ {
594
+ return $this->isInstallResolved;
595
+ }
596
+
597
+ /**
598
+ * @param bool $isInstallResolved
599
+ */
600
+ public function setIsInstallResolved($isInstallResolved)
601
+ {
602
+ $this->data->setIsInstallResolved($isInstallResolved);
603
+
604
+ $this->isInstallResolved = $isInstallResolved;
605
+ }
606
+ }
analyst/{src → analyst/src}/Account/AccountData.php RENAMED
@@ -1,176 +1,176 @@
1
- <?php
2
-
3
- namespace Account;
4
-
5
- /**
6
- * Class AccountData is the data holder
7
- * for Analyst\Account\Account class
8
- * which is unserialized from database
9
- */
10
- class AccountData
11
- {
12
- /**
13
- * Account id
14
- *
15
- * @var string
16
- */
17
- protected $id;
18
-
19
- /**
20
- * Account secret key
21
- *
22
- * @var string
23
- */
24
- protected $secret;
25
-
26
- /**
27
- * Basename of plugin
28
- *
29
- * @var string
30
- */
31
- protected $path;
32
-
33
- /**
34
- * Whether admin accepted opt in
35
- * terms and permissions
36
- *
37
- * @var bool
38
- */
39
- protected $isInstalled = false;
40
-
41
- /**
42
- * Is user sign in for data tracking
43
- *
44
- * @var bool
45
- */
46
- protected $isOptedIn = false;
47
-
48
- /**
49
- * Is user accepted permissions grant
50
- * for collection site data
51
- *
52
- * @var bool
53
- */
54
- protected $isSigned = false;
55
-
56
- /**
57
- * Is user ever resolved install modal window?
58
- *
59
- * @var bool
60
- */
61
- protected $isInstallResolved;
62
-
63
- /**
64
- * @return string
65
- */
66
- public function getId()
67
- {
68
- return $this->id;
69
- }
70
-
71
- /**
72
- * @param string $id
73
- */
74
- public function setId($id)
75
- {
76
- $this->id = $id;
77
- }
78
-
79
- /**
80
- * @param string $path
81
- * @return AccountData
82
- */
83
- public function setPath($path)
84
- {
85
- $this->path = $path;
86
- return $this;
87
- }
88
-
89
- /**
90
- * @return bool
91
- */
92
- public function isInstalled()
93
- {
94
- return $this->isInstalled;
95
- }
96
-
97
- /**
98
- * @param bool $isInstalled
99
- */
100
- public function setIsInstalled($isInstalled)
101
- {
102
- $this->isInstalled = $isInstalled;
103
- }
104
-
105
- /**
106
- * @return bool
107
- */
108
- public function isOptedIn()
109
- {
110
- return $this->isOptedIn;
111
- }
112
-
113
- /**
114
- * @param bool $isOptedIn
115
- */
116
- public function setIsOptedIn($isOptedIn)
117
- {
118
- $this->isOptedIn = $isOptedIn;
119
- }
120
-
121
- /**
122
- * @return bool
123
- */
124
- public function isSigned()
125
- {
126
- return $this->isSigned;
127
- }
128
-
129
- /**
130
- * @param bool $isSigned
131
- */
132
- public function setIsSigned($isSigned)
133
- {
134
- $this->isSigned = $isSigned;
135
- }
136
-
137
- /**
138
- * @return string
139
- */
140
- public function getPath()
141
- {
142
- return $this->path;
143
- }
144
-
145
- /**
146
- * @return string
147
- */
148
- public function getSecret()
149
- {
150
- return $this->secret;
151
- }
152
-
153
- /**
154
- * @param string $secret
155
- */
156
- public function setSecret($secret)
157
- {
158
- $this->secret = $secret;
159
- }
160
-
161
- /**
162
- * @return bool
163
- */
164
- public function isInstallResolved()
165
- {
166
- return $this->isInstallResolved;
167
- }
168
-
169
- /**
170
- * @param bool $isInstallResolved
171
- */
172
- public function setIsInstallResolved($isInstallResolved)
173
- {
174
- $this->isInstallResolved = $isInstallResolved;
175
- }
176
- }
1
+ <?php
2
+
3
+ namespace Account;
4
+
5
+ /**
6
+ * Class AccountData is the data holder
7
+ * for Analyst\Account\Account class
8
+ * which is unserialized from database
9
+ */
10
+ class AccountData
11
+ {
12
+ /**
13
+ * Account id
14
+ *
15
+ * @var string
16
+ */
17
+ protected $id;
18
+
19
+ /**
20
+ * Account secret key
21
+ *
22
+ * @var string
23
+ */
24
+ protected $secret;
25
+
26
+ /**
27
+ * Basename of plugin
28
+ *
29
+ * @var string
30
+ */
31
+ protected $path;
32
+
33
+ /**
34
+ * Whether admin accepted opt in
35
+ * terms and permissions
36
+ *
37
+ * @var bool
38
+ */
39
+ protected $isInstalled = false;
40
+
41
+ /**
42
+ * Is user sign in for data tracking
43
+ *
44
+ * @var bool
45
+ */
46
+ protected $isOptedIn = false;
47
+
48
+ /**
49
+ * Is user accepted permissions grant
50
+ * for collection site data
51
+ *
52
+ * @var bool
53
+ */
54
+ protected $isSigned = false;
55
+
56
+ /**
57
+ * Is user ever resolved install modal window?
58
+ *
59
+ * @var bool
60
+ */
61
+ protected $isInstallResolved;
62
+
63
+ /**
64
+ * @return string
65
+ */
66
+ public function getId()
67
+ {
68
+ return $this->id;
69
+ }
70
+
71
+ /**
72
+ * @param string $id
73
+ */
74
+ public function setId($id)
75
+ {
76
+ $this->id = $id;
77
+ }
78
+
79
+ /**
80
+ * @param string $path
81
+ * @return AccountData
82
+ */
83
+ public function setPath($path)
84
+ {
85
+ $this->path = $path;
86
+ return $this;
87
+ }
88
+
89
+ /**
90
+ * @return bool
91
+ */
92
+ public function isInstalled()
93
+ {
94
+ return $this->isInstalled;
95
+ }
96
+
97
+ /**
98
+ * @param bool $isInstalled
99
+ */
100
+ public function setIsInstalled($isInstalled)
101
+ {
102
+ $this->isInstalled = $isInstalled;
103
+ }
104
+
105
+ /**
106
+ * @return bool
107
+ */
108
+ public function isOptedIn()
109
+ {
110
+ return $this->isOptedIn;
111
+ }
112
+
113
+ /**
114
+ * @param bool $isOptedIn
115
+ */
116
+ public function setIsOptedIn($isOptedIn)
117
+ {
118
+ $this->isOptedIn = $isOptedIn;
119
+ }
120
+
121
+ /**
122
+ * @return bool
123
+ */
124
+ public function isSigned()
125
+ {
126
+ return $this->isSigned;
127
+ }
128
+
129
+ /**
130
+ * @param bool $isSigned
131
+ */
132
+ public function setIsSigned($isSigned)
133
+ {
134
+ $this->isSigned = $isSigned;
135
+ }
136
+
137
+ /**
138
+ * @return string
139
+ */
140
+ public function getPath()
141
+ {
142
+ return $this->path;
143
+ }
144
+
145
+ /**
146
+ * @return string
147
+ */
148
+ public function getSecret()
149
+ {
150
+ return $this->secret;
151
+ }
152
+
153
+ /**
154
+ * @param string $secret
155
+ */
156
+ public function setSecret($secret)
157
+ {
158
+ $this->secret = $secret;
159
+ }
160
+
161
+ /**
162
+ * @return bool
163
+ */
164
+ public function isInstallResolved()
165
+ {
166
+ return $this->isInstallResolved;
167
+ }
168
+
169
+ /**
170
+ * @param bool $isInstallResolved
171
+ */
172
+ public function setIsInstallResolved($isInstallResolved)
173
+ {
174
+ $this->isInstallResolved = $isInstallResolved;
175
+ }
176
+ }
analyst/{src → analyst/src}/Account/AccountDataFactory.php RENAMED
@@ -1,121 +1,125 @@
1
- <?php
2
-
3
- namespace Account;
4
-
5
- /**
6
- * Class AccountDataFactory
7
- *
8
- * Holds information about this
9
- * wordpress project plugins accounts
10
- *
11
- */
12
- class AccountDataFactory
13
- {
14
- private static $instance;
15
-
16
- CONST OPTIONS_KEY = 'analyst_accounts_data';
17
-
18
- /**
19
- * @var AccountData[]
20
- */
21
- protected $accounts = [];
22
-
23
- /**
24
- * Read factory from options or make fresh instance
25
- *
26
- * @return static
27
- */
28
- public static function instance()
29
- {
30
- if (!static::$instance) {
31
- $raw = get_option(self::OPTIONS_KEY);
32
-
33
- // In case this object is not serialized
34
- // we instantiate new object
35
- if (!$raw) {
36
- static::$instance = new self();
37
- } else {
38
- static::$instance = unserialize($raw);
39
- }
40
-
41
- }
42
-
43
- return static::$instance;
44
- }
45
-
46
- /**
47
- * Sync this object data with cache
48
- */
49
- public function sync()
50
- {
51
- update_option(self::OPTIONS_KEY, serialize($this));
52
- }
53
-
54
- /**
55
- * Sync this instance data with cache
56
- */
57
- public static function syncData()
58
- {
59
- static::instance()->sync();
60
- }
61
-
62
- /**
63
- * Find plugin account data or create fresh one
64
- *
65
- * @param Account $account
66
- * @return AccountData|null
67
- */
68
- public function resolvePluginAccountData(Account $account)
69
- {
70
- $accountData = $this->findAccountDataById($account->getId());
71
-
72
- if (!$accountData) {
73
- $accountData = new AccountData();
74
-
75
- // Set proper default values
76
- $accountData->setPath($account->getPath());
77
- $accountData->setId($account->getId());
78
- $accountData->setSecret($account->getClientSecret());
79
-
80
- array_push($this->accounts, $accountData);
81
- }
82
-
83
- return $accountData;
84
- }
85
-
86
- /**
87
- * Should return account data by base path
88
- *
89
- * @param $basePath
90
- * @return AccountData
91
- */
92
- public function getAccountDataByBasePath($basePath)
93
- {
94
- foreach ($this->accounts as $iterable) {
95
- $iterableBasePath = plugin_basename($iterable->getPath());
96
-
97
- if ($iterableBasePath === $basePath) {
98
- return $iterable;
99
- }
100
- }
101
-
102
- return null;
103
- }
104
-
105
- /**
106
- * Return account by id
107
- *
108
- * @param $id
109
- * @return AccountData|null
110
- */
111
- private function findAccountDataById($id)
112
- {
113
- foreach ($this->accounts as &$iterable) {
114
- if ($iterable->getId() === $id) {
115
- return $iterable;
116
- }
117
- }
118
-
119
- return null;
120
- }
121
- }
 
 
 
 
1
+ <?php
2
+
3
+ namespace Account;
4
+
5
+
6
+ use Analyst\Core\AbstractFactory;
7
+
8
+ /**
9
+ * Class AccountDataFactory
10
+ *
11
+ * Holds information about this
12
+ * wordpress project plugins accounts
13
+ *
14
+ */
15
+ class AccountDataFactory extends AbstractFactory
16
+ {
17
+ private static $instance;
18
+
19
+ CONST OPTIONS_KEY = 'analyst_accounts_data';
20
+
21
+ /**
22
+ * @var AccountData[]
23
+ */
24
+ protected $accounts = [];
25
+
26
+ /**
27
+ * Read factory from options or make fresh instance
28
+ *
29
+ * @return static
30
+ */
31
+ public static function instance()
32
+ {
33
+ if (!static::$instance) {
34
+ $raw = get_option(self::OPTIONS_KEY);
35
+
36
+ // In case object is already unserialized
37
+ // and instance of AccountDataFactory we
38
+ // return it, in other case deal with
39
+ // serialized string data
40
+ if ($raw instanceof self) {
41
+ static::$instance = $raw;
42
+ } else {
43
+ static::$instance = is_string($raw) ? static::unserialize($raw) : new self();
44
+ }
45
+ }
46
+
47
+ return static::$instance;
48
+ }
49
+
50
+ /**
51
+ * Sync this object data with cache
52
+ */
53
+ public function sync()
54
+ {
55
+ update_option(self::OPTIONS_KEY, serialize($this));
56
+ }
57
+
58
+ /**
59
+ * Sync this instance data with cache
60
+ */
61
+ public static function syncData()
62
+ {
63
+ static::instance()->sync();
64
+ }
65
+
66
+ /**
67
+ * Find plugin account data or create fresh one
68
+ *
69
+ * @param Account $account
70
+ * @return AccountData|null
71
+ */
72
+ public function resolvePluginAccountData(Account $account)
73
+ {
74
+ $accountData = $this->findAccountDataById($account->getId());
75
+
76
+ if (!$accountData) {
77
+ $accountData = new AccountData();
78
+
79
+ // Set proper default values
80
+ $accountData->setPath($account->getPath());
81
+ $accountData->setId($account->getId());
82
+ $accountData->setSecret($account->getClientSecret());
83
+
84
+ array_push($this->accounts, $accountData);
85
+ }
86
+
87
+ return $accountData;
88
+ }
89
+
90
+ /**
91
+ * Should return account data by base path
92
+ *
93
+ * @param $basePath
94
+ * @return AccountData
95
+ */
96
+ public function getAccountDataByBasePath($basePath)
97
+ {
98
+ foreach ($this->accounts as $iterable) {
99
+ $iterableBasePath = plugin_basename($iterable->getPath());
100
+
101
+ if ($iterableBasePath === $basePath) {
102
+ return $iterable;
103
+ }
104
+ }
105
+
106
+ return null;
107
+ }
108
+
109
+ /**
110
+ * Return account by id
111
+ *
112
+ * @param $id
113
+ * @return AccountData|null
114
+ */
115
+ private function findAccountDataById($id)
116
+ {
117
+ foreach ($this->accounts as &$iterable) {
118
+ if ($iterable->getId() === $id) {
119
+ return $iterable;
120
+ }
121
+ }
122
+
123
+ return null;
124
+ }
125
+ }
analyst/{src → analyst/src}/Analyst.php RENAMED
@@ -1,167 +1,167 @@
1
- <?php
2
- namespace Analyst;
3
-
4
- use Account\Account;
5
- use Account\AccountDataFactory;
6
- use Analyst\Contracts\AnalystContract;
7
- use Analyst\Contracts\RequestorContract;
8
-
9
- class Analyst implements AnalystContract
10
- {
11
- /**
12
- * All plugin's accounts
13
- *
14
- * @var array
15
- */
16
- protected $accounts = array();
17
-
18
- /**
19
- * @var Mutator
20
- */
21
- protected $mutator;
22
-
23
- /**
24
- * @var AccountDataFactory
25
- */
26
- protected $accountDataFactory;
27
-
28
- /**
29
- * Base url to api
30
- *
31
- * @var string
32
- */
33
- protected $apiBase = 'https://feedback.sellcodes.com/api/v1';
34
-
35
- /**
36
- * @var Collector
37
- */
38
- protected $collector;
39
-
40
- /**
41
- * Singleton instance
42
- *
43
- * @var static
44
- */
45
- protected static $instance;
46
-
47
- /**
48
- * Get instance of analyst
49
- *
50
- * @return Analyst
51
- * @throws \Exception
52
- */
53
- public static function getInstance()
54
- {
55
- if (!static::$instance) {
56
- static::$instance = new Analyst();
57
- }
58
-
59
- return static::$instance;
60
- }
61
-
62
- protected function __construct()
63
- {
64
- $this->mutator = new Mutator();
65
-
66
- $this->accountDataFactory = AccountDataFactory::instance();
67
-
68
- $this->mutator->initialize();
69
-
70
- $this->collector = new Collector($this);
71
-
72
- $this->initialize();
73
- }
74
-
75
- /**
76
- * Initialize rest of application
77
- */
78
- public function initialize()
79
- {
80
- add_action('init', function () {
81
- $this->collector->loadCurrentUser();
82
- });
83
- }
84
-
85
- /**
86
- * Register new account
87
- *
88
- * @param Account $account
89
- * @return Analyst
90
- * @throws \Exception
91
- */
92
- public function registerAccount($account)
93
- {
94
- // Stop propagation when account is already registered
95
- if ($this->isAccountRegistered($account)) {
96
- return $this;
97
- }
98
-
99
- // Resolve account data from factory
100
- $accountData = $this->accountDataFactory->resolvePluginAccountData($account);
101
-
102
- $account->setData($accountData);
103
-
104
- $account->setRequestor(
105
- $this->resolveRequestorForAccount($account)
106
- );
107
-
108
- $account->setCollector($this->collector);
109
-
110
- $account->registerHooks();
111
-
112
- $this->accounts[$account->getId()] = $account;
113
-
114
- return $this;
115
- }
116
-
117
- /**
118
- * Must return version of analyst
119
- *
120
- * @return string
121
- */
122
- public static function version()
123
- {
124
- $version = require __DIR__ . '/../version.php';
125
-
126
- return $version['sdk'];
127
- }
128
-
129
- /**
130
- * Is this account registered
131
- *
132
- * @param Account $account
133
- * @return bool
134
- */
135
- protected function isAccountRegistered($account)
136
- {
137
- return isset($this->accounts[$account->getId()]);
138
- }
139
-
140
- /**
141
- * Resolves requestor for account
142
- *
143
- * @param Account $account
144
- * @return RequestorContract
145
- * @throws \Exception
146
- */
147
- protected function resolveRequestorForAccount(Account $account)
148
- {
149
- $requestor = new ApiRequestor($account->getId(), $account->getClientSecret(), $this->apiBase);
150
-
151
- // Set SDK version
152
- $requestor->setDefaultHeader(
153
- 'x-analyst-client-user-agent',
154
- sprintf('Analyst/%s', $this->version())
155
- );
156
-
157
- return $requestor;
158
- }
159
-
160
- /**
161
- * @return string
162
- */
163
- public function getApiBase()
164
- {
165
- return $this->apiBase;
166
- }
167
- }
1
+ <?php
2
+ namespace Analyst;
3
+
4
+ use Account\Account;
5
+ use Account\AccountDataFactory;
6
+ use Analyst\Contracts\AnalystContract;
7
+ use Analyst\Contracts\RequestorContract;
8
+
9
+ class Analyst implements AnalystContract
10
+ {
11
+ /**
12
+ * All plugin's accounts
13
+ *
14
+ * @var array
15
+ */
16
+ protected $accounts = array();
17
+
18
+ /**
19
+ * @var Mutator
20
+ */
21
+ protected $mutator;
22
+
23
+ /**
24
+ * @var AccountDataFactory
25
+ */
26
+ protected $accountDataFactory;
27
+
28
+ /**
29
+ * Base url to api
30
+ *
31
+ * @var string
32
+ */
33
+ protected $apiBase = 'https://feedback.sellcodes.com/api/v1';
34
+
35
+ /**
36
+ * @var Collector
37
+ */
38
+ protected $collector;
39
+
40
+ /**
41
+ * Singleton instance
42
+ *
43
+ * @var static
44
+ */
45
+ protected static $instance;
46
+
47
+ /**
48
+ * Get instance of analyst
49
+ *
50
+ * @return Analyst
51
+ * @throws \Exception
52
+ */
53
+ public static function getInstance()
54
+ {
55
+ if (!static::$instance) {
56
+ static::$instance = new Analyst();
57
+ }
58
+
59
+ return static::$instance;
60
+ }
61
+
62
+ protected function __construct()
63
+ {
64
+ $this->mutator = new Mutator();
65
+
66
+ $this->accountDataFactory = AccountDataFactory::instance();
67
+
68
+ $this->mutator->initialize();
69
+
70
+ $this->collector = new Collector($this);
71
+
72
+ $this->initialize();
73
+ }
74
+
75
+ /**
76
+ * Initialize rest of application
77
+ */
78
+ public function initialize()
79
+ {
80
+ add_action('init', function () {
81
+ $this->collector->loadCurrentUser();
82
+ });
83
+ }
84
+
85
+ /**
86
+ * Register new account
87
+ *
88
+ * @param Account $account
89
+ * @return Analyst
90
+ * @throws \Exception
91
+ */
92
+ public function registerAccount($account)
93
+ {
94
+ // Stop propagation when account is already registered
95
+ if ($this->isAccountRegistered($account)) {
96
+ return $this;
97
+ }
98
+
99
+ // Resolve account data from factory
100
+ $accountData = $this->accountDataFactory->resolvePluginAccountData($account);
101
+
102
+ $account->setData($accountData);
103
+
104
+ $account->setRequestor(
105
+ $this->resolveRequestorForAccount($account)
106
+ );
107
+
108
+ $account->setCollector($this->collector);
109
+
110
+ $account->registerHooks();
111
+
112
+ $this->accounts[$account->getId()] = $account;
113
+
114
+ return $this;
115
+ }
116
+
117
+ /**
118
+ * Must return version of analyst
119
+ *
120
+ * @return string
121
+ */
122
+ public static function version()
123
+ {
124
+ $version = require __DIR__ . '/../version.php';
125
+
126
+ return $version['sdk'];
127
+ }
128
+
129
+ /**
130
+ * Is this account registered
131
+ *
132
+ * @param Account $account
133
+ * @return bool
134
+ */
135
+ protected function isAccountRegistered($account)
136
+ {
137
+ return isset($this->accounts[$account->getId()]);
138
+ }
139
+
140
+ /**
141
+ * Resolves requestor for account
142
+ *
143
+ * @param Account $account
144
+ * @return RequestorContract
145
+ * @throws \Exception
146
+ */
147
+ protected function resolveRequestorForAccount(Account $account)
148
+ {
149
+ $requestor = new ApiRequestor($account->getId(), $account->getClientSecret(), $this->apiBase);
150
+
151
+ // Set SDK version
152
+ $requestor->setDefaultHeader(
153
+ 'x-analyst-client-user-agent',
154
+ sprintf('Analyst/%s', $this->version())
155
+ );
156
+
157
+ return $requestor;
158
+ }
159
+
160
+ /**
161
+ * @return string
162
+ */
163
+ public function getApiBase()
164
+ {
165
+ return $this->apiBase;
166
+ }
167
+ }
analyst/{src → analyst/src}/ApiRequestor.php RENAMED
@@ -1,257 +1,257 @@
1
- <?php
2
-
3
- namespace Analyst;
4
-
5
- use Exception;
6
- use Analyst\Contracts\HttpClientContract;
7
- use Analyst\Contracts\RequestorContract;
8
-
9
- class ApiRequestor implements RequestorContract
10
- {
11
- /**
12
- * Supported http client
13
- *
14
- * @var HttpClientContract
15
- */
16
- protected $httpClient;
17
-
18
- /**
19
- * @var string
20
- */
21
- protected $clientId;
22
-
23
- /**
24
- * @var string
25
- */
26
- protected $clientSecret;
27
-
28
- /**
29
- * @var string
30
- */
31
- protected $apiBase;
32
-
33
- /**
34
- * Default headers to be sent
35
- *
36
- * @var array
37
- */
38
- protected $defaultHeaders = [
39
- 'accept' => 'application/json',
40
- 'content-type' => 'application/json'
41
- ];
42
-
43
- /**
44
- * Prioritized http clients
45
- *
46
- * @var array
47
- */
48
- protected $availableClients = [
49
- 'Analyst\Http\WordPressHttpClient',
50
- 'Analyst\Http\CurlHttpClient',
51
- 'Analyst\Http\DummyHttpClient',
52
- ];
53
-
54
- /**
55
- * ApiRequestor constructor.
56
- * @param $id
57
- * @param $secret
58
- * @param $apiBase
59
- * @throws \Exception
60
- */
61
- public function __construct($id, $secret, $apiBase)
62
- {
63
- $this->clientId = $id;
64
- $this->clientSecret = $secret;
65
-
66
- $this->setApiBase($apiBase);
67
-
68
- $this->httpClient = $this->resolveHttpClient();
69
- }
70
-
71
- /**
72
- * Set api base url
73
- *
74
- * @param $url
75
- */
76
- public function setApiBase($url)
77
- {
78
- $this->apiBase = $url;
79
- }
80
-
81
- /**
82
- * Get request
83
- *
84
- * @param $url
85
- * @param array $headers
86
- * @return mixed
87
- */
88
- public function get($url, $headers = [])
89
- {
90
- return $this->request('GET', $url, null, $headers);
91
- }
92
-
93
- /**
94
- * Post request
95
- *
96
- * @param $url
97
- * @param $body
98
- * @param array $headers
99
- * @return mixed
100
- */
101
- public function post($url, $body = [], $headers = [])
102
- {
103
- return $this->request('POST', $url, $body, $headers);
104
- }
105
-
106
- /**
107
- * Put request
108
- *
109
- * @param $url
110
- * @param $body
111
- * @param array $headers
112
- * @return mixed
113
- */
114
- public function put($url, $body = [], $headers = [])
115
- {
116
- return $this->request('PUT', $url, $body, $headers);
117
- }
118
-
119
- /**
120
- * Delete request
121
- *
122
- * @param $url
123
- * @param array $headers
124
- * @return mixed
125
- */
126
- public function delete($url, $headers = [])
127
- {
128
- return $this->request('DELETE', $url, null, $headers);
129
- }
130
-
131
- /**
132
- * Make request to api
133
- *
134
- * @param $method
135
- * @param $url
136
- * @param array $body
137
- * @param array $headers
138
- * @return mixed
139
- */
140
- protected function request($method, $url, $body = [], $headers = [])
141
- {
142
- $fullUrl = $this->resolveFullUrl($url);
143
-
144
- $date = date('r', time());
145
-
146
- $headers['date'] = $date;
147
- $headers['signature'] = $this->resolveSignature($this->clientSecret, $method, $fullUrl, $body, $date);
148
-
149
- // Lowercase header names
150
- $headers = $this->prepareHeaders(
151
- array_merge($headers, $this->defaultHeaders)
152
- );
153
-
154
- $response = $this->httpClient->request($method, $fullUrl, $body, $headers);
155
-
156
- // TODO: Check response code and take actions
157
-
158
- return $response;
159
- }
160
-
161
- /**
162
- * Set one default header
163
- *
164
- * @param $header
165
- * @param $value
166
- */
167
- public function setDefaultHeader($header, $value)
168
- {
169
- $this->defaultHeaders[
170
- $this->resolveValidHeaderName($header)
171
- ] = $value;
172
- }
173
-
174
- /**
175
- * Resolves supported http client
176
- *
177
- * @return HttpClientContract
178
- * @throws Exception
179
- */
180
- protected function resolveHttpClient()
181
- {
182
- $clients = array_filter($this->availableClients, $this->guessClientSupportEnvironment());
183
-
184
- if (!isset($clients[0])) {
185
- throw new Exception('There is no http client which this application can support');
186
- }
187
-
188
- // Instantiate first supported http client
189
- return new $clients[0];
190
- }
191
-
192
- /**
193
- * This will filter out clients which is not supported
194
- * by the current environment
195
- *
196
- * @return \Closure
197
- */
198
- protected function guessClientSupportEnvironment()
199
- {
200
- return function ($client) {
201
- return forward_static_call([$client, 'hasSupport']);
202
- };
203
- }
204
-
205
- /**
206
- * Resolves valid header name
207
- *
208
- * @param $headerName
209
- * @return string
210
- */
211
- private function resolveValidHeaderName($headerName)
212
- {
213
- return strtolower($headerName);
214
- }
215
-
216
- /**
217
- * Lowercase header names
218
- *
219
- * @param $headers
220
- * @return array
221
- */
222
- private function prepareHeaders($headers)
223
- {
224
- return array_change_key_case($headers, CASE_LOWER);
225
- }
226
-
227
- /**
228
- * Sign request
229
- *
230
- * @param $key
231
- * @param $method
232
- * @param $url
233
- * @param $body
234
- * @param $date
235
- *
236
- * @return false|string
237
- */
238
- private function resolveSignature($key, $method, $url, $body, $date)
239
- {
240
- $string = implode('\n', [$method, $url, md5(json_encode($body)), $date]);
241
-
242
- $contentSecret = hash_hmac('sha256', $string, $key);
243
-
244
- return sprintf('%s:%s', $this->clientId, $contentSecret);
245
- }
246
-
247
- /**
248
- * Compose full url
249
- *
250
- * @param $url
251
- * @return string
252
- */
253
- private function resolveFullUrl($url)
254
- {
255
- return sprintf('%s/%s', $this->apiBase, trim($url, '/'));
256
- }
257
- }
1
+ <?php
2
+
3
+ namespace Analyst;
4
+
5
+ use Exception;
6
+ use Analyst\Contracts\HttpClientContract;
7
+ use Analyst\Contracts\RequestorContract;
8
+
9
+ class ApiRequestor implements RequestorContract
10
+ {
11
+ /**
12
+ * Supported http client
13
+ *
14
+ * @var HttpClientContract
15
+ */
16
+ protected $httpClient;
17
+
18
+ /**
19
+ * @var string
20
+ */
21
+ protected $clientId;
22
+
23
+ /**
24
+ * @var string
25
+ */
26
+ protected $clientSecret;
27
+
28
+ /**
29
+ * @var string
30
+ */
31
+ protected $apiBase;
32
+
33
+ /**
34
+ * Default headers to be sent
35
+ *
36
+ * @var array
37
+ */
38
+ protected $defaultHeaders = [
39
+ 'accept' => 'application/json',
40
+ 'content-type' => 'application/json'
41
+ ];
42
+
43
+ /**
44
+ * Prioritized http clients
45
+ *
46
+ * @var array
47
+ */
48
+ protected $availableClients = [
49
+ 'Analyst\Http\WordPressHttpClient',
50
+ 'Analyst\Http\CurlHttpClient',
51
+ 'Analyst\Http\DummyHttpClient',
52
+ ];
53
+
54
+ /**
55
+ * ApiRequestor constructor.
56
+ * @param $id
57
+ * @param $secret
58
+ * @param $apiBase
59
+ * @throws \Exception
60
+ */
61
+ public function __construct($id, $secret, $apiBase)
62
+ {
63
+ $this->clientId = $id;
64
+ $this->clientSecret = $secret;
65
+
66
+ $this->setApiBase($apiBase);
67
+
68
+ $this->httpClient = $this->resolveHttpClient();
69
+ }
70
+
71
+ /**
72
+ * Set api base url
73
+ *
74
+ * @param $url
75
+ */
76
+ public function setApiBase($url)
77
+ {
78
+ $this->apiBase = $url;
79
+ }
80
+
81
+ /**
82
+ * Get request
83
+ *
84
+ * @param $url
85
+ * @param array $headers
86
+ * @return mixed
87
+ */
88
+ public function get($url, $headers = [])
89
+ {
90
+ return $this->request('GET', $url, null, $headers);
91
+ }
92
+
93
+ /**
94
+ * Post request
95
+ *
96
+ * @param $url
97
+ * @param $body
98
+ * @param array $headers
99
+ * @return mixed
100
+ */
101
+ public function post($url, $body = [], $headers = [])
102
+ {
103
+ return $this->request('POST', $url, $body, $headers);
104
+ }
105
+
106
+ /**
107
+ * Put request
108
+ *
109
+ * @param $url
110
+ * @param $body
111
+ * @param array $headers
112
+ * @return mixed
113
+ */
114
+ public function put($url, $body = [], $headers = [])
115
+ {
116
+ return $this->request('PUT', $url, $body, $headers);
117
+ }
118
+
119
+ /**
120
+ * Delete request
121
+ *
122
+ * @param $url
123
+ * @param array $headers
124
+ * @return mixed
125
+ */
126
+ public function delete($url, $headers = [])
127
+ {
128
+ return $this->request('DELETE', $url, null, $headers);
129
+ }
130
+
131
+ /**
132
+ * Make request to api
133
+ *
134
+ * @param $method
135
+ * @param $url
136
+ * @param array $body
137
+ * @param array $headers
138
+ * @return mixed
139
+ */
140
+ protected function request($method, $url, $body = [], $headers = [])
141
+ {
142
+ $fullUrl = $this->resolveFullUrl($url);
143
+
144
+ $date = date('r', time());
145
+
146
+ $headers['date'] = $date;
147
+ $headers['signature'] = $this->resolveSignature($this->clientSecret, $method, $fullUrl, $body, $date);
148
+
149
+ // Lowercase header names
150
+ $headers = $this->prepareHeaders(
151
+ array_merge($headers, $this->defaultHeaders)
152
+ );
153
+
154
+ $response = $this->httpClient->request($method, $fullUrl, $body, $headers);
155
+
156
+ // TODO: Check response code and take actions
157
+
158
+ return $response;
159
+ }
160
+
161
+ /**
162
+ * Set one default header
163
+ *
164
+ * @param $header
165
+ * @param $value
166
+ */
167
+ public function setDefaultHeader($header, $value)
168
+ {
169
+ $this->defaultHeaders[
170
+ $this->resolveValidHeaderName($header)
171
+ ] = $value;
172
+ }
173
+
174
+ /**
175
+ * Resolves supported http client
176
+ *
177
+ * @return HttpClientContract
178
+ * @throws Exception
179
+ */
180
+ protected function resolveHttpClient()
181
+ {
182
+ $clients = array_filter($this->availableClients, $this->guessClientSupportEnvironment());
183
+
184
+ if (!isset($clients[0])) {
185
+ throw new Exception('There is no http client which this application can support');
186
+ }
187
+
188
+ // Instantiate first supported http client
189
+ return new $clients[0];
190
+ }
191
+
192
+ /**
193
+ * This will filter out clients which is not supported
194
+ * by the current environment
195
+ *
196
+ * @return \Closure
197
+ */
198
+ protected function guessClientSupportEnvironment()
199
+ {
200
+ return function ($client) {
201
+ return forward_static_call([$client, 'hasSupport']);
202
+ };
203
+ }
204
+
205
+ /**
206
+ * Resolves valid header name
207
+ *
208
+ * @param $headerName
209
+ * @return string
210
+ */
211
+ private function resolveValidHeaderName($headerName)
212
+ {
213
+ return strtolower($headerName);
214
+ }
215
+
216
+ /**
217
+ * Lowercase header names
218
+ *
219
+ * @param $headers
220
+ * @return array
221
+ */
222
+ private function prepareHeaders($headers)
223
+ {
224
+ return array_change_key_case($headers, CASE_LOWER);
225
+ }
226
+
227
+ /**
228
+ * Sign request
229
+ *
230
+ * @param $key
231
+ * @param $method
232
+ * @param $url
233
+ * @param $body
234
+ * @param $date
235
+ *
236
+ * @return false|string
237
+ */
238
+ private function resolveSignature($key, $method, $url, $body, $date)
239
+ {
240
+ $string = implode('\n', [$method, $url, md5(json_encode($body)), $date]);
241
+
242
+ $contentSecret = hash_hmac('sha256', $string, $key);
243
+
244
+ return sprintf('%s:%s', $this->clientId, $contentSecret);
245
+ }
246
+
247
+ /**
248
+ * Compose full url
249
+ *
250
+ * @param $url
251
+ * @return string
252
+ */
253
+ private function resolveFullUrl($url)
254
+ {
255
+ return sprintf('%s/%s', $this->apiBase, trim($url, '/'));
256
+ }
257
+ }
analyst/{src → analyst/src}/ApiResponse.php RENAMED
@@ -1,44 +1,44 @@
1
- <?php
2
-
3
- namespace Analyst;
4
-
5
- class ApiResponse
6
- {
7
- /**
8
- * Response headers
9
- *
10
- * @var array
11
- */
12
- public $headers;
13
-
14
- /**
15
- * Response body
16
- *
17
- * @var mixed
18
- */
19
- public $body;
20
-
21
- /**
22
- * Status code
23
- *
24
- * @var string
25
- */
26
- public $code;
27
-
28
- public function __construct($body, $code, $headers)
29
- {
30
- $this->body = $body;
31
- $this->code = $code;
32
- $this->headers = $headers;
33
- }
34
-
35
- /**
36
- * Whether status code is successful
37
- *
38
- * @return bool
39
- */
40
- public function isSuccess()
41
- {
42
- return $this->code >= 200 && $this->code < 300;
43
- }
44
- }
1
+ <?php
2
+
3
+ namespace Analyst;
4
+
5
+ class ApiResponse
6
+ {
7
+ /**
8
+ * Response headers
9
+ *
10
+ * @var array
11
+ */
12
+ public $headers;
13
+
14
+ /**
15
+ * Response body
16
+ *
17
+ * @var mixed
18
+ */
19
+ public $body;
20
+
21
+ /**
22
+ * Status code
23
+ *
24
+ * @var string
25
+ */
26
+ public $code;
27
+
28
+ public function __construct($body, $code, $headers)
29
+ {
30
+ $this->body = $body;
31
+ $this->code = $code;
32
+ $this->headers = $headers;
33
+ }
34
+
35
+ /**
36
+ * Whether status code is successful
37
+ *
38
+ * @return bool
39
+ */
40
+ public function isSuccess()
41
+ {
42
+ return $this->code >= 200 && $this->code < 300;
43
+ }
44
+ }
analyst/{src → analyst/src}/Cache/DatabaseCache.php RENAMED
@@ -1,118 +1,127 @@
1
- <?php
2
-
3
- namespace Analyst\Cache;
4
-
5
- use Analyst\Contracts\CacheContract;
6
-
7
- /**
8
- * Class DatabaseCache
9
- *
10
- * @since 1.1.5
11
- */
12
- class DatabaseCache implements CacheContract
13
- {
14
- const OPTION_KEY = 'analyst_cache';
15
-
16
- protected static $instance;
17
-
18
- /**
19
- * Get instance of db cache
20
- *
21
- * @return DatabaseCache
22
- */
23
- public static function getInstance()
24
- {
25
- if (!self::$instance) {
26
- self::$instance = new DatabaseCache();
27
- }
28
-
29
- return self::$instance;
30
- }
31
-
32
- /**
33
- * DatabaseCache constructor.
34
- */
35
- public function __construct()
36
- {
37
- $this->values = unserialize(get_option(self::OPTION_KEY, serialize([])));
38
- }
39
-
40
- /**
41
- * Key value pair
42
- *
43
- * @var array[]
44
- */
45
- protected $values;
46
-
47
- /**
48
- * Save value with given key
49
- *
50
- * @param string $key
51
- * @param string $value
52
- *
53
- * @return static
54
- */
55
- public function put($key, $value)
56
- {
57
- $this->values[$key] = $value;
58
-
59
- $this->sync();
60
-
61
- return $this;
62
- }
63
-
64
- /**
65
- * Get value by given key
66
- *
67
- * @param $key
68
- *
69
- * @param null $default
70
- * @return string
71
- */
72
- public function get($key, $default = null)
73
- {
74
- $value = isset($this->values[$key]) ? $this->values[$key] : $default;
75
-
76
- return $value;
77
- }
78
-
79
- /**
80
- * @param $key
81
- *
82
- * @return static
83
- */
84
- public function delete($key)
85
- {
86
- if (isset($this->values[$key])) {
87
- unset($this->values[$key]);
88
-
89
- $this->sync();
90
- }
91
-
92
- return $this;
93
- }
94
-
95
- /**
96
- * Update cache in DB
97
- */
98
- protected function sync()
99
- {
100
- update_option(self::OPTION_KEY, serialize($this->values));
101
- }
102
-
103
- /**
104
- * Should get value and remove it from cache
105
- *
106
- * @param $key
107
- * @param null $default
108
- * @return mixed
109
- */
110
- public function pop($key, $default = null)
111
- {
112
- $value = $this->get($key);
113
-
114
- $this->delete($key);
115
-
116
- return $value;
117
- }
118
- }
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Analyst\Cache;
4
+
5
+ use Analyst\Contracts\CacheContract;
6
+
7
+ /**
8
+ * Class DatabaseCache
9
+ *
10
+ * @since 1.1.5
11
+ */
12
+ class DatabaseCache implements CacheContract
13
+ {
14
+ const OPTION_KEY = 'analyst_cache';
15
+
16
+ protected static $instance;
17
+
18
+ /**
19
+ * Get instance of db cache
20
+ *
21
+ * @return DatabaseCache
22
+ */
23
+ public static function getInstance()
24
+ {
25
+ if (!self::$instance) {
26
+ self::$instance = new DatabaseCache();
27
+ }
28
+
29
+ return self::$instance;
30
+ }
31
+
32
+ /**
33
+ * Key value pair
34
+ *
35
+ * @var array[]
36
+ */
37
+ protected $values = [];
38
+
39
+ /**
40
+ * DatabaseCache constructor.
41
+ */
42
+ public function __construct()
43
+ {
44
+ $raw = get_option(self::OPTION_KEY, serialize([]));
45
+
46
+ // Raw data may be an array already
47
+ $this->values = is_array($raw) ? $raw : @unserialize($raw);
48
+
49
+ // In case serialization is failed
50
+ // make sure values is an array
51
+ if (!is_array($this->values)) {
52
+ $this->values = [];
53
+ }
54
+ }
55
+
56
+ /**
57
+ * Save value with given key
58
+ *
59
+ * @param string $key
60
+ * @param string $value
61
+ *
62
+ * @return static
63
+ */
64
+ public function put($key, $value)
65
+ {
66
+ $this->values[$key] = $value;
67
+
68
+ $this->sync();
69
+
70
+ return $this;
71
+ }
72
+
73
+ /**
74
+ * Get value by given key
75
+ *
76
+ * @param $key
77
+ *
78
+ * @param null $default
79
+ * @return string
80
+ */
81
+ public function get($key, $default = null)
82
+ {
83
+ $value = isset($this->values[$key]) ? $this->values[$key] : $default;
84
+
85
+ return $value;
86
+ }
87
+
88
+ /**
89
+ * @param $key
90
+ *
91
+ * @return static
92
+ */
93
+ public function delete($key)
94
+ {
95
+ if (isset($this->values[$key])) {
96
+ unset($this->values[$key]);
97
+
98
+ $this->sync();
99
+ }
100
+
101
+ return $this;
102
+ }
103
+
104
+ /**
105
+ * Update cache in DB
106
+ */
107
+ protected function sync()
108
+ {
109
+ update_option(self::OPTION_KEY, serialize($this->values));
110
+ }
111
+
112
+ /**
113
+ * Should get value and remove it from cache
114
+ *
115
+ * @param $key
116
+ * @param null $default
117
+ * @return mixed
118
+ */
119
+ public function pop($key, $default = null)
120
+ {
121
+ $value = $this->get($key);
122
+
123
+ $this->delete($key);
124
+
125
+ return $value;
126
+ }
127
+ }
analyst/{src → analyst/src}/Collector.php RENAMED
@@ -1,217 +1,217 @@
1
- <?php
2
-
3
- namespace Analyst;
4
-
5
- use Analyst\Contracts\AnalystContract;
6
-
7
- /**
8
- * Class Collector is a set of getters
9
- * to retrieve some data from wp site
10
- */
11
- class Collector
12
- {
13
- /**
14
- * @var AnalystContract
15
- */
16
- protected $sdk;
17
-
18
- /**
19
- * @var \WP_User
20
- */
21
- protected $user;
22
-
23
- public function __construct(AnalystContract $sdk)
24
- {
25
- $this->sdk = $sdk;
26
- }
27
-
28
- /**
29
- * Load current user into memory
30
- */
31
- public function loadCurrentUser()
32
- {
33
- $this->user = wp_get_current_user();
34
- }
35
-
36
- /**
37
- * Get site url
38
- *
39
- * @return string
40
- */
41
- public function getSiteUrl()
42
- {
43
- return get_option('siteurl');
44
- }
45
-
46
- /**
47
- * Get current user email
48
- *
49
- * @return string
50
- */
51
- public function getCurrentUserEmail()
52
- {
53
- return $this->user->user_email;
54
- }
55
-
56
- /**
57
- * Get's email from general settings
58
- *
59
- * @return string
60
- */
61
- public function getGeneralEmailAddress()
62
- {
63
- return get_option('admin_email');
64
- }
65
-
66
- /**
67
- * Is this user administrator
68
- *
69
- * @return bool
70
- */
71
- public function isUserAdministrator()
72
- {
73
- return in_array('administrator', $this->user->roles);
74
- }
75
-
76
- /**
77
- * User name
78
- *
79
- * @return string
80
- */
81
- public function getCurrentUserName()
82
- {
83
- return $this->user ? $this->user->user_nicename : 'unknown';
84
- }
85
-
86
- /**
87
- * WP version
88
- *
89
- * @return string
90
- */
91
- public function getWordPressVersion()
92
- {
93
- global $wp_version;
94
-
95
- return $wp_version;
96
- }
97
-
98
- /**
99
- * PHP version
100
- *
101
- * @return string
102
- */
103
- public function getPHPVersion()
104
- {
105
- return phpversion();
106
- }
107
-
108
- /**
109
- * Resolves plugin information
110
- *
111
- * @param string $path Absolute path to plugin
112
- * @return array
113
- */
114
- public function resolvePluginData($path)
115
- {
116
- if( !function_exists('get_plugin_data') ){
117
- require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
118
- }
119
-
120
- return get_plugin_data($path);
121
- }
122
-
123
- /**
124
- * Get plugin name by path
125
- *
126
- * @param $path
127
- * @return string
128
- */
129
- public function getPluginName($path)
130
- {
131
- $data = $this->resolvePluginData($path);
132
-
133
- return $data['Name'];
134
- }
135
-
136
- /**
137
- * Get plugin version
138
- *
139
- * @param $path
140
- * @return string
141
- */
142
- public function getPluginVersion($path)
143
- {
144
- $data = $this->resolvePluginData($path);
145
-
146
- return $data['Version'] ? $data['Version'] : null;
147
- }
148
-
149
- /**
150
- * Get server ip
151
- *
152
- * @return string
153
- */
154
- public function getServerIp()
155
- {
156
- return $_SERVER['SERVER_ADDR'];
157
- }
158
-
159
- /**
160
- * @return string
161
- */
162
- public function getSDKVersion()
163
- {
164
- return $this->sdk->version();
165
- }
166
-
167
- /**
168
- * @return string
169
- */
170
- public function getMysqlVersion()
171
- {
172
- global $wpdb;
173
-
174
- $version = empty($wpdb->use_mysqli) ? mysql_get_server_info() : mysqli_get_server_info($wpdb->dbh);
175
-
176
- return $version ? $version : 'unknown';
177
- }
178
-
179
- /**
180
- * @return string
181
- */
182
- public function getSiteLanguage()
183
- {
184
- return get_locale();
185
- }
186
-
187
-
188
- /**
189
- * Current WP theme
190
- *
191
- * @return false|string
192
- */
193
- public function getCurrentThemeName()
194
- {
195
- return wp_get_theme()->get('Name');
196
- }
197
-
198
- /**
199
- * Get active plugins list
200
- *
201
- * @return array
202
- */
203
- public function getActivePluginsList()
204
- {
205
- if (!function_exists('get_plugins')) {
206
- require_once ABSPATH . 'wp-admin/includes/plugin.php';
207
- }
208
-
209
- $allPlugins = get_plugins();
210
-
211
- $activePluginsNames = array_map(function ($path) use ($allPlugins) {
212
- return $allPlugins[$path]['Name'];
213
- }, get_option('active_plugins'));
214
-
215
- return $activePluginsNames;
216
- }
217
- }
1
+ <?php
2
+
3
+ namespace Analyst;
4
+
5
+ use Analyst\Contracts\AnalystContract;
6
+
7
+ /**
8
+ * Class Collector is a set of getters
9
+ * to retrieve some data from wp site
10
+ */
11
+ class Collector
12
+ {
13
+ /**
14
+ * @var AnalystContract
15
+ */
16
+ protected $sdk;
17
+
18
+ /**
19
+ * @var \WP_User
20
+ */
21
+ protected $user;
22
+
23
+ public function __construct(AnalystContract $sdk)
24
+ {
25
+ $this->sdk = $sdk;
26
+ }
27
+
28
+ /**
29
+ * Load current user into memory
30
+ */
31
+ public function loadCurrentUser()
32
+ {
33
+ $this->user = wp_get_current_user();
34
+ }
35
+
36
+ /**
37
+ * Get site url
38
+ *
39
+ * @return string
40
+ */
41
+ public function getSiteUrl()
42
+ {
43
+ return get_option('siteurl');
44
+ }
45
+
46
+ /**
47
+ * Get current user email
48
+ *
49
+ * @return string
50
+ */
51
+ public function getCurrentUserEmail()
52
+ {
53
+ return $this->user->user_email;
54
+ }
55
+
56
+ /**
57
+ * Get's email from general settings
58
+ *
59
+ * @return string
60
+ */
61
+ public function getGeneralEmailAddress()
62
+ {
63
+ return get_option('admin_email');
64
+ }
65
+
66
+ /**
67
+ * Is this user administrator
68
+ *
69
+ * @return bool
70
+ */
71
+ public function isUserAdministrator()
72
+ {
73
+ return in_array('administrator', $this->user->roles);
74
+ }
75
+
76
+ /**
77
+ * User name
78
+ *
79
+ * @return string
80
+ */
81
+ public function getCurrentUserName()
82
+ {
83
+ return $this->user ? $this->user->user_nicename : 'unknown';
84
+ }
85
+
86
+ /**
87
+ * WP version
88
+ *
89
+ * @return string
90
+ */
91
+ public function getWordPressVersion()
92
+ {
93
+ global $wp_version;
94
+
95
+ return $wp_version;
96
+ }
97
+
98
+ /**
99
+ * PHP version
100
+ *
101
+ * @return string
102
+ */
103
+ public function getPHPVersion()
104
+ {
105
+ return phpversion();
106
+ }
107
+
108
+ /**
109
+ * Resolves plugin information
110
+ *
111
+ * @param string $path Absolute path to plugin
112
+ * @return array
113
+ */
114
+ public function resolvePluginData($path)
115
+ {
116
+ if( !function_exists('get_plugin_data') ){
117
+ require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
118
+ }
119
+
120
+ return get_plugin_data($path);
121
+ }
122
+
123
+ /**
124
+ * Get plugin name by path
125
+ *
126
+ * @param $path
127
+ * @return string
128
+ */
129
+ public function getPluginName($path)
130
+ {
131
+ $data = $this->resolvePluginData($path);
132
+
133
+ return $data['Name'];
134
+ }
135
+
136
+ /**
137
+ * Get plugin version
138
+ *
139
+ * @param $path
140
+ * @return string
141
+ */
142
+ public function getPluginVersion($path)
143
+ {
144
+ $data = $this->resolvePluginData($path);
145
+
146
+ return $data['Version'] ? $data['Version'] : null;
147
+ }
148
+
149
+ /**
150
+ * Get server ip
151
+ *
152
+ * @return string
153
+ */
154
+ public function getServerIp()
155
+ {
156
+ return $_SERVER['SERVER_ADDR'];
157
+ }
158
+
159
+ /**
160
+ * @return string
161
+ */
162
+ public function getSDKVersion()
163
+ {
164
+ return $this->sdk->version();
165
+ }
166
+
167
+ /**
168
+ * @return string
169
+ */
170
+ public function getMysqlVersion()
171
+ {
172
+ global $wpdb;
173
+
174
+ $version = empty($wpdb->use_mysqli) ? mysql_get_server_info() : mysqli_get_server_info($wpdb->dbh);
175
+
176
+ return $version ? $version : 'unknown';
177
+ }
178
+
179
+ /**
180
+ * @return string
181
+ */
182
+ public function getSiteLanguage()
183
+ {
184
+ return get_locale();
185
+ }
186
+
187
+
188
+ /**
189
+ * Current WP theme
190
+ *
191
+ * @return false|string
192
+ */
193
+ public function getCurrentThemeName()
194
+ {
195
+ return wp_get_theme()->get('Name');
196
+ }
197
+
198
+ /**
199
+ * Get active plugins list
200
+ *
201
+ * @return array
202
+ */
203
+ public function getActivePluginsList()
204
+ {
205
+ if (!function_exists('get_plugins')) {
206
+ require_once ABSPATH . 'wp-admin/includes/plugin.php';
207
+ }
208
+
209
+ $allPlugins = get_plugins();
210
+
211
+ $activePluginsNames = array_map(function ($path) use ($allPlugins) {
212
+ return $allPlugins[$path]['Name'];
213
+ }, get_option('active_plugins'));
214
+
215
+ return $activePluginsNames;
216
+ }
217
+ }
analyst/{src → analyst/src}/Contracts/AnalystContract.php RENAMED
@@ -1,12 +1,12 @@
1
- <?php
2
- namespace Analyst\Contracts;
3
-
4
- interface AnalystContract
5
- {
6
- /**
7
- * Must return version of analyst
8
- *
9
- * @return string
10
- */
11
- public static function version();
12
- }
1
+ <?php
2
+ namespace Analyst\Contracts;
3
+
4
+ interface AnalystContract
5
+ {
6
+ /**
7
+ * Must return version of analyst
8
+ *
9
+ * @return string
10
+ */
11
+ public static function version();
12
+ }
analyst/{src → analyst/src}/Contracts/CacheContract.php RENAMED
@@ -1,47 +1,47 @@
1
- <?php
2
-
3
- namespace Analyst\Contracts;
4
-
5
- /**
6
- * Interface CacheContract
7
- *
8
- * @since 1.1.5
9
- */
10
- interface CacheContract
11
- {
12
- /**
13
- * Save value with given key
14
- *
15
- * @param string $key
16
- * @param string $value
17
- *
18
- * @return static
19
- */
20
- public function put($key, $value);
21
-
22
- /**
23
- * Get value by given key
24
- *
25
- * @param $key
26
- *
27
- * @param null $default
28
- * @return string
29
- */
30
- public function get($key, $default = null);
31
-
32
- /**
33
- * @param $key
34
- *
35
- * @return static
36
- */
37
- public function delete($key);
38
-
39
- /**
40
- * Should get value and remove it from cache
41
- *
42
- * @param $key
43
- * @param null $default
44
- * @return mixed
45
- */
46
- public function pop($key, $default = null);
47
- }
1
+ <?php
2
+
3
+ namespace Analyst\Contracts;
4
+
5
+ /**
6
+ * Interface CacheContract
7
+ *
8
+ * @since 1.1.5
9
+ */
10
+ interface CacheContract
11
+ {
12
+ /**
13
+ * Save value with given key
14
+ *
15
+ * @param string $key
16
+ * @param string $value
17
+ *
18
+ * @return static
19
+ */
20
+ public function put($key, $value);
21
+
22
+ /**
23
+ * Get value by given key
24
+ *
25
+ * @param $key
26
+ *
27
+ * @param null $default
28
+ * @return string
29
+ */
30
+ public function get($key, $default = null);
31
+
32
+ /**
33
+ * @param $key
34
+ *
35
+ * @return static
36
+ */
37
+ public function delete($key);
38
+
39
+ /**
40
+ * Should get value and remove it from cache
41
+ *
42
+ * @param $key
43
+ * @param null $default
44
+ * @return mixed
45
+ */
46
+ public function pop($key, $default = null);
47
+ }
analyst/{src → analyst/src}/Contracts/HttpClientContract.php RENAMED
@@ -1,25 +1,25 @@
1
- <?php
2
- namespace Analyst\Contracts;
3
-
4
- use Analyst\ApiResponse;
5
-
6
- interface HttpClientContract
7
- {
8
- /**
9
- * Make an http request
10
- *
11
- * @param $method
12
- * @param $url
13
- * @param $body
14
- * @param $headers
15
- * @return ApiResponse
16
- */
17
- public function request($method, $url, $body, $headers);
18
-
19
- /**
20
- * Must return `true` if client is supported
21
- *
22
- * @return bool
23
- */
24
- public static function hasSupport();
25
- }
1
+ <?php
2
+ namespace Analyst\Contracts;
3
+
4
+ use Analyst\ApiResponse;
5
+
6
+ interface HttpClientContract
7
+ {
8
+ /**
9
+ * Make an http request
10
+ *
11
+ * @param $method
12
+ * @param $url
13
+ * @param $body
14
+ * @param $headers
15
+ * @return ApiResponse
16
+ */
17
+ public function request($method, $url, $body, $headers);
18
+
19
+ /**
20
+ * Must return `true` if client is supported
21
+ *
22
+ * @return bool
23
+ */
24
+ public static function hasSupport();
25
+ }
analyst/{src → analyst/src}/Contracts/RequestContract.php RENAMED
@@ -1,22 +1,22 @@
1
- <?php
2
-
3
- namespace Analyst\Contracts;
4
-
5
- use Analyst\ApiResponse;
6
-
7
- interface RequestContract
8
- {
9
- /**
10
- * Cast request data to array
11
- *
12
- * @return array
13
- */
14
- public function toArray();
15
-
16
- /**
17
- * Execute the request
18
- * @param RequestorContract $requestor
19
- * @return ApiResponse
20
- */
21
- public function execute(RequestorContract $requestor);
22
- }
1
+ <?php
2
+
3
+ namespace Analyst\Contracts;
4
+
5
+ use Analyst\ApiResponse;
6
+
7
+ interface RequestContract
8
+ {
9
+ /**
10
+ * Cast request data to array
11
+ *
12
+ * @return array
13
+ */
14
+ public function toArray();
15
+
16
+ /**
17
+ * Execute the request
18
+ * @param RequestorContract $requestor
19
+ * @return ApiResponse
20
+ */
21
+ public function execute(RequestorContract $requestor);
22
+ }
analyst/{src → analyst/src}/Contracts/RequestorContract.php RENAMED
@@ -1,44 +1,44 @@
1
- <?php
2
-
3
- namespace Analyst\Contracts;
4
-
5
- interface RequestorContract
6
- {
7
- /**
8
- * Get request
9
- *
10
- * @param $url
11
- * @param array $headers
12
- * @return mixed
13
- */
14
- public function get($url, $headers = []);
15
-
16
- /**
17
- * Post request
18
- *
19
- * @param $url
20
- * @param $body
21
- * @param array $headers
22
- * @return mixed
23
- */
24
- public function post($url, $body = [], $headers = []);
25
-
26
- /**
27
- * Put request
28
- *
29
- * @param $url
30
- * @param $body
31
- * @param array $headers
32
- * @return mixed
33
- */
34
- public function put($url, $body = [], $headers = []);
35
-
36
- /**
37
- * Delete request
38
- *
39
- * @param $url
40
- * @param array $headers
41
- * @return mixed
42
- */
43
- public function delete($url, $headers = []);
44
- }
1
+ <?php
2
+
3
+ namespace Analyst\Contracts;
4
+
5
+ interface RequestorContract
6
+ {
7
+ /**
8
+ * Get request
9
+ *
10
+ * @param $url
11
+ * @param array $headers
12
+ * @return mixed
13
+ */
14
+ public function get($url, $headers = []);
15
+
16
+ /**
17
+ * Post request
18
+ *
19
+ * @param $url
20
+ * @param $body
21
+ * @param array $headers
22
+ * @return mixed
23
+ */
24
+ public function post($url, $body = [], $headers = []);
25
+
26
+ /**
27
+ * Put request
28
+ *
29
+ * @param $url
30
+ * @param $body
31
+ * @param array $headers
32
+ * @return mixed
33
+ */
34
+ public function put($url, $body = [], $headers = []);
35
+
36
+ /**
37
+ * Delete request
38
+ *
39
+ * @param $url
40
+ * @param array $headers
41
+ * @return mixed
42
+ */
43
+ public function delete($url, $headers = []);
44
+ }
analyst/{src → analyst/src}/Contracts/TrackerContract.php RENAMED
@@ -1,69 +1,69 @@
1
- <?php
2
-
3
- namespace Analyst\Contracts;
4
-
5
- interface TrackerContract
6
- {
7
- /**
8
- * Should register activation and deactivation
9
- * event hooks
10
- *
11
- * @return void
12
- */
13
- public function registerHooks();
14
-
15
- /**
16
- * Will fire when admin activates plugin
17
- *
18
- * @return void
19
- */
20
- public function onActivePluginListener();
21
-
22
- /**
23
- * Will fire when admin deactivates plugin
24
- *
25
- * @return void
26
- */
27
- public function onDeactivatePluginListener();
28
-
29
- /**
30
- * Will fire when user opted in
31
- *
32
- * @return void
33
- */
34
- public function onOptInListener();
35
-
36
- /**
37
- * Will fire when user opted out
38
- *
39
- * @return void
40
- */
41
- public function onOptOutListener();
42
-
43
- /**
44
- * Will fire when user accept opt/in at first time
45
- *
46
- * @return void
47
- */
48
- public function onInstallListener();
49
-
50
- /**
51
- * Will fire when user skipped installation
52
- *
53
- * @return void
54
- */
55
- public function onSkipInstallListener();
56
-
57
- /**
58
- * Will fire when user delete plugin through admin panel.
59
- * This action will happen if admin at least once
60
- * activated the plugin.
61
- *
62
- * The register_uninstall_hook function accepts only static
63
- * function or global function to be executed, so this is
64
- * why this method is static
65
- *
66
- * @return void
67
- */
68
- public static function onUninstallPluginListener();
69
- }
1
+ <?php
2
+
3
+ namespace Analyst\Contracts;
4
+
5
+ interface TrackerContract
6
+ {
7
+ /**
8
+ * Should register activation and deactivation
9
+ * event hooks
10
+ *
11
+ * @return void
12
+ */
13
+ public function registerHooks();
14
+
15
+ /**
16
+ * Will fire when admin activates plugin
17
+ *
18
+ * @return void
19
+ */
20
+ public function onActivePluginListener();
21
+
22
+ /**
23
+ * Will fire when admin deactivates plugin
24
+ *
25
+ * @return void
26
+ */
27
+ public function onDeactivatePluginListener();
28
+
29
+ /**
30
+ * Will fire when user opted in
31
+ *
32
+ * @return void
33
+ */
34
+ public function onOptInListener();
35
+
36
+ /**
37
+ * Will fire when user opted out
38
+ *
39
+ * @return void
40
+ */
41
+ public function onOptOutListener();
42
+
43
+ /**
44
+ * Will fire when user accept opt/in at first time
45
+ *
46
+ * @return void
47
+ */
48
+ public function onInstallListener();
49
+
50
+ /**
51
+ * Will fire when user skipped installation
52
+ *
53
+ * @return void
54
+ */
55
+ public function onSkipInstallListener();
56
+
57
+ /**
58
+ * Will fire when user delete plugin through admin panel.
59
+ * This action will happen if admin at least once
60
+ * activated the plugin.
61
+ *
62
+ * The register_uninstall_hook function accepts only static
63
+ * function or global function to be executed, so this is
64
+ * why this method is static
65
+ *
66
+ * @return void
67
+ */
68
+ public static function onUninstallPluginListener();
69
+ }
analyst/analyst/src/Core/AbstractFactory.php ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Analyst\Core;
4
+
5
+ abstract class AbstractFactory
6
+ {
7
+ /**
8
+ * Unserialize to NoticeFactory
9
+ *
10
+ * @param $raw
11
+ * @return static
12
+ */
13
+ protected static function unserialize($raw)
14
+ {
15
+ $instance = @unserialize($raw);
16
+
17
+ $isProperObject = is_object($instance) && $instance instanceof static;
18
+
19
+ // In case for some reason unserialized object is not
20
+ // NoticeFactory we make sure it is NoticeFactory
21
+ if (!$isProperObject) {
22
+ $instance = new static();
23
+ }
24
+
25
+ return $instance;
26
+ }
27
+ }
analyst/{src → analyst/src}/Http/CurlHttpClient.php RENAMED
@@ -1,102 +1,102 @@
1
- <?php
2
-
3
- namespace Analyst\Http;
4
-
5
- use Analyst\ApiResponse;
6
- use Analyst\Contracts\HttpClientContract;
7
-
8
- class CurlHttpClient implements HttpClientContract
9
- {
10
- /**
11
- * Make an http request
12
- *
13
- * @param $method
14
- * @param $url
15
- * @param array $body
16
- * @param $headers
17
- * @return mixed
18
- */
19
- public function request($method, $url, $body, $headers)
20
- {
21
- $method = strtoupper($method);
22
-
23
- $options = [
24
- CURLOPT_RETURNTRANSFER => true,
25
- CURLOPT_URL => $url,
26
- CURLOPT_HTTPHEADER => $this->prepareRequestHeaders($headers),
27
- CURLOPT_CUSTOMREQUEST => $method,
28
- CURLOPT_FAILONERROR => true,
29
- CURLOPT_HEADER => true,
30
- CURLOPT_TIMEOUT => 30,
31
- ];
32
-
33
- if ($method === 'POST') {
34
- $options[CURLOPT_POST] = 1;
35
- $options[CURLOPT_POSTFIELDS] = json_encode($body);
36
- }
37
-
38
- $curl = curl_init();
39
-
40
- curl_setopt_array($curl, $options);
41
-
42
- $response = curl_exec($curl);
43
-
44
- list($rawHeaders, $rawBody) = explode("\r\n\r\n", $response, 2);
45
-
46
- $info = curl_getinfo($curl);
47
-
48
- curl_close($curl);
49
-
50
- $responseHeaders = $this->resolveResponseHeaders($rawHeaders);
51
- $responseBody = json_decode($rawBody, true);
52
-
53
- return new ApiResponse($responseBody, $info['http_code'], $responseHeaders);
54
- }
55
-
56
- /**
57
- * Must return `true` if client is supported
58
- *
59
- * @return bool
60
- */
61
- public static function hasSupport()
62
- {
63
- return function_exists('curl_version');
64
- }
65
-
66
- /**
67
- * Modify request headers from key value pair
68
- * to vector array
69
- *
70
- * @param array $headers
71
- * @return array
72
- */
73
- protected function prepareRequestHeaders ($headers)
74
- {
75
- return array_map(function ($key, $value) {
76
- return sprintf('%s:%s', $key, $value);
77
- }, array_keys($headers), $headers);
78
- }
79
-
80
- /**
81
- * Resolve raw response headers as
82
- * associative array
83
- *
84
- * @param $rawHeaders
85
- * @return array
86
- */
87
- private function resolveResponseHeaders($rawHeaders)
88
- {
89
- $headers = [];
90
-
91
- foreach (explode("\r\n", $rawHeaders) as $i => $line) {
92
- $parts = explode(': ', $line);
93
-
94
- if (count($parts) === 1) {
95
- continue;
96
- }
97
-
98
- $headers[$parts[0]] = $parts[1];
99
- }
100
- return $headers;
101
- }
102
- }
1
+ <?php
2
+
3
+ namespace Analyst\Http;
4
+
5
+ use Analyst\ApiResponse;
6
+ use Analyst\Contracts\HttpClientContract;
7
+
8
+ class CurlHttpClient implements HttpClientContract
9
+ {
10
+ /**
11
+ * Make an http request
12
+ *
13
+ * @param $method
14
+ * @param $url
15
+ * @param array $body
16
+ * @param $headers
17
+ * @return mixed
18
+ */
19
+ public function request($method, $url, $body, $headers)
20
+ {
21
+ $method = strtoupper($method);
22
+
23
+ $options = [
24
+ CURLOPT_RETURNTRANSFER => true,
25
+ CURLOPT_URL => $url,
26
+ CURLOPT_HTTPHEADER => $this->prepareRequestHeaders($headers),
27
+ CURLOPT_CUSTOMREQUEST => $method,
28
+ CURLOPT_FAILONERROR => true,
29
+ CURLOPT_HEADER => true,
30
+ CURLOPT_TIMEOUT => 30,
31
+ ];
32
+
33
+ if ($method === 'POST') {
34
+ $options[CURLOPT_POST] = 1;
35
+ $options[CURLOPT_POSTFIELDS] = json_encode($body);
36
+ }
37
+
38
+ $curl = curl_init();
39
+
40
+ curl_setopt_array($curl, $options);
41
+
42
+ $response = curl_exec($curl);
43
+
44
+ list($rawHeaders, $rawBody) = explode("\r\n\r\n", $response, 2);
45
+
46
+ $info = curl_getinfo($curl);
47
+
48
+ curl_close($curl);
49
+
50
+ $responseHeaders = $this->resolveResponseHeaders($rawHeaders);
51
+ $responseBody = json_decode($rawBody, true);
52
+
53
+ return new ApiResponse($responseBody, $info['http_code'], $responseHeaders);
54
+ }
55
+
56
+ /**
57
+ * Must return `true` if client is supported
58
+ *
59
+ * @return bool
60
+ */
61
+ public static function hasSupport()
62
+ {
63
+ return function_exists('curl_version');
64
+ }
65
+
66
+ /**
67
+ * Modify request headers from key value pair
68
+ * to vector array
69
+ *
70
+ * @param array $headers
71
+ * @return array
72
+ */
73
+ protected function prepareRequestHeaders ($headers)
74
+ {
75
+ return array_map(function ($key, $value) {
76
+ return sprintf('%s:%s', $key, $value);
77
+ }, array_keys($headers), $headers);
78
+ }
79
+
80
+ /**
81
+ * Resolve raw response headers as
82
+ * associative array
83
+ *
84
+ * @param $rawHeaders
85
+ * @return array
86
+ */
87
+ private function resolveResponseHeaders($rawHeaders)
88
+ {
89
+ $headers = [];
90
+
91
+ foreach (explode("\r\n", $rawHeaders) as $i => $line) {
92
+ $parts = explode(': ', $line);
93
+
94
+ if (count($parts) === 1) {
95
+ continue;
96
+ }
97
+
98
+ $headers[$parts[0]] = $parts[1];
99
+ }
100
+ return $headers;
101
+ }
102
+ }
analyst/{src → analyst/src}/Http/DummyHttpClient.php RENAMED
@@ -1,33 +1,33 @@
1
- <?php
2
-
3
- namespace Analyst\Http;
4
-
5
- use Analyst\ApiResponse;
6
- use Analyst\Contracts\HttpClientContract;
7
-
8
- class DummyHttpClient implements HttpClientContract
9
- {
10
- /**
11
- * Make an http request
12
- *
13
- * @param $method
14
- * @param $url
15
- * @param $body
16
- * @param $headers
17
- * @return ApiResponse
18
- */
19
- public function request($method, $url, $body, $headers)
20
- {
21
- return new ApiResponse('Dummy response', 200, []);
22
- }
23
-
24
- /**
25
- * Must return `true` if client is supported
26
- *
27
- * @return bool
28
- */
29
- public static function hasSupport()
30
- {
31
- return true;
32
- }
33
- }
1
+ <?php
2
+
3
+ namespace Analyst\Http;
4
+
5
+ use Analyst\ApiResponse;
6
+ use Analyst\Contracts\HttpClientContract;
7
+
8
+ class DummyHttpClient implements HttpClientContract
9
+ {
10
+ /**
11
+ * Make an http request
12
+ *
13
+ * @param $method
14
+ * @param $url
15
+ * @param $body
16
+ * @param $headers
17
+ * @return ApiResponse
18
+ */
19
+ public function request($method, $url, $body, $headers)
20
+ {
21
+ return new ApiResponse('Dummy response', 200, []);
22
+ }
23
+
24
+ /**
25
+ * Must return `true` if client is supported
26
+ *
27
+ * @return bool
28
+ */
29
+ public static function hasSupport()
30
+ {
31
+ return true;
32
+ }
33
+ }
analyst/{src → analyst/src}/Http/Requests/AbstractLoggerRequest.php RENAMED
@@ -1,64 +1,64 @@
1
- <?php
2
-
3
- namespace Analyst\Http\Requests;
4
-
5
- use Analyst\ApiResponse;
6
- use Analyst\Collector;
7
- use Analyst\Contracts\RequestContract;
8
- use Analyst\Contracts\RequestorContract;
9
-
10
- abstract class AbstractLoggerRequest implements RequestContract
11
- {
12
- /**
13
- * @var Collector
14
- */
15
- protected $collector;
16
-
17
- /**
18
- * @var integer
19
- */
20
- protected $id;
21
-
22
- /**
23
- * @var string
24
- */
25
- protected $path;
26
-
27
- public function __construct(Collector $collector, $pluginId, $path)
28
- {
29
- $this->collector = $collector;
30
- $this->id = $pluginId;
31
- $this->path = $path;
32
- }
33
-
34
- /**
35
- * Cast request data to array
36
- *
37
- * @return array
38
- */
39
- public function toArray()
40
- {
41
- return [
42
- 'plugin_id' => $this->id,
43
- 'php_version' => $this->collector->getPHPVersion(),
44
- 'wp_version' => $this->collector->getWordPressVersion(),
45
- 'plugin_version' => $this->collector->getPluginVersion($this->path),
46
- 'url' => $this->collector->getSiteUrl(),
47
- 'sdk_version' => $this->collector->getSDKVersion(),
48
- 'ip' => $this->collector->getServerIp(),
49
- 'mysql_version' => $this->collector->getMysqlVersion(),
50
- 'locale' => $this->collector->getSiteLanguage(),
51
- 'current_theme' => $this->collector->getCurrentThemeName(),
52
- 'active_plugins_list' => implode(', ', $this->collector->getActivePluginsList()),
53
- 'email' => $this->collector->getGeneralEmailAddress(),
54
- 'name' => $this->collector->getCurrentUserName()
55
- ];
56
- }
57
-
58
- /**
59
- * Execute the request
60
- * @param RequestorContract $requestor
61
- * @return ApiResponse
62
- */
63
- public abstract function execute(RequestorContract $requestor);
64
- }
1
+ <?php
2
+
3
+ namespace Analyst\Http\Requests;
4
+
5
+ use Analyst\ApiResponse;
6
+ use Analyst\Collector;
7
+ use Analyst\Contracts\RequestContract;
8
+ use Analyst\Contracts\RequestorContract;
9
+
10
+ abstract class AbstractLoggerRequest implements RequestContract
11
+ {
12
+ /**
13
+ * @var Collector
14
+ */
15
+ protected $collector;
16
+
17
+ /**
18
+ * @var integer
19
+ */
20
+ protected $id;
21
+
22
+ /**
23
+ * @var string
24
+ */
25
+ protected $path;
26
+
27
+ public function __construct(Collector $collector, $pluginId, $path)
28
+ {
29
+ $this->collector = $collector;
30
+ $this->id = $pluginId;
31
+ $this->path = $path;
32
+ }
33
+
34
+ /**
35
+ * Cast request data to array
36
+ *
37
+ * @return array
38
+ */
39
+ public function toArray()
40
+ {
41
+ return [
42
+ 'plugin_id' => $this->id,
43
+ 'php_version' => $this->collector->getPHPVersion(),
44
+ 'wp_version' => $this->collector->getWordPressVersion(),
45
+ 'plugin_version' => $this->collector->getPluginVersion($this->path),
46
+ 'url' => $this->collector->getSiteUrl(),
47
+ 'sdk_version' => $this->collector->getSDKVersion(),
48
+ 'ip' => $this->collector->getServerIp(),
49
+ 'mysql_version' => $this->collector->getMysqlVersion(),
50
+ 'locale' => $this->collector->getSiteLanguage(),
51
+ 'current_theme' => $this->collector->getCurrentThemeName(),
52
+ 'active_plugins_list' => implode(', ', $this->collector->getActivePluginsList()),
53
+ 'email' => $this->collector->getGeneralEmailAddress(),
54
+ 'name' => $this->collector->getCurrentUserName()
55
+ ];
56
+ }
57
+
58
+ /**
59
+ * Execute the request
60
+ * @param RequestorContract $requestor
61
+ * @return ApiResponse
62
+ */
63
+ public abstract function execute(RequestorContract $requestor);
64
+ }
analyst/{src → analyst/src}/Http/Requests/ActivateRequest.php RENAMED
@@ -1,42 +1,42 @@
1
- <?php
2
-
3
- namespace Analyst\Http\Requests;
4
-
5
- use Analyst\ApiResponse;
6
- use Analyst\Collector;
7
- use Analyst\Contracts\RequestContract;
8
- use Analyst\Contracts\RequestorContract;
9
-
10
- /**
11
- * Class ActivateRequest
12
- *
13
- * Is is very similar to install request
14
- * but with different path
15
- *
16
- * @since 0.9.12
17
- */
18
- class ActivateRequest extends AbstractLoggerRequest
19
- {
20
- /**
21
- * Execute the request
22
- * @param RequestorContract $requestor
23
- * @return ApiResponse
24
- */
25
- public function execute(RequestorContract $requestor)
26
- {
27
- return $requestor->post('logger/activate', $this->toArray());
28
- }
29
-
30
- /**
31
- * Make request instance
32
- *
33
- * @param Collector $collector
34
- * @param $pluginId
35
- * @param $path
36
- * @return static
37
- */
38
- public static function make(Collector $collector, $pluginId, $path)
39
- {
40
- return new static($collector, $pluginId, $path);
41
- }
42
- }
1
+ <?php
2
+
3
+ namespace Analyst\Http\Requests;
4
+
5
+ use Analyst\ApiResponse;
6
+ use Analyst\Collector;
7
+ use Analyst\Contracts\RequestContract;
8
+ use Analyst\Contracts\RequestorContract;
9
+
10
+ /**
11
+ * Class ActivateRequest
12
+ *
13
+ * Is is very similar to install request
14
+ * but with different path
15
+ *
16
+ * @since 0.9.12
17
+ */
18
+ class ActivateRequest extends AbstractLoggerRequest
19
+ {
20
+ /**
21
+ * Execute the request
22
+ * @param RequestorContract $requestor
23
+ * @return ApiResponse
24
+ */
25
+ public function execute(RequestorContract $requestor)
26
+ {
27
+ return $requestor->post('logger/activate', $this->toArray());
28
+ }
29
+
30
+ /**
31
+ * Make request instance
32
+ *
33
+ * @param Collector $collector
34
+ * @param $pluginId
35
+ * @param $path
36
+ * @return static
37
+ */
38
+ public static function make(Collector $collector, $pluginId, $path)
39
+ {
40
+ return new static($collector, $pluginId, $path);
41
+ }
42
+ }
analyst/{src → analyst/src}/Http/Requests/DeactivateRequest.php RENAMED
@@ -1,64 +1,64 @@
1
- <?php
2
-
3
- namespace Analyst\Http\Requests;
4
-
5
- use Analyst\ApiResponse;
6
- use Analyst\Collector;
7
- use Analyst\Contracts\RequestorContract;
8
-
9
- /**
10
- * Class DeactivateRequest
11
- *
12
- * @since 0.9.10
13
- */
14
- class DeactivateRequest extends AbstractLoggerRequest
15
- {
16
- /**
17
- * @var string
18
- */
19
- protected $question;
20
-
21
- /**
22
- * @var string
23
- */
24
- protected $answer;
25
-
26
- /**
27
- * @param Collector $collector
28
- * @param $pluginId
29
- * @param $path
30
- * @param $question
31
- * @param $answer
32
- * @return static
33
- */
34
- public static function make(Collector $collector, $pluginId, $path, $question, $answer)
35
- {
36
- return new static($collector, $pluginId, $path, $question, $answer);
37
- }
38
-
39
- public function __construct(Collector $collector, $pluginId, $path, $question, $answer)
40
- {
41
- parent::__construct($collector, $pluginId, $path);
42
-
43
- $this->question = $question;
44
- $this->answer = $answer;
45
- }
46
-
47
- public function toArray()
48
- {
49
- return array_merge(parent::toArray(), [
50
- 'question' => $this->question,
51
- 'answer' => $this->answer,
52
- ]);
53
- }
54
-
55
- /**
56
- * Execute the request
57
- * @param RequestorContract $requestor
58
- * @return ApiResponse
59
- */
60
- public function execute(RequestorContract $requestor)
61
- {
62
- return $requestor->post('logger/deactivate', $this->toArray());
63
- }
64
- }
1
+ <?php
2
+
3
+ namespace Analyst\Http\Requests;
4
+
5
+ use Analyst\ApiResponse;
6
+ use Analyst\Collector;
7
+ use Analyst\Contracts\RequestorContract;
8
+
9
+ /**
10
+ * Class DeactivateRequest
11
+ *
12
+ * @since 0.9.10
13
+ */
14
+ class DeactivateRequest extends AbstractLoggerRequest
15
+ {
16
+ /**
17
+ * @var string
18
+ */
19
+ protected $question;
20
+
21
+ /**
22
+ * @var string
23
+ */
24
+ protected $answer;
25
+
26
+ /**
27
+ * @param Collector $collector
28
+ * @param $pluginId
29
+ * @param $path
30
+ * @param $question
31
+ * @param $answer
32
+ * @return static
33
+ */
34
+ public static function make(Collector $collector, $pluginId, $path, $question, $answer)
35
+ {
36
+ return new static($collector, $pluginId, $path, $question, $answer);
37
+ }
38
+
39
+ public function __construct(Collector $collector, $pluginId, $path, $question, $answer)
40
+ {
41
+ parent::__construct($collector, $pluginId, $path);
42
+
43
+ $this->question = $question;
44
+ $this->answer = $answer;
45
+ }
46
+
47
+ public function toArray()
48
+ {
49
+ return array_merge(parent::toArray(), [
50
+ 'question' => $this->question,
51
+ 'answer' => $this->answer,
52
+ ]);
53
+ }
54
+
55
+ /**
56
+ * Execute the request
57
+ * @param RequestorContract $requestor
58
+ * @return ApiResponse
59
+ */
60
+ public function execute(RequestorContract $requestor)
61
+ {
62
+ return $requestor->post('logger/deactivate', $this->toArray());
63
+ }
64
+ }
analyst/{src → analyst/src}/Http/Requests/InstallRequest.php RENAMED
@@ -1,38 +1,38 @@
1
- <?php
2
-
3
- namespace Analyst\Http\Requests;
4
-
5
- use Analyst\ApiResponse;
6
- use Analyst\Collector;
7
- use Analyst\Contracts\RequestorContract;
8
-
9
- /**
10
- * Class InstallRequest
11
- *
12
- * @since 0.9.4
13
- */
14
- class InstallRequest extends AbstractLoggerRequest
15
- {
16
- /**
17
- * Execute the request
18
- * @param RequestorContract $requestor
19
- * @return ApiResponse
20
- */
21
- public function execute(RequestorContract $requestor)
22
- {
23
- return $requestor->post('logger/install', $this->toArray());
24
- }
25
-
26
- /**
27
- * Make request instance
28
- *
29
- * @param Collector $collector
30
- * @param $pluginId
31
- * @param $path
32
- * @return static
33
- */
34
- public static function make(Collector $collector, $pluginId, $path)
35
- {
36
- return new static($collector, $pluginId, $path);
37
- }
38
- }
1
+ <?php
2
+
3
+ namespace Analyst\Http\Requests;
4
+
5
+ use Analyst\ApiResponse;
6
+ use Analyst\Collector;
7
+ use Analyst\Contracts\RequestorContract;
8
+
9
+ /**
10
+ * Class InstallRequest
11
+ *
12
+ * @since 0.9.4
13
+ */
14
+ class InstallRequest extends AbstractLoggerRequest
15
+ {
16
+ /**
17
+ * Execute the request
18
+ * @param RequestorContract $requestor
19
+ * @return ApiResponse
20
+ */
21
+ public function execute(RequestorContract $requestor)
22
+ {
23
+ return $requestor->post('logger/install', $this->toArray());
24
+ }
25
+
26
+ /**
27
+ * Make request instance
28
+ *
29
+ * @param Collector $collector
30
+ * @param $pluginId
31
+ * @param $path
32
+ * @return static
33
+ */
34
+ public static function make(Collector $collector, $pluginId, $path)
35
+ {
36
+ return new static($collector, $pluginId, $path);
37
+ }
38
+ }
analyst/{src → analyst/src}/Http/Requests/OptInRequest.php RENAMED
@@ -1,42 +1,42 @@
1
- <?php
2
-
3
- namespace Analyst\Http\Requests;
4
-
5
- use Analyst\ApiResponse;
6
- use Analyst\Collector;
7
- use Analyst\Contracts\RequestContract;
8
- use Analyst\Contracts\RequestorContract;
9
-
10
- /**
11
- * Class OptInRequest
12
- *
13
- * Is is very similar to install request
14
- * but with different path
15
- *
16
- * @since 0.9.5
17
- */
18
- class OptInRequest extends AbstractLoggerRequest
19
- {
20
- /**
21
- * Execute the request
22
- * @param RequestorContract $requestor
23
- * @return ApiResponse
24
- */
25
- public function execute(RequestorContract $requestor)
26
- {
27
- return $requestor->post('logger/opt-in', $this->toArray());
28
- }
29
-
30
- /**
31
- * Make request instance
32
- *
33
- * @param Collector $collector
34
- * @param $pluginId
35
- * @param $path
36
- * @return static
37
- */
38
- public static function make(Collector $collector, $pluginId, $path)
39
- {
40
- return new static($collector, $pluginId, $path);
41
- }
42
- }
1
+ <?php
2
+
3
+ namespace Analyst\Http\Requests;
4
+
5
+ use Analyst\ApiResponse;
6
+ use Analyst\Collector;
7
+ use Analyst\Contracts\RequestContract;
8
+ use Analyst\Contracts\RequestorContract;
9
+
10
+ /**
11
+ * Class OptInRequest
12
+ *
13
+ * Is is very similar to install request
14
+ * but with different path
15
+ *
16
+ * @since 0.9.5
17
+ */
18
+ class OptInRequest extends AbstractLoggerRequest
19
+ {
20
+ /**
21
+ * Execute the request
22
+ * @param RequestorContract $requestor
23
+ * @return ApiResponse
24
+ */
25
+ public function execute(RequestorContract $requestor)
26
+ {
27
+ return $requestor->post('logger/opt-in', $this->toArray());
28
+ }
29
+
30
+ /**
31
+ * Make request instance
32
+ *
33
+ * @param Collector $collector
34
+ * @param $pluginId
35
+ * @param $path
36
+ * @return static
37
+ */
38
+ public static function make(Collector $collector, $pluginId, $path)
39
+ {
40
+ return new static($collector, $pluginId, $path);
41
+ }
42
+ }
analyst/{src → analyst/src}/Http/Requests/OptOutRequest.php RENAMED
@@ -1,40 +1,40 @@
1
- <?php
2
-
3
- namespace Analyst\Http\Requests;
4
-
5
- use Analyst\ApiResponse;
6
- use Analyst\Collector;
7
- use Analyst\Contracts\RequestContract;
8
- use Analyst\Contracts\RequestorContract;
9
-
10
- /**
11
- * Class OptOutRequest
12
- *
13
- * Is is very similar to install request
14
- * but with different path
15
- *
16
- * @since 0.9.9
17
- */
18
- class OptOutRequest extends AbstractLoggerRequest
19
- {
20
- /**
21
- * @param Collector $collector
22
- * @param $pluginId
23
- * @param $path
24
- * @return static
25
- */
26
- public static function make(Collector $collector, $pluginId, $path)
27
- {
28
- return new static($collector, $pluginId, $path);
29
- }
30
-
31
- /**
32
- * Execute the request
33
- * @param RequestorContract $requestor
34
- * @return ApiResponse
35
- */
36
- public function execute(RequestorContract $requestor)
37
- {
38
- return $requestor->post('logger/opt-out', $this->toArray());
39
- }
40
- }
1
+ <?php
2
+
3
+ namespace Analyst\Http\Requests;
4
+
5
+ use Analyst\ApiResponse;
6
+ use Analyst\Collector;
7
+ use Analyst\Contracts\RequestContract;
8
+ use Analyst\Contracts\RequestorContract;
9
+
10
+ /**
11
+ * Class OptOutRequest
12
+ *
13
+ * Is is very similar to install request
14
+ * but with different path
15
+ *
16
+ * @since 0.9.9
17
+ */
18
+ class OptOutRequest extends AbstractLoggerRequest
19
+ {
20
+ /**
21
+ * @param Collector $collector
22
+ * @param $pluginId
23
+ * @param $path
24
+ * @return static
25
+ */
26
+ public static function make(Collector $collector, $pluginId, $path)
27
+ {
28
+ return new static($collector, $pluginId, $path);
29
+ }
30
+
31
+ /**
32
+ * Execute the request
33
+ * @param RequestorContract $requestor
34
+ * @return ApiResponse
35
+ */
36
+ public function execute(RequestorContract $requestor)
37
+ {
38
+ return $requestor->post('logger/opt-out', $this->toArray());
39
+ }
40
+ }
analyst/{src → analyst/src}/Http/Requests/UninstallRequest.php RENAMED
@@ -1,36 +1,36 @@
1
- <?php
2
-
3
- namespace Analyst\Http\Requests;
4
-
5
- use Analyst\ApiResponse;
6
- use Analyst\Collector;
7
- use Analyst\Contracts\RequestorContract;
8
-
9
- /**
10
- * Class DeactivateRequest
11
- *
12
- * @since 0.9.13
13
- */
14
- class UninstallRequest extends AbstractLoggerRequest
15
- {
16
- /**
17
- * @param Collector $collector
18
- * @param $pluginId
19
- * @param $path
20
- * @return static
21
- */
22
- public static function make(Collector $collector, $pluginId, $path)
23
- {
24
- return new static($collector, $pluginId, $path);
25
- }
26
-
27
- /**
28
- * Execute the request
29
- * @param RequestorContract $requestor
30
- * @return ApiResponse
31
- */
32
- public function execute(RequestorContract $requestor)
33
- {
34
- return $requestor->post('logger/uninstall', $this->toArray());
35
- }
36
- }
1
+ <?php
2
+
3
+ namespace Analyst\Http\Requests;
4
+
5
+ use Analyst\ApiResponse;
6
+ use Analyst\Collector;
7
+ use Analyst\Contracts\RequestorContract;
8
+
9
+ /**
10
+ * Class DeactivateRequest
11
+ *
12
+ * @since 0.9.13
13
+ */
14
+ class UninstallRequest extends AbstractLoggerRequest
15
+ {
16
+ /**
17
+ * @param Collector $collector
18
+ * @param $pluginId
19
+ * @param $path
20
+ * @return static
21
+ */
22
+ public static function make(Collector $collector, $pluginId, $path)
23
+ {
24
+ return new static($collector, $pluginId, $path);
25
+ }
26
+
27
+ /**
28
+ * Execute the request
29
+ * @param RequestorContract $requestor
30
+ * @return ApiResponse
31
+ */
32
+ public function execute(RequestorContract $requestor)
33
+ {
34
+ return $requestor->post('logger/uninstall', $this->toArray());
35
+ }
36
+ }
analyst/{src → analyst/src}/Http/WordPressHttpClient.php RENAMED
@@ -1,61 +1,61 @@
1
- <?php
2
-
3
- namespace Analyst\Http;
4
-
5
- use WP_Error;
6
- use Analyst\ApiResponse;
7
- use Analyst\Contracts\HttpClientContract;
8
- use Requests_Utility_CaseInsensitiveDictionary;
9
-
10
- class WordPressHttpClient implements HttpClientContract
11
- {
12
- /**
13
- * Make an http request
14
- *
15
- * @param $method
16
- * @param $url
17
- * @param $body
18
- * @param $headers
19
- * @return ApiResponse
20
- */
21
- public function request($method, $url, $body, $headers)
22
- {
23
- $options = [
24
- 'body' => json_encode($body),
25
- 'headers' => $headers,
26
- 'method' => $method,
27
- 'timeout' => 30,
28
- ];
29
-
30
- $response = wp_remote_request($url, $options);
31
-
32
- $body = [];
33
- $responseHeaders = [];
34
-
35
- if ($response instanceof WP_Error) {
36
- $code = $response->get_error_code();
37
- } else {
38
- /** @var Requests_Utility_CaseInsensitiveDictionary $headers */
39
- $responseHeaders = $response['headers']->getAll();
40
- $body = json_decode($response['body'], true);
41
- $code = $response['response']['code'];
42
- }
43
-
44
-
45
- return new ApiResponse(
46
- $body,
47
- $code,
48
- $responseHeaders
49
- );
50
- }
51
-
52
- /**
53
- * Must return `true` if client is supported
54
- *
55
- * @return bool
56
- */
57
- public static function hasSupport()
58
- {
59
- return function_exists('wp_remote_request');
60
- }
61
- }
1
+ <?php
2
+
3
+ namespace Analyst\Http;
4
+
5
+ use WP_Error;
6
+ use Analyst\ApiResponse;
7
+ use Analyst\Contracts\HttpClientContract;
8
+ use Requests_Utility_CaseInsensitiveDictionary;
9
+
10
+ class WordPressHttpClient implements HttpClientContract
11
+ {
12
+ /**
13
+ * Make an http request
14
+ *
15
+ * @param $method
16
+ * @param $url
17
+ * @param $body
18
+ * @param $headers
19
+ * @return ApiResponse
20
+ */
21
+ public function request($method, $url, $body, $headers)
22
+ {
23
+ $options = [
24
+ 'body' => json_encode($body),
25
+ 'headers' => $headers,
26
+ 'method' => $method,
27
+ 'timeout' => 30,
28
+ ];
29
+
30
+ $response = wp_remote_request($url, $options);
31
+
32
+ $body = [];
33
+ $responseHeaders = [];
34
+
35
+ if ($response instanceof WP_Error) {
36
+ $code = $response->get_error_code();
37
+ } else {
38
+ /** @var Requests_Utility_CaseInsensitiveDictionary $headers */
39
+ $responseHeaders = $response['headers']->getAll();
40
+ $body = json_decode($response['body'], true);
41
+ $code = $response['response']['code'];
42
+ }
43
+
44
+
45
+ return new ApiResponse(
46
+ $body,
47
+ $code,
48
+ $responseHeaders
49
+ );
50
+ }
51
+
52
+ /**
53
+ * Must return `true` if client is supported
54
+ *
55
+ * @return bool
56
+ */
57
+ public static function hasSupport()
58
+ {
59
+ return function_exists('wp_remote_request');
60
+ }
61
+ }
analyst/{src → analyst/src}/Mutator.php RENAMED
@@ -1,103 +1,103 @@
1
- <?php
2
-
3
- namespace Analyst;
4
-
5
- use Analyst\Cache\DatabaseCache;
6
- use Analyst\Contracts\CacheContract;
7
- use Analyst\Notices\NoticeFactory;
8
-
9
- /**
10
- * Class Mutator mutates (modifies) UX with additional
11
- * functional
12
- */
13
- class Mutator
14
- {
15
- protected $notices = [];
16
-
17
- /**
18
- * @var NoticeFactory
19
- */
20
- protected $factory;
21
-
22
- /**
23
- * @var CacheContract
24
- */
25
- protected $cache;
26
-
27
- public function __construct()
28
- {
29
- $this->factory = NoticeFactory::instance();
30
-
31
- $this->notices = $this->factory->getNotices();
32
-
33
- $this->cache = DatabaseCache::getInstance();
34
- }
35
-
36
- /**
37
- * Register filters all necessary stuff.
38
- * Can be invoked only once.
39
- *
40
- * @return void
41
- */
42
- public function initialize()
43
- {
44
- $this->registerLinks();
45
- $this->registerAssets();
46
- $this->registerHooks();
47
- }
48
-
49
- /**
50
- * Register all necessary filters and templates
51
- *
52
- * @return void
53
- */
54
- protected function registerLinks()
55
- {
56
- add_action('admin_footer', function () {
57
- analyst_require_template('optout.php', [
58
- 'shieldImage' => analyst_assets_url('img/shield_question.png')
59
- ]);
60
-
61
- analyst_require_template('optin.php');
62
-
63
- analyst_require_template('forms/deactivate.php', [
64
- 'pencilImage' => analyst_assets_url('img/pencil.png'),
65
- 'smileImage' => analyst_assets_url('img/smile.png'),
66
- ]);
67
-
68
- analyst_require_template('forms/install.php', [
69
- 'pluginToInstall' => $this->cache->get('plugin_to_install'),
70
- 'shieldImage' => analyst_assets_url('img/shield_success.png'),
71
- ]);
72
- });
73
-
74
- add_action('admin_notices',function () {
75
- foreach ($this->notices as $notice) {
76
- analyst_require_template('notice.php', ['notice' => $notice]);
77
- }
78
- });
79
- }
80
-
81
- /**
82
- * Register all assets
83
- */
84
- public function registerAssets()
85
- {
86
- add_action('admin_enqueue_scripts', function () {
87
- wp_enqueue_style('custom', analyst_assets_url('/css/customize.css'));
88
- wp_enqueue_script('custom', analyst_assets_url('/js/customize.js'));
89
- });
90
- }
91
-
92
- /**
93
- * Register action hooks
94
- */
95
- public function registerHooks()
96
- {
97
- add_action('wp_ajax_analyst_notification_dismiss', function () {
98
- $this->factory->remove($_POST['id']);
99
-
100
- $this->factory->sync();
101
- });
102
- }
103
- }
1
+ <?php
2
+
3
+ namespace Analyst;
4
+
5
+ use Analyst\Cache\DatabaseCache;
6
+ use Analyst\Contracts\CacheContract;
7
+ use Analyst\Notices\NoticeFactory;
8
+
9
+ /**
10
+ * Class Mutator mutates (modifies) UX with additional
11
+ * functional
12
+ */
13
+ class Mutator
14
+ {
15
+ protected $notices = [];
16
+
17
+ /**
18
+ * @var NoticeFactory
19
+ */
20
+ protected $factory;
21
+
22
+ /**
23
+ * @var CacheContract
24
+ */
25
+ protected $cache;
26
+
27
+ public function __construct()
28
+ {
29
+ $this->factory = NoticeFactory::instance();
30
+
31
+ $this->notices = $this->factory->getNotices();
32
+
33
+ $this->cache = DatabaseCache::getInstance();
34
+ }
35
+
36
+ /**
37
+ * Register filters all necessary stuff.
38
+ * Can be invoked only once.
39
+ *
40
+ * @return void
41
+ */
42
+ public function initialize()
43
+ {
44
+ $this->registerLinks();
45
+ $this->registerAssets();
46
+ $this->registerHooks();
47
+ }
48
+
49
+ /**
50
+ * Register all necessary filters and templates
51
+ *
52
+ * @return void
53
+ */
54
+ protected function registerLinks()
55
+ {
56
+ add_action('admin_footer', function () {
57
+ analyst_require_template('optout.php', [
58
+ 'shieldImage' => analyst_assets_url('img/shield_question.png')
59
+ ]);
60
+
61
+ analyst_require_template('optin.php');
62
+
63
+ analyst_require_template('forms/deactivate.php', [
64
+ 'pencilImage' => analyst_assets_url('img/pencil.png'),
65
+ 'smileImage' => analyst_assets_url('img/smile.png'),
66
+ ]);
67
+
68
+ analyst_require_template('forms/install.php', [
69
+ 'pluginToInstall' => $this->cache->get('plugin_to_install'),
70
+ 'shieldImage' => analyst_assets_url('img/shield_success.png'),
71
+ ]);
72
+ });
73
+
74
+ add_action('admin_notices',function () {
75
+ foreach ($this->notices as $notice) {
76
+ analyst_require_template('notice.php', ['notice' => $notice]);
77
+ }
78
+ });
79
+ }
80
+
81
+ /**
82
+ * Register all assets
83
+ */
84
+ public function registerAssets()
85
+ {
86
+ add_action('admin_enqueue_scripts', function () {
87
+ wp_enqueue_style('custom', analyst_assets_url('/css/customize.css'));
88
+ wp_enqueue_script('custom', analyst_assets_url('/js/customize.js'));
89
+ });
90
+ }
91
+
92
+ /**
93
+ * Register action hooks
94
+ */
95
+ public function registerHooks()
96
+ {
97
+ add_action('wp_ajax_analyst_notification_dismiss', function () {
98
+ $this->factory->remove($_POST['id']);
99
+
100
+ $this->factory->sync();
101
+ });
102
+ }
103
+ }
analyst/{src → analyst/src}/Notices/Notice.php RENAMED
@@ -1,121 +1,121 @@
1
- <?php
2
-
3
- namespace Analyst\Notices;
4
-
5
- class Notice
6
- {
7
- /**
8
- * Id of notice
9
- *
10
- * @var string
11
- */
12
- protected $id;
13
-
14
- /**
15
- * Body of notice
16
- *
17
- * @var string
18
- */
19
- protected $body;
20
-
21
- /**
22
- * Account id
23
- *
24
- * @var string
25
- */
26
- protected $accountId;
27
-
28
- /**
29
- * The plugin name
30
- *
31
- * @var string
32
- */
33
- protected $pluginName;
34
-
35
- /**
36
- * New notice
37
- *
38
- * @param $id
39
- * @param $accountId
40
- * @param $body
41
- * @param null $pluginName
42
- *
43
- * @return Notice
44
- */
45
- public static function make($id, $accountId, $body, $pluginName = null)
46
- {
47
- return new Notice($id, $accountId, $body, $pluginName);
48
- }
49
-
50
- public function __construct($id, $accountId, $body, $pluginName)
51
- {
52
- $this->setId($id);
53
- $this->setBody($body);
54
- $this->setAccountId($accountId);
55
- $this->setPluginName($pluginName);
56
- }
57
-
58
- /**
59
- * @return string
60
- */
61
- public function getId()
62
- {
63
- return $this->id;
64
- }
65
-
66
- /**
67
- * @param string $id
68
- */
69
- public function setId($id)
70
- {
71
- $this->id = $id;
72
- }
73
-
74
- /**
75
- * @return string
76
- */
77
- public function getBody()
78
- {
79
- return $this->body;
80
- }
81
-
82
- /**
83
- * @param string $body
84
- */
85
- public function setBody($body)
86
- {
87
- $this->body = $body;
88
- }
89
-
90
- /**
91
- * @return string
92
- */
93
- public function getAccountId()
94
- {
95
- return $this->accountId;
96
- }
97
-
98
- /**
99
- * @param string $accountId
100
- */
101
- public function setAccountId($accountId)
102
- {
103
- $this->accountId = $accountId;
104
- }
105
-
106
- /**
107
- * @return string|null
108
- */
109
- public function getPluginName()
110
- {
111
- return $this->pluginName;
112
- }
113
-
114
- /**
115
- * @param string $pluginName
116
- */
117
- public function setPluginName($pluginName)
118
- {
119
- $this->pluginName = $pluginName;
120
- }
121
- }
1
+ <?php
2
+
3
+ namespace Analyst\Notices;
4
+
5
+ class Notice
6
+ {
7
+ /**
8
+ * Id of notice
9
+ *
10
+ * @var string
11
+ */
12
+ protected $id;
13
+
14
+ /**
15
+ * Body of notice
16
+ *
17
+ * @var string
18
+ */
19
+ protected $body;
20
+
21
+ /**
22
+ * Account id
23
+ *
24
+ * @var string
25
+ */
26
+ protected $accountId;
27
+
28
+ /**
29
+ * The plugin name
30
+ *
31
+ * @var string
32
+ */
33
+ protected $pluginName;
34
+
35
+ /**
36
+ * New notice
37
+ *
38
+ * @param $id
39
+ * @param $accountId
40
+ * @param $body
41
+ * @param null $pluginName
42
+ *
43
+ * @return Notice
44
+ */
45
+ public static function make($id, $accountId, $body, $pluginName = null)
46
+ {
47
+ return new Notice($id, $accountId, $body, $pluginName);
48
+ }
49
+
50
+ public function __construct($id, $accountId, $body, $pluginName)
51
+ {
52
+ $this->setId($id);
53
+ $this->setBody($body);
54
+ $this->setAccountId($accountId);
55
+ $this->setPluginName($pluginName);
56
+ }
57
+
58
+ /**
59
+ * @return string
60
+ */
61
+ public function getId()
62
+ {
63
+ return $this->id;
64
+ }
65
+
66
+ /**
67
+ * @param string $id
68
+ */
69
+ public function setId($id)
70
+ {
71
+ $this->id = $id;
72
+ }
73
+
74
+ /**
75
+ * @return string
76
+ */
77
+ public function getBody()
78
+ {
79
+ return $this->body;
80
+ }
81
+
82
+ /**
83
+ * @param string $body
84
+ */
85
+ public function setBody($body)
86
+ {
87
+ $this->body = $body;
88
+ }
89
+
90
+ /**
91
+ * @return string
92
+ */
93
+ public function getAccountId()
94
+ {
95
+ return $this->accountId;
96
+ }
97
+
98
+ /**
99
+ * @param string $accountId
100
+ */
101
+ public function setAccountId($accountId)
102
+ {
103
+ $this->accountId = $accountId;
104
+ }
105
+
106
+ /**
107
+ * @return string|null
108
+ */
109
+ public function getPluginName()
110
+ {
111
+ return $this->pluginName;
112
+ }
113
+
114
+ /**
115
+ * @param string $pluginName
116
+ */
117
+ public function setPluginName($pluginName)
118
+ {
119
+ $this->pluginName = $pluginName;
120
+ }
121
+ }
analyst/{src → analyst/src}/Notices/NoticeFactory.php RENAMED
@@ -1,126 +1,130 @@
1
- <?php
2
-
3
- namespace Analyst\Notices;
4
-
5
- class NoticeFactory
6
- {
7
- private static $instance;
8
-
9
- CONST OPTIONS_KEY = 'analyst_notices';
10
-
11
- /**
12
- * Application notifications
13
- *
14
- * @var array
15
- */
16
- protected $notices = [];
17
-
18
- /**
19
- * Read factory from options or make fresh instance
20
- *
21
- * @return NoticeFactory
22
- */
23
- public static function instance()
24
- {
25
- if (!static::$instance) {
26
- $raw = get_option(self::OPTIONS_KEY);
27
-
28
- // In case this object is not serialized
29
- // we instantiate new object
30
- if (!$raw) {
31
- static::$instance = new self();
32
- } else {
33
- static::$instance = unserialize($raw);
34
- }
35
- }
36
-
37
- return static::$instance;
38
- }
39
-
40
- /**
41
- * Sync this object data with cache
42
- */
43
- public function sync()
44
- {
45
- update_option(self::OPTIONS_KEY, serialize($this));
46
- }
47
-
48
- /**
49
- * Sync this instance data with cache
50
- */
51
- public static function syncData()
52
- {
53
- static::instance()->sync();
54
- }
55
-
56
- /**
57
- * @return array
58
- */
59
- public function getNotices()
60
- {
61
- return $this->notices;
62
- }
63
-
64
- /**
65
- * Filter out notices for certain account
66
- *
67
- * @param $accountId
68
- * @return array
69
- */
70
- public function getNoticesForAccount($accountId)
71
- {
72
- return array_filter($this->notices, function (Notice $notice) use ($accountId) {
73
- return $notice->getAccountId() === $accountId;
74
- });
75
- }
76
-
77
- /**
78
- * Add new notice
79
- *
80
- * @param $notice
81
- *
82
- * @return $this
83
- */
84
- public function addNotice($notice)
85
- {
86
- array_push($this->notices, $notice);
87
-
88
- $this->sync();
89
-
90
- return $this;
91
- }
92
-
93
- /**
94
- * Find notice by id
95
- *
96
- * @param $id
97
- * @return Notice|null
98
- */
99
- public function find($id)
100
- {
101
- $notices = array_filter($this->notices, function (Notice $notice) use ($id) {
102
- return $notice->getId() === $id;
103
- });
104
-
105
- return array_pop($notices);
106
- }
107
-
108
- /**
109
- * Remove notice by it's id
110
- *
111
- * @param $id
112
- */
113
- public function remove($id)
114
- {
115
- // Get key of notice to remove
116
- $key = array_search(
117
- $this->find($id),
118
- $this->notices
119
- );
120
-
121
- // Unset notice with key
122
- unset($this->notices[$key]);
123
-
124
- $this->sync();
125
- }
126
- }
 
 
 
 
1
+ <?php
2
+
3
+ namespace Analyst\Notices;
4
+
5
+ use Analyst\Core\AbstractFactory;
6
+
7
+ class NoticeFactory extends AbstractFactory
8
+ {
9
+ private static $instance;
10
+
11
+ CONST OPTIONS_KEY = 'analyst_notices';
12
+
13
+ /**
14
+ * Application notifications
15
+ *
16
+ * @var array
17
+ */
18
+ protected $notices = [];
19
+
20
+ /**
21
+ * Read factory from options or make fresh instance
22
+ *
23
+ * @return NoticeFactory
24
+ */
25
+ public static function instance()
26
+ {
27
+ if (!static::$instance) {
28
+ $raw = get_option(self::OPTIONS_KEY);
29
+
30
+ // In case object is already unserialized
31
+ // and instance of AccountDataFactory we
32
+ // return it, in other case deal with
33
+ // serialized string data
34
+ if ($raw instanceof self) {
35
+ static::$instance = $raw;
36
+ } else {
37
+ static::$instance = is_string($raw) ? static::unserialize($raw) : new self();
38
+ }
39
+ }
40
+
41
+ return static::$instance;
42
+ }
43
+
44
+ /**
45
+ * Sync this object data with cache
46
+ */
47
+ public function sync()
48
+ {
49
+ update_option(self::OPTIONS_KEY, serialize($this));
50
+ }
51
+
52
+ /**
53
+ * Sync this instance data with cache
54
+ */
55
+ public static function syncData()
56
+ {
57
+ static::instance()->sync();
58
+ }
59
+
60
+ /**
61
+ * @return array
62
+ */
63
+ public function getNotices()
64
+ {
65
+ return $this->notices;
66
+ }
67
+
68
+ /**
69
+ * Filter out notices for certain account
70
+ *
71
+ * @param $accountId
72
+ * @return array
73
+ */
74
+ public function getNoticesForAccount($accountId)
75
+ {
76
+ return array_filter($this->notices, function (Notice $notice) use ($accountId) {
77
+ return $notice->getAccountId() === $accountId;
78
+ });
79
+ }
80
+
81
+ /**
82
+ * Add new notice
83
+ *
84
+ * @param $notice
85
+ *
86
+ * @return $this
87
+ */
88
+ public function addNotice($notice)
89
+ {
90
+ array_push($this->notices, $notice);
91
+
92
+ $this->sync();
93
+
94
+ return $this;
95
+ }
96
+
97
+ /**
98
+ * Find notice by id
99
+ *
100
+ * @param $id
101
+ * @return Notice|null
102
+ */
103
+ public function find($id)
104
+ {
105
+ $notices = array_filter($this->notices, function (Notice $notice) use ($id) {
106
+ return $notice->getId() === $id;
107
+ });
108
+
109
+ return array_pop($notices);
110
+ }
111
+
112
+ /**
113
+ * Remove notice by it's id
114
+ *
115
+ * @param $id
116
+ */
117
+ public function remove($id)
118
+ {
119
+ // Get key of notice to remove
120
+ $key = array_search(
121
+ $this->find($id),
122
+ $this->notices
123
+ );
124
+
125
+ // Unset notice with key
126
+ unset($this->notices[$key]);
127
+
128
+ $this->sync();
129
+ }
130
+ }
analyst/{src → analyst/src}/helpers.php RENAMED
@@ -1,82 +1,84 @@
1
- <?php
2
-
3
- if (! function_exists('analyst_assets_path')) {
4
- /**
5
- * Generates path to file in assets folder
6
- *
7
- * @param $file
8
- * @return string
9
- */
10
- function analyst_assets_path($file)
11
- {
12
- $path = sprintf('%s/assets/%s', realpath(__DIR__ . '/..'), trim($file, '/'));
13
-
14
- return wp_normalize_path($path);
15
- }
16
- }
17
-
18
-
19
- if (! function_exists('analyst_assets_url')) {
20
- /**
21
- * Generates url to file in assets folder
22
- *
23
- * @param $file
24
- * @return string
25
- */
26
- function analyst_assets_url($file)
27
- {
28
- $absolutePath = analyst_assets_path($file);
29
-
30
- // We can always rely on WP_PLUGIN_DIR, because that's where
31
- // wordpress install it's plugin's. So we remove last segment
32
- // of that path to get the content dir AKA directly where
33
- // plugins are installed and make the magic...
34
- $contentDir = dirname(wp_normalize_path(WP_PLUGIN_DIR));
35
-
36
- $relativePath = str_replace( $contentDir, '', $absolutePath);
37
-
38
- return content_url(wp_normalize_path($relativePath));
39
- }
40
- }
41
-
42
- if (! function_exists('analyst_templates_path')) {
43
- /**
44
- * Generates path to file in templates folder
45
- *
46
- * @param $file
47
- * @return string
48
- */
49
- function analyst_templates_path($file)
50
- {
51
- $path = sprintf('%s/templates/%s', realpath(__DIR__ . '/..'), trim($file, '/'));
52
-
53
- return wp_normalize_path($path);
54
- }
55
- }
56
-
57
- if (! function_exists('analyst_require_template')) {
58
- /**
59
- * Require certain template with data
60
- *
61
- * @param $file
62
- * @param array $data
63
- */
64
- function analyst_require_template($file, $data = [])
65
- {
66
- // Extract data to current scope table
67
- extract($data);
68
-
69
- require analyst_templates_path($file);
70
- }
71
- }
72
-
73
- if (! function_exists('dd')) {
74
- /**
75
- * Dump some data
76
- */
77
- function dd ()
78
- {
79
- var_dump(func_get_args());
80
- die();
81
- }
82
- }
 
 
1
+ <?php
2
+
3
+ if (! function_exists('analyst_assets_path')) {
4
+ /**
5
+ * Generates path to file in assets folder
6
+ *
7
+ * @param $file
8
+ * @return string
9
+ */
10
+ function analyst_assets_path($file)
11
+ {
12
+ $path = sprintf('%s/assets/%s', realpath(__DIR__ . '/..'), trim($file, '/'));
13
+
14
+ return wp_normalize_path($path);
15
+ }
16
+ }
17
+
18
+
19
+ if (! function_exists('analyst_assets_url')) {
20
+ /**
21
+ * Generates url to file in assets folder
22
+ *
23
+ * @param $file
24
+ * @return string
25
+ */
26
+ function analyst_assets_url($file)
27
+ {
28
+ $absolutePath = analyst_assets_path($file);
29
+
30
+ // We can always rely on WP_PLUGIN_DIR, because that's where
31
+ // wordpress install it's plugin's. So we remove last segment
32
+ // of that path to get the content dir AKA directly where
33
+ // plugins are installed and make the magic...
34
+ $contentDir = is_link(WP_PLUGIN_DIR) ?
35
+ dirname(wp_normalize_path(readlink(WP_PLUGIN_DIR))) :
36
+ dirname(wp_normalize_path(WP_PLUGIN_DIR));
37
+
38
+ $relativePath = str_replace( $contentDir, '', $absolutePath);
39
+
40
+ return content_url(wp_normalize_path($relativePath));
41
+ }
42
+ }
43
+
44
+ if (! function_exists('analyst_templates_path')) {
45
+ /**
46
+ * Generates path to file in templates folder
47
+ *
48
+ * @param $file
49
+ * @return string
50
+ */
51
+ function analyst_templates_path($file)
52
+ {
53
+ $path = sprintf('%s/templates/%s', realpath(__DIR__ . '/..'), trim($file, '/'));
54
+
55
+ return wp_normalize_path($path);
56
+ }
57
+ }
58
+
59
+ if (! function_exists('analyst_require_template')) {
60
+ /**
61
+ * Require certain template with data
62
+ *
63
+ * @param $file
64
+ * @param array $data
65
+ */
66
+ function analyst_require_template($file, $data = [])
67
+ {
68
+ // Extract data to current scope table
69
+ extract($data);
70
+
71
+ require analyst_templates_path($file);
72
+ }
73
+ }
74
+
75
+ if (! function_exists('dd')) {
76
+ /**
77
+ * Dump some data
78
+ */
79
+ function dd ()
80
+ {
81
+ var_dump(func_get_args());
82
+ die();
83
+ }
84
+ }
analyst/{templates → analyst/templates}/forms/deactivate.php RENAMED
@@ -1,156 +1,156 @@
1
- <div id="analyst-deactivate-modal" class="analyst-modal">
2
- <div class="analyst-modal-content" style="width: 500px">
3
- <div class="analyst-disable-modal-mask" id="analyst-disable-deactivate-modal-mask" style="display: none"></div>
4
- <div style="display: flex">
5
- <div class="analyst-install-image-block" style="width: 80px">
6
- <img src="<?=$pencilImage?>"/>
7
- </div>
8
- <div class="analyst-install-description-block" style="padding-left: 20px">
9
- <strong class="analyst-modal-header">Why do you deactivate?</strong>
10
- <div class="analyst-install-description-text" style="padding-top: 2px">
11
- Please let us know, so we can improve it! Thank you <img class="analyst-smile-image" src="<?=$smileImage?>" alt="">
12
- </div>
13
- </div>
14
- </div>
15
- <div>
16
- <ul id="analyst-deactivation-reasons">
17
- <li>
18
- <label>
19
- <span>
20
- <input type="radio" name="deactivation-reason">
21
- </span>
22
- <span class="question" data-question="I couldn't understand how to make it work">I couldn't understand how to make it work</span>
23
- </label>
24
- </li>
25
- <li data-input-type="textarea" data-input-placeholder="What should have worked, but didn’t?">
26
- <label>
27
- <span>
28
- <input type="radio" name="deactivation-reason">
29
- </span>
30
- <span class="question" data-question="The plugin didn't work as expected">The plugin didn't work as expected</span>
31
- </label>
32
- <div class="question-answer"></div>
33
- </li>
34
- <li data-input-type="input" data-input-placeholder="What is the plugin name?">
35
- <label>
36
- <span>
37
- <input type="radio" name="deactivation-reason">
38
- </span>
39
- <span class="question" data-question="I found a better plugin">I found a better plugin</span>
40
- </label>
41
- <div class="question-answer"></div>
42
- </li>
43
- <li>
44
- <label>
45
- <span>
46
- <input type="radio" name="deactivation-reason">
47
- </span>
48
- <span class="question" data-question="It's a temporary deactivation">It's a temporary deactivation</span>
49
- </label>
50
- <div class="question-answer"></div>
51
- </li>
52
- <li data-input-type="textarea" data-input-placeholder="Please provide the reason of deactivation">
53
- <label>
54
- <span>
55
- <input type="radio" name="deactivation-reason">
56
- </span>
57
- <span class="question" data-question="Other">Other</span>
58
- </label>
59
- <div class="question-answer"></div>
60
- </li>
61
- </ul>
62
- <p id="analyst-deactivation-error" style="color: #dc3232; font-size: 16px; display: none">Please let us know the reason for de-activation. Thank you!</p>
63
- </div>
64
- <div>
65
- <button class="analyst-btn-grey" id="analyst-disabled-plugin-action">Deactivate</button>
66
- </div>
67
- <div class="" style="text-align: center; font-size: 18px; padding-top: 10px">
68
- <button class="analyst-btn-secondary-ghost analyst-deactivate-modal-close" style="color: #cccccc">Cancel</button>
69
- </div>
70
- </div>
71
- </div>
72
-
73
- <script type="text/javascript">
74
- (function ($) {
75
- $('.deactivate').click(function (e) {
76
- var anchor = $(this).find('[analyst-plugin-id]')
77
- var pluginId = anchor.attr('analyst-plugin-id')
78
- var isOptedIn = anchor.attr('analyst-plugin-opted-in') === '1'
79
-
80
- // Do not ask for reason if not opted in
81
- if (!isOptedIn) {
82
- return
83
- }
84
-
85
- e.preventDefault()
86
-
87
- $('#analyst-deactivate-modal')
88
- .attr({
89
- 'analyst-plugin-id': pluginId,
90
- 'analyst-redirect-url': $(this).find('a').attr('href')
91
- })
92
- .show()
93
- })
94
-
95
- $('.analyst-deactivate-modal-close').click(function () {
96
- $('#analyst-deactivate-modal').hide()
97
- })
98
-
99
- $('#analyst-deactivation-reasons input[name="deactivation-reason"]').change(function () {
100
- $('.question-answer').empty()
101
-
102
- var root = $('#analyst-deactivation-reasons input[name="deactivation-reason"]:checked').parents('li')
103
-
104
- $('#analyst-deactivation-error').hide()
105
-
106
- if (!root.attr('data-input-type')) return
107
-
108
- var reasonInput = $('<' + root.attr('data-input-type') + '/>').attr({placeholder: root.attr('data-input-placeholder'), class: 'reason-answer'})
109
-
110
- root.find('.question-answer').append(reasonInput)
111
- })
112
-
113
- $('#analyst-disabled-plugin-action').click(function () {
114
- var pluginId = $('#analyst-deactivate-modal').attr('analyst-plugin-id')
115
- var pluginDeactivationUrl = $('#analyst-deactivate-modal').attr('analyst-redirect-url')
116
-
117
- var root = $('#analyst-deactivation-reasons input[name="deactivation-reason"]:checked').parents('li');
118
-
119
- var reason = root.find('.question-answer .reason-answer').val();
120
-
121
- var question = root.find('.question').attr('data-question').trim()
122
-
123
- var $errorBlock = $('#analyst-deactivation-error')
124
-
125
- if (!question) {
126
- return $errorBlock.show()
127
- }
128
-
129
- $errorBlock.hide()
130
-
131
- var data = {
132
- action: 'analyst_plugin_deactivate_' + pluginId,
133
- question: question
134
- }
135
-
136
- if (reason) {
137
- data['reason'] = reason.trim();
138
- }
139
-
140
- $(this).attr('disabled', true).text('Deactivating...');
141
-
142
- $('#analyst-disable-deactivate-modal-mask').show();
143
-
144
- $.ajax({
145
- url: ajaxurl,
146
- method: 'POST',
147
- data: data
148
- }).done(function () {
149
- window.location.href = pluginDeactivationUrl
150
-
151
- $('#analyst-disable-deactivate-modal-mask').hide();
152
- })
153
- })
154
-
155
- })(jQuery)
156
- </script>
1
+ <div id="analyst-deactivate-modal" class="analyst-modal" style="display: none">
2
+ <div class="analyst-modal-content" style="width: 500px">
3
+ <div class="analyst-disable-modal-mask" id="analyst-disable-deactivate-modal-mask" style="display: none"></div>
4
+ <div style="display: flex">
5
+ <div class="analyst-install-image-block" style="width: 80px">
6
+ <img src="<?=$pencilImage?>"/>
7
+ </div>
8
+ <div class="analyst-install-description-block" style="padding-left: 20px">
9
+ <strong class="analyst-modal-header">Why do you deactivate?</strong>
10
+ <div class="analyst-install-description-text" style="padding-top: 2px">
11
+ Please let us know, so we can improve it! Thank you <img class="analyst-smile-image" src="<?=$smileImage?>" alt="">
12
+ </div>
13
+ </div>
14
+ </div>
15
+ <div>
16
+ <ul id="analyst-deactivation-reasons">
17
+ <li>
18
+ <label>
19
+ <span>
20
+ <input type="radio" name="deactivation-reason">
21
+ </span>
22
+ <span class="question" data-question="I couldn't understand how to make it work">I couldn't understand how to make it work</span>
23
+ </label>
24
+ </li>
25
+ <li data-input-type="textarea" data-input-placeholder="What should have worked, but didn’t?">
26
+ <label>
27
+ <span>
28
+ <input type="radio" name="deactivation-reason">
29
+ </span>
30
+ <span class="question" data-question="The plugin didn't work as expected">The plugin didn't work as expected</span>
31
+ </label>
32
+ <div class="question-answer"></div>
33
+ </li>
34
+ <li data-input-type="input" data-input-placeholder="What is the plugin name?">
35
+ <label>
36
+ <span>
37
+ <input type="radio" name="deactivation-reason">
38
+ </span>
39
+ <span class="question" data-question="I found a better plugin">I found a better plugin</span>
40
+ </label>
41
+ <div class="question-answer"></div>
42
+ </li>
43
+ <li>
44
+ <label>
45
+ <span>
46
+ <input type="radio" name="deactivation-reason">
47
+ </span>
48
+ <span class="question" data-question="It's a temporary deactivation">It's a temporary deactivation</span>
49
+ </label>
50
+ <div class="question-answer"></div>
51
+ </li>
52
+ <li data-input-type="textarea" data-input-placeholder="Please provide the reason of deactivation">
53
+ <label>
54
+ <span>
55
+ <input type="radio" name="deactivation-reason">
56
+ </span>
57
+ <span class="question" data-question="Other">Other</span>
58
+ </label>
59
+ <div class="question-answer"></div>
60
+ </li>
61
+ </ul>
62
+ <p id="analyst-deactivation-error" style="color: #dc3232; font-size: 16px; display: none">Please let us know the reason for de-activation. Thank you!</p>
63
+ </div>
64
+ <div>
65
+ <button class="analyst-btn-grey" id="analyst-disabled-plugin-action">Deactivate</button>
66
+ </div>
67
+ <div class="" style="text-align: center; font-size: 18px; padding-top: 10px">
68
+ <button class="analyst-btn-secondary-ghost analyst-deactivate-modal-close" style="color: #cccccc">Cancel</button>
69
+ </div>
70
+ </div>
71
+ </div>
72
+
73
+ <script type="text/javascript">
74
+ (function ($) {
75
+ $('.deactivate').click(function (e) {
76
+ var anchor = $(this).find('[analyst-plugin-id]')
77
+ var pluginId = anchor.attr('analyst-plugin-id')
78
+ var isOptedIn = anchor.attr('analyst-plugin-opted-in') === '1'
79
+
80
+ // Do not ask for reason if not opted in
81
+ if (!isOptedIn) {
82
+ return
83
+ }
84
+
85
+ e.preventDefault()
86
+
87
+ $('#analyst-deactivate-modal')
88
+ .attr({
89
+ 'analyst-plugin-id': pluginId,
90
+ 'analyst-redirect-url': $(this).find('a').attr('href')
91
+ })
92
+ .show()
93
+ })
94
+
95
+ $('.analyst-deactivate-modal-close').click(function () {
96
+ $('#analyst-deactivate-modal').hide()
97
+ })
98
+
99
+ $('#analyst-deactivation-reasons input[name="deactivation-reason"]').change(function () {
100
+ $('.question-answer').empty()
101
+
102
+ var root = $('#analyst-deactivation-reasons input[name="deactivation-reason"]:checked').parents('li')
103
+
104
+ $('#analyst-deactivation-error').hide()
105
+
106
+ if (!root.attr('data-input-type')) return
107
+
108
+ var reasonInput = $('<' + root.attr('data-input-type') + '/>').attr({placeholder: root.attr('data-input-placeholder'), class: 'reason-answer'})
109
+
110
+ root.find('.question-answer').append(reasonInput)
111
+ })
112
+
113
+ $('#analyst-disabled-plugin-action').click(function () {
114
+ var pluginId = $('#analyst-deactivate-modal').attr('analyst-plugin-id')
115
+ var pluginDeactivationUrl = $('#analyst-deactivate-modal').attr('analyst-redirect-url')
116
+
117
+ var root = $('#analyst-deactivation-reasons input[name="deactivation-reason"]:checked').parents('li');
118
+
119
+ var reason = root.find('.question-answer .reason-answer').val();
120
+
121
+ var question = root.find('.question').attr('data-question').trim()
122
+
123
+ var $errorBlock = $('#analyst-deactivation-error')
124
+
125
+ if (!question) {
126
+ return $errorBlock.show()
127
+ }
128
+
129
+ $errorBlock.hide()
130
+
131
+ var data = {
132
+ action: 'analyst_plugin_deactivate_' + pluginId,
133
+ question: question
134
+ }
135
+
136
+ if (reason) {
137
+ data['reason'] = reason.trim();
138
+ }
139
+
140
+ $(this).attr('disabled', true).text('Deactivating...');
141
+
142
+ $('#analyst-disable-deactivate-modal-mask').show();
143
+
144
+ $.ajax({
145
+ url: ajaxurl,
146
+ method: 'POST',
147
+ data: data
148
+ }).done(function () {
149
+ window.location.href = pluginDeactivationUrl
150
+
151
+ $('#analyst-disable-deactivate-modal-mask').hide();
152
+ })
153
+ })
154
+
155
+ })(jQuery)
156
+ </script>
analyst/{templates → analyst/templates}/forms/install.php RENAMED
@@ -1,110 +1,110 @@
1
- <div id="analyst-install-modal" class="analyst-modal" analyst-plugin-id="<?=$pluginToInstall?>">
2
- <div class="analyst-modal-content" style="width: 450px">
3
- <div class="analyst-disable-modal-mask" id="analyst-disable-install-modal-mask" style="display: none"></div>
4
- <div style="display: flex">
5
- <div class="analyst-install-image-block">
6
- <img src="<?=$shieldImage?>"/>
7
- </div>
8
- <div class="analyst-install-description-block">
9
- <strong class="analyst-modal-header">Stay on the safe side</strong>
10
- <p class="analyst-install-description-text">Receive our plugin’s alerts in
11
- case of <strong>critical security</strong> & feature
12
- updates and allow non-sensitive
13
- diagnostic tracking.</p>
14
- </div>
15
- </div>
16
- <div class="analyst-modal-def-top-padding">
17
- <button class="analyst-btn-success" id="analyst-install-action">Allow & Continue ></button>
18
- </div>
19
- <div class="analyst-modal-def-top-padding" id="analyst-permissions-block" style="display: none">
20
- <span>You’re granting these permissions:</span>
21
- <ul class="analyst-install-permissions-list">
22
- <li><strong>Your profile information</strong> (name and email) ​</li>
23
- <li><strong>Your site information</strong> (URL, WP version, PHP info, plugins & themes)</li>
24
- <li><strong>Plugin notices</strong> (updates, announcements, marketing, no spam)</li>
25
- <li><strong>Plugin events</strong> (activation, deactivation and uninstall)​</li>
26
- </ul>
27
- </div>
28
- <div class="analyst-install-footer analyst-modal-def-top-padding">
29
- <span class="analyst-action-text" id="analyst-permissions-toggle">Learn more</span>
30
- <span>Powered by <a href="https://sellcodes.com/blog/wordpress-feedback-system-for-plugin-creators/?utm_source=optin_screen" target="_blank" class="analyst-link">Sellcodes.com</a></span>
31
- <span class="analyst-action-text analyst-install-modal-close" id="analyst-install-skip">Skip</span>
32
- </div>
33
- <div id="analyst-install-error" class="analyst-modal-def-top-padding" style="display: none; text-align: center">
34
- <span style="color: #dc3232; font-size: 16px">Service unavailable. Please try again later</span>
35
- </div>
36
- </div>
37
- </div>
38
-
39
- <script type="text/javascript">
40
- (function ($) {
41
-
42
- var installPlugin = function (pluginId) {
43
- var $error = $('#analyst-install-error')
44
-
45
- $error.hide()
46
-
47
- $.ajax({
48
- url: ajaxurl,
49
- method: 'POST',
50
- data: {
51
- action: 'analyst_install_' + pluginId
52
- },
53
- success: function (data) {
54
- if (data && !data.success) {
55
- //error
56
- $('#analyst-install-modal').hide()
57
-
58
- return
59
- }
60
-
61
- window.location.reload()
62
- },
63
- error: function () {
64
- $('#analyst-install-modal').hide()
65
- }
66
- }).done(function () {
67
- $('#analyst-disable-install-modal-mask').hide()
68
-
69
- $('#analyst-install-action')
70
- .attr('disabled', false)
71
- .text('Allow & Continue >')
72
- })
73
- }
74
-
75
- if ($('#analyst-install-modal').attr('analyst-plugin-id')) {
76
- $('#analyst-install-modal').show()
77
- }
78
-
79
-
80
- $('.analyst-install-modal-close').click(function () {
81
- $('#analyst-install-modal').hide()
82
- })
83
-
84
- $('#analyst-install-action').click(function () {
85
- var pluginId = $('#analyst-install-modal').attr('analyst-plugin-id')
86
-
87
- $('#analyst-install-action')
88
- .attr('disabled', true)
89
- .text('Please wait...')
90
-
91
- $('#analyst-disable-install-modal-mask').show()
92
-
93
- installPlugin(pluginId)
94
- })
95
-
96
- $('#analyst-permissions-toggle').click(function () {
97
- var isVisible = $('#analyst-permissions-block').toggle().is(':visible')
98
-
99
- isVisible ? $(this).text('Close section') : $(this).text('Learn more')
100
- })
101
-
102
- $('#analyst-install-skip').click(function () {
103
- var pluginId = $('#analyst-install-modal').attr('analyst-plugin-id')
104
-
105
- $.post(ajaxurl, {action: 'analyst_skip_install_' + pluginId}).done(function () {
106
- $('#analyst-install-modal').hide()
107
- })
108
- })
109
- })(jQuery)
110
- </script>
1
+ <div id="analyst-install-modal" class="analyst-modal" style="display: none" analyst-plugin-id="<?=$pluginToInstall?>">
2
+ <div class="analyst-modal-content" style="width: 450px">
3
+ <div class="analyst-disable-modal-mask" id="analyst-disable-install-modal-mask" style="display: none"></div>
4
+ <div style="display: flex">
5
+ <div class="analyst-install-image-block">
6
+ <img src="<?=$shieldImage?>"/>
7
+ </div>
8
+ <div class="analyst-install-description-block">
9
+ <strong class="analyst-modal-header">Stay on the safe side</strong>
10
+ <p class="analyst-install-description-text">Receive our plugin’s alerts in
11
+ case of <strong>critical security</strong> & feature
12
+ updates and allow non-sensitive
13
+ diagnostic tracking.</p>
14
+ </div>
15
+ </div>
16
+ <div class="analyst-modal-def-top-padding">
17
+ <button class="analyst-btn-success" id="analyst-install-action">Allow & Continue ></button>
18
+ </div>
19
+ <div class="analyst-modal-def-top-padding" id="analyst-permissions-block" style="display: none">
20
+ <span>You’re granting these permissions:</span>
21
+ <ul class="analyst-install-permissions-list">
22
+ <li><strong>Your profile information</strong> (name and email) ​</li>
23
+ <li><strong>Your site information</strong> (URL, WP version, PHP info, plugins & themes)</li>
24
+ <li><strong>Plugin notices</strong> (updates, announcements, marketing, no spam)</li>
25
+ <li><strong>Plugin events</strong> (activation, deactivation and uninstall)​</li>
26
+ </ul>
27
+ </div>
28
+ <div class="analyst-install-footer analyst-modal-def-top-padding">
29
+ <span class="analyst-action-text" id="analyst-permissions-toggle">Learn more</span>
30
+ <span>Powered by <a href="https://sellcodes.com/blog/wordpress-feedback-system-for-plugin-creators/?utm_source=optin_screen" target="_blank" class="analyst-link">Sellcodes.com</a></span>
31
+ <span class="analyst-action-text analyst-install-modal-close" id="analyst-install-skip">Skip</span>
32
+ </div>
33
+ <div id="analyst-install-error" class="analyst-modal-def-top-padding" style="display: none; text-align: center">
34
+ <span style="color: #dc3232; font-size: 16px">Service unavailable. Please try again later</span>
35
+ </div>
36
+ </div>
37
+ </div>
38
+
39
+ <script type="text/javascript">
40
+ (function ($) {
41
+
42
+ var installPlugin = function (pluginId) {
43
+ var $error = $('#analyst-install-error')
44
+
45
+ $error.hide()
46
+
47
+ $.ajax({
48
+ url: ajaxurl,
49
+ method: 'POST',
50
+ data: {
51
+ action: 'analyst_install_' + pluginId
52
+ },
53
+ success: function (data) {
54
+ if (data && !data.success) {
55
+ //error
56
+ $('#analyst-install-modal').hide()
57
+
58
+ return
59
+ }
60
+
61
+ window.location.reload()
62
+ },
63
+ error: function () {
64
+ $('#analyst-install-modal').hide()
65
+ }
66
+ }).done(function () {
67
+ $('#analyst-disable-install-modal-mask').hide()
68
+
69
+ $('#analyst-install-action')
70
+ .attr('disabled', false)
71
+ .text('Allow & Continue >')
72
+ })
73
+ }
74
+
75
+ if ($('#analyst-install-modal').attr('analyst-plugin-id')) {
76
+ $('#analyst-install-modal').show()
77
+ }
78
+
79
+
80
+ $('.analyst-install-modal-close').click(function () {
81
+ $('#analyst-install-modal').hide()
82
+ })
83
+
84
+ $('#analyst-install-action').click(function () {
85
+ var pluginId = $('#analyst-install-modal').attr('analyst-plugin-id')
86
+
87
+ $('#analyst-install-action')
88
+ .attr('disabled', true)
89
+ .text('Please wait...')
90
+
91
+ $('#analyst-disable-install-modal-mask').show()
92
+
93
+ installPlugin(pluginId)
94
+ })
95
+
96
+ $('#analyst-permissions-toggle').click(function () {
97
+ var isVisible = $('#analyst-permissions-block').toggle().is(':visible')
98
+
99
+ isVisible ? $(this).text('Close section') : $(this).text('Learn more')
100
+ })
101
+
102
+ $('#analyst-install-skip').click(function () {
103
+ var pluginId = $('#analyst-install-modal').attr('analyst-plugin-id')
104
+
105
+ $.post(ajaxurl, {action: 'analyst_skip_install_' + pluginId}).done(function () {
106
+ $('#analyst-install-modal').hide()
107
+ })
108
+ })
109
+ })(jQuery)
110
+ </script>
analyst/{templates → analyst/templates}/notice.php RENAMED
@@ -1,10 +1,10 @@
1
- <div class="notice notice-success analyst-notice">
2
- <p>
3
- <strong class="analyst-plugin-name"><?=$notice->getPluginName()?></strong>
4
- <?=$notice->getBody()?>
5
- </p>
6
-
7
- <button type="button" class="analyst-notice-dismiss notice-dismiss" analyst-notice-id="<?=$notice->getId()?>">
8
- <span class="screen-reader-text">Dismiss this notice.</span>
9
- </button>
10
- </div>
1
+ <div class="notice notice-success analyst-notice">
2
+ <p>
3
+ <strong class="analyst-plugin-name"><?=$notice->getPluginName()?></strong>
4
+ <?=$notice->getBody()?>
5
+ </p>
6
+
7
+ <button type="button" class="analyst-notice-dismiss notice-dismiss" analyst-notice-id="<?=$notice->getId()?>">
8
+ <span class="screen-reader-text">Dismiss this notice.</span>
9
+ </button>
10
+ </div>
analyst/{templates → analyst/templates}/optin.php RENAMED
@@ -1,60 +1,60 @@
1
- <script type="text/javascript">
2
-
3
- (function ($) {
4
- var isOptingIn = false
5
-
6
- $('#analyst-opt-in-modal').appendTo($('body'))
7
-
8
- var makeOptIn = function (pluginId) {
9
- if (isOptingIn) return
10
-
11
- isOptingIn = true
12
-
13
- $.ajax({
14
- url: ajaxurl,
15
- method: 'POST',
16
- data: {
17
- action: 'analyst_opt_in_' + pluginId,
18
- },
19
- success: function () {
20
- $('#analyst-opt-in-modal').hide()
21
-
22
- isOptingIn = false
23
-
24
- var optOutAction = $('<a />').attr({
25
- class: 'analyst-action-opt analyst-opt-out',
26
- 'analyst-plugin-id': pluginId,
27
- 'analyst-plugin-signed': '1'
28
- })
29
- .text('Opt Out')
30
- $('.analyst-opt-in[analyst-plugin-id="'+ pluginId +'"').replaceWith(optOutAction)
31
-
32
- $('[analyst-plugin-id="' + pluginId + '"').attr('analyst-plugin-opted-in', 1)
33
- }
34
- })
35
- }
36
-
37
- $(document).on('click', '.analyst-opt-in:not([loading])', function() {
38
- var pluginId = $(this).attr('analyst-plugin-id')
39
- var isSigned = $(this).attr('analyst-plugin-signed') === '1'
40
-
41
- if (!isSigned) {
42
- $('#analyst-install-modal')
43
- .attr('analyst-plugin-id', pluginId)
44
- .show()
45
-
46
- return;
47
- }
48
-
49
- $('#analyst-install-modal').attr({'analyst-plugin-id': pluginId})
50
-
51
- $(this).attr('loading', true).text('Opting In...')
52
-
53
- makeOptIn(pluginId);
54
- })
55
-
56
- $('.opt-in-modal-close').click(function () {
57
- $('#analyst-opt-in-modal').hide()
58
- })
59
- })(jQuery)
60
- </script>
1
+ <script type="text/javascript">
2
+
3
+ (function ($) {
4
+ var isOptingIn = false
5
+
6
+ $('#analyst-opt-in-modal').appendTo($('body'))
7
+
8
+ var makeOptIn = function (pluginId) {
9
+ if (isOptingIn) return
10
+
11
+ isOptingIn = true
12
+
13
+ $.ajax({
14
+ url: ajaxurl,
15
+ method: 'POST',
16
+ data: {
17
+ action: 'analyst_opt_in_' + pluginId,
18
+ },
19
+ success: function () {
20
+ $('#analyst-opt-in-modal').hide()
21
+
22
+ isOptingIn = false
23
+
24
+ var optOutAction = $('<a />').attr({
25
+ class: 'analyst-action-opt analyst-opt-out',
26
+ 'analyst-plugin-id': pluginId,
27
+ 'analyst-plugin-signed': '1'
28
+ })
29
+ .text('Opt Out')
30
+ $('.analyst-opt-in[analyst-plugin-id="'+ pluginId +'"').replaceWith(optOutAction)
31
+
32
+ $('[analyst-plugin-id="' + pluginId + '"').attr('analyst-plugin-opted-in', 1)
33
+ }
34
+ })
35
+ }
36
+
37
+ $(document).on('click', '.analyst-opt-in:not([loading])', function() {
38
+ var pluginId = $(this).attr('analyst-plugin-id')
39
+ var isSigned = $(this).attr('analyst-plugin-signed') === '1'
40
+
41
+ if (!isSigned) {
42
+ $('#analyst-install-modal')
43
+ .attr('analyst-plugin-id', pluginId)
44
+ .show()
45
+
46
+ return;
47
+ }
48
+
49
+ $('#analyst-install-modal').attr({'analyst-plugin-id': pluginId})
50
+
51
+ $(this).attr('loading', true).text('Opting In...')
52
+
53
+ makeOptIn(pluginId);
54
+ })
55
+
56
+ $('.opt-in-modal-close').click(function () {
57
+ $('#analyst-opt-in-modal').hide()
58
+ })
59
+ })(jQuery)
60
+ </script>
analyst/{templates → analyst/templates}/optout.php RENAMED
@@ -1,109 +1,109 @@
1
- <div id="analyst-opt-out-modal" class="analyst-modal">
2
- <div class="analyst-modal-content" style="width: 600px">
3
- <div class="analyst-disable-modal-mask" id="analyst-disable-opt-out-modal-mask" style="display: none"></div>
4
- <div style="display: flex">
5
- <div class="analyst-install-image-block" style="width: 120px">
6
- <img src="<?=$shieldImage?>"/>
7
- </div>
8
- <div class="analyst-install-description-block">
9
- <strong class="analyst-modal-header">By opting out, we cannot alert you anymore in case of important security updates.</strong>
10
- <p class="analyst-install-description-text">
11
- In addition, we won’t get pointers how to further improve the plugin based on your integration with our plugin.
12
- </p>
13
- </div>
14
- </div>
15
- <div class="analyst-modal-def-top-padding">
16
- <button class="analyst-btn-success opt-out-modal-close">Ok, don't opt out</button>
17
- </div>
18
- <div class="analyst-modal-def-top-padding" style="text-align: center;">
19
- <button class="analyst-btn-secondary-ghost" id="opt-out-action">Opt out</button>
20
- </div>
21
- <div id="analyst-opt-out-error" class="analyst-modal-def-top-padding" style="display: none;">
22
- <span style="color: #dc3232; font-size: 16px">Service unavailable. Please try again later</span>
23
- </div>
24
- </div>
25
- </div>
26
- </div>
27
-
28
- <script type="text/javascript">
29
-
30
- (function ($) {
31
- var isOptingOut = false
32
-
33
- $('#analyst-opt-out-modal').appendTo($('body'))
34
-
35
- $(document).on('click', '.analyst-opt-out', function() {
36
- var pluginId = $(this).attr('analyst-plugin-id')
37
-
38
- $('#analyst-opt-out-modal')
39
- .attr({'analyst-plugin-id': pluginId})
40
- .show()
41
- })
42
-
43
- $('.opt-out-modal-close').click(function () {
44
- $('#analyst-opt-out-modal').hide()
45
- })
46
-
47
- $('#opt-out-action').click(function () {
48
- if (isOptingOut) return
49
-
50
- var $mask = $('#analyst-disable-opt-out-modal-mask')
51
- var $error = $('#analyst-opt-out-error')
52
-
53
- var pluginId = $('#analyst-opt-out-modal').attr('analyst-plugin-id')
54
-
55
- $mask.show()
56
- $error.hide()
57
-
58
- var self = this
59
-
60
- isOptingOut = true
61
-
62
- $(self).text('Opting out...')
63
-
64
- $.ajax({
65
- url: ajaxurl,
66
- method: 'POST',
67
- data: {
68
- action: 'analyst_opt_out_' + pluginId,
69
- },
70
- success: function (data) {
71
- $(self).text('Opt out')
72
-
73
- if (data && !data.success) {
74
- $('#analyst-opt-out-modal').hide()
75
-
76
- return
77
- }
78
-
79
- $error.hide()
80
-
81
- $('#analyst-opt-out-modal').hide()
82
-
83
- isOptingOut = false
84
-
85
- var optInAction = $('<a />').attr({
86
- class: 'analyst-action-opt analyst-opt-in',
87
- 'analyst-plugin-id': pluginId,
88
- 'analyst-plugin-signed': '1'
89
- })
90
- .text('Opt In')
91
- $('.analyst-opt-out[analyst-plugin-id="'+ pluginId +'"').replaceWith(optInAction)
92
-
93
- $('[analyst-plugin-id="' + pluginId + '"').attr('analyst-plugin-opted-in', 0)
94
-
95
- $mask.hide()
96
- },
97
- error: function () {
98
- $('#analyst-opt-out-error').show()
99
-
100
- $(self).text('Opt out')
101
- }
102
- }).done(function () {
103
- $mask.hide()
104
-
105
- isOptingOut = false
106
- })
107
- })
108
- })(jQuery)
109
- </script>
1
+ <div id="analyst-opt-out-modal" class="analyst-modal" style="display: none">
2
+ <div class="analyst-modal-content" style="width: 600px">
3
+ <div class="analyst-disable-modal-mask" id="analyst-disable-opt-out-modal-mask" style="display: none"></div>
4
+ <div style="display: flex">
5
+ <div class="analyst-install-image-block" style="width: 120px">
6
+ <img src="<?=$shieldImage?>"/>
7
+ </div>
8
+ <div class="analyst-install-description-block">
9
+ <strong class="analyst-modal-header">By opting out, we cannot alert you anymore in case of important security updates.</strong>
10
+ <p class="analyst-install-description-text">
11
+ In addition, we won’t get pointers how to further improve the plugin based on your integration with our plugin.
12
+ </p>
13
+ </div>
14
+ </div>
15
+ <div class="analyst-modal-def-top-padding">
16
+ <button class="analyst-btn-success opt-out-modal-close">Ok, don't opt out</button>
17
+ </div>
18
+ <div class="analyst-modal-def-top-padding" style="text-align: center;">
19
+ <button class="analyst-btn-secondary-ghost" id="opt-out-action">Opt out</button>
20
+ </div>
21
+ <div id="analyst-opt-out-error" class="analyst-modal-def-top-padding" style="display: none;">
22
+ <span style="color: #dc3232; font-size: 16px">Service unavailable. Please try again later</span>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ </div>
27
+
28
+ <script type="text/javascript">
29
+
30
+ (function ($) {
31
+ var isOptingOut = false
32
+
33
+ $('#analyst-opt-out-modal').appendTo($('body'))
34
+
35
+ $(document).on('click', '.analyst-opt-out', function() {
36
+ var pluginId = $(this).attr('analyst-plugin-id')
37
+
38
+ $('#analyst-opt-out-modal')
39
+ .attr({'analyst-plugin-id': pluginId})
40
+ .show()
41
+ })
42
+
43
+ $('.opt-out-modal-close').click(function () {
44
+ $('#analyst-opt-out-modal').hide()
45
+ })
46
+
47
+ $('#opt-out-action').click(function () {
48
+ if (isOptingOut) return
49
+
50
+ var $mask = $('#analyst-disable-opt-out-modal-mask')
51
+ var $error = $('#analyst-opt-out-error')
52
+
53
+ var pluginId = $('#analyst-opt-out-modal').attr('analyst-plugin-id')
54
+
55
+ $mask.show()
56
+ $error.hide()
57
+
58
+ var self = this
59
+
60
+ isOptingOut = true
61
+
62
+ $(self).text('Opting out...')
63
+
64
+ $.ajax({
65
+ url: ajaxurl,
66
+ method: 'POST',
67
+ data: {
68
+ action: 'analyst_opt_out_' + pluginId,
69
+ },
70
+ success: function (data) {
71
+ $(self).text('Opt out')
72
+
73
+ if (data && !data.success) {
74
+ $('#analyst-opt-out-modal').hide()
75
+
76
+ return
77
+ }
78
+
79
+ $error.hide()
80
+
81
+ $('#analyst-opt-out-modal').hide()
82
+
83
+ isOptingOut = false
84
+
85
+ var optInAction = $('<a />').attr({
86
+ class: 'analyst-action-opt analyst-opt-in',
87
+ 'analyst-plugin-id': pluginId,
88
+ 'analyst-plugin-signed': '1'
89
+ })
90
+ .text('Opt In')
91
+ $('.analyst-opt-out[analyst-plugin-id="'+ pluginId +'"').replaceWith(optInAction)
92
+
93
+ $('[analyst-plugin-id="' + pluginId + '"').attr('analyst-plugin-opted-in', 0)
94
+
95
+ $mask.hide()
96
+ },
97
+ error: function () {
98
+ $('#analyst-opt-out-error').show()
99
+
100
+ $(self).text('Opt out')
101
+ }
102
+ }).done(function () {
103
+ $mask.hide()
104
+
105
+ isOptingOut = false
106
+ })
107
+ })
108
+ })(jQuery)
109
+ </script>
analyst/{version.php → analyst/version.php} RENAMED
@@ -1,15 +1,15 @@
1
- <?php
2
-
3
- return array(
4
- // The sdk version
5
- 'sdk' => '1.3.20',
6
-
7
- // Minimum supported WordPress version
8
- 'wp' => '4.7',
9
-
10
- // Supported PHP version
11
- 'php' => '5.4',
12
-
13
- // Path to current SDK$
14
- 'path' => __DIR__,
15
- );
1
+ <?php
2
+
3
+ return array(
4
+ // The sdk version
5
+ 'sdk' => '1.3.23',
6
+
7
+ // Minimum supported WordPress version
8
+ 'wp' => '4.7',
9
+
10
+ // Supported PHP version
11
+ 'php' => '5.4',
12
+
13
+ // Path to current SDK$
14
+ 'path' => __DIR__,
15
+ );
dist/blocks.build.js CHANGED
@@ -1 +1 @@
1
- !function(e){function t(i){if(s[i])return s[i].exports;var o=s[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var s={};t.m=e,t.c=s,t.d=function(e,s,i){t.o(e,s)||Object.defineProperty(e,s,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var s=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(s,"a",s),s},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});s(1)},function(e,t,s){"use strict";function i(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function o(e){var t=e.jscode;return f("div",{className:"sfsi_plus_block_container"},"\n\t",f("div",{className:"sfsi_plus_block"},""),"\n\t",f("script",{},t),"\n")}function n(e){var t=e.jscode;"rectangle"===e.iconType&&(t=t.replace(/window.location.href/gi,'window.location.href+"&ractangle_icon=1"'));var s="yes",i="Please Share:";return e.showTextBeforeShare||""!==e.showTextBeforeShare?s=e.showTextBeforeShare:onAttrChange("showTextBeforeShare","yes"),e.textBeforeShare||""!==e.textBeforeShare?i=e.textBeforeShare:onAttrChange("textBeforeShare","Please Share:"),f("div",{className:"sfsi_plus_block_wrapper"},"\n\t","yes"==s&&f("span",{className:"sfsi_plus_block_text_before_icon"},i),"\n",f("div",{className:"sfsi_plus_block","data-count":e.maxPerRow,"data-align":e.iconAlignemt,"data-icon-type":e.iconType},""),"\n\t")}function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=parseInt(jQuery(".wp-block.is-selected .sfsi_plus_block_wrapper .sfsi_plus_wDiv div").css("width"))||40,s=parseInt(jQuery(".wp-block.is-selected .sfsi_plus_block_wrapper .sfsi_plus_wDiv div").css("margin-left"))||0,i=(t+s)*e;console.log(t,s,e);var o=jQuery(".wp-block.is-selected .sfsi_plus_block_wrapper .sfsi_plus_wDiv img").first().height(),n=jQuery(".wp-block.is-selected .sfsi_plus_block_text_before_icon").height();jQuery(".wp-block.is-selected .sfsi_plus_block_text_before_icon").css({"margin-top":(n-o)/2-2+"px"});var l=jQuery(".wp-block.is-selected .sfsi_plus_block_wrapper .sfsiplus_norm_row");jQuery(".wp-block.is-selected .sfsi_plus_block_wrapper .sfsiplus_norm_row").length<1?setTimeout(function(){l.css({width:i+"px"})},1e3):l.css({width:i+"px"}),a()}function a(){var e=jQuery(".wp-block.is-selected .sfsi_plus_block_container"),t=e.find(".sfsi_plus_block").attr("data-align");jQuery(e).find(".sfsi_plus_block_text_before_icon").css({display:"inherit"}),jQuery(e).css({"text-align":t})}function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;null!==e&&void 0!==e||(e="round"),null==s&&(s=$(document));var i="";return i=window.sfsi_plus_links&&window.sfsi_plus_links.rest_url?window.sfsi_plus_links.rest_url:window.sfsi_plus_links&&window.sfsi_plus_links.pretty_perma&&"no"===window.sfsi_plus_links.pretty_perma?"/index.php?rest_route=/":"/wp-json/",window.sfsi_plus_links&&window.sfsi_plus_links.pretty_perma&&"no"===window.sfsi_plus_links.pretty_perma?(i=i.replace(/\/$/,""),i+=encodeURI("/ultimate-social-media-plus/v1/icons/"),i+="&"):i+="ultimate-social-media-plus/v1/icons/?",i+="admin_refereal=true&ractangle_icon="+("round"==e?0:1),jQuery.ajax({url:i,method:"GET"}).done(function(i){jQuery(s).find(".sfsi_plus_block").length>0?(jQuery(s).find(".sfsi_plus_block").html(i),jQuery(s).find(".sfsi_plus_block_text_before_icon").css({display:"inherit"}),console.log(t.maxPerRow),l(t.maxPerRow),"round"!==e&&u()):(setTimeout(function(){jQuery(".sfsi_plus_block").html(i),console.log(t.maxPerRow),l(t.maxPerRow),jQuery(s).find(".sfsi_plus_block_text_before_icon").css({display:"inherit"}),console.log("now updated")},5e3),console.log("timeset"))}).fail(function(e){jQuery(s).find(".sfsi_plus_block").html(e.responseText.replace("/\\/g",""))})}function u(){window.gapi&&(window.gapi.plusone.go(),window.gapi.plus.go(),window.gapi.ytsubscribe.go()),window.twttr&&window.twttr.widgets.load(),window.IN&&window.IN.parse&&window.IN.parse(),window.addthis&&(window.addthis.toolbox?window.addthis.toolbox(".addthis_button.sficn"):(window.addthis.init(),window.addthis.toolbox(".addthis_button.sficn"))),window.PinUtils&&window.PinUtils.build(),window.FB&&window.FB.XFBML&&window.FB.XFBML.parse()}var c=s(2),d=(s.n(c),s(3)),p=(s.n(d),wp.i18n.__),_=wp.blocks,w=_.registerBlockType,f=(_.RichText,_.TextControl,_.AlignmentToolbar,_.BlockControls,_.InspectorControls,wp.element.createElement),h=f("svg",{width:20,height:20},f("g",{transform:"translate(0.000000,20.000000) scale(0.0062,-0.0070)",fill:"#000000",stroke:"none"},f("path",{d:"M2055 2721 c-284 -83 -461 -332 -442 -624 l6 -89 -72 6 c-406 39 -818 246 -1090 548 l-66 73 -26 -60 c-101 -227 -55 -484 120 -661 l72 -74 -32 0 c-39 0 -127 26 -179 52 l-39 20 6 -74 c18 -224 178 -428 395 -504 58 -20 61 -22 35 -29 -15 -4 -72 -6 -126 -6 -98 1 -98 1 -92 -21 19 -62 77 -150 141 -214 88 -89 200 -148 317 -166 43 -7 77 -15 77 -18 0 -7 -152 -102 -205 -128 -72 -36 -216 -82 -302 -97 -46 -8 -146 -15 -221 -16 -159 -1 -160 2 10 -85 257 -131 542 -193 838 -181 209 8 392 45 572 115 l68 26 0 393 0 393 -100 0 c-93 0 -100 1 -100 20 0 11 -1 90 -1 175 0 85 1 160 1 165 0 6 40 10 100 10 l100 0 1 138 c1 144 3 170 20 241 34 147 165 265 319 288 49 8 174 9 358 5 l62 -2 0 -175 0 -175 -127 0 c-83 0 -137 -5 -153 -13 -35 -18 -46 -61 -49 -193 l-2 -114 165 0 166 0 0 -37 c0 -21 -7 -96 -15 -168 -8 -71 -15 -138 -15 -147 0 -16 -14 -18 -150 -18 l-150 0 0 -332 c1 -686 3 -637 -22 -642 -13 -3 -90 -8 -172 -12 -82 -3 -143 -10 -136 -14 6 -4 93 -8 191 -9 l179 -2 0 272 0 271 63 72 c119 134 198 250 273 397 113 225 184 512 184 745 l0 101 79 66 c64 54 226 235 217 244 -1 1 -26 -6 -55 -17 -59 -23 -176 -55 -235 -65 l-40 -7 50 39 c86 69 147 149 184 242 l19 49 -88 -43 c-69 -34 -199 -81 -276 -99 -5 -2 -37 19 -70 46 -150 122 -366 170 -540 119z"})));if(w("ultimate-social-media-plus/sfsi-plus-share-block",{title:p("Social Icons"),icon:h,category:"common",keywords:[p("Social Icons"),p("Social share"),p("Gutenberg Share")],attributes:{jscode:{default:"\n\t\tjQuery(document).ready(function($) {\n\t\t\tjQuery.ajax({\n\t\t\t\t'url': '/wp-json/ultimate-social-media-plus/v1/icons/?share_url='+window.location.href,\n\t\t\t\t'method': 'GET'\n\t\t\t}).done( function(response){\n\t\t\t\t$('.sfsi_plus_block_wrapper .sfsi_plus_block').html(response);sfsi_plus_update_iconcount();if(window.gapi){window.gapi.plusone.go();window.gapi.plus.go();window.gapi.ytsubscribe.go();};if(window.twttr){window.twttr.widgets.load();};if(window.IN){window.IN.parse();};if(window.addthis){if(window.addthis.toolbox){window.addthis.toolbox('.addthis_button.sficn');}else{window.addthis.init();window.addthis.toolbox('.addthis_button.sficn');}};if(window.PinUtils){window.PinUtils.build();};if(jQuery('.sfsi_plus_wDiv').length > 0) {setTimeout(function() { var s = parseInt(jQuery('.sfsi_plus_wDiv').height()) + 15 + 'px';jQuery('.sfsi_plus_holders').each(function() {jQuery(this).css('height', s);});jQuery('.sfsi_plus_widget').css('min-height', 'auto');}, 200);};if(window.FB){if(window.FB.XFBML){window.FB.XFBML.parse();}};\n\t\t\t});\n\t\t});\n\t",type:"string"},showTextBeforeShare:{type:"string",default:"yes"},textBeforeShare:{type:"string",default:"Please Share:"},iconType:{type:"string",default:"round"},iconAlignemt:{type:"string",default:"left"},maxPerRow:{type:"string",default:"5"}},edit:function(e){function t(t,s){e.setAttributes(i({},t,s))}var s=e.setAttributes,o=e.attributes,n="yes",a="Please Share:";o.showTextBeforeShare||""!==o.showTextBeforeShare?n=o.showTextBeforeShare:t("showTextBeforeShare","yes"),o.textBeforeShare||""!==o.textBeforeShare?a=o.textBeforeShare:t("textBeforeShare","Please Share:");var u=jQuery('div[data-block="'+e.clientId+'"]').find(".sfsi_plus_block_container");if(u.length>0){0===u.find(".sfsi_plus_block>div").length&&r(o.iconType,o,u)}else setTimeout(function(){var t=jQuery('div[data-block="'+e.clientId+'"]').find(".sfsi_plus_block_container");0===t.find(".sfsi_plus_block>div").length&&r(o.iconType,o,t)},3e3);return[f(wp.editor.InspectorControls,{key:"sfsi-plus-block-inspector"},f("div",{className:"sfsi_plus_block_inspector"},f("h3",{className:"sfsi_plus_block_icontype_header"},p("Type")),f("select",{className:"form-control sfsi_plus_block_icontype_selector",value:o.iconType,onChange:function(e){var t=jQuery(".wp-block.is-selected").find(".sfsi_plus_block_container");s({iconType:e.target.value}),r(e.target.value,o,t)}},f("option",{value:"round"},"Round / \xabmain\xbb icons"),f("option",{value:"rectangle"},"Rectangle icons")),("round"===e.attributes.iconType||void 0===e.attributes.iconType)&&f("p",{className:"sfsi_plus_block_icontype_desc"},p(" Those are the icons you selected under question 1 on the plugin\u2018s "),f("a",{target:"_blank",href:window.sfsi_plus_links.admin_url+"admin.php?page=sfsi-plus-options#ui-id-1"},p(" settings page."))),"rectangle"===e.attributes.iconType&&f("p",{className:"sfsi_plus_block_icontype_desc"},p("Those are the icons you selected "),f("a",{target:"_blank",href:window.sfsi_plus_links.admin_url+"admin.php?page=sfsi-plus-options#ui-id-5"},p("here."))),f("h3",{className:"sfsi_plus_block_icontype_header"},p("Alignment")),f("select",{className:"form-control sfsi_plus_block_iconalignment_selector",value:o.iconAlignemt,onChange:function(e){s({iconAlignemt:e.target.value});var t=jQuery(".wp-block.is-selected .sfsi_plus_block_container");"center"===e.target.value&&jQuery(t).find(".sfsi_plus_block_text_before_icon").css({display:"inherit"}),jQuery(t).css({"text-align":e.target.value})}},f("option",{value:"left"},"Left"),f("option",{value:"right"},"Right"),f("option",{value:"center"},"Center")),("round"===e.attributes.iconType||void 0===e.attributes.iconType)&&f("div",{className:"sfsi_plus_block_iconperrow_body"},f("span",{className:"label"},p("Max. icons per row")),f("input",{type:"text",value:o.maxPerRow,onChange:function(e){s({maxPerRow:(parseInt(e.target.value)||0)+""}),l(e.target.value)}})),f("label",{htmlFor:"sfsi-plus-text-before-icons",className:"sfsi_plus_block_textbeforeicons"},f("input",{className:"form-control",checked:"yes"==o.showTextBeforeShare,type:"checkbox",onChange:function(e){s({showTextBeforeShare:e.target.checked?"yes":"no"})}}),"Text before icons?"),"yes"==o.showTextBeforeShare&&f("input",{className:"form-input sfsi_plus_block_textbeforeicons_header",value:o.textBeforeShare,style:{"padding-top":"3px"},onChange:function(e){s({textBeforeShare:e.target.value})}}),"yes"===o.showTextBeforeShare&&f("div",{className:"form-input sfsi_plus_block_textbeforeicons_body"},p("Define the font size & type in our "),f("a",{href:"https://www.ultimatelysocial.com/usm-premium/",target:"_blank"},p("Premium plugin"))),f("h3",{className:"sfsi_plus_block_notes_heading"},p("Notes")),f("hr"),f("ul",{className:"sfsi_plus_block_notes_list"},f("li",{className:"sfsi_plus_block_notes_item"},p("For all other selections ( What the icons should do etc.) please go to "),f("a",{href:(window.sfsi_plus_links?window.sfsi_plus_links.admin_url:"/wp-admin/admin.php")+"?page=sfsi-plus-options",target:"_blank"},p("settings page"))),f("li",{className:"sfsi_plus_block_notes_item"},p("To see the icons in \u201afull action\u2018 (with all features) please open the page in live or preview mode.")),f("li",{className:"sfsi_plus_block_notes_item"},p("If questions remain, please ask them in the "),f("a",{href:"https://goo.gl/ktAeDv",target:"_blank"},p("support forum")),p(" \u2013 we\u2018ll try to respond quickly."),f("img",{src:(window.sfsi_plus_links?window.sfsi_plus_links.plugin_dir_url:"/wp-content/plugins/ultimate-social-media-plus")+"/images/Ic_insert_emoticon_48px.svg",style:{width:"18px","vertical-align":"text-bottom"}}))),f("h3",{className:"sfsi_plus_block_ad_heading"},"Want (much) more?"),f("div",{className:"sfsi_plus_block_ad_body"},f("div",{},p("Check out our "),f("a",{href:"https://www.ultimatelysocial.com/usm-premium/?utm_source=plus_gutenberg_page&utm_campaign=side_widget&utm_medium=link",target:"_blank"},p("premium plugin\u2018s features")),p(". Watch a teaser: "))),f("div",{style:{"text-align":"center"}},f("iframe",{src:"https://player.vimeo.com/video/269140798",width:"640",frameborder:0,webkitallowfullscreen:"",mozallowfullscreen:"",allowfullscreen:""}),f("a",{href:"https://www.ultimatelysocial.com/usm-premium/?utm_source=plus_gutenberg_page&utm_campaign=side_widget&utm_medium=link",target:"_blank",style:{display:"inline-block",padding:"4px 10px","text-decoration":"none",background:"#00A15A",color:"#fff","font-size":"11px","font-weight":"900"}},p("Check out the Premium Plugin >>"))),f("br"),f("span",{className:"sfsi_plus_block_ad_footer"},p("..from 24.98 USD (includes support and updates for 1 year, and after that it will not be deactivated, so you can just keep using it!)")))),f("div",{key:"sfsi-plus-block-content",className:"sfsi_plus_block_container sfsi_plus_block_wrapper"},"\t","yes"==n&&f("span",{className:"sfsi_plus_block_text_before_icon","data-align":o.iconAlignemt},a),f("div",{className:"sfsi_plus_block","data-count":o.maxPerRow,"data-align":o.iconAlignemt,"data-icon-type":o.iconType},"loading...."))]},deprecated:[{attributes:{jscode:{default:"\n\t\tjQuery(document).ready(function($) {\n\t\t\tjQuery.ajax({\n\t\t\t\t'url': '/wp-json/ultimate-social-media-plus/v1/icons/?share_url='+window.location.href,\n\t\t\t\t'method': 'GET'\n\t\t\t}).done( function(response){\n\t\t\t\t$('.sfsi_plus_block_container .sfsi_plus_block').html(response);if(window.gapi){window.gapi.plusone.go();window.gapi.plus.go();window.gapi.ytsubscribe.go();};if(window.twttr){window.twttr.widgets.load();};if(window.IN){window.IN.parse();};if(window.addthis){if(window.addthis.toolbox){window.addthis.toolbox('.addthis_button.sficn');}else{window.addthis.init();window.addthis.toolbox('.addthis_button.sficn');}};if(window.PinUtils){window.PinUtils.build();};if(jQuery('.sfsi_plus_wDiv').length > 0) {setTimeout(function() { var s = parseInt(jQuery('.sfsi_plus_wDiv').height()) + 15 + 'px';jQuery('.sfsi_plus_holders').each(function() {jQuery(this).css('height', s);});jQuery('.sfsi_plus_widget').css('min-height', 'auto');}, 200);};if(window.FB){if(window.FB.XFBML){window.FB.XFBML.parse();}};\n\t\t\t});\n\t\t});\n\t",type:"string"}},isEligible:function(e){return console.log(e),!0},migrate:function(e){return console.log("migrate",e),[{jscode:"\n\t\tjQuery(document).ready(function($) {\n\t\t\tjQuery.ajax({\n\t\t\t\t'url': '/wp-json/ultimate-social-media-plus/v1/icons/?share_url='+window.location.href,\n\t\t\t\t'method': 'GET'\n\t\t\t}).done( function(response){\n\t\t\t\t$('.sfsi_plus_block_wrapper .sfsi_plus_block').html(response);sfsi_plus_update_iconcount();if(window.gapi){window.gapi.plusone.go();window.gapi.plus.go();window.gapi.ytsubscribe.go();};if(window.twttr){window.twttr.widgets.load();};if(window.IN){window.IN.parse();};if(window.addthis){if(window.addthis.toolbox){window.addthis.toolbox('.addthis_button.sficn');}else{window.addthis.init();window.addthis.toolbox('.addthis_button.sficn');}};if(window.PinUtils){window.PinUtils.build();};if(jQuery('.sfsi_plus_wDiv').length > 0) {setTimeout(function() { var s = parseInt(jQuery('.sfsi_plus_wDiv').height()) + 15 + 'px';jQuery('.sfsi_plus_holders').each(function() {jQuery(this).css('height', s);});jQuery('.sfsi_plus_widget').css('min-height', 'auto');}, 200);};if(window.FB){if(window.FB.XFBML){window.FB.XFBML.parse();}};\n\t\t\t});\n\t\t});\n\t",showTextBeforeShare:"yes",textBeforeShare:"Please Share:",iconType:"round",iconAlignemt:"left",maxPerRow:"5"}]},save:function(e){return console.log(e),o(e.attributes)}}],save:function(e){var t=e.attributes;return setTimeout(function(){l(t.maxPerRow)},300),n(t)}}),void 0===window.sfsi_plus_float_widget);},function(e,t){},function(e,t){}]);
1
+ ../../social-media-block/dist/blocks.build.js
dist/blocks.editor.build.css CHANGED
@@ -1 +1 @@
1
- .sfsi_plus_block{min-height:55px}.sfsi_plus_block.sfsi_plus_block.sfsi_plus_block img{padding:0;border:none;max-width:90%}.sfsi_plus_block .sfsi_plus_widget .sfsi_plus_linkedin_tool_bdr .sfsi_plus_inside .icon4,.sfsi_plus_block .sfsi_plus_widget .sfsi_plus_gpls_tool_bdr .sfsi_plus_inside .icon1,.sfsi_plus_block .sfsi_plus_widget .sfsi_plus_fb_tool_bdr .sfsi_plus_inside .icon1{height:auto}.sfsi_plus_block .sfsi_plus_widget{min-height:55px}.sfsi_plus_block .sfsi_plus_widget a img{-webkit-box-shadow:none !important;box-shadow:none !important;outline:0;padding:0 !important;border:none !important;max-width:100%}.sfsi_plus_block .sfsiplus_inerCnt{position:relative;z-index:inherit !important;float:left;width:100%;float:left}.sfsi_plus_block .sfsi_plus_widget .sfsi_plus_wDiv .sfsi_plus_wicons .sfsiplus_inerCnt a,.sfsi_plus_block .sfsi_plus_widget .sfsi_plus_wDiv .sfsi_plus_wicons .sfsiplus_inerCnt a.sficn{padding:0px;margin:0px;width:100%;border:medium none}.sfsi_plus_block .sfsiplus_norm_row{float:left;min-width:25px}.sfsi_plus_block .sfsiplus_norm_row a{border:none;display:inline-block;position:relative}.sfsi_plus_block .sfsiplus_norm_row .cbtn_vsmall{font-size:9px;left:-28%;top:4px}.sfsi_plus_block .sfsiplus_norm_row .cbtn_vsmall:before{left:31%;top:-9px;margin-left:-31%}.sfsi_plus_block .sfsiplus_norm_row{position:relative !important}.sfsi_plus_block .sfsi_plus_wicons{margin-bottom:30px;position:relative;padding-top:5px;display:inline-block}.sfsi_plus_block .sfsiplus_norm_row .bot_no{padding:1px 0;font-size:12px !important;text-align:center;line-height:12px !important;background:#fff;border-radius:5px;z-index:9;border:1px solid #333;white-space:pre;-webkit-box-sizing:border-box;box-sizing:border-box;width:40px;display:inline-block}.sfsi_plus_block .sfsiplus_norm_row .bot_no:before{content:url("../css/images/count_top_arow.png");position:absolute;height:9px;margin-left:-7.5px;margin-top:-11px;left:50%;width:15px}.sfsi_plus_block .sfsi_plus_widget.sfsi_plus_widget.sfsi_plus_widget img{border:none;padding:0}.sfsi_plus_block .sfsi_plus_Sicons .sf_fb{margin-top:-4px;margin-right:4px}.sfsi_plus_block .sfsi_plus_Sicons .sf_twiter{margin-right:4px}.sfsi_plus_block .sfsi_plus_Sicons .sf_pinit{margin-top:-3px;margin-right:4px}.gutenberg__editor .sfsi_new_prmium_follw{height:auto !important;min-height:63px}.gutenberg__editor .sfsi_plus_block_text_before_icon{display:inline-block;vertical-align:top}.gutenberg__editor .sfsi_plus_block{display:inline-block}.gutenberg__editor .sfsi_plus_block[data-icon-type="rectangle"] .fb_iframe_widget>span{vertical-align:top !important}.gutenberg__editor .sfsi_plus_block[data-icon-type="rectangle"] .sf_pinit>span{vertical-align:top !important}.sfsi_plus_block_inspector h3,.sfsi_plus_block_inspector label{padding-top:12px;margin-bottom:5px}.sfsi_plus_block_inspector select,.sfsi_plus_block_inspector input[type="text"],.sfsi_plus_block_inspector input[type="number"],.sfsi_plus_block_inspector input[type="email"],.sfsi_plus_block_inspector textarea{width:100%}.sfsi_plus_block_inspector .sfsi_plus_block_iconperrow_body{padding-top:20px;font-weight:600}.sfsi_plus_block_inspector .sfsi_plus_block_iconperrow_body .label{display:inline-block;width:69%}.sfsi_plus_block_inspector .sfsi_plus_block_iconperrow_body input{display:inline-block;width:30%}.sfsi_plus_block_inspector .sfsi_plus_block_textbeforeicons{display:inline-block}.sfsi_plus_block_inspector .sfsi_plus_block_textbeforeicons_header{padding-top:10px}.sfsi_plus_block_inspector hr{margin:.3em 0}.sfsi_plus_block_inspector ul{margin-top:0}.sfsi_plus_block_inspector ul.sfsi_plus_block_notes_list{list-style-type:disc;-webkit-padding-start:20px;padding-inline-start:20px}.sfsi_plus_block_inspector .sfsi_plus_block_ad_heading,.sfsi_plus_block_inspector .sfsi_plus_block_ad_body{text-align:center}.sfsi_plus_block_inspector .sfsi_plus_block_icontype_desc{margin-bottom:0}.sfsi_plus_block_inspector input[type=checkbox]{margin-right:5px !important}.sfsi_plus_block_inspector .sfsi_plus_block_notes_list{color:#000}.sfsi_plus_block_wrapper .sfsi_plus_block,.sfsi_plus_block_wrapper .sfsi_plus_block_text_before_icon{display:inline-block}.sfsi_plus_block_wrapper .sfsi_plus_block_text_before_icon{vertical-align:top;margin-top:10px}
1
+ ../../social-media-block/dist/blocks.editor.build.css
freemius/includes/class-freemius.php CHANGED
@@ -414,7 +414,7 @@
414
  if ( is_multisite() ) {
415
  /**
416
  * If the install_timestamp exists on the site level but doesn't exist on the
417
- * network level storage, it means that we need to process the storage with migration.
418
  *
419
  * The code in this `if` scope will only be executed once and only for the first site that will execute it because once we migrate the storage data, install_timestamp will be already set in the network level storage.
420
  *
@@ -1347,7 +1347,7 @@
1347
  * During the plugin activation (not theme), 'plugins_loaded' will be already executed
1348
  * when the logic gets here since the activation logic first add the activate plugins,
1349
  * then triggers 'plugins_loaded', and only then include the code of the plugin that
1350
- * is activated. Which means that _plugins_loaded() will NOT be executed during the
1351
  * plugin activation, and that IS intentional.
1352
  *
1353
  * @author Vova Feldman (@svovaf)
@@ -2839,7 +2839,7 @@
2839
 
2840
  /**
2841
  * If the file_slug_map exists on the site level but doesn't exist on the
2842
- * network level storage, it means that we need to process the storage with migration.
2843
  *
2844
  * The code in this `if` scope will only be executed once and only for the first site that will execute it because once we migrate the storage data, file_slug_map will be already set in the network level storage.
2845
  *
@@ -4251,7 +4251,7 @@
4251
  ) );
4252
 
4253
  /**
4254
- * Currently the admin notice manager relies on the module's type and slug. The new AJAX actions manager uses module IDs, hence, consider to replace the if block above with the commented code below after adjusting the admin notices manager to work with module IDs.
4255
  *
4256
  * @author Vova Feldman (@svovaf)
4257
  * @since 2.0.0
@@ -7076,7 +7076,7 @@
7076
 
7077
  if ( ! isset( $this->_storage->is_plugin_new_install ) ) {
7078
  /**
7079
- * If no previous version of plugin's version exist, it means that it's either
7080
  * the first time that the plugin installed on the site, or the plugin was installed
7081
  * before but didn't have Freemius integrated.
7082
  *
@@ -7473,7 +7473,7 @@
7473
  /**
7474
  * If the super-admin mixed different options (connect, skip, delegated):
7475
  * a) If at least one site connection was delegated, then automatically delegate connection.
7476
- * b) Otherwise, it means that at least one site was skipped and at least one site was connected. For a simplified UX in the initial release of the multisite network integration, skip the connection for the newly created site. If the super-admin will want to opt-in they can still do that from the network level Account page.
7477
  */
7478
  $has_delegated_site = false;
7479
 
@@ -9907,7 +9907,7 @@
9907
  /**
9908
  * Sync local plugin plans with remote server.
9909
  *
9910
- * IMPORTANT: If for some reason a site is associated with deleted plan, we'll preserve the plan's information and append it as the last plan. This means that if plan is deleted, the is_plan() method will ALWAYS return true for any given argument (it becomes the most inclusive plan).
9911
  *
9912
  * @author Vova Feldman (@svovaf)
9913
  * @since 1.0.5
@@ -12574,7 +12574,7 @@
12574
  */
12575
  function is_active_for_site( $blog_id ) {
12576
  if ( ! is_multisite() ) {
12577
- // Not a multisite and this code is executed, means that the plugin is active.
12578
  return true;
12579
  }
12580
 
@@ -12618,7 +12618,7 @@
12618
  );
12619
 
12620
  if ( function_exists( 'get_sites' ) ) {
12621
- // For WP 4.6 and above.
12622
  return get_sites( $args );
12623
  } else if ( function_exists( 'wp_get_sites' ) ) {
12624
  // For WP 3.7 to WP 4.5.
@@ -13959,7 +13959,7 @@
13959
  * @param string|bool $first
13960
  * @param string|bool $last
13961
  * @param string|bool $license_key
13962
- * @param bool $is_uninstall If "true", this means that the module is currently being uninstalled.
13963
  * In this case, the user and site info will be sent to the server but no
13964
  * data will be saved to the WP installation's database.
13965
  * @param number|bool $trial_plan_id
@@ -17115,7 +17115,7 @@
17115
  *
17116
  * @uses FS_Api
17117
  *
17118
- * @param bool $background Hints the method if it's a background sync. If false, it means that was initiated by
17119
  * the admin.
17120
  * @param bool $is_context_single_site @since 2.0.0. This is used when syncing a license for a single install from the
17121
  * network-level "Account" page.
@@ -17218,7 +17218,7 @@
17218
  * @since 1.0.6
17219
  * @uses FS_Api
17220
  *
17221
- * @param bool $background Hints the method if it's a background sync. If false, it means that was initiated by the admin.
17222
  * @param bool $send_installs_update Since 2.0.0
17223
  * @param bool $is_context_single_site Since 2.0.0. This is used when sending an update for a single install and
17224
  * syncing its license from the network-level "Account" page (e.g.: after
@@ -18346,7 +18346,7 @@
18346
  *
18347
  * @uses FS_Api
18348
  *
18349
- * @param bool $background Hints the method if it's a background updates check. If false, it means that
18350
  * was initiated by the admin.
18351
  * @param bool|number $plugin_id
18352
  * @param bool $flush Since 1.1.7.3
@@ -20573,7 +20573,7 @@
20573
  if ( ! $this->has_release_on_freemius() ) {
20574
  // Plugin is a serviceware, no premium code version.
20575
  self::shoot_ajax_failure( array(
20576
- 'message' => $this->get_text_inline( 'Plugin is a "Serviceware" which means it does not have a premium code version.', 'auto-install-error-serviceware' ),
20577
  'code' => 'premium_version_missing',
20578
  ) );
20579
  }
@@ -20861,7 +20861,7 @@
20861
  /**
20862
  * Enqueue the original stylesheets that are included in the
20863
  * theme settings page. That way, if the theme settings has
20864
- * some custom _styled_ content above the tabs UI, this
20865
  * will make sure that the styling is preserved.
20866
  */
20867
  $stylesheets = $this->_cache->get( 'tabs_stylesheets', array() );
414
  if ( is_multisite() ) {
415
  /**
416
  * If the install_timestamp exists on the site level but doesn't exist on the
417
+ * network level storage, it mean that we need to process the storage with migration.
418
  *
419
  * The code in this `if` scope will only be executed once and only for the first site that will execute it because once we migrate the storage data, install_timestamp will be already set in the network level storage.
420
  *
1347
  * During the plugin activation (not theme), 'plugins_loaded' will be already executed
1348
  * when the logic gets here since the activation logic first add the activate plugins,
1349
  * then triggers 'plugins_loaded', and only then include the code of the plugin that
1350
+ * is activated. Which mean that _plugins_loaded() will NOT be executed during the
1351
  * plugin activation, and that IS intentional.
1352
  *
1353
  * @author Vova Feldman (@svovaf)
2839
 
2840
  /**
2841
  * If the file_slug_map exists on the site level but doesn't exist on the
2842
+ * network level storage, it mean that we need to process the storage with migration.
2843
  *
2844
  * The code in this `if` scope will only be executed once and only for the first site that will execute it because once we migrate the storage data, file_slug_map will be already set in the network level storage.
2845
  *
4251
  ) );
4252
 
4253
  /**
4254
+ * Currently the admin notice manager relies on the module's type and slug. The new AJAX actions manager uses module IDs, hence, consider to replace the if block the above with the commented code below after adjusting the admin notices manager to work with module IDs.
4255
  *
4256
  * @author Vova Feldman (@svovaf)
4257
  * @since 2.0.0
7076
 
7077
  if ( ! isset( $this->_storage->is_plugin_new_install ) ) {
7078
  /**
7079
+ * If no previous version of plugin's version exist, it mean that it's either
7080
  * the first time that the plugin installed on the site, or the plugin was installed
7081
  * before but didn't have Freemius integrated.
7082
  *
7473
  /**
7474
  * If the super-admin mixed different options (connect, skip, delegated):
7475
  * a) If at least one site connection was delegated, then automatically delegate connection.
7476
+ * b) Otherwise, it mean that at least one site was skipped and at least one site was connected. For a simplified UX in the initial release of the multisite network integration, skip the connection for the newly created site. If the super-admin will want to opt-in they can still do that from the network level Account page.
7477
  */
7478
  $has_delegated_site = false;
7479
 
9907
  /**
9908
  * Sync local plugin plans with remote server.
9909
  *
9910
+ * IMPORTANT: If for some reason a site is associated with deleted plan, we'll preserve the plan's information and append it as the last plan. This mean that if plan is deleted, the is_plan() method will ALWAYS return true for any given argument (it becomes the most inclusive plan).
9911
  *
9912
  * @author Vova Feldman (@svovaf)
9913
  * @since 1.0.5
12574
  */
12575
  function is_active_for_site( $blog_id ) {
12576
  if ( ! is_multisite() ) {
12577
+ // Not a multisite and this code is executed, mean that the plugin is active.
12578
  return true;
12579
  }
12580
 
12618
  );
12619
 
12620
  if ( function_exists( 'get_sites' ) ) {
12621
+ // For WP 4.6 and the above.
12622
  return get_sites( $args );
12623
  } else if ( function_exists( 'wp_get_sites' ) ) {
12624
  // For WP 3.7 to WP 4.5.
13959
  * @param string|bool $first
13960
  * @param string|bool $last
13961
  * @param string|bool $license_key
13962
+ * @param bool $is_uninstall If "true", this mean that the module is currently being uninstalled.
13963
  * In this case, the user and site info will be sent to the server but no
13964
  * data will be saved to the WP installation's database.
13965
  * @param number|bool $trial_plan_id
17115
  *
17116
  * @uses FS_Api
17117
  *
17118
+ * @param bool $background Hints the method if it's a background sync. If false, it mean that was initiated by
17119
  * the admin.
17120
  * @param bool $is_context_single_site @since 2.0.0. This is used when syncing a license for a single install from the
17121
  * network-level "Account" page.
17218
  * @since 1.0.6
17219
  * @uses FS_Api
17220
  *
17221
+ * @param bool $background Hints the method if it's a background sync. If false, it mean that was initiated by the admin.
17222
  * @param bool $send_installs_update Since 2.0.0
17223
  * @param bool $is_context_single_site Since 2.0.0. This is used when sending an update for a single install and
17224
  * syncing its license from the network-level "Account" page (e.g.: after
18346
  *
18347
  * @uses FS_Api
18348
  *
18349
+ * @param bool $background Hints the method if it's a background updates check. If false, it mean that
18350
  * was initiated by the admin.
18351
  * @param bool|number $plugin_id
18352
  * @param bool $flush Since 1.1.7.3
20573
  if ( ! $this->has_release_on_freemius() ) {
20574
  // Plugin is a serviceware, no premium code version.
20575
  self::shoot_ajax_failure( array(
20576
+ 'message' => $this->get_text_inline( 'Plugin is a "Serviceware" which mean it does not have a premium code version.', 'auto-install-error-serviceware' ),
20577
  'code' => 'premium_version_missing',
20578
  ) );
20579
  }
20861
  /**
20862
  * Enqueue the original stylesheets that are included in the
20863
  * theme settings page. That way, if the theme settings has
20864
+ * some custom _styled_ content the above the tabs UI, this
20865
  * will make sure that the styling is preserved.
20866
  */
20867
  $stylesheets = $this->_cache->get( 'tabs_stylesheets', array() );
freemius/includes/class-fs-plugin-updater.php CHANGED
@@ -1322,7 +1322,7 @@ if ( !isset($info->error) ) {
1322
 
1323
  if ( ! is_object( $fs ) ) {
1324
  /**
1325
- * If the Freemius instance does not exist on a non-multisite network environment, it means that:
1326
  * 1. The product is not powered by Freemius; OR
1327
  * 2. The product is not activated, therefore, we don't mind if after the update the folder name will change.
1328
  *
1322
 
1323
  if ( ! is_object( $fs ) ) {
1324
  /**
1325
+ * If the Freemius instance does not exist on a non-multisite network environment, it mean that:
1326
  * 1. The product is not powered by Freemius; OR
1327
  * 2. The product is not activated, therefore, we don't mind if after the update the folder name will change.
1328
  *
freemius/includes/class-fs-storage.php CHANGED
@@ -324,10 +324,10 @@
324
  *
325
  * Example:
326
  * array(
327
- * 'option1' => 0, // Means that the option should always be stored on the network level.
328
- * 'option2' => 1, // Means that the option should be stored on the network level only when the module was network level activated.
329
- * 'option2' => 2, // Means that the option should be stored on the network level only when the module was network level activated AND the connection was NOT delegated.
330
- * 'option3' => 3, // Means that the option should always be stored on the site level.
331
  * )
332
  *
333
  * @author Vova Feldman (@svovaf)
324
  *
325
  * Example:
326
  * array(
327
+ * 'option1' => 0, // mean that the option should always be stored on the network level.
328
+ * 'option2' => 1, // mean that the option should be stored on the network level only when the module was network level activated.
329
+ * 'option2' => 2, // mean that the option should be stored on the network level only when the module was network level activated AND the connection was NOT delegated.
330
+ * 'option3' => 3, // mean that the option should always be stored on the site level.
331
  * )
332
  *
333
  * @author Vova Feldman (@svovaf)
freemius/includes/i18n.php CHANGED
@@ -543,7 +543,7 @@
543
  'auto-install-error-premium-activated' => _fs_text( 'Premium version already active.' ),
544
  'auto-install-error-premium-addon-activated' => _fs_text( 'Premium add-on version already installed.' ),
545
  'auto-install-error-invalid-license' => _fs_text( 'You do not have a valid license to access the premium version.' ),
546
- 'auto-install-error-serviceware' => _fs_text( 'Plugin is a "Serviceware" which means it does not have a premium code version.' ),
547
  #endregion
548
 
549
  /* translators: %s: Page name */
543
  'auto-install-error-premium-activated' => _fs_text( 'Premium version already active.' ),
544
  'auto-install-error-premium-addon-activated' => _fs_text( 'Premium add-on version already installed.' ),
545
  'auto-install-error-invalid-license' => _fs_text( 'You do not have a valid license to access the premium version.' ),
546
+ 'auto-install-error-serviceware' => _fs_text( 'Plugin is a "Serviceware" which mean it does not have a premium code version.' ),
547
  #endregion
548
 
549
  /* translators: %s: Page name */
freemius/start.php CHANGED
@@ -206,7 +206,7 @@
206
  ! $is_newest_sdk_plugin_active &&
207
  ! $fs_active_plugins->newest->in_activation
208
  ) {
209
- // If current SDK is the newest and the plugin is NOT active, it means
210
  // that the current plugin in activation mode.
211
  $fs_active_plugins->newest->in_activation = true;
212
  update_option( 'fs_active_plugins', $fs_active_plugins );
206
  ! $is_newest_sdk_plugin_active &&
207
  ! $fs_active_plugins->newest->in_activation
208
  ) {
209
+ // If current SDK is the newest and the plugin is NOT active, it mean
210
  // that the current plugin in activation mode.
211
  $fs_active_plugins->newest->in_activation = true;
212
  update_option( 'fs_active_plugins', $fs_active_plugins );
freemius/templates/add-ons.php CHANGED
@@ -1,197 +1,197 @@
1
- <?php
2
- /**
3
- * @package Freemius
4
- * @copyright Copyright (c) 2015, Freemius, Inc.
5
- * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
6
- * @since 1.0.3
7
- */
8
-
9
- if ( ! defined( 'ABSPATH' ) ) {
10
- exit;
11
- }
12
-
13
- /**
14
- * @var array $VARS
15
- * @var Freemius
16
- */
17
- $fs = freemius( $VARS['id'] );
18
-
19
- $slug = $fs->get_slug();
20
-
21
- $open_addon_slug = fs_request_get( 'slug' );
22
-
23
- $open_addon = false;
24
-
25
- /**
26
- * @var FS_Plugin[]
27
- */
28
- $addons = $fs->get_addons();
29
-
30
- $has_addons = ( is_array( $addons ) && 0 < count( $addons ) );
31
-
32
- $has_tabs = $fs->_add_tabs_before_content();
33
- ?>
34
- <div id="fs_addons" class="wrap fs-section">
35
- <?php if ( ! $has_tabs ) : ?>
36
- <h2><?php echo esc_html( sprintf( fs_text_inline( 'Add Ons for %s', 'add-ons-for-x', $slug ), $fs->get_plugin_name() ) ) ?></h2>
37
- <?php endif ?>
38
-
39
- <div id="poststuff">
40
- <?php if ( ! $has_addons ) : ?>
41
- <h3><?php echo esc_html( sprintf(
42
- '%s... %s',
43
- fs_text_x_inline( 'Oops', 'exclamation', 'oops', $slug ),
44
- fs_text_inline( 'We could\'nt load the add-ons list. It\'s probably an issue on our side, please try to come back in few minutes.', 'add-ons-missing', $slug )
45
- ) ) ?></h3>
46
- <?php endif ?>
47
- <ul class="fs-cards-list">
48
- <?php if ( $has_addons ) : ?>
49
- <?php foreach ( $addons as $addon ) : ?>
50
- <?php
51
- $open_addon = ( $open_addon || ( $open_addon_slug === $addon->slug ) );
52
-
53
- $price = 0;
54
- $has_trial = false;
55
- $has_free_plan = false;
56
- $has_paid_plan = false;
57
-
58
- $result = $fs->get_api_plugin_scope()->get( $fs->add_show_pending( "/addons/{$addon->id}/pricing.json?type=visible" ) );
59
- if ( ! isset( $result->error ) ) {
60
- $plans = $result->plans;
61
-
62
- if ( is_array( $plans ) && 0 < count( $plans ) ) {
63
- foreach ( $plans as $plan ) {
64
- if ( ! isset( $plan->pricing ) ||
65
- ! is_array( $plan->pricing ) ||
66
- 0 == count( $plan->pricing )
67
- ) {
68
- // No pricing means a free plan.
69
- $has_free_plan = true;
70
- continue;
71
- }
72
-
73
-
74
- $has_paid_plan = true;
75
- $has_trial = $has_trial || ( is_numeric( $plan->trial_period ) && ( $plan->trial_period > 0 ) );
76
-
77
- $min_price = 999999;
78
- foreach ( $plan->pricing as $pricing ) {
79
- if ( ! is_null( $pricing->annual_price ) && $pricing->annual_price > 0 ) {
80
- $min_price = min( $min_price, $pricing->annual_price );
81
- } else if ( ! is_null( $pricing->monthly_price ) && $pricing->monthly_price > 0 ) {
82
- $min_price = min( $min_price, 12 * $pricing->monthly_price );
83
- }
84
- }
85
-
86
- if ( $min_price < 999999 ) {
87
- $price = $min_price;
88
- }
89
-
90
- }
91
- }
92
-
93
- if ( ! $has_paid_plan && ! $has_free_plan ) {
94
- continue;
95
- }
96
- }
97
- ?>
98
- <li class="fs-card fs-addon" data-slug="<?php echo $addon->slug ?>">
99
- <?php
100
- echo sprintf( '<a href="%s" class="thickbox fs-overlay" aria-label="%s" data-title="%s"></a>',
101
- esc_url( network_admin_url( 'plugin-install.php?fs_allow_updater_and_dialog=true&tab=plugin-information&parent_plugin_id=' . $fs->get_id() . '&plugin=' . $addon->slug .
102
- '&TB_iframe=true&width=600&height=550' ) ),
103
- esc_attr( sprintf( fs_text_inline( 'More information about %s', 'more-information-about-x', $slug ), $addon->title ) ),
104
- esc_attr( $addon->title )
105
- );
106
- ?>
107
- <?php
108
- if ( is_null( $addon->info ) ) {
109
- $addon->info = new stdClass();
110
- }
111
- if ( ! isset( $addon->info->card_banner_url ) ) {
112
- $addon->info->card_banner_url = '//dashboard.freemius.com/assets/img/marketing/blueprint-300x100.jpg';
113
- }
114
- if ( ! isset( $addon->info->short_description ) ) {
115
- $addon->info->short_description = 'What\'s the one thing your add-on does really, really well?';
116
- }
117
- ?>
118
- <div class="fs-inner">
119
- <ul>
120
- <li class="fs-card-banner"
121
- style="background-image: url('<?php echo $addon->info->card_banner_url ?>');"></li>
122
- <!-- <li class="fs-tag"></li> -->
123
- <li class="fs-title"><?php echo $addon->title ?></li>
124
- <li class="fs-offer">
125
- <span
126
- class="fs-price"><?php
127
- $descriptors = array();
128
-
129
- if ($has_free_plan)
130
- $descriptors[] = fs_text_inline( 'Free', 'free', $slug );
131
- if ($has_paid_plan && $price > 0)
132
- $descriptors[] = '$' . number_format( $price, 2 );
133
- if ($has_trial)
134
- $descriptors[] = fs_text_x_inline( 'Trial', 'trial period', 'trial', $slug );
135
-
136
- echo implode(' - ', $descriptors) ?></span>
137
- </li>
138
- <li class="fs-description"><?php echo ! empty( $addon->info->short_description ) ? $addon->info->short_description : 'SHORT DESCRIPTION' ?></li>
139
- <li class="fs-cta"><a class="button"><?php fs_esc_html_echo_inline( 'View details', 'view-details', $slug ) ?></a></li>
140
- </ul>
141
- </div>
142
- </li>
143
- <?php endforeach ?>
144
- <?php endif ?>
145
- </ul>
146
- </div>
147
- </div>
148
- <script type="text/javascript">
149
- (function ($) {
150
- <?php if ( $open_addon ) : ?>
151
-
152
- var interval = setInterval(function () {
153
- // Open add-on information page.
154
- <?php
155
- /**
156
- * @author Vova Feldman
157
- *
158
- * This code does NOT expose an XSS vulnerability because:
159
- * 1. This page only renders for admins, so if an attacker manage to get
160
- * admin access, they can do more harm.
161
- * 2. This code won't be rendered unless $open_addon_slug matches any of
162
- * the plugin's add-ons slugs.
163
- */
164
- ?>
165
- $('.fs-card[data-slug=<?php echo $open_addon_slug ?>] a').click();
166
- if ($('#TB_iframeContent').length > 0) {
167
- clearInterval(interval);
168
- interval = null;
169
- }
170
- }, 200);
171
-
172
- <?php else : ?>
173
-
174
-
175
- $('.fs-card.fs-addon')
176
- .mouseover(function () {
177
- $(this).find('.fs-cta .button').addClass('button-primary');
178
- }).mouseout(function () {
179
- $(this).find('.fs-cta .button').removeClass('button-primary');
180
- });
181
-
182
- <?php endif ?>
183
- })(jQuery);
184
- </script>
185
- <?php
186
- if ( $has_tabs ) {
187
- $fs->_add_tabs_after_content();
188
- }
189
-
190
- $params = array(
191
- 'page' => 'addons',
192
- 'module_id' => $fs->get_id(),
193
- 'module_type' => $fs->get_module_type(),
194
- 'module_slug' => $slug,
195
- 'module_version' => $fs->get_plugin_version(),
196
- );
197
  fs_require_template( 'powered-by.php', $params );
1
+ <?php
2
+ /**
3
+ * @package Freemius
4
+ * @copyright Copyright (c) 2015, Freemius, Inc.
5
+ * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
6
+ * @since 1.0.3
7
+ */
8
+
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit;
11
+ }
12
+
13
+ /**
14
+ * @var array $VARS
15
+ * @var Freemius
16
+ */
17
+ $fs = freemius( $VARS['id'] );
18
+
19
+ $slug = $fs->get_slug();
20
+
21
+ $open_addon_slug = fs_request_get( 'slug' );
22
+
23
+ $open_addon = false;
24
+
25
+ /**
26
+ * @var FS_Plugin[]
27
+ */
28
+ $addons = $fs->get_addons();
29
+
30
+ $has_addons = ( is_array( $addons ) && 0 < count( $addons ) );
31
+
32
+ $has_tabs = $fs->_add_tabs_before_content();
33
+ ?>
34
+ <div id="fs_addons" class="wrap fs-section">
35
+ <?php if ( ! $has_tabs ) : ?>
36
+ <h2><?php echo esc_html( sprintf( fs_text_inline( 'Add Ons for %s', 'add-ons-for-x', $slug ), $fs->get_plugin_name() ) ) ?></h2>
37
+ <?php endif ?>
38
+
39
+ <div id="poststuff">
40
+ <?php if ( ! $has_addons ) : ?>
41
+ <h3><?php echo esc_html( sprintf(
42
+ '%s... %s',
43
+ fs_text_x_inline( 'Oops', 'exclamation', 'oops', $slug ),
44
+ fs_text_inline( 'We could\'nt load the add-ons list. It\'s probably an issue on our side, please try to come back in few minutes.', 'add-ons-missing', $slug )
45
+ ) ) ?></h3>
46
+ <?php endif ?>
47
+ <ul class="fs-cards-list">
48
+ <?php if ( $has_addons ) : ?>
49
+ <?php foreach ( $addons as $addon ) : ?>
50
+ <?php
51
+ $open_addon = ( $open_addon || ( $open_addon_slug === $addon->slug ) );
52
+
53
+ $price = 0;
54
+ $has_trial = false;
55
+ $has_free_plan = false;
56
+ $has_paid_plan = false;
57
+
58
+ $result = $fs->get_api_plugin_scope()->get( $fs->add_show_pending( "/addons/{$addon->id}/pricing.json?type=visible" ) );
59
+ if ( ! isset( $result->error ) ) {
60
+ $plans = $result->plans;
61
+
62
+ if ( is_array( $plans ) && 0 < count( $plans ) ) {
63
+ foreach ( $plans as $plan ) {
64
+ if ( ! isset( $plan->pricing ) ||
65
+ ! is_array( $plan->pricing ) ||
66
+ 0 == count( $plan->pricing )
67
+ ) {
68
+ // No pricing mean a free plan.
69
+ $has_free_plan = true;
70
+ continue;
71
+ }
72
+
73
+
74
+ $has_paid_plan = true;
75
+ $has_trial = $has_trial || ( is_numeric( $plan->trial_period ) && ( $plan->trial_period > 0 ) );
76
+
77
+ $min_price = 999999;
78
+ foreach ( $plan->pricing as $pricing ) {
79
+ if ( ! is_null( $pricing->annual_price ) && $pricing->annual_price > 0 ) {
80
+ $min_price = min( $min_price, $pricing->annual_price );
81
+ } else if ( ! is_null( $pricing->monthly_price ) && $pricing->monthly_price > 0 ) {
82
+ $min_price = min( $min_price, 12 * $pricing->monthly_price );
83
+ }
84
+ }
85
+
86
+ if ( $min_price < 999999 ) {
87
+ $price = $min_price;
88
+ }
89
+
90
+ }
91
+ }
92
+
93
+ if ( ! $has_paid_plan && ! $has_free_plan ) {
94
+ continue;
95
+ }
96
+ }
97
+ ?>
98
+ <li class="fs-card fs-addon" data-slug="<?php echo $addon->slug ?>">
99
+ <?php
100
+ echo sprintf( '<a href="%s" class="thickbox fs-overlay" aria-label="%s" data-title="%s"></a>',
101
+ esc_url( network_admin_url( 'plugin-install.php?fs_allow_updater_and_dialog=true&tab=plugin-information&parent_plugin_id=' . $fs->get_id() . '&plugin=' . $addon->slug .
102
+ '&TB_iframe=true&width=600&height=550' ) ),
103
+ esc_attr( sprintf( fs_text_inline( 'More information about %s', 'more-information-about-x', $slug ), $addon->title ) ),
104
+ esc_attr( $addon->title )
105
+ );
106
+ ?>
107
+ <?php
108
+ if ( is_null( $addon->info ) ) {
109
+ $addon->info = new stdClass();
110
+ }
111
+ if ( ! isset( $addon->info->card_banner_url ) ) {
112
+ $addon->info->card_banner_url = '//dashboard.freemius.com/assets/img/marketing/blueprint-300x100.jpg';
113
+ }
114
+ if ( ! isset( $addon->info->short_description ) ) {
115
+ $addon->info->short_description = 'What\'s the one thing your add-on does really, really well?';
116
+ }
117
+ ?>
118
+ <div class="fs-inner">
119
+ <ul>
120
+ <li class="fs-card-banner"
121
+ style="background-image: url('<?php echo $addon->info->card_banner_url ?>');"></li>
122
+ <!-- <li class="fs-tag"></li> -->
123
+ <li class="fs-title"><?php echo $addon->title ?></li>
124
+ <li class="fs-offer">
125
+ <span
126
+ class="fs-price"><?php
127
+ $descriptors = array();
128
+
129
+ if ($has_free_plan)
130
+ $descriptors[] = fs_text_inline( 'Free', 'free', $slug );
131
+ if ($has_paid_plan && $price > 0)
132
+ $descriptors[] = '$' . number_format( $price, 2 );
133
+ if ($has_trial)
134
+ $descriptors[] = fs_text_x_inline( 'Trial', 'trial period', 'trial', $slug );
135
+
136
+ echo implode(' - ', $descriptors) ?></span>
137
+ </li>
138
+ <li class="fs-description"><?php echo ! empty( $addon->info->short_description ) ? $addon->info->short_description : 'SHORT DESCRIPTION' ?></li>
139
+ <li class="fs-cta"><a class="button"><?php fs_esc_html_echo_inline( 'View details', 'view-details', $slug ) ?></a></li>
140
+ </ul>
141
+ </div>
142
+ </li>
143
+ <?php endforeach ?>
144
+ <?php endif ?>
145
+ </ul>
146
+ </div>
147
+ </div>
148
+ <script type="text/javascript">
149
+ (function ($) {
150
+ <?php if ( $open_addon ) : ?>
151
+
152
+ var interval = setInterval(function () {
153
+ // Open add-on information page.
154
+ <?php
155
+ /**
156
+ * @author Vova Feldman
157
+ *
158
+ * This code does NOT expose an XSS vulnerability because:
159
+ * 1. This page only renders for admins, so if an attacker manage to get
160
+ * admin access, they can do more harm.
161
+ * 2. This code won't be rendered unless $open_addon_slug matches any of
162
+ * the plugin's add-ons slugs.
163
+ */
164
+ ?>
165
+ $('.fs-card[data-slug=<?php echo $open_addon_slug ?>] a').click();
166
+ if ($('#TB_iframeContent').length > 0) {
167
+ clearInterval(interval);
168
+ interval = null;
169
+ }
170
+ }, 200);
171
+
172
+ <?php else : ?>
173
+
174
+
175
+ $('.fs-card.fs-addon')
176
+ .mouseover(function () {
177
+ $(this).find('.fs-cta .button').addClass('button-primary');
178
+ }).mouseout(function () {
179
+ $(this).find('.fs-cta .button').removeClass('button-primary');
180
+ });
181
+
182
+ <?php endif ?>
183
+ })(jQuery);
184
+ </script>
185
+ <?php
186
+ if ( $has_tabs ) {
187
+ $fs->_add_tabs_after_content();
188
+ }
189
+
190
+ $params = array(
191
+ 'page' => 'addons',
192
+ 'module_id' => $fs->get_id(),
193
+ 'module_type' => $fs->get_module_type(),
194
+ 'module_slug' => $slug,
195
+ 'module_version' => $fs->get_plugin_version(),
196
+ );
197
  fs_require_template( 'powered-by.php', $params );
freemius/templates/forms/deactivation/retry-skip.php CHANGED
@@ -1,24 +1,24 @@
1
- <?php
2
- /**
3
- * @package Freemius
4
- * @copyright Copyright (c) 2015, Freemius, Inc.
5
- * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
6
- * @since 1.2.0
7
- */
8
-
9
- if ( ! defined( 'ABSPATH' ) ) {
10
- exit;
11
- }
12
-
13
- /**
14
- * @var array $VARS
15
- */
16
- $fs = freemius( $VARS['id'] );
17
- $slug = $fs->get_slug();
18
-
19
- $skip_url = fs_nonce_url( $fs->_get_admin_page_url( '', array( 'fs_action' => $fs->get_unique_affix() . '_skip_activation' ) ), $fs->get_unique_affix() . '_skip_activation' );
20
- $skip_text = strtolower( fs_text_x_inline( 'Skip', 'verb', 'skip', $slug ) );
21
- $use_plugin_anonymously_text = fs_text_inline( 'Click here to use the plugin anonymously', 'click-here-to-use-plugin-anonymously', $slug );
22
-
23
- echo sprintf( fs_text_inline( "You might have missed it, but you don't have to share any data and can just %s the opt-in.", 'dont-have-to-share-any-data', $slug ), "<a href='{$skip_url}'>{$skip_text}</a>" )
24
  . " <a href='{$skip_url}' class='button button-small button-secondary'>{$use_plugin_anonymously_text}</a>";
1
+ <?php
2
+ /**
3
+ * @package Freemius
4
+ * @copyright Copyright (c) 2015, Freemius, Inc.
5
+ * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
6
+ * @since 1.2.0
7
+ */
8
+
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit;
11
+ }
12
+
13
+ /**
14
+ * @var array $VARS
15
+ */
16
+ $fs = freemius( $VARS['id'] );
17
+ $slug = $fs->get_slug();
18
+
19
+ $skip_url = fs_nonce_url( $fs->_get_admin_page_url( '', array( 'fs_action' => $fs->get_unique_affix() . '_skip_activation' ) ), $fs->get_unique_affix() . '_skip_activation' );
20
+ $skip_text = strtolower( fs_text_x_inline( 'Skip', 'verb', 'skip', $slug ) );
21
+ $use_plugin_anonymously_text = fs_text_inline( 'Click here to use the plugin anonymously', 'click-here-to-use-plugin-anonymously', $slug );
22
+
23
+ echo sprintf( fs_text_inline( "You might have missed it, but you don't have to share any data and can just %s the opt-in.", 'don\'t-have-to-share-any-data', $slug ), "<a href='{$skip_url}'>{$skip_text}</a>" )
24
  . " <a href='{$skip_url}' class='button button-small button-secondary'>{$use_plugin_anonymously_text}</a>";
images/website_theme/{others.png → Others.png} RENAMED
File without changes
languages/ultimate-social-media-plus-fa_IR.po CHANGED
@@ -1,1823 +1,1823 @@
1
- # Copyright (C) 2016 Ultimate Social Media PLUS
2
- # This file is distributed under the same license as the Ultimate Social Media PLUS package.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: Ultimate Social Media PLUS 2.3.7\n"
6
- "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ultimate-social-"
7
- "media-plus\n"
8
- "POT-Creation-Date: 2016-03-31 14:44:55+00:00\n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=UTF-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "PO-Revision-Date: 2016-04-05 18:35+0530\n"
13
- "Last-Translator: \n"
14
- "Language-Team: Farshad Hosseinzadeh <f.hosseinzadeh1985@gmail.com>\n"
15
- "X-Generator: Poedit 1.5.7\n"
16
- "Language: Persian\n"
17
-
18
- #: css/images/index.php:2 css/index.php:2
19
- #: css/jquery-ui-1.10.4/images/index.php:2 css/jquery-ui-1.10.4/index.php:2
20
- #: fonts/index.php:2 images/icons_theme/badge/index.php:2
21
- #: images/icons_theme/cute/index.php:2 images/icons_theme/index.php:2
22
- #: images/icons_theme/official/index.php:2
23
- #: images/icons_theme/stitched/index.php:2 images/index.php:2 index.php:2
24
- #: js/index.php:2 libs/controllers/index.php:2 libs/index.php:2
25
- #: views/index.php:2
26
- msgid "Access Denied"
27
- msgstr "غیر قابل دسترس"
28
-
29
- #: libs/sfsi_Init_JqueryCss.php:46 views/sfsi_option_view1.php:74
30
- #: views/sfsi_option_view1.php:107 views/sfsi_option_view1.php:129
31
- #: views/sfsi_option_view1.php:152
32
- msgid "Read more"
33
- msgstr "بیشتر بخوانید"
34
-
35
- #: libs/sfsi_Init_JqueryCss.php:47 views/sfsi_option_view1.php:370
36
- #: views/sfsi_option_view2.php:608 views/sfsi_option_view3.php:364
37
- #: views/sfsi_option_view4.php:738 views/sfsi_option_view5.php:957
38
- #: views/sfsi_option_view6.php:112 views/sfsi_option_view7.php:373
39
- #: views/sfsi_option_view8.php:519 views/sfsi_option_view9.php:574
40
- msgid "Save"
41
- msgstr "ذخیره"
42
-
43
- #: libs/sfsi_Init_JqueryCss.php:48
44
- msgid "Saving"
45
- msgstr "در حال ذخیره‌سازی"
46
-
47
- #: libs/sfsi_Init_JqueryCss.php:49
48
- msgid "Saved"
49
- msgstr "ذخیره شد"
50
-
51
- #: libs/sfsi_Init_JqueryCss.php:52
52
- msgid "Collapse"
53
- msgstr "باز کردن"
54
-
55
- #: libs/sfsi_Init_JqueryCss.php:53 views/sfsi_options_view.php:153
56
- msgid "Save All Settings"
57
- msgstr "ذخیره تمام تنظیمات"
58
-
59
- #: libs/sfsi_install_uninstall.php:430
60
- msgid ""
61
- "Error: It seems that CURL is disabled on your server. Please contact your "
62
- "server administrator to install / enable CURL."
63
- msgstr ""
64
- "خطا: به‌نظر میرسد CURL در سرور شما فعال نمیباشد. لطفاً با مدیر سرور خود تماس "
65
- "بگیرید، یا خودتان CURL را نصب، و یا فعال کنید."
66
-
67
- #: libs/sfsi_install_uninstall.php:541
68
- msgid ""
69
- "Error : Please fix your theme to make plugins work correctly. Go to the "
70
- "Theme Editor and insert the following string:"
71
- msgstr ""
72
- "خطا: لطفاً پوسته خود را درست کنید تا به افزونه‌ها امکان کارکرد درست را بدهد. "
73
- "به ویرایشگر پوسته رفته و متن زیر را در آن قرار دهید:"
74
-
75
- #: libs/sfsi_install_uninstall.php:541
76
- msgid "Please enter it just before the following line of your header.php file:"
77
- msgstr "لطفاً آن را قبل از آخرین خط فایل header.php (سربرگ) قرار دهید:"
78
-
79
- #: libs/sfsi_install_uninstall.php:541 libs/sfsi_install_uninstall.php:565
80
- msgid "Go to your theme editor: "
81
- msgstr "به ویرایشگر پوسته خود بروید:"
82
-
83
- #: libs/sfsi_install_uninstall.php:541 libs/sfsi_install_uninstall.php:565
84
- msgid "click here"
85
- msgstr "اینجا را کلیک کنید"
86
-
87
- #: libs/sfsi_install_uninstall.php:565
88
- msgid ""
89
- "Error: Please fix your theme to make plugins work correctly. Go to the Theme "
90
- "Editor and insert the following string as the first line of your theme's "
91
- "footer.php file: "
92
- msgstr ""
93
- "خطا: لطفاً پوسته خود را درست کنید تا به افزونه‌ها امکان کارکرد درست را بدهد. "
94
- "به ویرایشگر پوسته رفته و متن زیر را در اولین خط از فایل footer.php (پابرگ) "
95
- "پوسته خود قرار دهید:"
96
-
97
- #: libs/sfsi_install_uninstall.php:576
98
- msgid ""
99
- "Thank you for installing the Ultimate Social Media PLUS plugin. Please go to "
100
- "the plugin's settings page to configure it: "
101
- msgstr ""
102
- "از اینکه افزونه Ultimate Social Media PLUS را نصب نمودید متشکریم. لطفاً برای "
103
- "پیکربندی آن به صفحه تنظیمات افزونه بروید:"
104
-
105
- #: libs/sfsi_install_uninstall.php:576 libs/sfsi_widget.php:106
106
- #: ultimate_social_media_icons.php:579 views/sfsi_option_view1.php:265
107
- #: views/sfsi_option_view8.php:127 views/sfsi_option_view9.php:134
108
- #: views/sfsi_options_view.php:75
109
- msgid "Click here"
110
- msgstr "اینجا را کلیک کنید"
111
-
112
- #: libs/sfsi_install_uninstall.php:585
113
- msgid ""
114
- "You`re using an old Wordpress version, which may cause several of your "
115
- "plugins to not work correctly. Please upgrade"
116
- msgstr ""
117
- "شما از یک نسخه قدیمی وردپرس استفاده میکنید که ممکن است به افزونه امکان "
118
- "کارکرد درست را ندهد. لطفاً به‌روزرسانی کنید."
119
-
120
- #: libs/sfsi_install_uninstall.php:602
121
- msgid ""
122
- "We noticed you've been using the Ultimate Social Media PLUS Plugin for more "
123
- "than 30 days. If you're happy with it, could you please do us a BIG favor "
124
- "and give it a 5-star rating on Wordpress?"
125
- msgstr ""
126
- "ما متوجه شدیم که شما بیش از ۳۰ روز است که از افزونه Ultimate Social Media "
127
- "PLUS استفاده میکنید. اگر شما با این افزونه خوشحالید، آیا ممکن است لطف بزرگی "
128
- "کرده و افزونه ما را در وردپرس ۵ ستاره کنید؟"
129
-
130
- #: libs/sfsi_install_uninstall.php:604
131
- msgid "Ok, you deserved it"
132
- msgstr "بله، شما شایستگی این را دارید"
133
-
134
- #: libs/sfsi_install_uninstall.php:605
135
- msgid "I already did"
136
- msgstr "در حال حاضر این کار را انجام داده‌ام"
137
-
138
- #: libs/sfsi_install_uninstall.php:606
139
- msgid "No, not good enough"
140
- msgstr "نه، به اندازه کافی خوب نیست"
141
-
142
- #: libs/sfsi_plus_subscribe_widget.php:200 libs/sfsi_widget.php:99
143
- msgid "Title"
144
- msgstr "عنوان"
145
-
146
- #: libs/sfsi_widget.php:105
147
- msgid "Please go to the plugin page to set your preferences:"
148
- msgstr "برای اعمال تنظیمات خود لطفاً به برگه افزونه بروید:"
149
-
150
- #: ultimate_social_media_icons.php:76
151
- msgid "Kindly go to setting page and check the option \"Place them manually\""
152
- msgstr "لطف کنید به برگه تنظیمات رفته و کادر \"دستی قرار بده\" را علامت بزنید"
153
-
154
- #: ultimate_social_media_icons.php:577
155
- msgid ""
156
- "There seems to be an error on your website which prevents the plugin to work "
157
- "properly. Please check the FAQ:"
158
- msgstr ""
159
- "به‌نظر میرسد مشکلی در سایت‌تان وجود دارد که مانع از کارکرد درست افزونه میشود. "
160
- "لطفاً سوالات متداول را ببینید:"
161
-
162
- #: ultimate_social_media_icons.php:582
163
- msgid "Error"
164
- msgstr "خطا"
165
-
166
- #: ultimate_social_media_icons.php:588 ultimate_social_media_icons.php:613
167
- msgid "Dismiss"
168
- msgstr "صرفنظر کن"
169
-
170
- #: ultimate_social_media_icons.php:602
171
- msgid "New feature in the Ultimate Social Media PLUS plugin: "
172
- msgstr "ویژگی جدید در افزونه Ultimate Social Media PLUS:"
173
-
174
- #: ultimate_social_media_icons.php:605
175
- msgid ""
176
- "You can now add a subscription form to increase sign-ups (under question 8)."
177
- msgstr ""
178
- "اکنون میتوانید یک فرم اشتراک اضافه کرده تا تعداد ثبت‌نام ها را افزایش دهید "
179
- "(مربوط به سوال ۸)."
180
-
181
- #: ultimate_social_media_icons.php:608
182
- msgid "Check it out"
183
- msgstr "روی آن کلیک کنید"
184
-
185
- #: views/sfsi_aboutus.php:2
186
- msgid "Please visit us at"
187
- msgstr "لطفاْ از ما دیدن کنید در"
188
-
189
- #: views/sfsi_aboutus.php:4
190
- msgid "or write to us at"
191
- msgstr "یا برای ما بنویسید در"
192
-
193
- #: views/sfsi_option_view1.php:47
194
- msgid ""
195
- "In general, the more icons you offer the better because people have "
196
- "different preferences, and more options means that there’s something for "
197
- "everybody, increasing the chances that you get followed and/or shared."
198
- msgstr ""
199
- "بطور معمول، هرچه آیکن‌های بیشتری ارایه دهید بهتر است. زیرا مردم صلیقه‌های "
200
- "متفاوتی دارند، و اختیارات بیشتر به این معنی‌ست که مطابق نیاز هر شخصی چیزی "
201
- "آماده دارید. و این کار شانس دنبال شدن یا به اشتراک گذاشته شدن را برای شما "
202
- "زیادتر میکند."
203
-
204
- #: views/sfsi_option_view1.php:62 views/sfsi_option_view1.php:90
205
- msgid "Mandatory"
206
- msgstr "اجباری"
207
-
208
- #: views/sfsi_option_view1.php:65
209
- msgid "RSS is still popular, esp. among the tech-savvy crowd."
210
- msgstr "با وجود این دوره و زمانه هوشمند و پر از تغییرات، RSS همچنان محبوب است!"
211
-
212
- #: views/sfsi_option_view1.php:68
213
- msgid ""
214
- "RSS stands for Really Simply Syndication and is an easy way for people to "
215
- "read your content. "
216
- msgstr ""
217
- "RSS مخفف عبارت Really Simply Syndication ، و یک راه آسان برای مردم است که "
218
- "مطالب جدید شما را بخوانند."
219
-
220
- #: views/sfsi_option_view1.php:70
221
- msgid "Learn more about RSS"
222
- msgstr "در مورد RSS (خبرخوان) بیشتر بدانید"
223
-
224
- #: views/sfsi_option_view1.php:93
225
- msgid "Email is the most effective tool to build up a followership."
226
- msgstr "ایمیل یک ابزار بسیار تاثیرگذار در پیداکردن مخاطب و دنبال‌کننده است."
227
-
228
- #: views/sfsi_option_view1.php:96
229
- msgid "Remove credit link"
230
- msgstr "لینک اعتبار را حذف کن"
231
-
232
- #: views/sfsi_option_view1.php:100
233
- msgid ""
234
- "Everybody uses email – that’s why it’s much more effective than social media "
235
- "to make people follow you"
236
- msgstr ""
237
- "هرکسی از ایمیل استفاده میکند - بخاطر همین ایمیل بیشتر از شبکه‌های اجتماعی در "
238
- "جذب مخاطب و دنبال‌کننده تاثیرگذار است"
239
-
240
- #: views/sfsi_option_view1.php:102 views/sfsi_pop_content.php:287
241
- msgid "learn more"
242
- msgstr "بیشتر بدانید"
243
-
244
- #: views/sfsi_option_view1.php:104
245
- msgid ""
246
- "Not offering an email subscription option means losing out on future traffic "
247
- "to your site."
248
- msgstr ""
249
- "ارائه ندادن امکان اشتراک ایمیلی به این معنیست که بازدید سایتتان را در آینده "
250
- "از دست میدهید."
251
-
252
- #: views/sfsi_option_view1.php:122 views/sfsi_option_view1.php:144
253
- #: views/sfsi_option_view1.php:167
254
- msgid "Strongly recommended:"
255
- msgstr "شدیداً پیشنهاد میشود:"
256
-
257
- #: views/sfsi_option_view1.php:123
258
- msgid "Facebook is crucial, esp. for sharing."
259
- msgstr "فیس‌بوک عالی‌ست، مخصوصاُ برای به اشتراک گذاری."
260
-
261
- #: views/sfsi_option_view1.php:126
262
- msgid ""
263
- "Facebook is the giant in the social media world, and even if you don’t have "
264
- "a Facebook account yourself you should display this icon, so that Facebook "
265
- "users can share your site on Facebook."
266
- msgstr ""
267
- "فیس‌بوک غول دنیای شبکه‌های اجتماعی‌ست، و حتا اگر شما آکونت فیس‌بوک برای خود "
268
- "ندارید هم باید این آیکن را نمایش دهید، چراکه کاربران فیس‌بوک میتوانند سایت "
269
- "شما را در فیس‌بوک به اشتراک بگذارند."
270
-
271
- #: views/sfsi_option_view1.php:145
272
- msgid "Can have a strong promotional effect."
273
- msgstr "میتواند تاثیر تبلیغاتی قوی‌ای داشته باشد."
274
-
275
- #: views/sfsi_option_view1.php:148
276
- msgid ""
277
- "If you have a Twitter-account then adding this icon is a no-brainer. "
278
- "However, similar as with facebook, even if you don’t have one you should "
279
- "still show this icon so that Twitter-users can share your site."
280
- msgstr ""
281
- "اگر شما یک آکونت توییتر دارید اضافه کردن این آیکن احتیاج به فکر کردن ندارد. "
282
- "به هر حال اگر هم ندارید، مانند فیس‌بوک، شما باید این آیکن را به نمایش "
283
- "بگذارید. چراکه کاربران توییتر میتوانند سایت شما را به اشتراک بگذارند."
284
-
285
- #: views/sfsi_option_view1.php:168
286
- msgid "Increasingly important and beneficial for SEO."
287
- msgstr "بطور فزاینده مهم و سودمند برای سئو."
288
-
289
- #: views/sfsi_option_view1.php:185 views/sfsi_option_view1.php:202
290
- #: views/sfsi_option_view1.php:219 views/sfsi_option_view1.php:234
291
- #: views/sfsi_option_view1.php:251 views/sfsi_option_view1.php:283
292
- #: views/sfsi_option_view1.php:328 views/sfsi_option_view1.php:353
293
- msgid "It depends:"
294
- msgstr "بستگی دارد به:"
295
-
296
- #: views/sfsi_option_view1.php:186
297
- msgid ""
298
- "Show this icon if you have a youtube account (and you should set up one if "
299
- "you have video content – that can increase your traffic significantly)."
300
- msgstr ""
301
- "اگر یک آکونت یوتیوب دارید این آیکن را نمایش دهید (و اگر در سایتتان محتوای "
302
- "ویدئویی دارید بهتر است یک آکونت یوتیوب بسازید، زیرا بازدید سایتتان را به شکل "
303
- "قابل ملاحظه‌ای بالا میبرد)."
304
-
305
- #: views/sfsi_option_view1.php:203
306
- msgid ""
307
- "No.1 network for business purposes. Use this icon if you’re a LinkedInner."
308
- msgstr ""
309
- "شبکه اجتماعی شماره یک برای مقاصد حرفه‌ای و کاری. اگر در لینکدین هستید از این "
310
- "آیکن استفاده کنید."
311
-
312
- #: views/sfsi_option_view1.php:220
313
- msgid ""
314
- "Show this icon if you have a Pinterest account (and you should set up one if "
315
- "you have publish new pictures regularly – that can increase your traffic "
316
- "significantly)."
317
- msgstr ""
318
- "اگر یک آکونت پین‌ترست دارید این آیکن را نمایش دهید (و اگر در سایتتان عکس‌های "
319
- "جدید میگذارید بهتر است یک آکونت بسازید، زیرا بازدید سایتتان را به شکل قابل "
320
- "ملاحظه‌ای بالا میبرد)."
321
-
322
- #: views/sfsi_option_view1.php:235
323
- msgid "Show this icon if you have a Instagram account."
324
- msgstr "اگر یک آکونت اینستاگرام دارید این آیکن را نمایش دهید."
325
-
326
- #: views/sfsi_option_view1.php:252
327
- msgid ""
328
- "Third-party service AddThis allows your visitors to share via many other "
329
- "social networks, however it may also slow down your site a bit."
330
- msgstr ""
331
- "خدمات شخص ثالث AddThis به بازدیدکنندگان امکان به اشتراک گذاری از تعداد "
332
- "بسیاری از دیگر شبکه‌های اجتماعی را میدهد. ولی با این حال کمی باعث کند شدن "
333
- "سایتتان میشود."
334
-
335
- #: views/sfsi_option_view1.php:255
336
- msgid "Everybody uses email – that’s why it’s"
337
- msgstr "بخاطر اینکه هرکسی از ایمیل استفاده میکند"
338
-
339
- #: views/sfsi_option_view1.php:258
340
- msgid "much more effective than social media"
341
- msgstr "بسیار موثرتر از شبکه اجتماعی"
342
-
343
- #: views/sfsi_option_view1.php:261
344
- msgid ""
345
- "to make people follow you. Not offering an email subscription option means "
346
- "losing out on future traffic to your site."
347
- msgstr ""
348
- "برای جذب دنبال‌کننده و مخاطب ارائه ندادن امکان اشتراک ایمیلی به این معنیست که "
349
- "بازدید سایتتان را در آینده از دست میدهید."
350
-
351
- #: views/sfsi_option_view1.php:263
352
- msgid "Check out their reviews:"
353
- msgstr "بررسی‌هایشان را ببینید:"
354
-
355
- #: views/sfsi_option_view1.php:284
356
- msgid "Show this icon if you have a Houzz account."
357
- msgstr "اگر یک آکونت هاز دارید این آیکن را نمایش دهید. "
358
-
359
- #: views/sfsi_option_view1.php:286
360
- msgid ""
361
- "Houzz is the No.1 site & community in the world of architecture and interior "
362
- "design."
363
- msgstr "هاز سایت و انجمن شماره ۱ معماری و طراحی داخلی‌ست."
364
-
365
- #: views/sfsi_option_view1.php:288
366
- msgid "Visit Houzz"
367
- msgstr "از هاز دیدن کنید"
368
-
369
- #: views/sfsi_option_view1.php:323 views/sfsi_option_view1.php:347
370
- #: views/sfsi_option_view2.php:579 views/sfsi_option_view5.php:938
371
- msgid "Custom"
372
- msgstr "سفارشی"
373
-
374
- #: views/sfsi_option_view1.php:329 views/sfsi_option_view1.php:354
375
- msgid ""
376
- "Upload a custom icon if you have other accounts/websites you want to link to."
377
- msgstr ""
378
- "اگر شما آکونت یا سایت دیگری دارید که میخواهید به آن لینک بدهید، آیکن سفارشی "
379
- "آن را آپلود کنید."
380
-
381
- #: views/sfsi_option_view1.php:376 views/sfsi_option_view2.php:613
382
- #: views/sfsi_option_view3.php:369 views/sfsi_option_view4.php:743
383
- #: views/sfsi_option_view5.php:962 views/sfsi_option_view6.php:117
384
- #: views/sfsi_option_view7.php:378 views/sfsi_option_view8.php:525
385
- #: views/sfsi_option_view9.php:580
386
- msgid "Collapse area"
387
- msgstr "باز کردن"
388
-
389
- #: views/sfsi_option_view2.php:136
390
- msgid "When clicked on, users can subscribe via RSS"
391
- msgstr "وقتی کاربر کلیک کند مشترک فید RSS میشود"
392
-
393
- #: views/sfsi_option_view2.php:144
394
- msgid "For most blogs it’s http://blogname.com/feed"
395
- msgstr "برای اغلب وبلاگ‌ها بصورت http://blogname.com/feed است"
396
-
397
- #: views/sfsi_option_view2.php:162
398
- msgid ""
399
- "Sends your new posts automatically to subscribers. It`s FREE and you get "
400
- "full access to your subscriber`s emails and interesting statistics:"
401
- msgstr ""
402
- "نوشته‌های جدید شما را بصورت خودکار برای مشترکین ارسال میکند. رایگان است و "
403
- "دسترسی کامل شما را به ایمیل و آمار علایق کاربران میسر میکند."
404
-
405
- #: views/sfsi_option_view2.php:164
406
- msgid "Claim your feed to get full access."
407
- msgstr "درخواست فید خود را کامل نمایید تا دسترسی کامل داشته باشید."
408
-
409
- #: views/sfsi_option_view2.php:166
410
- msgid "It also makes sense if you already offer an email newsletter:"
411
- msgstr "همچنین اگر هم‌اکنون روزنامه ایمیلی را ارائه کرده‌اید معنی خواهد داشت:"
412
-
413
- #: views/sfsi_option_view2.php:168
414
- msgid "Learn more."
415
- msgstr "بیشتر بدانید."
416
-
417
- #: views/sfsi_option_view2.php:171
418
- msgid "Please pick which icon type you want to use:"
419
- msgstr "لطفاً نوع آیکونی که میخواهید استفاده کنید را انتخاب نمایید:"
420
-
421
- #: views/sfsi_option_view2.php:179
422
- msgid "Email icon"
423
- msgstr "آیکون ایمیل"
424
-
425
- #: views/sfsi_option_view2.php:187
426
- msgid "Follow icon"
427
- msgstr "آیکون دنبال‌کردن"
428
-
429
- #: views/sfsi_option_view2.php:189
430
- msgid "increases sign-ups"
431
- msgstr "ثبت‌نام ها را افزایش میدهد"
432
-
433
- #: views/sfsi_option_view2.php:198
434
- msgid "SpecificFeeds icon"
435
- msgstr "آیکن SpecificFeeds"
436
-
437
- #: views/sfsi_option_view2.php:200
438
- msgid "provider of the service"
439
- msgstr "ارائه‌کننده خدمات:"
440
-
441
- #: views/sfsi_option_view2.php:216
442
- msgid ""
443
- "The facebook icon can perform several actions. Pick below which ones it "
444
- "should perform. If you select several options, then users can select what "
445
- "they want to do"
446
- msgstr ""
447
- "آیکن فیس‌بوک میتواند چندین کار انجام دهد. از پایین کاری را که میخواهید "
448
- "برگزینید. اگر چند عمل را با هم انتخاب کنید، کاربران خودشان انتخاب میکنند که "
449
- "کدام را میخواهند."
450
-
451
- #: views/sfsi_option_view2.php:218 views/sfsi_option_view2.php:263
452
- #: views/sfsi_option_view2.php:304 views/sfsi_option_view2.php:346
453
- #: views/sfsi_option_view2.php:425 views/sfsi_option_view2.php:478
454
- #: views/sfsi_option_view2.php:539
455
- msgid "see an example"
456
- msgstr "یک نمونه ببینید"
457
-
458
- #: views/sfsi_option_view2.php:222
459
- msgid "The facebook icon should allow users to..."
460
- msgstr "آیکن فیس‌بوک باید به کاربران این امکان را بدهد تا..."
461
-
462
- #: views/sfsi_option_view2.php:229
463
- msgid "Visit my Facebook page at:"
464
- msgstr "صفحه فیس‌بوک مرا ببینید:"
465
-
466
- #: views/sfsi_option_view2.php:237
467
- msgid "Like my blog on Facebook (+1)"
468
- msgstr "وبلاگ مرا در فیس‌بوک لایک کنید (۱+)"
469
-
470
- #: views/sfsi_option_view2.php:245
471
- msgid "Share my blog with friends (on Facebook)"
472
- msgstr "وبلاگ مرا با دوستان خود (در فیس‌بوک) به اشتراک بگذارید"
473
-
474
- #: views/sfsi_option_view2.php:260
475
- msgid ""
476
- "The Twitter icon can perform several actions. Pick below which ones it "
477
- "should perform. If you select several options, then users can select what "
478
- "they want to do"
479
- msgstr ""
480
- "آیکن توییتر میتواند چند کار انجام دهد. از پایین کاری را که میخواهید "
481
- "برگزینید. اگر چند عمل را با هم انتخاب کنید، کاربران خودشان انتخاب میکنند که "
482
- "کدام را میخواهند."
483
-
484
- #: views/sfsi_option_view2.php:267
485
- msgid "The Twitter icon should allow users to..."
486
- msgstr "آیکن توییتر به کاربران امکان میدهد که..."
487
-
488
- #: views/sfsi_option_view2.php:272
489
- msgid "Visit me on Twitter:"
490
- msgstr "مرا در توییتر ببینید:"
491
-
492
- #: views/sfsi_option_view2.php:281
493
- msgid "Follow me on Twitter:"
494
- msgstr "مرا در توییتر دنبال کنید:"
495
-
496
- #: views/sfsi_option_view2.php:289
497
- msgid "Tweet about my page:"
498
- msgstr "در مورد صفحه من توییت کنید:"
499
-
500
- #: views/sfsi_option_view2.php:302
501
- msgid ""
502
- "should perform. If you select several options, then users can select what "
503
- "they want to do"
504
- msgstr ""
505
- "آیکن گوگل‌پلاس میتواند چند کار انجام دهد. از پایین کاری را که میخواهید "
506
- "برگزینید. اگر چند عمل را با هم انتخاب کنید، کاربران خودشان انتخاب میکنند که "
507
- "کدام را میخواهند."
508
-
509
- #: views/sfsi_option_view2.php:308
510
- msgstr "آیکن گوگل‌پلاس به کاربران امکان میدهد که..."
511
-
512
- #: views/sfsi_option_view2.php:344
513
- msgid ""
514
- "The Youtube icon can perform several actions. Pick below which ones it "
515
- "should perform. If you select several options, then users can select what "
516
- "they want to do"
517
- msgstr ""
518
- "آیکن یوتیوب میتواند چند کار انجام دهد. از پایین کاری را که میخواهید "
519
- "برگزینید. اگر چند عمل را با هم انتخاب کنید، کاربران خودشان انتخاب میکنند که "
520
- "کدام را میخواهند."
521
-
522
- #: views/sfsi_option_view2.php:350
523
- msgid "The youtube icon should allow users to..."
524
- msgstr "آیکن یوتیوب به کاربران امکان میدهد که..."
525
-
526
- #: views/sfsi_option_view2.php:354
527
- msgid "Visit my Youtube page at:"
528
- msgstr "صفحه یوتیوب مرا ببینید:"
529
-
530
- #: views/sfsi_option_view2.php:360
531
- msgid "Subscribe to me on Youtube"
532
- msgstr "در یوتیوب من مشترک شوید"
533
-
534
- #: views/sfsi_option_view2.php:362
535
- msgid "(allows people to subscribe to you directly, without leaving your blog)"
536
- msgstr "(بدون ترک وبلاگتان، به کاربران امکان دنبال‌کردن مستقیم شما را میدهد)"
537
-
538
- #: views/sfsi_option_view2.php:382
539
- msgid "User Name"
540
- msgstr "نام کاربر"
541
-
542
- #: views/sfsi_option_view2.php:387
543
- msgid "Channel Id"
544
- msgstr "شناسه (Id) کانال"
545
-
546
- #: views/sfsi_option_view2.php:393
547
- msgid "UserName:"
548
- msgstr "نام کاربری:"
549
-
550
- #: views/sfsi_option_view2.php:397
551
- msgid ""
552
- "To find your Username go to \"My channel\" in Youtube menu bar on the left & "
553
- "Select the \"About\" tab and take your user name from URL there (e.g. "
554
- "https://www.youtube.com/user/Tommy it is \"Tommy\")."
555
- msgstr ""
556
- "برای پیداکردن نام کاربری خود به گزینه \"My channel\" از سمت چپ منوی یوتیوب "
557
- "رفته، تب \"About\" را انتخاب نمایید و نام کاربری‌تان را از آدرس URL بردارید "
558
- "(برای نمونه اگر آدرس URL https://www.youtube.com/user/Tommy بود، \"Tommy\" "
559
- "نام کاربری شماست)."
560
-
561
- #: views/sfsi_option_view2.php:403
562
- msgid "Channel Id:"
563
- msgstr "شناسه (Id) کانال:"
564
-
565
- #: views/sfsi_option_view2.php:408
566
- msgid ""
567
- "To find your Channel name go to \"My Channel\" in Youtube menu bar on the "
568
- "left and take your channel name from there."
569
- msgstr ""
570
- "برای پیداکردن نام کانال خود به گزینه \"My channel\" از سمت چپ منوی یوتیوب "
571
- "رفته، نام کانال خود را از آنجا بردارید."
572
-
573
- #: views/sfsi_option_view2.php:423
574
- msgid ""
575
- "The Pinterest icon can perform several actions. Pick below which ones it "
576
- "should perform. If you select several options, then users can select what "
577
- "they want to do"
578
- msgstr ""
579
- "آیکن پین‌ترست میتواند چند کار انجام دهد. از پایین کاری را که میخواهید "
580
- "برگزینید. اگر چند عمل را با هم انتخاب کنید، کاربران خودشان انتخاب میکنند که "
581
- "کدام را میخواهند."
582
-
583
- #: views/sfsi_option_view2.php:429
584
- msgid "The Pinterest icon should allow users to..."
585
- msgstr "آیکن پین‌ترست به کاربران امکان میدهد که..."
586
-
587
- #: views/sfsi_option_view2.php:434
588
- msgid "Visit my Pinterest page at:"
589
- msgstr "صفحه پین‌ترست مرا ببینید:"
590
-
591
- #: views/sfsi_option_view2.php:442
592
- msgid "Pin my blog on Pinterest (+1)"
593
- msgstr "وبلاگ مرا در پین‌ترست پین کنید (۱+)"
594
-
595
- #: views/sfsi_option_view2.php:457
596
- msgid "When clicked on, users will get directed to your Instagram page"
597
- msgstr "اگر کلیک شود، کاربران مستقیماً به صفحه اینستاگرام شما منتقل میشوند"
598
-
599
- #: views/sfsi_option_view2.php:476
600
- msgid ""
601
- "The LinkedIn icon can perform several actions. Pick below which ones it "
602
- "should perform. If you select several options, then users can select what "
603
- "they want to do"
604
- msgstr ""
605
- "آیکن لینکدین میتواند چند کار انجام دهد. از پایین کاری را که میخواهید "
606
- "برگزینید. اگر چند عمل را با هم انتخاب کنید، کاربران خودشان انتخاب میکنند که "
607
- "کدام را میخواهند."
608
-
609
- #: views/sfsi_option_view2.php:482
610
- msgid ""
611
- "You find your ID in the link of your profile page, e.g. https://www.linkedin."
612
- "com/profile/view?id=<b>8539887</b>&trk=nav_responsive_tab_profile_pic"
613
- msgstr ""
614
- "شناسه (ID) تان را از لینک صفحه پروفایل‌تان پیدا کنید، برای نمونه https://www."
615
- "linkedin.com/profile/view?id=<b>8539887</"
616
- "b>&trk=nav_responsive_tab_profile_pic"
617
-
618
- #: views/sfsi_option_view2.php:485
619
- msgid "The LinkedIn icon should allow users to..."
620
- msgstr "آیکن لیندکدین به کاربران امکان میدهد که..."
621
-
622
- #: views/sfsi_option_view2.php:490
623
- msgid "Visit my Linkedin page at:"
624
- msgstr "صفحه لینکدین مرا ببینید"
625
-
626
- #: views/sfsi_option_view2.php:499
627
- msgid "Follow me on Linkedin:"
628
- msgstr "مرا در لینکدین دنبال کنید"
629
-
630
- #: views/sfsi_option_view2.php:508
631
- msgid "Share my page on LinkedIn"
632
- msgstr "صفحه مرا در لینکدین به اشتراک بگذارید"
633
-
634
- #: views/sfsi_option_view2.php:515
635
- msgid "Recommend my business or product on Linkedin"
636
- msgstr "محصول یا کسب و کار مرا در لینکدین پیشنهاد بده"
637
-
638
- #: views/sfsi_option_view2.php:520
639
- msgid "To find your Product or Company ID, you can use their ID lookup tool at"
640
- msgstr ""
641
- "برای اینکه محصول یا شناسه شرکتتان را پیدا کنید، میتوانید از ابزار جستجوی "
642
- "شناسه آنها استفاده کنید در"
643
-
644
- #: views/sfsi_option_view2.php:524
645
- msgid "You need to be logged in to Linkedin to be able to use it."
646
- msgstr "برای استفاده باید در لینکدین وارد (login) شده باشید"
647
-
648
- #: views/sfsi_option_view2.php:537
649
- msgid ""
650
- "Nothing needs to be done here – your visitors to share your site via «all "
651
- "the other» social media sites."
652
- msgstr ""
653
- "اینجا کاری لازم نیست انجام بدهید - بازدیدکنندگان شما سایتتان را از طریق "
654
- "«سایر» شبکه‌های اجتماعی به اشتراک میگذارند."
655
-
656
- #: views/sfsi_option_view2.php:553
657
- msgid ""
658
- "Please provide the url to your Houzz profile (e.g. http://www.houzz.com/user/"
659
- "your_username)."
660
- msgstr ""
661
- "لطفاً نشانی url پروفایل هازتان را ارایه کنید (برای نمونه: http://www.houzz."
662
- "com/user/your_username)."
663
-
664
- #: views/sfsi_option_view2.php:585
665
- msgid "Where do you want this icon to link to?"
666
- msgstr "میخواهید این آیکن به کجا لینک شود؟"
667
-
668
- #: views/sfsi_option_view2.php:589
669
- msgid "Link:"
670
- msgstr "لینک:"
671
-
672
- #: views/sfsi_option_view3.php:35
673
- msgid ""
674
- "A good & well-fitting design is not only nice to look at, but it increases "
675
- "chances that people will subscribe and/or share your site with friends:"
676
- msgstr ""
677
- "یک طراحی خوب و شکیل نه تنها زیبا به‌نظر میرسد، بلکه شانس اینکه مردم مشترک شما "
678
- "شوند یا سایتان را با دوستانشان به اشتراک بگذارند بالا میبرد:"
679
-
680
- #: views/sfsi_option_view3.php:39
681
- msgid "It comes across as more professional gives your site more “credit”"
682
- msgstr "حرفه‌ای‌تر به‌نظر میرسد و اعتبار بیشتری به سایتتان میبخشد"
683
-
684
- #: views/sfsi_option_view3.php:42
685
- msgid ""
686
- "A smart automatic animation can make your visitors aware of your icons in an "
687
- "unintrusive manner"
688
- msgstr ""
689
- "پویانمایی خودکار ممکن است بازدیدکنندگان سایت‌تان را از آیکن‌هایتان بیزار کند."
690
-
691
- #: views/sfsi_option_view3.php:47
692
- msgid ""
693
- "The icons have been compressed by Shortpixel.com for faster loading of your "
694
- "site. Thank you Shortpixel!"
695
- msgstr ""
696
- "برای اینکه سایتتان سریعتر باز شود، آیکن‌ها به‌کمک Shortpixel.com فشرده شده‌اند. "
697
- "Shortpixel ازت ممنونیم!"
698
-
699
- #: views/sfsi_option_view3.php:52
700
- msgid "Theme options"
701
- msgstr "تنظیمات پوسته"
702
-
703
- #: views/sfsi_option_view3.php:59
704
- msgid "Default"
705
- msgstr "پیش‌فرض"
706
-
707
- #: views/sfsi_option_view3.php:69
708
- msgid "Flat"
709
- msgstr "تخت (Flat)"
710
-
711
- #: views/sfsi_option_view3.php:78
712
- msgid "Thin"
713
- msgstr "نازک (Thin)"
714
-
715
- #: views/sfsi_option_view3.php:87
716
- msgid "Cute"
717
- msgstr "زیبا (Cute)"
718
-
719
- #: views/sfsi_option_view3.php:97
720
- msgid "Cubes"
721
- msgstr "مکعبی (Cubes)"
722
-
723
- #: views/sfsi_option_view3.php:105
724
- msgid "Chrome Blue"
725
- msgstr "فلز براق آبی"
726
-
727
- #: views/sfsi_option_view3.php:112
728
- msgid "Chrome Grey"
729
- msgstr "فلز براق خاکستری"
730
-
731
- #: views/sfsi_option_view3.php:119
732
- msgid "Splash"
733
- msgstr "پخش (Splash)"
734
-
735
- #: views/sfsi_option_view3.php:130
736
- msgid "Orange"
737
- msgstr "نارنجی"
738
-
739
- #: views/sfsi_option_view3.php:137
740
- msgid "Crystal"
741
- msgstr "کریستال"
742
-
743
- #: views/sfsi_option_view3.php:144
744
- msgid "Glossy"
745
- msgstr "براق"
746
-
747
- #: views/sfsi_option_view3.php:151
748
- msgid "Black"
749
- msgstr "سیاه"
750
-
751
- #: views/sfsi_option_view3.php:161
752
- msgid "Silver"
753
- msgstr "نقره‌ای"
754
-
755
- #: views/sfsi_option_view3.php:168
756
- msgid "Shaded Dark"
757
- msgstr "سایه تیره"
758
-
759
- #: views/sfsi_option_view3.php:175
760
- msgid "Shaded Light"
761
- msgstr "سایه روشن"
762
-
763
- #: views/sfsi_option_view3.php:182
764
- msgid "Transparent"
765
- msgstr "شفاف"
766
-
767
- #: views/sfsi_option_view3.php:183
768
- msgid "for dark backgrounds"
769
- msgstr "برای پس‌زمینه‌های تیره"
770
-
771
- #: views/sfsi_option_view3.php:192
772
- msgid "Custom Icons"
773
- msgstr "آیکون‌های سفارشی"
774
-
775
- #: views/sfsi_option_view3.php:306
776
- msgid "Animate them (your main icons)"
777
- msgstr "پویانمایی کن (آیکن‌های اصلی‌تان)"
778
-
779
- #: views/sfsi_option_view3.php:312
780
- msgid "Mouse-Over effects"
781
- msgstr "جلوه‌های قرارگیری ماوس روی آیکن"
782
-
783
- #: views/sfsi_option_view3.php:317
784
- msgid "Fade In"
785
- msgstr "محو شدن در"
786
-
787
- #: views/sfsi_option_view3.php:320
788
- msgid "Combo"
789
- msgstr "کشویی"
790
-
791
- #: views/sfsi_option_view3.php:330
792
- msgid "Shuffle them automatically"
793
- msgstr "بصورت خودکار آنها را به‌هم بریز"
794
-
795
- #: views/sfsi_option_view3.php:337
796
- msgid "When site is first loaded"
797
- msgstr "وقتی سایت برای اولین بار باز شد"
798
-
799
- #: views/sfsi_option_view3.php:343
800
- msgid "Every"
801
- msgstr "هر"
802
-
803
- #: views/sfsi_option_view3.php:347
804
- msgid "seconds"
805
- msgstr "ثانیه"
806
-
807
- #: views/sfsi_option_view4.php:150
808
- msgid ""
809
- "It’s a psychological fact that people like to follow other people, so when "
810
- "they see that your site has already a good number of Facebook likes, it’s "
811
- "more likely that they will subscribe/like/share your site than if it had 0."
812
- msgstr ""
813
- "این یک واقعیت روانشناختی‌ست که مردم دوست دارند دیگران را دنبال کنند، پس وقتی "
814
- "میبینند که وب‌سایت شما عدد خوبی از لایک‌های فیس‌بوک را به خود اختصاص داده، خیلی "
815
- "بهتر مشترک شما میشوند یا سایتتان را به اشتراک میگذارند، تا اینکه تعداد "
816
- "لایک‌تان 0 باشد."
817
-
818
- #: views/sfsi_option_view4.php:153
819
- msgid ""
820
- "Therefore, you can select to display the count next to your icons which will "
821
- "look like this:"
822
- msgstr ""
823
- "بنابراین، میتوانید انتخاب کنید که تعداد، کنار آیکن‌هایتان نمایش داده شود، "
824
- "مانند این:"
825
-
826
- #: views/sfsi_option_view4.php:215
827
- msgid ""
828
- "Of course, if you start at 0, you shoot yourself in the foot with that. So "
829
- "we suggest that you only turn this feature on once you have a good number of "
830
- "followers/likes/shares (min. of 20 – no worries if it’s not too many, it "
831
- "should just not be 0)."
832
- msgstr ""
833
- "البته، اگر شما از 0 شروع کنید، تیری به پای خود شلیک کرده‌اید! پس ما پیشنهاد "
834
- "میکنیم که این ویژگی را تا زمانی که به تعداد مناسبی از دنبال‌کننده، لایک یا به "
835
- "اشتراک‌گذاری نرسیده‌اید فعال کنید (دست‌کم روی ۲۰ بگذارید - نگران نباشید که زیاد "
836
- "نیست، فقط روی 0 نگذارید)."
837
-
838
- #: views/sfsi_option_view4.php:218
839
- msgid "Enough waffling. So do you want to display counts?"
840
- msgstr "پرحرفی کافیست. پس شما میخواهید تعداد نمایش داده شود؟"
841
-
842
- #: views/sfsi_option_view4.php:225 views/sfsi_option_view5.php:759
843
- #: views/sfsi_option_view5.php:787 views/sfsi_option_view5.php:808
844
- #: views/sfsi_option_view5.php:830 views/sfsi_option_view6.php:64
845
- #: views/sfsi_option_view9.php:208 views/sfsi_option_view9.php:254
846
- msgid "Yes"
847
- msgstr "آری"
848
-
849
- #: views/sfsi_option_view4.php:231 views/sfsi_option_view5.php:765
850
- #: views/sfsi_option_view5.php:793 views/sfsi_option_view5.php:814
851
- #: views/sfsi_option_view5.php:836 views/sfsi_option_view6.php:70
852
- #: views/sfsi_option_view9.php:215 views/sfsi_option_view9.php:261
853
- msgid "No"
854
- msgstr "خیر"
855
-
856
- #: views/sfsi_option_view4.php:239
857
- msgid "Please specify which counts should be shown:"
858
- msgstr "لطفاً تعیین کنید تعداد کدام نمایش داده شود:"
859
-
860
- #: views/sfsi_option_view4.php:261
861
- msgid "We cannot track this. So enter the figure here:"
862
- msgstr "ما نمیتوانیم این را ردیابی کنیم. پس رقم را اینجا وارد نمایید:"
863
-
864
- #: views/sfsi_option_view4.php:289
865
- msgid "Retrieve the number of subscribers automatically"
866
- msgstr "نمایش تعداد مشترکین بصورت خودکار"
867
-
868
- #: views/sfsi_option_view4.php:293 views/sfsi_option_view4.php:338
869
- #: views/sfsi_option_view4.php:425 views/sfsi_option_view4.php:498
870
- #: views/sfsi_option_view4.php:543 views/sfsi_option_view4.php:589
871
- #: views/sfsi_option_view4.php:621 views/sfsi_option_view4.php:660
872
- #: views/sfsi_option_view4.php:693 views/sfsi_option_view4.php:722
873
- msgid "Enter the figure manually"
874
- msgstr "ورود دستی تعداد"
875
-
876
- #: views/sfsi_option_view4.php:320
877
- msgid "Retrieve the number of likes of your blog"
878
- msgstr "نمایش تعداد لایک‌های وبلاگ‌تان"
879
-
880
- #: views/sfsi_option_view4.php:324
881
- msgid "Retrieve the number of likes your facebook page"
882
- msgstr "نمایش تعداد لایک‌های صفحه فیس‌بوک‌تان"
883
-
884
- #: views/sfsi_option_view4.php:328
885
- msgid "page ID:"
886
- msgstr "شناسه (ID) صفحه:"
887
-
888
- #: views/sfsi_option_view4.php:333
889
- msgid ""
890
- "Youll find it at the bottom of the << About >> -tab on your facebook page"
891
- msgstr "میتوانید در پایین تب «About» صفحه فیس‌بوکتان پیدایش کنید"
892
-
893
- #: views/sfsi_option_view4.php:365
894
- msgid "Retrieve the number of Twitter followers"
895
- msgstr "نمایش تعداد دنبال‌کنندگان توییترتان"
896
-
897
- #: views/sfsi_option_view4.php:371
898
- msgid "Enter Consumer Key"
899
- msgstr "کلید مصرف‌کننده را وارد نمایید"
900
-
901
- #: views/sfsi_option_view4.php:377
902
- msgid "Enter Consumer Secret"
903
- msgstr "رمز مصرف‌کننده را وارد نمایید"
904
-
905
- #: views/sfsi_option_view4.php:383
906
- msgid "Enter Access Token"
907
- msgstr "توکن دسترسی را وارد نمایید"
908
-
909
- #: views/sfsi_option_view4.php:389
910
- msgid "Enter Access Token Secret"
911
- msgstr "رمز توکن دسترسی را وارد نمایید"
912
-
913
- #: views/sfsi_option_view4.php:396
914
- msgid ""
915
- "Please make sure you have entered the Username for \"Follow me on Twitter:\" "
916
- "in twitter settings under question number 2."
917
- msgstr ""
918
- "لطفاً مطمئن شوید که نام کاربری را برای \"مرا در توییتر دنبال کنید:\" در "
919
- "تنظیمات بخش توییتر وارد نموده‌اید. مربوط به سوال شماره ۲."
920
-
921
- #: views/sfsi_option_view4.php:400
922
- msgid "To get this information:"
923
- msgstr "برای دریافت این اطلاعات:"
924
-
925
- #: views/sfsi_option_view4.php:404
926
- msgid "Go to"
927
- msgstr "بروید به"
928
-
929
- #: views/sfsi_option_view4.php:410
930
- msgid "Click on \"Create new app\""
931
- msgstr "روی \"Create new app\" کلیک کنید"
932
-
933
- #: views/sfsi_option_view4.php:413
934
- msgid ""
935
- "Enter a random Name, Description and Website URL (including the \"http://\", "
936
- "e.g. http://dummysitename.com)"
937
- msgstr ""
938
- "یک نام، توضیح و آدرس وب‌سایت تصادفی وارد نمایید (باید شامل \"http://\"باشد، "
939
- "مانند http://dummysitename.com)"
940
-
941
- #: views/sfsi_option_view4.php:416
942
- msgid ""
943
- "Go to \"Keys and Access Tokens\" tab and click on \"Generate Token\" in the "
944
- "\"Token actions\" section at the bottom"
945
- msgstr ""
946
- "به تب \"Keys and Access Tokens\" بروید و روی \"Generate Token\" در بخش "
947
- "\"Token actions\" در پایین کلیک کنید."
948
-
949
- #: views/sfsi_option_view4.php:419
950
- msgid ""
951
- "Then click on \"Test OAuth\" at the top right and you will see the 4 token "
952
- "key"
953
- msgstr ""
954
- "بعد روی \"Test OAuth\" در بالا سمت راست کلیک کنید و ۴ کلید توکن را خواهید دید"
955
-
956
-
957
- #: views/sfsi_option_view4.php:484
958
- msgid "and create a new project"
959
- msgstr "و یک پروژه جدید ایجاد نمایید"
960
-
961
- #: views/sfsi_option_view4.php:487
962
- msgid ""
963
- "Then on the left menu bar go to “APIs & auth”, “Credentials” and click "
964
- "“Create new key” in the “Public API access” section"
965
- msgstr ""
966
- "بعد در منوی سمت چپ به “APIs & auth” و بعد به “Credentials” بروید و روی "
967
- "“Create new key” در بخش “Public API access” کلیک کنید."
968
-
969
- #: views/sfsi_option_view4.php:490
970
- msgid ""
971
- "There you select “browser key” and click “Create”. You will then be shown "
972
- "your API key"
973
- msgstr ""
974
- "از آنجا “browser key” را انتخاب نموده و روی “Create” کلیک کنید. کلید API "
975
- "برایتان به نمایش در می‌آید"
976
-
977
- #: views/sfsi_option_view4.php:493
978
- msgid ""
979
- "When you enter this key into the plugin for the first time, it may take some "
980
- "time until the correct follower count is displayed on your website"
981
- msgstr ""
982
- "وقتی برای اولین بار این کلید را در افزونه وارد مینمایید، ممکن است مقداری "
983
- "زمان ببرد تا تعداد درست دنبال‌کننده روی وب‌سایتتان به نمایش درآید."
984
-
985
- #: views/sfsi_option_view4.php:570
986
- msgid "Retrieve the number of Subscribers"
987
- msgstr "نمایش تعداد مشترکین"
988
-
989
- #: views/sfsi_option_view4.php:575
990
- msgid "Enter Youtube User name"
991
- msgstr "نام کاربری یوتیوب را وارد کنید"
992
-
993
- #: views/sfsi_option_view4.php:582
994
- msgid "Enter Youtube Channel id"
995
- msgstr "شناسه کانال یوتیوب را وارد نمایید"
996
-
997
- #: views/sfsi_option_view4.php:616
998
- msgid "Retrieve the number of Pins"
999
- msgstr "نمایش تعداد پین"
1000
-
1001
- #: views/sfsi_option_view4.php:649
1002
- msgid "Retrieve the number of Instagram followers"
1003
- msgstr "نمایش تعداد دنبال‌کنندگان اینستاگرام"
1004
-
1005
- #: views/sfsi_option_view4.php:653
1006
- msgid "Enter Instagram User name"
1007
- msgstr "نام کاربری اینستاگرام را وارد نمایید"
1008
-
1009
- #: views/sfsi_option_view4.php:688
1010
- msgid "Retrieve the number of shares"
1011
- msgstr "نمایش تعداد اشتراک‌گذاری‌ها"
1012
-
1013
- #: views/sfsi_option_view5.php:341
1014
- msgid "Order of your icons"
1015
- msgstr "ترتیب آیکن‌هایتان"
1016
-
1017
- #: views/sfsi_option_view5.php:430
1018
- msgid "Drag and Drop"
1019
- msgstr "کشیدن و رها کردن"
1020
-
1021
- #: views/sfsi_option_view5.php:435 views/sfsi_option_view8.php:400
1022
- msgid "Size and spacing of your icons"
1023
- msgstr "اندازه و فضای بین آیکن‌هایتان"
1024
-
1025
- #: views/sfsi_option_view5.php:439 views/sfsi_option_view8.php:404
1026
- msgid "Size:"
1027
- msgstr "اندازه:"
1028
-
1029
- #: views/sfsi_option_view5.php:443 views/sfsi_option_view8.php:406
1030
- msgid "pixels wide and tall"
1031
- msgstr "پیکسل عرض و ارتفاع"
1032
-
1033
- #: views/sfsi_option_view5.php:446 views/sfsi_option_view8.php:408
1034
- msgid "Spacing between icons:"
1035
- msgstr "فضای بین آیکن‌ها:"
1036
-
1037
- #: views/sfsi_option_view5.php:450 views/sfsi_option_view8.php:211
1038
- #: views/sfsi_option_view8.php:220 views/sfsi_option_view8.php:229
1039
- #: views/sfsi_option_view8.php:238 views/sfsi_option_view8.php:410
1040
- msgid "Pixels"
1041
- msgstr "پیکسل"
1042
-
1043
- #: views/sfsi_option_view5.php:457
1044
- msgid "Alignments"
1045
- msgstr "چینش"
1046
-
1047
- #: views/sfsi_option_view5.php:461
1048
- msgid "Alignment of icons:"
1049
- msgstr "چینش آیکن‌ها:"
1050
-
1051
- #: views/sfsi_option_view5.php:466 views/sfsi_option_view9.php:684
1052
- msgid "Centered"
1053
- msgstr "وسط‌چین"
1054
-
1055
- #: views/sfsi_option_view5.php:469 views/sfsi_option_view6.php:92
1056
- #: views/sfsi_option_view8.php:496
1057
- msgid "Right"
1058
- msgstr "راست‌چین"
1059
-
1060
- #: views/sfsi_option_view5.php:472 views/sfsi_option_view6.php:90
1061
- #: views/sfsi_option_view8.php:493
1062
- msgid "Left"
1063
- msgstr "چپ‌چین"
1064
-
1065
- #: views/sfsi_option_view5.php:477
1066
- msgid "Icons per row:"
1067
- msgstr "تعداد آیکن در هر خط:"
1068
-
1069
- #: views/sfsi_option_view5.php:481
1070
- msgid "Leave empty if you dont want to define this"
1071
- msgstr "اگر مایل نیستید این را معین کنید خالی بگذارید"
1072
-
1073
- #: views/sfsi_option_view5.php:488
1074
- msgid "Language & Button-text"
1075
- msgstr "زبان و متن کلید"
1076
-
1077
- #: views/sfsi_option_view5.php:493
1078
- msgid "Follow-button:"
1079
- msgstr "دکمه دنبال:"
1080
-
1081
- #: views/sfsi_option_view5.php:499 views/sfsi_option_view5.php:520
1082
- #: views/sfsi_option_view5.php:541 views/sfsi_option_view5.php:562
1083
- #: views/sfsi_option_view9.php:111
1084
- msgid "Preview:"
1085
- msgstr "پیش‌نمایش:"
1086
-
1087
- #: views/sfsi_option_view5.php:514
1088
- msgid "Facebook «Visit»-icon:"
1089
- msgstr "آیکن «بازدید» فیس‌بوک:"
1090
-
1091
- #: views/sfsi_option_view5.php:535
1092
- msgid "Twitter «Visit»-icon:"
1093
- msgstr "آیکن «بازدید» توییتر:"
1094
-
1095
- #: views/sfsi_option_view5.php:748
1096
- msgid "New window"
1097
- msgstr "پنجره جدید"
1098
-
1099
- #: views/sfsi_option_view5.php:753
1100
- msgid ""
1101
- "If user clicks on your icons, do you want to open the page in a new window?"
1102
- msgstr ""
1103
- "اگر کاربر روی آیکن‌هایتان کلیک کرد، میخواهید صفحه مربوطه در یک پنجره جدید (تب "
1104
- "جدید از مرورگر) باز گردد؟"
1105
-
1106
- #: views/sfsi_option_view5.php:776
1107
- msgid "Sticking & Disable on mobile"
1108
- msgstr "در حالت موبایل بچسب و غیرفعال شو"
1109
-
1110
- #: views/sfsi_option_view5.php:779
1111
- msgid ""
1112
- "If you decided to show your icons via a widget, you can add the effect that "
1113
- "when the user scrolls down, the icons will stick at the top of the screen "
1114
- "so that they are still displayed even if the user scrolled all the way down. "
1115
- "Do you want to do that?"
1116
- msgstr ""
1117
- "اگر تصمیم دارید آیکن‌هایتان را در یک ابزارک نمایش دهید، میتوانید حالتی را "
1118
- "برگزینید که وقتی کاربر به سمت پایین آمد آیکون‌ها در بالای صفحه‌نمایش بچسبند و "
1119
- "هرچقدر کاربر به سمت پایین سایت پیمایش (اسکرول) کند همچنان قابل دیدن باشند. "
1120
- "آیا میخواهید این کار انجام شود؟"
1121
-
1122
- #: views/sfsi_option_view5.php:802
1123
- msgid "Disable float icons on mobile devices"
1124
- msgstr "آیکن‌های شناور در حالت موبایل غیرفعال باشند"
1125
-
1126
- #: views/sfsi_option_view5.php:824
1127
- msgid "Disable auto-scaling feature for mobile devices (\"viewport\" meta tag)"
1128
- msgstr ""
1129
- "ویژگی auto-scaling در دستگاه‌های موبایل غیرفعال شود (تگ متای \"viewport\")"
1130
-
1131
- #: views/sfsi_option_view5.php:848
1132
- msgid "Mouseover text"
1133
- msgstr "متنی که وقتی ماوس روی آن قرار گرفت نشان دهد"
1134
-
1135
- #: views/sfsi_option_view5.php:851
1136
- msgid ""
1137
- "If you’ve given your icon only one function (i.e. no pop-up where user can "
1138
- "perform different actions) then you can define here what text will be "
1139
- "displayed if a user moves his mouse over the icon:"
1140
- msgstr ""
1141
- "اگر به آیکن‌تان تنها یک امکان داده‌اید (برای نمونه هیچ پاپ‌آپی برای آزادی عمل "
1142
- "کاربر ارایه نکردید) اینجا مشخص کنید هنگامی که کاربر ماوس خود را روی آیکن "
1143
- "آورد چه متنی نمایش داده شود:"
1144
-
1145
- #: views/sfsi_option_view6.php:27
1146
- msgid ""
1147
- "The selections you made so far were to display the subscriptions/ social "
1148
- "media icons for your site in general (in a widget on the sidebar). You can "
1149
- "also display icons at the end of every post, encouraging users to subscribe/"
1150
- "like/share after they’ve read it. The following buttons will be added:"
1151
- msgstr ""
1152
- "انتخابی که کردید در حال حاضر مربوط به نمایش آیکن‌های اشتراک و شبکه‌های اجتماعی "
1153
- "بطور معمول برای سایتتان است (در ابزارک نوار ابزار کناری). شما همچنین "
1154
- "میتوانید آیکن‌ها را در انتهای هر نوشته نمایش دهید، و کاربران را تشویق به "
1155
- "مشترک‌شدن، لایک‌کردن، یا به اشتراک گذاری مطالبتان کنید. کلیدهای زیر اضافه "
1156
- "خواهند شد:"
1157
-
1158
- #: views/sfsi_option_view6.php:43
1159
- msgid "Those are usually all you need:"
1160
- msgstr "آنها همه آن چیزیست که نیاز دارید:"
1161
-
1162
- #: views/sfsi_option_view6.php:47
1163
- msgid "Facebook is No.1 in liking, so it’s a must have"
1164
- msgstr "فیس‌بوک در لایک کردن شماره ۱ است، پس باید داشته باشد"
1165
-
1166
- #: views/sfsi_option_view6.php:53
1167
- msgid "Share-button covers all other platforms for sharing"
1168
- msgstr "دکمه اشتراک‌گذاری تمامی سایر روش‌های اشتراک‌گذاری موجود را پوشش میدهد"
1169
-
1170
- #: views/sfsi_option_view6.php:58
1171
- msgid "So: do you want to display those at the end of every post?"
1172
- msgstr "پس، شما میخواهید آنها را در انتهای هر نوشته نمایش دهید؟"
1173
-
1174
- #: views/sfsi_option_view6.php:78
1175
- msgid "Options:"
1176
- msgstr "تنظیمات:"
1177
-
1178
- #: views/sfsi_option_view6.php:82 views/sfsi_option_view8.php:484
1179
- msgid "Text to appear before the sharing icons:"
1180
- msgstr "متن پیش از ظاهر شدن آیکن‌های اشتراک‌گذاری:"
1181
-
1182
- #: views/sfsi_option_view6.php:87 views/sfsi_option_view8.php:489
1183
- msgid "Alignment of share icons:"
1184
- msgstr "چینش آیکن‌های اشتراک‌گذاری:"
1185
-
1186
- #: views/sfsi_option_view6.php:97 views/sfsi_option_view8.php:385
1187
- msgid "Do you want to display the counts?"
1188
- msgstr "آیا میخواهید تعداد نمایش داده شود؟"
1189
-
1190
- #: views/sfsi_option_view6.php:99 views/sfsi_option_view8.php:388
1191
- msgid "YES"
1192
- msgstr "آری"
1193
-
1194
- #: views/sfsi_option_view6.php:101 views/sfsi_option_view8.php:390
1195
- msgid "NO"
1196
- msgstr "خیر"
1197
-
1198
- #: views/sfsi_option_view7.php:48
1199
- msgid ""
1200
- "You can increase chances that people share or follow you by displaying a pop-"
1201
- "up asking them to. You can define the design and layout below:"
1202
- msgstr ""
1203
- "شما میتوانید شانس اینکه مردم سایتتان را به اشتراک بگذارند یا دنبال کنند را "
1204
- "با نمایش یک پاپ‌آپ سوال‌کننده بیشتر کنید. میتوانید جانمایی و طراحی آن را در "
1205
- "پایین تنظیم نمایید:"
1206
-
1207
- #: views/sfsi_option_view7.php:54
1208
- msgid "Enjoy this site? Please follow and like us!"
1209
- msgstr "از این سایت لذت میبرید؟ لطفاً ما را لایک کرده و دنبال کنید!"
1210
-
1211
- #: views/sfsi_option_view7.php:143
1212
- msgid "Text and Design"
1213
- msgstr "متن و طراحی"
1214
-
1215
- #: views/sfsi_option_view7.php:147
1216
- msgid "Text Options"
1217
- msgstr "تنظیمات متن"
1218
-
1219
- #: views/sfsi_option_view7.php:150 views/sfsi_option_view9.php:329
1220
- #: views/sfsi_option_view9.php:409 views/sfsi_option_view9.php:486
1221
- msgid "Text:"
1222
- msgstr "متن:"
1223
-
1224
- #: views/sfsi_option_view7.php:154 views/sfsi_option_view9.php:342
1225
- #: views/sfsi_option_view9.php:422 views/sfsi_option_view9.php:499
1226
- msgid "Font:"
1227
- msgstr "قلم:"
1228
-
1229
- #: views/sfsi_option_view7.php:200 views/sfsi_option_view9.php:428
1230
- #: views/sfsi_option_view9.php:505
1231
- msgid "Font style:"
1232
- msgstr "ظاهر قلم:"
1233
-
1234
- #: views/sfsi_option_view7.php:219
1235
- msgid "Font color:"
1236
- msgstr "رنگ قلم:"
1237
-
1238
- #: views/sfsi_option_view7.php:224
1239
- msgid "Font size:"
1240
- msgstr "اندازه قلم:"
1241
-
1242
- #: views/sfsi_option_view7.php:231
1243
- msgid "Icon Box Layout"
1244
- msgstr "جانمایی جعبه‌آیکن"
1245
-
1246
- #: views/sfsi_option_view7.php:235
1247
- msgid "Backgroud Color:"
1248
- msgstr "رنگ پس‌زمینه:"
1249
-
1250
- #: views/sfsi_option_view7.php:241
1251
- msgid "Border Color:"
1252
- msgstr "رنگ کادر دور:"
1253
-
1254
- #: views/sfsi_option_view7.php:249
1255
- msgid "Border Thinckness:"
1256
- msgstr "ضخامت کادر دور:"
1257
-
1258
- #: views/sfsi_option_view7.php:257
1259
- msgid "Border Shadow:"
1260
- msgstr "سایه کادر دور:"
1261
-
1262
- #: views/sfsi_option_view7.php:263
1263
- msgid "On"
1264
- msgstr "روشن"
1265
-
1266
- #: views/sfsi_option_view7.php:269
1267
- msgid "Off"
1268
- msgstr "خاموش"
1269
-
1270
- #: views/sfsi_option_view7.php:279
1271
- msgid "Where shall the pop-up be shown?"
1272
- msgstr "پاپ‌آپ کجا نمایش داده شود؟"
1273
-
1274
- #: views/sfsi_option_view7.php:284
1275
- msgid "Nowhere"
1276
- msgstr "هیچ‌کجا"
1277
-
1278
- #: views/sfsi_option_view7.php:290
1279
- msgid "On every page"
1280
- msgstr "در همه صفحات"
1281
-
1282
- #: views/sfsi_option_view7.php:296
1283
- msgid "On blog posts only"
1284
- msgstr "تنها در نوشته‌های وبلاگ"
1285
-
1286
- #: views/sfsi_option_view7.php:302
1287
- msgid "On selected pages only"
1288
- msgstr "تنها در برگه‌های انتخاب شده"
1289
-
1290
- #: views/sfsi_option_view7.php:345
1291
- msgid "Please hold CTRL key to select multiple pages"
1292
- msgstr "لطفاً کلید کنترل (Ctrl) را برای انتخاب صفحات متعدد نگه‌دارید"
1293
-
1294
- #: views/sfsi_option_view7.php:351
1295
- msgid "When shall the pop-up be shown?"
1296
- msgstr "پاپ‌آپ چه‌وقتی نمایش داده شود؟"
1297
-
1298
- #: views/sfsi_option_view7.php:356
1299
- msgid "Once"
1300
- msgstr "یکدفعه"
1301
-
1302
- #: views/sfsi_option_view7.php:358
1303
- msgid "seconds after the user arrived on the site"
1304
- msgstr "ثانیه‌هایی پس از ورود کاربر به سایت"
1305
-
1306
- #: views/sfsi_option_view7.php:364
1307
- msgid "Every time user scrolls to the end of the page"
1308
- msgstr "هروقت کاربر به انتهای برگه رسید (اسکرول کرد)"
1309
-
1310
- #: views/sfsi_option_view8.php:112
1311
- msgid "Show them via a widget"
1312
- msgstr "از طریق ابزارک نمایش‌شان بده"
1313
-
1314
- #: views/sfsi_option_view8.php:125
1315
- msgid "Go to the widget area and drag & drop it where you want to have it!"
1316
- msgstr ""
1317
- "به قسمت ابزارک‌ها رفته و با کشیدن و رها کردن هرجا که مایل هستید قرار دهید!"
1318
-
1319
- #: views/sfsi_option_view8.php:142
1320
- msgid "Float them on the page"
1321
- msgstr "روی صفحه شناورشان کن"
1322
-
1323
- #: views/sfsi_option_view8.php:160
1324
- msgid "Top left"
1325
- msgstr "بالا سمت چپ"
1326
-
1327
- #: views/sfsi_option_view8.php:167
1328
- msgid "Top right"
1329
- msgstr "بالا سمت راست"
1330
-
1331
- #: views/sfsi_option_view8.php:174
1332
- msgid "Center left"
1333
- msgstr "وسط سمت چپ"
1334
-
1335
- #: views/sfsi_option_view8.php:181
1336
- msgid "Center right"
1337
- msgstr "وسط سمت راست"
1338
-
1339
- #: views/sfsi_option_view8.php:188
1340
- msgid "Bottom left"
1341
- msgstr "پایین سمت چپ"
1342
-
1343
- #: views/sfsi_option_view8.php:195
1344
- msgid "Bottom right"
1345
- msgstr "پایین سمت راست"
1346
-
1347
- #: views/sfsi_option_view8.php:202
1348
- msgid "Margin From:"
1349
- msgstr "فاصله از:"
1350
-
1351
- #: views/sfsi_option_view8.php:207
1352
- msgid "Top:"
1353
- msgstr "بالا:"
1354
-
1355
- #: views/sfsi_option_view8.php:216
1356
- msgid "Bottom:"
1357
- msgstr "پایین:"
1358
-
1359
- #: views/sfsi_option_view8.php:225
1360
- msgid "Left:"
1361
- msgstr "چپ:"
1362
-
1363
- #: views/sfsi_option_view8.php:234
1364
- msgid "Right:"
1365
- msgstr "راست:"
1366
-
1367
- #: views/sfsi_option_view8.php:253
1368
- msgid "Place them manually"
1369
- msgstr "دستی قرار بده"
1370
-
1371
- #: views/sfsi_option_view8.php:266
1372
- msgid "Place the following string into your theme codes: "
1373
- msgstr "متن زیر را در کد پوسته سایتتان وارد نمایید:"
1374
-
1375
- #: views/sfsi_option_view8.php:270
1376
- msgid ""
1377
- "Or use the shortcode [DISPLAY_ULTIMATE_PLUS] to display them wherever you "
1378
- "want."
1379
- msgstr ""
1380
- "یا اینکه برای نمایش دلخواه در هرجایی که میخواهید از کد کوتاه "
1381
- "[DISPLAY_ULTIMATE_PLUS] استفاده نمایید."
1382
-
1383
- #: views/sfsi_option_view8.php:282
1384
- msgid "Show them before or after posts"
1385
- msgstr "قبل یا بعد از نوشته نمایش‌شان بده"
1386
-
1387
- #: views/sfsi_option_view8.php:296
1388
- msgid "Here you have two options:"
1389
- msgstr "اینجا شما دو انتخاب دارید:"
1390
-
1391
- #: views/sfsi_option_view8.php:304
1392
- msgid "Display rectangle icons"
1393
- msgstr "آیکن‌های مربعی نشان بده"
1394
-
1395
- #: views/sfsi_option_view8.php:310
1396
- msgid "Display the icons I selected above"
1397
- msgstr "آیکن‌هایی را که در بالا انتخاب کردم نمایش بده"
1398
-
1399
- #: views/sfsi_option_view8.php:318
1400
- msgid ""
1401
- "Rectangle icons spell out the «call to action» which increases chances that "
1402
- "visitors do it."
1403
- msgstr ""
1404
- "آیکن‌های مربعی میگویند «اقدام کن» که شانس اقدام توسط بازدیدکننده را افزایش "
1405
- "میدهد."
1406
-
1407
- #: views/sfsi_option_view8.php:321
1408
- msgid "Select the icons you want to show:"
1409
- msgstr "آیکنی که میخواهید نمایش داده شود را انتخاب نمایید:"
1410
-
1411
- #: views/sfsi_option_view8.php:371
1412
- msgid "may impact loading speed"
1413
- msgstr "روی سرعت باز شدن سایت تاثیرگذار است"
1414
-
1415
- #: views/sfsi_option_view8.php:421
1416
- msgid "Display them:"
1417
- msgstr "نمایش‌شان بده در:"
1418
-
1419
- #: views/sfsi_option_view8.php:424
1420
- msgid "On Post Pages"
1421
- msgstr "در برگه‌ها"
1422
-
1423
- #: views/sfsi_option_view8.php:430 views/sfsi_option_view8.php:459
1424
- msgid "Before posts"
1425
- msgstr "پیش از نوشته‌ها"
1426
-
1427
- #: views/sfsi_option_view8.php:436 views/sfsi_option_view8.php:465
1428
- msgid "After posts"
1429
- msgstr "پس از نوشته‌ها"
1430
-
1431
- #: views/sfsi_option_view8.php:453
1432
- msgid "On Homepage"
1433
- msgstr "در صفحه اول"
1434
-
1435
- #: views/sfsi_option_view8.php:499
1436
- msgid "Center"
1437
- msgstr "مرکز"
1438
-
1439
- #: views/sfsi_option_view9.php:98
1440
- msgid ""
1441
- "In addition to the email- or follow-icon you can also show a subscription "
1442
- "form which maximizes chances that people subscribe to your site. To get "
1443
- "access to the emails who subscribe, please"
1444
- msgstr ""
1445
- "به اضافه در ایمیل یا آیکن‌های دنبال‌کردن شما میتوانید یک فرم اشتراک نمایش دهید "
1446
- "که شانس مشترک شدن در سایت‌تان را به حداکثر میرساند. برای اینکه به ایمیل مشترک "
1447
- "دسترسی داشته باشید، لطفاً"
1448
-
1449
- #: views/sfsi_option_view9.php:102
1450
- msgid "claim your feed."
1451
- msgstr "خوراک‌خوانتان را درخواست کنید."
1452
-
1453
- #: views/sfsi_option_view9.php:121
1454
- msgid "Place it on your site"
1455
- msgstr "در سایتتان قرار دهید"
1456
-
1457
- #: views/sfsi_option_view9.php:124
1458
- msgid "You can place the form by different methods:"
1459
- msgstr "میتوانید فرم را با روش‌های مختلفی قرار دهید:"
1460
-
1461
- #: views/sfsi_option_view9.php:130
1462
- msgid "Widget:"
1463
- msgstr "ابزارک:"
1464
-
1465
- #: views/sfsi_option_view9.php:132
1466
- msgid "Go to the widget settings and drag and drop it to the sidebar:"
1467
- msgstr ""
1468
- "به تنظیمات ابزارک رفته و با کشیدن و رها کردن، آن را به نوارابزار کناری بکشید:"
1469
-
1470
- #: views/sfsi_option_view9.php:139
1471
- msgid "Shortcode:"
1472
- msgstr "کد کوتاه (shortcode):"
1473
-
1474
- #: views/sfsi_option_view9.php:142
1475
- msgid "Use the shortcode"
1476
- msgstr "از این کد کوتاه استفاده کن"
1477
-
1478
- #: views/sfsi_option_view9.php:146
1479
- msgid "to place it into your codes"
1480
- msgstr "برای استفاده در میان کدهایتان"
1481
-
1482
- #: views/sfsi_option_view9.php:150
1483
- msgid "Copy & paste HTML code:"
1484
- msgstr "این کد HTML را copy و paste کنید:"
1485
-
1486
- #: views/sfsi_option_view9.php:164 views/sfsi_option_view9.php:699
1487
- msgid "Get new posts by email:"
1488
- msgstr "دریافت نوشته‌های جدید با ایمیل:"
1489
-
1490
- #: views/sfsi_option_view9.php:186
1491
- msgid "Define text & design (optional)"
1492
- msgstr "متن و طرح را تعیین کنید (اختیاری)"
1493
-
1494
- #: views/sfsi_option_view9.php:189
1495
- msgid "Overall size & border"
1496
- msgstr "اندازه و کادر دور نهایی"
1497
-
1498
- #: views/sfsi_option_view9.php:201
1499
- msgid "Adjust size to space on website?"
1500
- msgstr "اندازه متناسب با فضای سایت تنظیم شود؟"
1501
-
1502
- #: views/sfsi_option_view9.php:224
1503
- msgid "Height"
1504
- msgstr "ارتفاع"
1505
-
1506
- #: views/sfsi_option_view9.php:230 views/sfsi_option_view9.php:240
1507
- #: views/sfsi_option_view9.php:276 views/sfsi_option_view9.php:376
1508
- #: views/sfsi_option_view9.php:462 views/sfsi_option_view9.php:533
1509
- msgid "pixels"
1510
- msgstr "پیکسل"
1511
-
1512
- #: views/sfsi_option_view9.php:235
1513
- msgid "Width"
1514
- msgstr "عرض"
1515
-
1516
- #: views/sfsi_option_view9.php:247
1517
- msgid "Border?"
1518
- msgstr "کادر دور؟"
1519
-
1520
- #: views/sfsi_option_view9.php:270
1521
- msgid "Thickness"
1522
- msgstr "ضخامت"
1523
-
1524
- #: views/sfsi_option_view9.php:281
1525
- msgid "Color"
1526
- msgstr "رنگ"
1527
-
1528
- #: views/sfsi_option_view9.php:296
1529
- msgid "Background color:"
1530
- msgstr "رنگ پس‌زمینه:"
1531
-
1532
- #: views/sfsi_option_view9.php:317
1533
- msgid "Text above entry field"
1534
- msgstr "متن بالای فیلد ورودی"
1535
-
1536
- #: views/sfsi_option_view9.php:348
1537
- msgid " Font style:"
1538
- msgstr " ظاهر قلم:"
1539
-
1540
- #: views/sfsi_option_view9.php:357 views/sfsi_option_view9.php:514
1541
- msgid "Font color"
1542
- msgstr "رنگ قلم"
1543
-
1544
- #: views/sfsi_option_view9.php:370 views/sfsi_option_view9.php:456
1545
- #: views/sfsi_option_view9.php:527
1546
- msgid "Font size"
1547
- msgstr "اندازه قلم"
1548
-
1549
- #: views/sfsi_option_view9.php:384 views/sfsi_option_view9.php:449
1550
- #: views/sfsi_option_view9.php:541
1551
- msgid "Alignment:"
1552
- msgstr "چینش:"
1553
-
1554
- #: views/sfsi_option_view9.php:397
1555
- msgid "Entry field"
1556
- msgstr "فیلد ورودی"
1557
-
1558
- #: views/sfsi_option_view9.php:474
1559
- msgid "Subscribe button"
1560
- msgstr "دکمه اشتراک"
1561
-
1562
- #: views/sfsi_option_view9.php:550
1563
- msgid "Button color:"
1564
- msgstr "رنگ کلید:"
1565
-
1566
- #: views/sfsi_option_view9.php:681
1567
- msgid "Left Align"
1568
- msgstr "چپ‌چین"
1569
-
1570
- #: views/sfsi_option_view9.php:687
1571
- msgid "Right Align"
1572
- msgstr "راست‌چین"
1573
-
1574
- #: views/sfsi_options_view.php:10
1575
- msgid ""
1576
- "We found errors in your javascript which may cause the plugin to not work "
1577
- "properly. Please fix the error:"
1578
- msgstr ""
1579
- "ما خطایی در javascript شما پیدا کردیم که ممکن است مانع از کارکرد درست افزونه "
1580
- "شود. لطفاً این خطا را برطرف کنید:"
1581
-
1582
- #: views/sfsi_options_view.php:52
1583
- msgid ""
1584
- "New: You can now also show a subscription form on your site, increasing sign-"
1585
- "ups! (Question 8)"
1586
- msgstr ""
1587
- "جدید: حالا شما قادر خواهید بود که یک فرم اشتراک در سایتتان نمایش دهید، که "
1588
- "تعداد ثبت‌نام ها را زیادتر میکند (سوال ۸)"
1589
-
1590
- #: views/sfsi_options_view.php:54
1591
- msgid ""
1592
- "If question 8 gets displayed in a funny way then please reload the page by "
1593
- "pressing Control+F5(PC) or Command+R(Mac)"
1594
- msgstr ""
1595
- "اگر سوال ۸ را به شکل خنده‌داری میبینید لطفاً این صفحه را به‌کمک کلیدهای Ctrl+F5 "
1596
- "(در PC) یا Command+R (در مکینتاش) مجدداً بارگذاری کنید"
1597
-
1598
- #: views/sfsi_options_view.php:64
1599
- msgid "Welcome to the Ultimate Social Media Icons PLUS plugin!"
1600
- msgstr "به افزونه Ultimate Social Media Icons PLUS خوش آمدید!"
1601
-
1602
- #: views/sfsi_options_view.php:67
1603
- msgid ""
1604
- "This plugin is 100% FREE and will fulfill all your subscription/sharing/"
1605
- "liking needs!"
1606
- msgstr ""
1607
- "این افزونه ۱۰۰٪ رایگان است و تمامی نیازهای شما را در جذب مشترک، به "
1608
- "استراک‌گذاری مطالب، و گرفتن لایک برآورده میکند."
1609
-
1610
- #: views/sfsi_options_view.php:70
1611
- msgid ""
1612
- "Simply answer the questions below (at least the first 3) by clicking on them "
1613
- "- that`s it!"
1614
- msgstr ""
1615
- "به راحتی با کلیک کردن به سوالات زیر پاسخ دهید (دست‌کم ۳ تای اولی) - فقط همین!"
1616
-
1617
- #: views/sfsi_options_view.php:73
1618
- msgid ""
1619
- "If you have questions, or something doesn`t work as it should, please read "
1620
- "the FAQ:"
1621
- msgstr ""
1622
- "اگر سوالی دارید یا چیزی آنطور که باید، کار نمیکند، لطفاً صفحه سوالات متداول "
1623
- "را ببینید:"
1624
-
1625
- #: views/sfsi_options_view.php:84
1626
- msgid "Which icons do you want to show on your site?"
1627
- msgstr "میخواهید کدام آیکن در سایت‌تان نمایش داده شود؟"
1628
-
1629
- #: views/sfsi_options_view.php:92
1630
- msgid "What do you want the icons to do?"
1631
- msgstr "میخواهید آیکن‌ها برایتان چه‌کار کنند؟"
1632
-
1633
- #: views/sfsi_options_view.php:99
1634
- msgid "Where shall they be displayed?"
1635
- msgstr "کجا باید نمایش داده شوند؟"
1636
-
1637
- #: views/sfsi_options_view.php:105
1638
- msgid "Optional"
1639
- msgstr "اختیاری"
1640
-
1641
- #: views/sfsi_options_view.php:110
1642
- msgid "What design and animation do you want to give your icons?"
1643
- msgstr "چه طرحی و پویانمایی‌ای میخواهید به آیکن‌هایتان بدهید؟"
1644
-
1645
- #: views/sfsi_options_view.php:117
1646
- msgid "Do you want to display \"counts\" next to your main icons?"
1647
- msgstr "آیا میخواهید \"تعداد\" در کنار آیکن‌های اصلی‌تان نمایش داده شود؟"
1648
-
1649
- #: views/sfsi_options_view.php:124
1650
- msgid "Any other wishes for your main icons?"
1651
- msgstr "خواسته دیگری از آیکن‌های اصلی‌تان دارید؟"
1652
-
1653
- #: views/sfsi_options_view.php:136
1654
- msgid "Do you want to display a pop-up, asking people to subscribe?"
1655
- msgstr "آیا میخواهید یک پاپ‌آپ جهت مشترک‌شدن به کاربران نمایش داده شود؟"
1656
-
1657
- #: views/sfsi_options_view.php:143
1658
- msgid "Do you want to show a subscription form (increases sign ups)?"
1659
- msgstr "آیا میخواهید یک فرم اشتراک نمایش داده شود (ثبت‌نام‌ها را افزایش میدهد)؟"
1660
-
1661
- #: views/sfsi_options_view.php:159
1662
- msgid ""
1663
- "This plugin is 100% free. Please do us a BIG favor and give us a 5 star "
1664
- "rating"
1665
- msgstr ""
1666
- "این افزونه ۱۰۰٪ رایگان میباشد. لطف بزرگی بکنید و امتیاز ۵ ستاره به ما بدهید"
1667
-
1668
- #: views/sfsi_options_view.php:161
1669
- msgid "here"
1670
- msgstr "اینجا"
1671
-
1672
- #: views/sfsi_options_view.php:163
1673
- msgid ""
1674
- "If you`re not happy, please get in touch with us at support@ultimatelysocial."
1675
- "com, so that we can sort it out.Thank you!"
1676
- msgstr ""
1677
- "اگر رضایت ندارید، با ما از طریق support@ultimatelysocial.com در تماس باشید، "
1678
- "که بتونیم درستش کنیم. ممنون از شما!"
1679
-
1680
- #: views/sfsi_options_view.php:166
1681
- msgid "Need top-notch Wordpress development work at a competitive price?"
1682
- msgstr "به کار توسعه وردپرسی درجه یک با قیمت رقابتی نیاز دارید؟"
1683
-
1684
- #: views/sfsi_options_view.php:168
1685
- msgid "Visit us on ultimatelysocial.com"
1686
- msgstr "از ما در ultimatelysocial.com دیدن کنید"
1687
-
1688
- #: views/sfsi_pop_content.php:31
1689
- msgid "Steps:"
1690
- msgstr "مراحل:"
1691
-
1692
- #: views/sfsi_pop_content.php:35 views/sfsi_pop_content.php:347
1693
- msgid "Click on << Upload >> below"
1694
- msgstr "روی «آپلود» در پایین کلیک کنید"
1695
-
1696
- #: views/sfsi_pop_content.php:38 views/sfsi_pop_content.php:350
1697
- msgid "Upload the icon into the media gallery"
1698
- msgstr "آیکن را به درون رسانه آپلود کنید"
1699
-
1700
- #: views/sfsi_pop_content.php:41
1701
- msgid "Click on << Insert into post >> "
1702
- msgstr "روی «درج در نوشته» کلیک کنید"
1703
-
1704
- #: views/sfsi_pop_content.php:90
1705
- msgid "Move over the Facebook-icon…"
1706
- msgstr "منتقل کن به بالای آیکن فیس‌بوک"
1707
-
1708
- #: views/sfsi_pop_content.php:116 views/sfsi_pop_content.php:271
1709
- msgid "Move over the “+ icon” to see the sharing options"
1710
- msgstr "منتقل کن به بالای آیکن \"+\" تا تنظیمات اشتراک‌گذاری را ببینید"
1711
-
1712
- #: views/sfsi_pop_content.php:145
1713
- msgid "Move over the Twiiter-icon…"
1714
- msgstr "منتقل کن به بالای آیکن توییتر"
1715
-
1716
- #: views/sfsi_pop_content.php:198
1717
- msgid "Move over the YouTube-icon…"
1718
- msgstr "منتقل کن به بالای آیکن یوتیوب"
1719
-
1720
- #: views/sfsi_pop_content.php:221
1721
- msgid "Move over the Pinterest-icon…"
1722
- msgstr "منتقل کن به بالای آیکن پین‌ترست"
1723
-
1724
- #: views/sfsi_pop_content.php:249
1725
- msgid "Move over the LinkedIn-icon…"
1726
- msgstr "منتقل کن به بالای آیکن لینکدین"
1727
-
1728
- #: views/sfsi_pop_content.php:285
1729
- msgid ""
1730
- "Note: Also if you already offer a newsletter it makes sense to offer this "
1731
- "option too, because it will get you more readers as explained"
1732
- msgstr ""
1733
- "توجه: همچنین اگر هم‌اکنون یک روزنامه ارائه داده‌اید، بهتر است این امکان را هم "
1734
- "ارائه کنید، بدلیل اینکه همانطور که توضیح داده شد تعداد خواننده‌های بیشتری "
1735
- "بدست میاورید"
1736
-
1737
- #: views/sfsi_pop_content.php:292
1738
- msgid "Ok, keep it active for the time being, I want to see how it works"
1739
- msgstr "بسیار خب، به‌طور موقت فعالش کن، تا ببینم چگونه کار میکند"
1740
-
1741
- #: views/sfsi_pop_content.php:296
1742
- msgid "Deactivate it"
1743
- msgstr "غیرفعالش کن"
1744
-
1745
- #: views/sfsi_pop_content.php:304
1746
- msgid ""
1747
- "Ok, fine, however for using this plugin for FREE, please support us by "
1748
- "activating a link back to our site:"
1749
- msgstr ""
1750
- "بسیار خب، خوب است، به هرحال چون از این افزونه بصورت رایگان استفاده میکنید، "
1751
- "لطفاْ ما را با قرار دادن لینکمان در سایتتان حمایت کنید:"
1752
-
1753
- #: views/sfsi_pop_content.php:309
1754
- msgid "Ok, activate link"
1755
- msgstr "باشه، لینک را فعال کن"
1756
-
1757
- #: views/sfsi_pop_content.php:313
1758
- msgid "Don’t activate link"
1759
- msgstr "لینک را فعال نکن"
1760
-
1761
- #: views/sfsi_pop_content.php:321
1762
- msgid ""
1763
- "You’re a toughie. Last try: As a minimum, could you please review this "
1764
- "plugin (with 5 stars)? It only takes a minute. Thank you!"
1765
- msgstr ""
1766
- "شما خیلی خشنید! برای آخرین بار: دست کم، ممکن است لطفاً افزونه ما را ۵ ستاره "
1767
- "کنید؟ فقط یک دقیقه زمان میبرد. ممنون از شما!"
1768
-
1769
- #: views/sfsi_pop_content.php:325
1770
- msgid "Ok, Review it"
1771
- msgstr "باشه، بررسی کن"
1772
-
1773
- #: views/sfsi_pop_content.php:329
1774
- msgid "Don’t review and exit"
1775
- msgstr "بررسی نکن و خارج شو"
1776
-
1777
- #: views/sfsi_pop_content.php:341
1778
- msgid "Upload custom icons"
1779
- msgstr "آپلود آیکن‌های سفارشی"
1780
-
1781
- #: views/sfsi_pop_content.php:344
1782
- msgid ""
1783
- "Here you can upload custom icons which perform the same actions as the "
1784
- "standard icons."
1785
- msgstr ""
1786
- "اینجا میتوانید آیکن‌های سفارشی که مانند آیکن‌های استاندارد کار خواهند کرد را "
1787
- "آپلود نمایید."
1788
-
1789
- #: views/sfsi_pop_content.php:353
1790
- msgid "Click on << Insert into post >>"
1791
- msgstr "روی «درج در نوشته» کلیک کنید"
1792
-
1793
- #: views/sfsi_pop_content.php:583
1794
- msgid "I'm done!"
1795
- msgstr "انجام دادم!"
1796
-
1797
- #. Plugin Name of the plugin/theme
1798
- msgid "Ultimate Social Media PLUS"
1799
- msgstr "Ultimate Social Media PLUS"
1800
-
1801
- #. #-#-#-#-# plugin.pot (Ultimate Social Media PLUS 2.3.7) #-#-#-#-#
1802
- #. Plugin URI of the plugin/theme
1803
- #. #-#-#-#-# plugin.pot (Ultimate Social Media PLUS 2.3.7) #-#-#-#-#
1804
- #. Author URI of the plugin/theme
1805
- msgid "http://ultimatelysocial.com"
1806
- msgstr "http://ultimatelysocial.com"
1807
-
1808
- #. Description of the plugin/theme
1809
- msgid ""
1810
- "The best social media plugin on the market. And 100% FREE. Allows you to add "
1811
- "social media & share icons to your blog (esp. Facebook, Twitter, Email, RSS, "
1812
- "Pinterest, Instagram, LinkedIn, Share-button). It offers a wide "
1813
- "range of design options and other features."
1814
- msgstr ""
1815
- "بهترین افزونه شبکه اجتماعی در فروشگاه. و ۱۰۰٪ رایگان. به شما امکان اضافه "
1816
- "نمودن آیکن‌های شبکه‌های اجتماعی و اشتراک‌گذاری را میدهد (بخصوص فیس‌بوک، توییتر، "
1817
- "ایمیل، فید RSS، پین‌ترست، اینستاگرام، گوگل‌پلاس، لیندکدین، و کلید "
1818
- "اشتراک‌گذاری). این افزونه گستره وسیعی از اختیارات طراحی و سایر ویژگی‌ها را در "
1819
- "اختیارتان میگذارد."
1820
-
1821
- #. Author of the plugin/theme
1822
- msgid "UltimatelySocial"
1823
- msgstr "UltimatelySocial"
1
+ # Copyright (C) 2016 Ultimate Social Media PLUS
2
+ # This file is distributed under the same license as the Ultimate Social Media PLUS package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: Ultimate Social Media PLUS 2.3.7\n"
6
+ "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ultimate-social-"
7
+ "media-plus\n"
8
+ "POT-Creation-Date: 2016-03-31 14:44:55+00:00\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "PO-Revision-Date: 2016-04-05 18:35+0530\n"
13
+ "Last-Translator: \n"
14
+ "Language-Team: Farshad Hosseinzadeh <f.hosseinzadeh1985@gmail.com>\n"
15
+ "X-Generator: Poedit 1.5.7\n"
16
+ "Language: Persian\n"
17
+
18
+ #: css/images/index.php:2 css/index.php:2
19
+ #: css/jquery-ui-1.10.4/images/index.php:2 css/jquery-ui-1.10.4/index.php:2
20
+ #: fonts/index.php:2 images/icons_theme/badge/index.php:2
21
+ #: images/icons_theme/cute/index.php:2 images/icons_theme/index.php:2
22
+ #: images/icons_theme/official/index.php:2
23
+ #: images/icons_theme/stitched/index.php:2 images/index.php:2 index.php:2
24
+ #: js/index.php:2 libs/controllers/index.php:2 libs/index.php:2
25
+ #: views/index.php:2
26
+ msgid "Access Denied"
27
+ msgstr "غیر قابل دسترس"
28
+
29
+ #: libs/sfsi_Init_JqueryCss.php:46 views/sfsi_option_view1.php:74
30
+ #: views/sfsi_option_view1.php:107 views/sfsi_option_view1.php:129
31
+ #: views/sfsi_option_view1.php:152
32
+ msgid "Read more"
33
+ msgstr "بیشتر بخوانید"
34
+
35
+ #: libs/sfsi_Init_JqueryCss.php:47 views/sfsi_option_view1.php:370
36
+ #: views/sfsi_option_view2.php:608 views/sfsi_option_view3.php:364
37
+ #: views/sfsi_option_view4.php:738 views/sfsi_option_view5.php:957
38
+ #: views/sfsi_option_view6.php:112 views/sfsi_option_view7.php:373
39
+ #: views/sfsi_option_view8.php:519 views/sfsi_option_view9.php:574
40
+ msgid "Save"
41
+ msgstr "ذخیره"
42
+
43
+ #: libs/sfsi_Init_JqueryCss.php:48
44
+ msgid "Saving"
45
+ msgstr "در حال ذخیره‌سازی"
46
+
47
+ #: libs/sfsi_Init_JqueryCss.php:49
48
+ msgid "Saved"
49
+ msgstr "ذخیره شد"
50
+
51
+ #: libs/sfsi_Init_JqueryCss.php:52
52
+ msgid "Collapse"
53
+ msgstr "باز کردن"
54
+
55
+ #: libs/sfsi_Init_JqueryCss.php:53 views/sfsi_options_view.php:153
56
+ msgid "Save All Settings"
57
+ msgstr "ذخیره تمام تنظیمات"
58
+
59
+ #: libs/sfsi_install_uninstall.php:430
60
+ msgid ""
61
+ "Error: It seems that CURL is disabled on your server. Please contact your "
62
+ "server administrator to install / enable CURL."
63
+ msgstr ""
64
+ "خطا: به‌نظر میرسد CURL در سرور شما فعال نمیباشد. لطفاً با مدیر سرور خود تماس "
65
+ "بگیرید، یا خودتان CURL را نصب، و یا فعال کنید."
66
+
67
+ #: libs/sfsi_install_uninstall.php:541
68
+ msgid ""
69
+ "Error : Please fix your theme to make plugins work correctly. Go to the "
70
+ "Theme Editor and insert the following string:"
71
+ msgstr ""
72
+ "خطا: لطفاً پوسته خود را درست کنید تا به افزونه‌ها امکان کارکرد درست را بدهد. "
73
+ "به ویرایشگر پوسته رفته و متن زیر را در آن قرار دهید:"
74
+
75
+ #: libs/sfsi_install_uninstall.php:541
76
+ msgid "Please enter it just before the following line of your header.php file:"
77
+ msgstr "لطفاً آن را قبل از آخرین خط فایل header.php (سربرگ) قرار دهید:"
78
+
79
+ #: libs/sfsi_install_uninstall.php:541 libs/sfsi_install_uninstall.php:565
80
+ msgid "Go to your theme editor: "
81
+ msgstr "به ویرایشگر پوسته خود بروید:"
82
+
83
+ #: libs/sfsi_install_uninstall.php:541 libs/sfsi_install_uninstall.php:565
84
+ msgid "click here"
85
+ msgstr "اینجا را کلیک کنید"
86
+
87
+ #: libs/sfsi_install_uninstall.php:565
88
+ msgid ""
89
+ "Error: Please fix your theme to make plugins work correctly. Go to the Theme "
90
+ "Editor and insert the following string as the first line of your theme's "
91
+ "footer.php file: "
92
+ msgstr ""
93
+ "خطا: لطفاً پوسته خود را درست کنید تا به افزونه‌ها امکان کارکرد درست را بدهد. "
94
+ "به ویرایشگر پوسته رفته و متن زیر را در اولین خط از فایل footer.php (پابرگ) "
95
+ "پوسته خود قرار دهید:"
96
+
97
+ #: libs/sfsi_install_uninstall.php:576
98
+ msgid ""
99
+ "Thank you for installing the Ultimate Social Media PLUS plugin. Please go to "
100
+ "the plugin's settings page to configure it: "
101
+ msgstr ""
102
+ "از اینکه افزونه Ultimate Social Media PLUS را نصب نمودید متشکریم. لطفاً برای "
103
+ "پیکربندی آن به صفحه تنظیمات افزونه بروید:"
104
+
105
+ #: libs/sfsi_install_uninstall.php:576 libs/sfsi_widget.php:106
106
+ #: ultimate_social_media_icons.php:579 views/sfsi_option_view1.php:265
107
+ #: views/sfsi_option_view8.php:127 views/sfsi_option_view9.php:134
108
+ #: views/sfsi_options_view.php:75
109
+ msgid "Click here"
110
+ msgstr "اینجا را کلیک کنید"
111
+
112
+ #: libs/sfsi_install_uninstall.php:585
113
+ msgid ""
114
+ "You`re using an old Wordpress version, which may cause several of your "
115
+ "plugins to not work correctly. Please upgrade"
116
+ msgstr ""
117
+ "شما از یک نسخه قدیمی وردپرس استفاده میکنید که ممکن است به افزونه امکان "
118
+ "کارکرد درست را ندهد. لطفاً به‌روزرسانی کنید."
119
+
120
+ #: libs/sfsi_install_uninstall.php:602
121
+ msgid ""
122
+ "We noticed you've been using the Ultimate Social Media PLUS Plugin for more "
123
+ "than 30 days. If you're happy with it, could you please do us a BIG favor "
124
+ "and give it a 5-star rating on Wordpress?"
125
+ msgstr ""
126
+ "ما متوجه شدیم که شما بیش از ۳۰ روز است که از افزونه Ultimate Social Media "
127
+ "PLUS استفاده میکنید. اگر شما با این افزونه خوشحالید، آیا ممکن است لطف بزرگی "
128
+ "کرده و افزونه ما را در وردپرس ۵ ستاره کنید؟"
129
+
130
+ #: libs/sfsi_install_uninstall.php:604
131
+ msgid "Ok, you deserved it"
132
+ msgstr "بله، شما شایستگی این را دارید"
133
+
134
+ #: libs/sfsi_install_uninstall.php:605
135
+ msgid "I already did"
136
+ msgstr "در حال حاضر این کار را انجام داده‌ام"
137
+
138
+ #: libs/sfsi_install_uninstall.php:606
139
+ msgid "No, not good enough"
140
+ msgstr "نه، به اندازه کافی خوب نیست"
141
+
142
+ #: libs/sfsi_plus_subscribe_widget.php:200 libs/sfsi_widget.php:99
143
+ msgid "Title"
144
+ msgstr "عنوان"
145
+
146
+ #: libs/sfsi_widget.php:105
147
+ msgid "Please go to the plugin page to set your preferences:"
148
+ msgstr "برای اعمال تنظیمات خود لطفاً به برگه افزونه بروید:"
149
+
150
+ #: ultimate_social_media_icons.php:76
151
+ msgid "Kindly go to setting page and check the option \"Place them manually\""
152
+ msgstr "لطف کنید به برگه تنظیمات رفته و کادر \"دستی قرار بده\" را علامت بزنید"
153
+
154
+ #: ultimate_social_media_icons.php:577
155
+ msgid ""
156
+ "There seems to be an error on your website which prevents the plugin to work "
157
+ "properly. Please check the FAQ:"
158
+ msgstr ""
159
+ "به‌نظر میرسد مشکلی در سایت‌تان وجود دارد که مانع از کارکرد درست افزونه میشود. "
160
+ "لطفاً سوالات متداول را ببینید:"
161
+
162
+ #: ultimate_social_media_icons.php:582
163
+ msgid "Error"
164
+ msgstr "خطا"
165
+
166
+ #: ultimate_social_media_icons.php:588 ultimate_social_media_icons.php:613
167
+ msgid "Dismiss"
168
+ msgstr "صرفنظر کن"
169
+
170
+ #: ultimate_social_media_icons.php:602
171
+ msgid "New feature in the Ultimate Social Media PLUS plugin: "
172
+ msgstr "ویژگی جدید در افزونه Ultimate Social Media PLUS:"
173
+
174
+ #: ultimate_social_media_icons.php:605
175
+ msgid ""
176
+ "You can now add a subscription form to increase sign-ups (under question 8)."
177
+ msgstr ""
178
+ "اکنون میتوانید یک فرم اشتراک اضافه کرده تا تعداد ثبت‌نام ها را افزایش دهید "
179
+ "(مربوط به سوال ۸)."
180
+
181
+ #: ultimate_social_media_icons.php:608
182
+ msgid "Check it out"
183
+ msgstr "روی آن کلیک کنید"
184
+
185
+ #: views/sfsi_aboutus.php:2
186
+ msgid "Please visit us at"
187
+ msgstr "لطفاْ از ما دیدن کنید در"
188
+
189
+ #: views/sfsi_aboutus.php:4
190
+ msgid "or write to us at"
191
+ msgstr "یا برای ما بنویسید در"
192
+
193
+ #: views/sfsi_option_view1.php:47
194
+ msgid ""
195
+ "In general, the more icons you offer the better because people have "
196
+ "different preferences, and more options means that there’s something for "
197
+ "everybody, increasing the chances that you get followed and/or shared."
198
+ msgstr ""
199
+ "بطور معمول، هرچه آیکن‌های بیشتری ارایه دهید بهتر است. زیرا مردم صلیقه‌های "
200
+ "متفاوتی دارند، و اختیارات بیشتر به این معنی‌ست که مطابق نیاز هر شخصی چیزی "
201
+ "آماده دارید. و این کار شانس دنبال شدن یا به اشتراک گذاشته شدن را برای شما "
202
+ "زیادتر میکند."
203
+
204
+ #: views/sfsi_option_view1.php:62 views/sfsi_option_view1.php:90
205
+ msgid "Mandatory"
206
+ msgstr "اجباری"
207
+
208
+ #: views/sfsi_option_view1.php:65
209
+ msgid "RSS is still popular, esp. among the tech-savvy crowd."
210
+ msgstr "با وجود این دوره و زمانه هوشمند و پر از تغییرات، RSS همچنان محبوب است!"
211
+
212
+ #: views/sfsi_option_view1.php:68
213
+ msgid ""
214
+ "RSS stands for Really Simply Syndication and is an easy way for people to "
215
+ "read your content. "
216
+ msgstr ""
217
+ "RSS مخفف عبارت Really Simply Syndication ، و یک راه آسان برای مردم است که "
218
+ "مطالب جدید شما را بخوانند."
219
+
220
+ #: views/sfsi_option_view1.php:70
221
+ msgid "Learn more about RSS"
222
+ msgstr "در مورد RSS (خبرخوان) بیشتر بدانید"
223
+
224
+ #: views/sfsi_option_view1.php:93
225
+ msgid "Email is the most effective tool to build up a followership."
226
+ msgstr "ایمیل یک ابزار بسیار تاثیرگذار در پیداکردن مخاطب و دنبال‌کننده است."
227
+
228
+ #: views/sfsi_option_view1.php:96
229
+ msgid "Remove credit link"
230
+ msgstr "لینک اعتبار را حذف کن"
231
+
232
+ #: views/sfsi_option_view1.php:100
233
+ msgid ""
234
+ "Everybody uses email – that’s why it’s much more effective than social media "
235
+ "to make people follow you"
236
+ msgstr ""
237
+ "هرکسی از ایمیل استفاده میکند - بخاطر همین ایمیل بیشتر از شبکه‌های اجتماعی در "
238
+ "جذب مخاطب و دنبال‌کننده تاثیرگذار است"
239
+
240
+ #: views/sfsi_option_view1.php:102 views/sfsi_pop_content.php:287
241
+ msgid "learn more"
242
+ msgstr "بیشتر بدانید"
243
+
244
+ #: views/sfsi_option_view1.php:104
245
+ msgid ""
246
+ "Not offering an email subscription option means losing out on future traffic "
247
+ "to your site."
248
+ msgstr ""
249
+ "ارائه ندادن امکان اشتراک ایمیلی به این معنیست که بازدید سایتتان را در آینده "
250
+ "از دست میدهید."
251
+
252
+ #: views/sfsi_option_view1.php:122 views/sfsi_option_view1.php:144
253
+ #: views/sfsi_option_view1.php:167
254
+ msgid "Strongly recommended:"
255
+ msgstr "شدیداً پیشنهاد میشود:"
256
+
257
+ #: views/sfsi_option_view1.php:123
258
+ msgid "Facebook is crucial, esp. for sharing."
259
+ msgstr "فیس‌بوک عالی‌ست، مخصوصاُ برای به اشتراک گذاری."
260
+
261
+ #: views/sfsi_option_view1.php:126
262
+ msgid ""
263
+ "Facebook is the giant in the social media world, and even if you don’t have "
264
+ "a Facebook account yourself you should display this icon, so that Facebook "
265
+ "users can share your site on Facebook."
266
+ msgstr ""
267
+ "فیس‌بوک غول دنیای شبکه‌های اجتماعی‌ست، و حتا اگر شما آکونت فیس‌بوک برای خود "
268
+ "ندارید هم باید این آیکن را نمایش دهید، چراکه کاربران فیس‌بوک میتوانند سایت "
269
+ "شما را در فیس‌بوک به اشتراک بگذارند."
270
+
271
+ #: views/sfsi_option_view1.php:145
272
+ msgid "Can have a strong promotional effect."
273
+ msgstr "میتواند تاثیر تبلیغاتی قوی‌ای داشته باشد."
274
+
275
+ #: views/sfsi_option_view1.php:148
276
+ msgid ""
277
+ "If you have a Twitter-account then adding this icon is a no-brainer. "
278
+ "However, similar as with facebook, even if you don’t have one you should "
279
+ "still show this icon so that Twitter-users can share your site."
280
+ msgstr ""
281
+ "اگر شما یک آکونت توییتر دارید اضافه کردن این آیکن احتیاج به فکر کردن ندارد. "
282
+ "به هر حال اگر هم ندارید، مانند فیس‌بوک، شما باید این آیکن را به نمایش "
283
+ "بگذارید. چراکه کاربران توییتر میتوانند سایت شما را به اشتراک بگذارند."
284
+
285
+ #: views/sfsi_option_view1.php:168
286
+ msgid "Increasingly important and beneficial for SEO."
287
+ msgstr "بطور فزاینده مهم و سودمند برای سئو."
288
+
289
+ #: views/sfsi_option_view1.php:185 views/sfsi_option_view1.php:202
290
+ #: views/sfsi_option_view1.php:219 views/sfsi_option_view1.php:234
291
+ #: views/sfsi_option_view1.php:251 views/sfsi_option_view1.php:283
292
+ #: views/sfsi_option_view1.php:328 views/sfsi_option_view1.php:353
293
+ msgid "It depends:"
294
+ msgstr "بستگی دارد به:"
295
+
296
+ #: views/sfsi_option_view1.php:186
297
+ msgid ""
298
+ "Show this icon if you have a youtube account (and you should set up one if "
299
+ "you have video content – that can increase your traffic significantly)."
300
+ msgstr ""
301
+ "اگر یک آکونت یوتیوب دارید این آیکن را نمایش دهید (و اگر در سایتتان محتوای "
302
+ "ویدئویی دارید بهتر است یک آکونت یوتیوب بسازید، زیرا بازدید سایتتان را به شکل "
303
+ "قابل ملاحظه‌ای بالا میبرد)."
304
+
305
+ #: views/sfsi_option_view1.php:203
306
+ msgid ""
307
+ "No.1 network for business purposes. Use this icon if you’re a LinkedInner."
308
+ msgstr ""
309
+ "شبکه اجتماعی شماره یک برای مقاصد حرفه‌ای و کاری. اگر در لینکدین هستید از این "
310
+ "آیکن استفاده کنید."
311
+
312
+ #: views/sfsi_option_view1.php:220
313
+ msgid ""
314
+ "Show this icon if you have a Pinterest account (and you should set up one if "
315
+ "you have publish new pictures regularly – that can increase your traffic "
316
+ "significantly)."
317
+ msgstr ""
318
+ "اگر یک آکونت پین‌ترست دارید این آیکن را نمایش دهید (و اگر در سایتتان عکس‌های "
319
+ "جدید میگذارید بهتر است یک آکونت بسازید، زیرا بازدید سایتتان را به شکل قابل "
320
+ "ملاحظه‌ای بالا میبرد)."
321
+
322
+ #: views/sfsi_option_view1.php:235
323
+ msgid "Show this icon if you have a Instagram account."
324
+ msgstr "اگر یک آکونت اینستاگرام دارید این آیکن را نمایش دهید."
325
+
326
+ #: views/sfsi_option_view1.php:252
327
+ msgid ""
328
+ "Third-party service AddThis allows your visitors to share via many other "
329
+ "social networks, however it may also slow down your site a bit."
330
+ msgstr ""
331
+ "خدمات شخص ثالث AddThis به بازدیدکنندگان امکان به اشتراک گذاری از تعداد "
332
+ "بسیاری از دیگر شبکه‌های اجتماعی را میدهد. ولی با این حال کمی باعث کند شدن "
333
+ "سایتتان میشود."
334
+
335
+ #: views/sfsi_option_view1.php:255
336
+ msgid "Everybody uses email – that’s why it’s"
337
+ msgstr "بخاطر اینکه هرکسی از ایمیل استفاده میکند"
338
+
339
+ #: views/sfsi_option_view1.php:258
340
+ msgid "much more effective than social media"
341
+ msgstr "بسیار موثرتر از شبکه اجتماعی"
342
+
343
+ #: views/sfsi_option_view1.php:261
344
+ msgid ""
345
+ "to make people follow you. Not offering an email subscription option means "
346
+ "losing out on future traffic to your site."
347
+ msgstr ""
348
+ "برای جذب دنبال‌کننده و مخاطب ارائه ندادن امکان اشتراک ایمیلی به این معنیست که "
349
+ "بازدید سایتتان را در آینده از دست میدهید."
350
+
351
+ #: views/sfsi_option_view1.php:263
352
+ msgid "Check out their reviews:"
353
+ msgstr "بررسی‌هایشان را ببینید:"
354
+
355
+ #: views/sfsi_option_view1.php:284
356
+ msgid "Show this icon if you have a Houzz account."
357
+ msgstr "اگر یک آکونت هاز دارید این آیکن را نمایش دهید. "
358
+
359
+ #: views/sfsi_option_view1.php:286
360
+ msgid ""
361
+ "Houzz is the No.1 site & community in the world of architecture and interior "
362
+ "design."
363
+ msgstr "هاز سایت و انجمن شماره ۱ معماری و طراحی داخلی‌ست."
364
+
365
+ #: views/sfsi_option_view1.php:288
366
+ msgid "Visit Houzz"
367
+ msgstr "از هاز دیدن کنید"
368
+
369
+ #: views/sfsi_option_view1.php:323 views/sfsi_option_view1.php:347
370
+ #: views/sfsi_option_view2.php:579 views/sfsi_option_view5.php:938
371
+ msgid "Custom"
372
+ msgstr "سفارشی"
373
+
374
+ #: views/sfsi_option_view1.php:329 views/sfsi_option_view1.php:354
375
+ msgid ""
376
+ "Upload a custom icon if you have other accounts/websites you want to link to."
377
+ msgstr ""
378
+ "اگر شما آکونت یا سایت دیگری دارید که میخواهید به آن لینک بدهید، آیکن سفارشی "
379
+ "آن را آپلود کنید."
380
+
381
+ #: views/sfsi_option_view1.php:376 views/sfsi_option_view2.php:613
382
+ #: views/sfsi_option_view3.php:369 views/sfsi_option_view4.php:743
383
+ #: views/sfsi_option_view5.php:962 views/sfsi_option_view6.php:117
384
+ #: views/sfsi_option_view7.php:378 views/sfsi_option_view8.php:525
385
+ #: views/sfsi_option_view9.php:580
386
+ msgid "Collapse area"
387
+ msgstr "باز کردن"
388
+
389
+ #: views/sfsi_option_view2.php:136
390
+ msgid "When clicked on, users can subscribe via RSS"
391
+ msgstr "وقتی کاربر کلیک کند مشترک فید RSS میشود"
392
+
393
+ #: views/sfsi_option_view2.php:144
394
+ msgid "For most blogs it’s http://blogname.com/feed"
395
+ msgstr "برای اغلب وبلاگ‌ها بصورت http://blogname.com/feed است"
396
+
397
+ #: views/sfsi_option_view2.php:162
398
+ msgid ""
399
+ "Sends your new posts automatically to subscribers. It`s FREE and you get "
400
+ "full access to your subscriber`s emails and interesting statistics:"
401
+ msgstr ""
402
+ "نوشته‌های جدید شما را بصورت خودکار برای مشترکین ارسال میکند. رایگان است و "
403
+ "دسترسی کامل شما را به ایمیل و آمار علایق کاربران میسر میکند."
404
+
405
+ #: views/sfsi_option_view2.php:164
406
+ msgid "Claim your feed to get full access."
407
+ msgstr "درخواست فید خود را کامل نمایید تا دسترسی کامل داشته باشید."
408
+
409
+ #: views/sfsi_option_view2.php:166
410
+ msgid "It also makes sense if you already offer an email newsletter:"
411
+ msgstr "همچنین اگر هم‌اکنون روزنامه ایمیلی را ارائه کرده‌اید معنی خواهد داشت:"
412
+
413
+ #: views/sfsi_option_view2.php:168
414
+ msgid "Learn more."
415
+ msgstr "بیشتر بدانید."
416
+
417
+ #: views/sfsi_option_view2.php:171
418
+ msgid "Please pick which icon type you want to use:"
419
+ msgstr "لطفاً نوع آیکونی که میخواهید استفاده کنید را انتخاب نمایید:"
420
+
421
+ #: views/sfsi_option_view2.php:179
422
+ msgid "Email icon"
423
+ msgstr "آیکون ایمیل"
424
+
425
+ #: views/sfsi_option_view2.php:187
426
+ msgid "Follow icon"
427
+ msgstr "آیکون دنبال‌کردن"
428
+
429
+ #: views/sfsi_option_view2.php:189
430
+ msgid "increases sign-ups"
431
+ msgstr "ثبت‌نام ها را افزایش میدهد"
432
+
433
+ #: views/sfsi_option_view2.php:198
434
+ msgid "SpecificFeeds icon"
435
+ msgstr "آیکن SpecificFeeds"
436
+
437
+ #: views/sfsi_option_view2.php:200
438
+ msgid "provider of the service"
439
+ msgstr "ارائه‌کننده خدمات:"
440
+
441
+ #: views/sfsi_option_view2.php:216
442
+ msgid ""
443
+ "The facebook icon can perform several actions. Pick below which ones it "
444
+ "should perform. If you select several options, then users can select what "
445
+ "they want to do"
446
+ msgstr ""
447
+ "آیکن فیس‌بوک میتواند چندین کار انجام دهد. از پایین کاری را که میخواهید "
448
+ "برگزینید. اگر چند عمل را با هم انتخاب کنید، کاربران خودشان انتخاب میکنند که "
449
+ "کدام را میخواهند."
450
+
451
+ #: views/sfsi_option_view2.php:218 views/sfsi_option_view2.php:263
452
+ #: views/sfsi_option_view2.php:304 views/sfsi_option_view2.php:346
453
+ #: views/sfsi_option_view2.php:425 views/sfsi_option_view2.php:478
454
+ #: views/sfsi_option_view2.php:539
455
+ msgid "see an example"
456
+ msgstr "یک نمونه ببینید"
457
+
458
+ #: views/sfsi_option_view2.php:222
459
+ msgid "The facebook icon should allow users to..."
460
+ msgstr "آیکن فیس‌بوک باید به کاربران این امکان را بدهد تا..."
461
+
462
+ #: views/sfsi_option_view2.php:229
463
+ msgid "Visit my Facebook page at:"
464
+ msgstr "صفحه فیس‌بوک مرا ببینید:"
465
+
466
+ #: views/sfsi_option_view2.php:237
467
+ msgid "Like my blog on Facebook (+1)"
468
+ msgstr "وبلاگ مرا در فیس‌بوک لایک کنید (۱+)"
469
+
470
+ #: views/sfsi_option_view2.php:245
471
+ msgid "Share my blog with friends (on Facebook)"
472
+ msgstr "وبلاگ مرا با دوستان خود (در فیس‌بوک) به اشتراک بگذارید"
473
+
474
+ #: views/sfsi_option_view2.php:260
475
+ msgid ""
476
+ "The Twitter icon can perform several actions. Pick below which ones it "
477
+ "should perform. If you select several options, then users can select what "
478
+ "they want to do"
479
+ msgstr ""
480
+ "آیکن توییتر میتواند چند کار انجام دهد. از پایین کاری را که میخواهید "
481
+ "برگزینید. اگر چند عمل را با هم انتخاب کنید، کاربران خودشان انتخاب میکنند که "
482
+ "کدام را میخواهند."
483
+
484
+ #: views/sfsi_option_view2.php:267
485
+ msgid "The Twitter icon should allow users to..."
486
+ msgstr "آیکن توییتر به کاربران امکان میدهد که..."
487
+
488
+ #: views/sfsi_option_view2.php:272
489
+ msgid "Visit me on Twitter:"
490
+ msgstr "مرا در توییتر ببینید:"
491
+
492
+ #: views/sfsi_option_view2.php:281
493
+ msgid "Follow me on Twitter:"
494
+ msgstr "مرا در توییتر دنبال کنید:"
495
+
496
+ #: views/sfsi_option_view2.php:289
497
+ msgid "Tweet about my page:"
498
+ msgstr "در مورد صفحه من توییت کنید:"
499
+
500
+ #: views/sfsi_option_view2.php:302
501
+ msgid ""
502
+ "should perform. If you select several options, then users can select what "
503
+ "they want to do"
504
+ msgstr ""
505
+ "آیکن گوگل‌پلاس میتواند چند کار انجام دهد. از پایین کاری را که میخواهید "
506
+ "برگزینید. اگر چند عمل را با هم انتخاب کنید، کاربران خودشان انتخاب میکنند که "
507
+ "کدام را میخواهند."
508
+
509
+ #: views/sfsi_option_view2.php:308
510
+ msgstr "آیکن گوگل‌پلاس به کاربران امکان میدهد که..."
511
+
512
+ #: views/sfsi_option_view2.php:344
513
+ msgid ""
514
+ "The Youtube icon can perform several actions. Pick below which ones it "
515
+ "should perform. If you select several options, then users can select what "
516
+ "they want to do"
517
+ msgstr ""
518
+ "آیکن یوتیوب میتواند چند کار انجام دهد. از پایین کاری را که میخواهید "
519
+ "برگزینید. اگر چند عمل را با هم انتخاب کنید، کاربران خودشان انتخاب میکنند که "
520
+ "کدام را میخواهند."
521
+
522
+ #: views/sfsi_option_view2.php:350
523
+ msgid "The youtube icon should allow users to..."
524
+ msgstr "آیکن یوتیوب به کاربران امکان میدهد که..."
525
+
526
+ #: views/sfsi_option_view2.php:354
527
+ msgid "Visit my Youtube page at:"
528
+ msgstr "صفحه یوتیوب مرا ببینید:"
529
+
530
+ #: views/sfsi_option_view2.php:360
531
+ msgid "Subscribe to me on Youtube"
532
+ msgstr "در یوتیوب من مشترک شوید"
533
+
534
+ #: views/sfsi_option_view2.php:362
535
+ msgid "(allows people to subscribe to you directly, without leaving your blog)"
536
+ msgstr "(بدون ترک وبلاگتان، به کاربران امکان دنبال‌کردن مستقیم شما را میدهد)"
537
+
538
+ #: views/sfsi_option_view2.php:382
539
+ msgid "User Name"
540
+ msgstr "نام کاربر"
541
+
542
+ #: views/sfsi_option_view2.php:387
543
+ msgid "Channel Id"
544
+ msgstr "شناسه (Id) کانال"
545
+
546
+ #: views/sfsi_option_view2.php:393
547
+ msgid "UserName:"
548
+ msgstr "نام کاربری:"
549
+
550
+ #: views/sfsi_option_view2.php:397
551
+ msgid ""
552
+ "To find your Username go to \"My channel\" in Youtube menu bar on the left & "
553
+ "Select the \"About\" tab and take your user name from URL there (e.g. "
554
+ "https://www.youtube.com/user/Tommy it is \"Tommy\")."
555
+ msgstr ""
556
+ "برای پیداکردن نام کاربری خود به گزینه \"My channel\" از سمت چپ منوی یوتیوب "
557
+ "رفته، تب \"About\" را انتخاب نمایید و نام کاربری‌تان را از آدرس URL بردارید "
558
+ "(برای نمونه اگر آدرس URL https://www.youtube.com/user/Tommy بود، \"Tommy\" "
559
+ "نام کاربری شماست)."
560
+
561
+ #: views/sfsi_option_view2.php:403
562
+ msgid "Channel Id:"
563
+ msgstr "شناسه (Id) کانال:"
564
+
565
+ #: views/sfsi_option_view2.php:408
566
+ msgid ""
567
+ "To find your Channel name go to \"My Channel\" in Youtube menu bar on the "
568
+ "left and take your channel name from there."
569
+ msgstr ""
570
+ "برای پیداکردن نام کانال خود به گزینه \"My channel\" از سمت چپ منوی یوتیوب "
571
+ "رفته، نام کانال خود را از آنجا بردارید."
572
+
573
+ #: views/sfsi_option_view2.php:423
574
+ msgid ""
575
+ "The Pinterest icon can perform several actions. Pick below which ones it "
576
+ "should perform. If you select several options, then users can select what "
577
+ "they want to do"
578
+ msgstr ""
579
+ "آیکن پین‌ترست میتواند چند کار انجام دهد. از پایین کاری را که میخواهید "
580
+ "برگزینید. اگر چند عمل را با هم انتخاب کنید، کاربران خودشان انتخاب میکنند که "
581
+ "کدام را میخواهند."
582
+
583
+ #: views/sfsi_option_view2.php:429
584
+ msgid "The Pinterest icon should allow users to..."
585
+ msgstr "آیکن پین‌ترست به کاربران امکان میدهد که..."
586
+
587
+ #: views/sfsi_option_view2.php:434
588
+ msgid "Visit my Pinterest page at:"
589
+ msgstr "صفحه پین‌ترست مرا ببینید:"
590
+
591
+ #: views/sfsi_option_view2.php:442
592
+ msgid "Pin my blog on Pinterest (+1)"
593
+ msgstr "وبلاگ مرا در پین‌ترست پین کنید (۱+)"
594
+
595
+ #: views/sfsi_option_view2.php:457
596
+ msgid "When clicked on, users will get directed to your Instagram page"
597
+ msgstr "اگر کلیک شود، کاربران مستقیماً به صفحه اینستاگرام شما منتقل میشوند"
598
+
599
+ #: views/sfsi_option_view2.php:476
600
+ msgid ""
601
+ "The LinkedIn icon can perform several actions. Pick below which ones it "
602
+ "should perform. If you select several options, then users can select what "
603
+ "they want to do"
604
+ msgstr ""
605
+ "آیکن لینکدین میتواند چند کار انجام دهد. از پایین کاری را که میخواهید "
606
+ "برگزینید. اگر چند عمل را با هم انتخاب کنید، کاربران خودشان انتخاب میکنند که "
607
+ "کدام را میخواهند."
608
+
609
+ #: views/sfsi_option_view2.php:482
610
+ msgid ""
611
+ "You find your ID in the link of your profile page, e.g. https://www.linkedin."
612
+ "com/profile/view?id=<b>8539887</b>&trk=nav_responsive_tab_profile_pic"
613
+ msgstr ""
614
+ "شناسه (ID) تان را از لینک صفحه پروفایل‌تان پیدا کنید، برای نمونه https://www."
615
+ "linkedin.com/profile/view?id=<b>8539887</"
616
+ "b>&trk=nav_responsive_tab_profile_pic"
617
+
618
+ #: views/sfsi_option_view2.php:485
619
+ msgid "The LinkedIn icon should allow users to..."
620
+ msgstr "آیکن لیندکدین به کاربران امکان میدهد که..."
621
+
622
+ #: views/sfsi_option_view2.php:490
623
+ msgid "Visit my Linkedin page at:"
624
+ msgstr "صفحه لینکدین مرا ببینید"
625
+
626
+ #: views/sfsi_option_view2.php:499
627
+ msgid "Follow me on Linkedin:"
628
+ msgstr "مرا در لینکدین دنبال کنید"
629
+
630
+ #: views/sfsi_option_view2.php:508
631
+ msgid "Share my page on LinkedIn"
632
+ msgstr "صفحه مرا در لینکدین به اشتراک بگذارید"
633
+
634
+ #: views/sfsi_option_view2.php:515
635
+ msgid "Recommend my business or product on Linkedin"
636
+ msgstr "محصول یا کسب و کار مرا در لینکدین پیشنهاد بده"
637
+
638
+ #: views/sfsi_option_view2.php:520
639
+ msgid "To find your Product or Company ID, you can use their ID lookup tool at"
640
+ msgstr ""
641
+ "برای اینکه محصول یا شناسه شرکتتان را پیدا کنید، میتوانید از ابزار جستجوی "
642
+ "شناسه آنها استفاده کنید در"
643
+
644
+ #: views/sfsi_option_view2.php:524
645
+ msgid "You need to be logged in to Linkedin to be able to use it."
646
+ msgstr "برای استفاده باید در لینکدین وارد (login) شده باشید"
647
+
648
+ #: views/sfsi_option_view2.php:537
649
+ msgid ""
650
+ "Nothing needs to be done here – your visitors to share your site via «all "
651
+ "the other» social media sites."
652
+ msgstr ""
653
+ "اینجا کاری لازم نیست انجام بدهید - بازدیدکنندگان شما سایتتان را از طریق "
654
+ "«سایر» شبکه‌های اجتماعی به اشتراک میگذارند."
655
+
656
+ #: views/sfsi_option_view2.php:553
657
+ msgid ""
658
+ "Please provide the url to your Houzz profile (e.g. http://www.houzz.com/user/"
659
+ "your_username)."
660
+ msgstr ""
661
+ "لطفاً نشانی url پروفایل هازتان را ارایه کنید (برای نمونه: http://www.houzz."
662
+ "com/user/your_username)."
663
+
664
+ #: views/sfsi_option_view2.php:585
665
+ msgid "Where do you want this icon to link to?"
666
+ msgstr "میخواهید این آیکن به کجا لینک شود؟"
667
+
668
+ #: views/sfsi_option_view2.php:589
669
+ msgid "Link:"
670
+ msgstr "لینک:"
671
+
672
+ #: views/sfsi_option_view3.php:35
673
+ msgid ""
674
+ "A good & well-fitting design is not only nice to look at, but it increases "
675
+ "chances that people will subscribe and/or share your site with friends:"
676
+ msgstr ""
677
+ "یک طراحی خوب و شکیل نه تنها زیبا به‌نظر میرسد، بلکه شانس اینکه مردم مشترک شما "
678
+ "شوند یا سایتان را با دوستانشان به اشتراک بگذارند بالا میبرد:"
679
+
680
+ #: views/sfsi_option_view3.php:39
681
+ msgid "It comes across as more professional gives your site more “credit”"
682
+ msgstr "حرفه‌ای‌تر به‌نظر میرسد و اعتبار بیشتری به سایتتان میبخشد"
683
+
684
+ #: views/sfsi_option_view3.php:42
685
+ msgid ""
686
+ "A smart automatic animation can make your visitors aware of your icons in an "
687
+ "unintrusive manner"
688
+ msgstr ""
689
+ "پویانمایی خودکار ممکن است بازدیدکنندگان سایت‌تان را از آیکن‌هایتان بیزار کند."
690
+
691
+ #: views/sfsi_option_view3.php:47
692
+ msgid ""
693
+ "The icons have been compressed by Shortpixel.com for faster loading of your "
694
+ "site. Thank you Shortpixel!"
695
+ msgstr ""
696
+ "برای اینکه سایتتان سریعتر باز شود، آیکن‌ها به‌کمک Shortpixel.com فشرده شده‌اند. "
697
+ "Shortpixel ازت ممنونیم!"
698
+
699
+ #: views/sfsi_option_view3.php:52
700
+ msgid "Theme options"
701
+ msgstr "تنظیمات پوسته"
702
+
703
+ #: views/sfsi_option_view3.php:59
704
+ msgid "Default"
705
+ msgstr "پیش‌فرض"
706
+
707
+ #: views/sfsi_option_view3.php:69
708
+ msgid "Flat"
709
+ msgstr "تخت (Flat)"
710
+
711
+ #: views/sfsi_option_view3.php:78
712
+ msgid "Thin"
713
+ msgstr "نازک (Thin)"
714
+
715
+ #: views/sfsi_option_view3.php:87
716
+ msgid "Cute"
717
+ msgstr "زیبا (Cute)"
718
+
719
+ #: views/sfsi_option_view3.php:97
720
+ msgid "Cubes"
721
+ msgstr "مکعبی (Cubes)"
722
+
723
+ #: views/sfsi_option_view3.php:105
724
+ msgid "Chrome Blue"
725
+ msgstr "فلز براق آبی"
726
+
727
+ #: views/sfsi_option_view3.php:112
728
+ msgid "Chrome Grey"
729
+ msgstr "فلز براق خاکستری"
730
+
731
+ #: views/sfsi_option_view3.php:119
732
+ msgid "Splash"
733
+ msgstr "پخش (Splash)"
734
+
735
+ #: views/sfsi_option_view3.php:130
736
+ msgid "Orange"
737
+ msgstr "نارنجی"
738
+
739
+ #: views/sfsi_option_view3.php:137
740
+ msgid "Crystal"
741
+ msgstr "کریستال"
742
+
743
+ #: views/sfsi_option_view3.php:144
744
+ msgid "Glossy"
745
+ msgstr "براق"
746
+
747
+ #: views/sfsi_option_view3.php:151
748
+ msgid "Black"
749
+ msgstr "سیاه"
750
+
751
+ #: views/sfsi_option_view3.php:161
752
+ msgid "Silver"
753
+ msgstr "نقره‌ای"
754
+
755
+ #: views/sfsi_option_view3.php:168
756
+ msgid "Shaded Dark"
757
+ msgstr "سایه تیره"
758
+
759
+ #: views/sfsi_option_view3.php:175
760
+ msgid "Shaded Light"
761
+ msgstr "سایه روشن"
762
+
763
+ #: views/sfsi_option_view3.php:182
764
+ msgid "Transparent"
765
+ msgstr "شفاف"
766
+
767
+ #: views/sfsi_option_view3.php:183
768
+ msgid "for dark backgrounds"
769
+ msgstr "برای پس‌زمینه‌های تیره"
770
+
771
+ #: views/sfsi_option_view3.php:192
772
+ msgid "Custom Icons"
773
+ msgstr "آیکون‌های سفارشی"
774
+
775
+ #: views/sfsi_option_view3.php:306
776
+ msgid "Animate them (your main icons)"
777
+ msgstr "پویانمایی کن (آیکن‌های اصلی‌تان)"
778
+
779
+ #: views/sfsi_option_view3.php:312
780
+ msgid "Mouse-Over effects"
781
+ msgstr "جلوه‌های قرارگیری ماوس روی آیکن"
782
+
783
+ #: views/sfsi_option_view3.php:317
784
+ msgid "Fade In"
785
+ msgstr "محو شدن در"
786
+
787
+ #: views/sfsi_option_view3.php:320
788
+ msgid "Combo"
789
+ msgstr "کشویی"
790
+
791
+ #: views/sfsi_option_view3.php:330
792
+ msgid "Shuffle them automatically"
793
+ msgstr "بصورت خودکار آنها را به‌هم بریز"
794
+
795
+ #: views/sfsi_option_view3.php:337
796
+ msgid "When site is first loaded"
797
+ msgstr "وقتی سایت برای اولین بار باز شد"
798
+
799
+ #: views/sfsi_option_view3.php:343
800
+ msgid "Every"
801
+ msgstr "هر"
802
+
803
+ #: views/sfsi_option_view3.php:347
804
+ msgid "seconds"
805
+ msgstr "ثانیه"
806
+
807
+ #: views/sfsi_option_view4.php:150
808
+ msgid ""
809
+ "It’s a psychological fact that people like to follow other people, so when "
810
+ "they see that your site has already a good number of Facebook likes, it’s "
811
+ "more likely that they will subscribe/like/share your site than if it had 0."
812
+ msgstr ""
813
+ "این یک واقعیت روانشناختی‌ست که مردم دوست دارند دیگران را دنبال کنند، پس وقتی "
814
+ "میبینند که وب‌سایت شما عدد خوبی از لایک‌های فیس‌بوک را به خود اختصاص داده، خیلی "
815
+ "بهتر مشترک شما میشوند یا سایتتان را به اشتراک میگذارند، تا اینکه تعداد "
816
+ "لایک‌تان 0 باشد."
817
+
818
+ #: views/sfsi_option_view4.php:153
819
+ msgid ""
820
+ "Therefore, you can select to display the count next to your icons which will "
821
+ "look like this:"
822
+ msgstr ""
823
+ "بنابراین، میتوانید انتخاب کنید که تعداد، کنار آیکن‌هایتان نمایش داده شود، "
824
+ "مانند این:"
825
+
826
+ #: views/sfsi_option_view4.php:215
827
+ msgid ""
828
+ "Of course, if you start at 0, you shoot yourself in the foot with that. So "
829
+ "we suggest that you only turn this feature on once you have a good number of "
830
+ "followers/likes/shares (min. of 20 – no worries if it’s not too many, it "
831
+ "should just not be 0)."
832
+ msgstr ""
833
+ "البته، اگر شما از 0 شروع کنید، تیری به پای خود شلیک کرده‌اید! پس ما پیشنهاد "
834
+ "میکنیم که این ویژگی را تا زمانی که به تعداد مناسبی از دنبال‌کننده، لایک یا به "
835
+ "اشتراک‌گذاری نرسیده‌اید فعال کنید (دست‌کم روی ۲۰ بگذارید - نگران نباشید که زیاد "
836
+ "نیست، فقط روی 0 نگذارید)."
837
+
838
+ #: views/sfsi_option_view4.php:218
839
+ msgid "Enough waffling. So do you want to display counts?"
840
+ msgstr "پرحرفی کافیست. پس شما میخواهید تعداد نمایش داده شود؟"
841
+
842
+ #: views/sfsi_option_view4.php:225 views/sfsi_option_view5.php:759
843
+ #: views/sfsi_option_view5.php:787 views/sfsi_option_view5.php:808
844
+ #: views/sfsi_option_view5.php:830 views/sfsi_option_view6.php:64
845
+ #: views/sfsi_option_view9.php:208 views/sfsi_option_view9.php:254
846
+ msgid "Yes"
847
+ msgstr "آری"
848
+
849
+ #: views/sfsi_option_view4.php:231 views/sfsi_option_view5.php:765
850
+ #: views/sfsi_option_view5.php:793 views/sfsi_option_view5.php:814
851
+ #: views/sfsi_option_view5.php:836 views/sfsi_option_view6.php:70
852
+ #: views/sfsi_option_view9.php:215 views/sfsi_option_view9.php:261
853
+ msgid "No"
854
+ msgstr "خیر"
855
+
856
+ #: views/sfsi_option_view4.php:239
857
+ msgid "Please specify which counts should be shown:"
858
+ msgstr "لطفاً تعیین کنید تعداد کدام نمایش داده شود:"
859
+
860
+ #: views/sfsi_option_view4.php:261
861
+ msgid "We cannot track this. So enter the figure here:"
862
+ msgstr "ما نمیتوانیم این را ردیابی کنیم. پس رقم را اینجا وارد نمایید:"
863
+
864
+ #: views/sfsi_option_view4.php:289
865
+ msgid "Retrieve the number of subscribers automatically"
866
+ msgstr "نمایش تعداد مشترکین بصورت خودکار"
867
+
868
+ #: views/sfsi_option_view4.php:293 views/sfsi_option_view4.php:338
869
+ #: views/sfsi_option_view4.php:425 views/sfsi_option_view4.php:498
870
+ #: views/sfsi_option_view4.php:543 views/sfsi_option_view4.php:589
871
+ #: views/sfsi_option_view4.php:621 views/sfsi_option_view4.php:660
872
+ #: views/sfsi_option_view4.php:693 views/sfsi_option_view4.php:722
873
+ msgid "Enter the figure manually"
874
+ msgstr "ورود دستی تعداد"
875
+
876
+ #: views/sfsi_option_view4.php:320
877
+ msgid "Retrieve the number of likes of your blog"
878
+ msgstr "نمایش تعداد لایک‌های وبلاگ‌تان"
879
+
880
+ #: views/sfsi_option_view4.php:324
881
+ msgid "Retrieve the number of likes your facebook page"
882
+ msgstr "نمایش تعداد لایک‌های صفحه فیس‌بوک‌تان"
883
+
884
+ #: views/sfsi_option_view4.php:328
885
+ msgid "page ID:"
886
+ msgstr "شناسه (ID) صفحه:"
887
+
888
+ #: views/sfsi_option_view4.php:333
889
+ msgid ""
890
+ "Youll find it at the bottom of the << About >> -tab on your facebook page"
891
+ msgstr "میتوانید در پایین تب «About» صفحه فیس‌بوکتان پیدایش کنید"
892
+
893
+ #: views/sfsi_option_view4.php:365
894
+ msgid "Retrieve the number of Twitter followers"
895
+ msgstr "نمایش تعداد دنبال‌کنندگان توییترتان"
896
+
897
+ #: views/sfsi_option_view4.php:371
898
+ msgid "Enter Consumer Key"
899
+ msgstr "کلید مصرف‌کننده را وارد نمایید"
900
+
901
+ #: views/sfsi_option_view4.php:377
902
+ msgid "Enter Consumer Secret"
903
+ msgstr "رمز مصرف‌کننده را وارد نمایید"
904
+
905
+ #: views/sfsi_option_view4.php:383
906
+ msgid "Enter Access Token"
907
+ msgstr "توکن دسترسی را وارد نمایید"
908
+
909
+ #: views/sfsi_option_view4.php:389
910
+ msgid "Enter Access Token Secret"
911
+ msgstr "رمز توکن دسترسی را وارد نمایید"
912
+
913
+ #: views/sfsi_option_view4.php:396
914
+ msgid ""
915
+ "Please make sure you have entered the Username for \"Follow me on Twitter:\" "
916
+ "in twitter settings under question number 2."
917
+ msgstr ""
918
+ "لطفاً مطمئن شوید که نام کاربری را برای \"مرا در توییتر دنبال کنید:\" در "
919
+ "تنظیمات بخش توییتر وارد نموده‌اید. مربوط به سوال شماره ۲."
920
+
921
+ #: views/sfsi_option_view4.php:400
922
+ msgid "To get this information:"
923
+ msgstr "برای دریافت این اطلاعات:"
924
+
925
+ #: views/sfsi_option_view4.php:404
926
+ msgid "Go to"
927
+ msgstr "بروید به"
928
+
929
+ #: views/sfsi_option_view4.php:410
930
+ msgid "Click on \"Create new app\""
931
+ msgstr "روی \"Create new app\" کلیک کنید"
932
+
933
+ #: views/sfsi_option_view4.php:413
934
+ msgid ""
935
+ "Enter a random Name, Description and Website URL (including the \"http://\", "
936
+ "e.g. http://dummysitename.com)"
937
+ msgstr ""
938
+ "یک نام، توضیح و آدرس وب‌سایت تصادفی وارد نمایید (باید شامل \"http://\"باشد، "
939
+ "مانند http://dummysitename.com)"
940
+
941
+ #: views/sfsi_option_view4.php:416
942
+ msgid ""
943
+ "Go to \"Keys and Access Tokens\" tab and click on \"Generate Token\" in the "
944
+ "\"Token actions\" section at the bottom"
945
+ msgstr ""
946
+ "به تب \"Keys and Access Tokens\" بروید و روی \"Generate Token\" در بخش "
947
+ "\"Token actions\" در پایین کلیک کنید."
948
+
949
+ #: views/sfsi_option_view4.php:419
950
+ msgid ""
951
+ "Then click on \"Test OAuth\" at the top right and you will see the 4 token "
952
+ "key"
953
+ msgstr ""
954
+ "بعد روی \"Test OAuth\" در بالا سمت راست کلیک کنید و ۴ کلید توکن را خواهید دید"
955
+
956
+
957
+ #: views/sfsi_option_view4.php:484
958
+ msgid "and create a new project"
959
+ msgstr "و یک پروژه جدید ایجاد نمایید"
960
+
961
+ #: views/sfsi_option_view4.php:487
962
+ msgid ""
963
+ "Then on the left menu bar go to “APIs & auth”, “Credentials” and click "
964
+ "“Create new key” in the “Public API access” section"
965
+ msgstr ""
966
+ "بعد در منوی سمت چپ به “APIs & auth” و بعد به “Credentials” بروید و روی "
967
+ "“Create new key” در بخش “Public API access” کلیک کنید."
968
+
969
+ #: views/sfsi_option_view4.php:490
970
+ msgid ""
971
+ "There you select “browser key” and click “Create”. You will then be shown "
972
+ "your API key"
973
+ msgstr ""
974
+ "از آنجا “browser key” را انتخاب نموده و روی “Create” کلیک کنید. کلید API "
975
+ "برایتان به نمایش در می‌آید"
976
+
977
+ #: views/sfsi_option_view4.php:493
978
+ msgid ""
979
+ "When you enter this key into the plugin for the first time, it may take some "
980
+ "time until the correct follower count is displayed on your website"
981
+ msgstr ""
982
+ "وقتی برای اولین بار این کلید را در افزونه وارد مینمایید، ممکن است مقداری "
983
+ "زمان ببرد تا تعداد درست دنبال‌کننده روی وب‌سایتتان به نمایش درآید."
984
+
985
+ #: views/sfsi_option_view4.php:570
986
+ msgid "Retrieve the number of Subscribers"
987
+ msgstr "نمایش تعداد مشترکین"
988
+
989
+ #: views/sfsi_option_view4.php:575
990
+ msgid "Enter Youtube User name"
991
+ msgstr "نام کاربری یوتیوب را وارد کنید"
992
+
993
+ #: views/sfsi_option_view4.php:582
994
+ msgid "Enter Youtube Channel id"
995
+ msgstr "شناسه کانال یوتیوب را وارد نمایید"
996
+
997
+ #: views/sfsi_option_view4.php:616
998
+ msgid "Retrieve the number of Pins"
999
+ msgstr "نمایش تعداد پین"
1000
+
1001
+ #: views/sfsi_option_view4.php:649
1002
+ msgid "Retrieve the number of Instagram followers"
1003
+ msgstr "نمایش تعداد دنبال‌کنندگان اینستاگرام"
1004
+
1005
+ #: views/sfsi_option_view4.php:653
1006
+ msgid "Enter Instagram User name"
1007
+ msgstr "نام کاربری اینستاگرام را وارد نمایید"
1008
+
1009
+ #: views/sfsi_option_view4.php:688
1010
+ msgid "Retrieve the number of shares"
1011
+ msgstr "نمایش تعداد اشتراک‌گذاری‌ها"
1012
+
1013
+ #: views/sfsi_option_view5.php:341
1014
+ msgid "Order of your icons"
1015
+ msgstr "ترتیب آیکن‌هایتان"
1016
+
1017
+ #: views/sfsi_option_view5.php:430
1018
+ msgid "Drag and Drop"
1019
+ msgstr "کشیدن و رها کردن"
1020
+
1021
+ #: views/sfsi_option_view5.php:435 views/sfsi_option_view8.php:400
1022
+ msgid "Size and spacing of your icons"
1023
+ msgstr "اندازه و فضای بین آیکن‌هایتان"
1024
+
1025
+ #: views/sfsi_option_view5.php:439 views/sfsi_option_view8.php:404
1026
+ msgid "Size:"
1027
+ msgstr "اندازه:"
1028
+
1029
+ #: views/sfsi_option_view5.php:443 views/sfsi_option_view8.php:406
1030
+ msgid "pixels wide and tall"
1031
+ msgstr "پیکسل عرض و ارتفاع"
1032
+
1033
+ #: views/sfsi_option_view5.php:446 views/sfsi_option_view8.php:408
1034
+ msgid "Spacing between icons:"
1035
+ msgstr "فضای بین آیکن‌ها:"
1036
+
1037
+ #: views/sfsi_option_view5.php:450 views/sfsi_option_view8.php:211
1038
+ #: views/sfsi_option_view8.php:220 views/sfsi_option_view8.php:229
1039
+ #: views/sfsi_option_view8.php:238 views/sfsi_option_view8.php:410
1040
+ msgid "Pixels"
1041
+ msgstr "پیکسل"
1042
+
1043
+ #: views/sfsi_option_view5.php:457
1044
+ msgid "Alignments"
1045
+ msgstr "چینش"
1046
+
1047
+ #: views/sfsi_option_view5.php:461
1048
+ msgid "Alignment of icons:"
1049
+ msgstr "چینش آیکن‌ها:"
1050
+
1051
+ #: views/sfsi_option_view5.php:466 views/sfsi_option_view9.php:684
1052
+ msgid "Centered"
1053
+ msgstr "وسط‌چین"
1054
+
1055
+ #: views/sfsi_option_view5.php:469 views/sfsi_option_view6.php:92
1056
+ #: views/sfsi_option_view8.php:496
1057
+ msgid "Right"
1058
+ msgstr "راست‌چین"
1059
+
1060
+ #: views/sfsi_option_view5.php:472 views/sfsi_option_view6.php:90
1061
+ #: views/sfsi_option_view8.php:493
1062
+ msgid "Left"
1063
+ msgstr "چپ‌چین"
1064
+
1065
+ #: views/sfsi_option_view5.php:477
1066
+ msgid "Icons per row:"
1067
+ msgstr "تعداد آیکن در هر خط:"
1068
+
1069
+ #: views/sfsi_option_view5.php:481
1070
+ msgid "Leave empty if you don't want to define this"
1071
+ msgstr "اگر مایل نیستید این را معین کنید خالی بگذارید"
1072
+
1073
+ #: views/sfsi_option_view5.php:488
1074
+ msgid "Language & Button-text"
1075
+ msgstr "زبان و متن کلید"
1076
+
1077
+ #: views/sfsi_option_view5.php:493
1078
+ msgid "Follow-button:"
1079
+ msgstr "دکمه دنبال:"
1080
+
1081
+ #: views/sfsi_option_view5.php:499 views/sfsi_option_view5.php:520
1082
+ #: views/sfsi_option_view5.php:541 views/sfsi_option_view5.php:562
1083
+ #: views/sfsi_option_view9.php:111
1084
+ msgid "Preview:"
1085
+ msgstr "پیش‌نمایش:"
1086
+
1087
+ #: views/sfsi_option_view5.php:514
1088
+ msgid "Facebook «Visit»-icon:"
1089
+ msgstr "آیکن «بازدید» فیس‌بوک:"
1090
+
1091
+ #: views/sfsi_option_view5.php:535
1092
+ msgid "Twitter «Visit»-icon:"
1093
+ msgstr "آیکن «بازدید» توییتر:"
1094
+
1095
+ #: views/sfsi_option_view5.php:748
1096
+ msgid "New window"
1097
+ msgstr "پنجره جدید"
1098
+
1099
+ #: views/sfsi_option_view5.php:753
1100
+ msgid ""
1101
+ "If a user clicks on your icons, do you want to open the page in a new window?"
1102
+ msgstr ""
1103
+ "اگر کاربر روی آیکن‌هایتان کلیک کرد، میخواهید صفحه مربوطه در یک پنجره جدید (تب "
1104
+ "جدید از مرورگر) باز گردد؟"
1105
+
1106
+ #: views/sfsi_option_view5.php:776
1107
+ msgid "Sticking & Disable on mobile"
1108
+ msgstr "در حالت موبایل بچسب و غیرفعال شو"
1109
+
1110
+ #: views/sfsi_option_view5.php:779
1111
+ msgid ""
1112
+ "If you decided to show your icons via a widget, you can add the effect that "
1113
+ "when the user scrolls down, the icons will stick at the top of the screen "
1114
+ "so that they are still displayed even if the user scrolled all the way down. "
1115
+ "Do you want to do that?"
1116
+ msgstr ""
1117
+ "اگر تصمیم دارید آیکن‌هایتان را در یک ابزارک نمایش دهید، میتوانید حالتی را "
1118
+ "برگزینید که وقتی کاربر به سمت پایین آمد آیکون‌ها در بالای صفحه‌نمایش بچسبند و "
1119
+ "هرچقدر کاربر به سمت پایین سایت پیمایش (اسکرول) کند همچنان قابل دیدن باشند. "
1120
+ "آیا میخواهید این کار انجام شود؟"
1121
+
1122
+ #: views/sfsi_option_view5.php:802
1123
+ msgid "Disable float icons on mobile devices"
1124
+ msgstr "آیکن‌های شناور در حالت موبایل غیرفعال باشند"
1125
+
1126
+ #: views/sfsi_option_view5.php:824
1127
+ msgid "Disable auto-scaling feature for mobile devices (\"viewport\" meta tag)"
1128
+ msgstr ""
1129
+ "ویژگی auto-scaling در دستگاه‌های موبایل غیرفعال شود (تگ متای \"viewport\")"
1130
+
1131
+ #: views/sfsi_option_view5.php:848
1132
+ msgid "Mouseover text"
1133
+ msgstr "متنی که وقتی ماوس روی آن قرار گرفت نشان دهد"
1134
+
1135
+ #: views/sfsi_option_view5.php:851
1136
+ msgid ""
1137
+ "If you’ve given your icon only one function (i.e. no pop-up where user can "
1138
+ "perform different actions) then you can define here what text will be "
1139
+ "displayed if a user moves his mouse over the icon:"
1140
+ msgstr ""
1141
+ "اگر به آیکن‌تان تنها یک امکان داده‌اید (برای نمونه هیچ پاپ‌آپی برای آزادی عمل "
1142
+ "کاربر ارایه نکردید) اینجا مشخص کنید هنگامی که کاربر ماوس خود را روی آیکن "
1143
+ "آورد چه متنی نمایش داده شود:"
1144
+
1145
+ #: views/sfsi_option_view6.php:27
1146
+ msgid ""
1147
+ "The selections you made so far were to display the subscriptions/ social "
1148
+ "media icons for your site in general (in a widget on the sidebar). You can "
1149
+ "also display icons at the end of every post, encouraging users to subscribe/"
1150
+ "like/share after they’ve read it. The following buttons will be added:"
1151
+ msgstr ""
1152
+ "انتخابی که کردید در حال حاضر مربوط به نمایش آیکن‌های اشتراک و شبکه‌های اجتماعی "
1153
+ "بطور معمول برای سایتتان است (در ابزارک نوار ابزار کناری). شما همچنین "
1154
+ "میتوانید آیکن‌ها را در انتهای هر نوشته نمایش دهید، و کاربران را تشویق به "
1155
+ "مشترک‌شدن، لایک‌کردن، یا به اشتراک گذاری مطالبتان کنید. کلیدهای زیر اضافه "
1156
+ "خواهند شد:"
1157
+
1158
+ #: views/sfsi_option_view6.php:43
1159
+ msgid "Those are usually all you need:"
1160
+ msgstr "آنها همه آن چیزیست که نیاز دارید:"
1161
+
1162
+ #: views/sfsi_option_view6.php:47
1163
+ msgid "Facebook is No.1 in liking, so it’s a must have"
1164
+ msgstr "فیس‌بوک در لایک کردن شماره ۱ است، پس باید داشته باشد"
1165
+
1166
+ #: views/sfsi_option_view6.php:53
1167
+ msgid "Share-button covers all other platforms for sharing"
1168
+ msgstr "دکمه اشتراک‌گذاری تمامی سایر روش‌های اشتراک‌گذاری موجود را پوشش میدهد"
1169
+
1170
+ #: views/sfsi_option_view6.php:58
1171
+ msgid "So: do you want to display those at the end of every post?"
1172
+ msgstr "پس، شما میخواهید آنها را در انتهای هر نوشته نمایش دهید؟"
1173
+
1174
+ #: views/sfsi_option_view6.php:78
1175
+ msgid "Options:"
1176
+ msgstr "تنظیمات:"
1177
+
1178
+ #: views/sfsi_option_view6.php:82 views/sfsi_option_view8.php:484
1179
+ msgid "Text to appear before the sharing icons:"
1180
+ msgstr "متن پیش از ظاهر شدن آیکن‌های اشتراک‌گذاری:"
1181
+
1182
+ #: views/sfsi_option_view6.php:87 views/sfsi_option_view8.php:489
1183
+ msgid "Alignment of share icons:"
1184
+ msgstr "چینش آیکن‌های اشتراک‌گذاری:"
1185
+
1186
+ #: views/sfsi_option_view6.php:97 views/sfsi_option_view8.php:385
1187
+ msgid "Do you want to display the counts?"
1188
+ msgstr "آیا میخواهید تعداد نمایش داده شود؟"
1189
+
1190
+ #: views/sfsi_option_view6.php:99 views/sfsi_option_view8.php:388
1191
+ msgid "YES"
1192
+ msgstr "آری"
1193
+
1194
+ #: views/sfsi_option_view6.php:101 views/sfsi_option_view8.php:390
1195
+ msgid "NO"
1196
+ msgstr "خیر"
1197
+
1198
+ #: views/sfsi_option_view7.php:48
1199
+ msgid ""
1200
+ "You can increase the chances that people share or follow you by displaying a pop-"
1201
+ "up asking them to. You can define the design and layout below:"
1202
+ msgstr ""
1203
+ "شما میتوانید شانس اینکه مردم سایتتان را به اشتراک بگذارند یا دنبال کنند را "
1204
+ "با نمایش یک پاپ‌آپ سوال‌کننده بیشتر کنید. میتوانید جانمایی و طراحی آن را در "
1205
+ "پایین تنظیم نمایید:"
1206
+
1207
+ #: views/sfsi_option_view7.php:54
1208
+ msgid "Enjoy this site? Please follow and like us!"
1209
+ msgstr "از این سایت لذت میبرید؟ لطفاً ما را لایک کرده و دنبال کنید!"
1210
+
1211
+ #: views/sfsi_option_view7.php:143
1212
+ msgid "Text and Design"
1213
+ msgstr "متن و طراحی"
1214
+
1215
+ #: views/sfsi_option_view7.php:147
1216
+ msgid "Text Options"
1217
+ msgstr "تنظیمات متن"
1218
+
1219
+ #: views/sfsi_option_view7.php:150 views/sfsi_option_view9.php:329
1220
+ #: views/sfsi_option_view9.php:409 views/sfsi_option_view9.php:486
1221
+ msgid "Text:"
1222
+ msgstr "متن:"
1223
+
1224
+ #: views/sfsi_option_view7.php:154 views/sfsi_option_view9.php:342
1225
+ #: views/sfsi_option_view9.php:422 views/sfsi_option_view9.php:499
1226
+ msgid "Font:"
1227
+ msgstr "قلم:"
1228
+
1229
+ #: views/sfsi_option_view7.php:200 views/sfsi_option_view9.php:428
1230
+ #: views/sfsi_option_view9.php:505
1231
+ msgid "Font style:"
1232
+ msgstr "ظاهر قلم:"
1233
+
1234
+ #: views/sfsi_option_view7.php:219
1235
+ msgid "Font color:"
1236
+ msgstr "رنگ قلم:"
1237
+
1238
+ #: views/sfsi_option_view7.php:224
1239
+ msgid "Font size:"
1240
+ msgstr "اندازه قلم:"
1241
+
1242
+ #: views/sfsi_option_view7.php:231
1243
+ msgid "Icon Box Layout"
1244
+ msgstr "جانمایی جعبه‌آیکن"
1245
+
1246
+ #: views/sfsi_option_view7.php:235
1247
+ msgid "Backgroud Color:"
1248
+ msgstr "رنگ پس‌زمینه:"
1249
+
1250
+ #: views/sfsi_option_view7.php:241
1251
+ msgid "Border Color:"
1252
+ msgstr "رنگ کادر دور:"
1253
+
1254
+ #: views/sfsi_option_view7.php:249
1255
+ msgid "Border Thinckness:"
1256
+ msgstr "ضخامت کادر دور:"
1257
+
1258
+ #: views/sfsi_option_view7.php:257
1259
+ msgid "Border Shadow:"
1260
+ msgstr "سایه کادر دور:"
1261
+
1262
+ #: views/sfsi_option_view7.php:263
1263
+ msgid "On"
1264
+ msgstr "روشن"
1265
+
1266
+ #: views/sfsi_option_view7.php:269
1267
+ msgid "Off"
1268
+ msgstr "خاموش"
1269
+
1270
+ #: views/sfsi_option_view7.php:279
1271
+ msgid "Where shall the pop-up be shown?"
1272
+ msgstr "پاپ‌آپ کجا نمایش داده شود؟"
1273
+
1274
+ #: views/sfsi_option_view7.php:284
1275
+ msgid "Nowhere"
1276
+ msgstr "هیچ‌کجا"
1277
+
1278
+ #: views/sfsi_option_view7.php:290
1279
+ msgid "On every page"
1280
+ msgstr "در همه صفحات"
1281
+
1282
+ #: views/sfsi_option_view7.php:296
1283
+ msgid "On blog posts only"
1284
+ msgstr "تنها در نوشته‌های وبلاگ"
1285
+
1286
+ #: views/sfsi_option_view7.php:302
1287
+ msgid "On selected pages only"
1288
+ msgstr "تنها در برگه‌های انتخاب شده"
1289
+
1290
+ #: views/sfsi_option_view7.php:345
1291
+ msgid "Please hold CTRL key to select multiple pages"
1292
+ msgstr "لطفاً کلید کنترل (Ctrl) را برای انتخاب صفحات متعدد نگه‌دارید"
1293
+
1294
+ #: views/sfsi_option_view7.php:351
1295
+ msgid "When shall the pop-up be shown?"
1296
+ msgstr "پاپ‌آپ چه‌وقتی نمایش داده شود؟"
1297
+
1298
+ #: views/sfsi_option_view7.php:356
1299
+ msgid "Once"
1300
+ msgstr "یکدفعه"
1301
+
1302
+ #: views/sfsi_option_view7.php:358
1303
+ msgid "seconds after the user arrived on the site"
1304
+ msgstr "ثانیه‌هایی پس از ورود کاربر به سایت"
1305
+
1306
+ #: views/sfsi_option_view7.php:364
1307
+ msgid "Every time user scrolls to the end of the page"
1308
+ msgstr "هروقت کاربر به انتهای برگه رسید (اسکرول کرد)"
1309
+
1310
+ #: views/sfsi_option_view8.php:112
1311
+ msgid "Show them via a widget"
1312
+ msgstr "از طریق ابزارک نمایش‌شان بده"
1313
+
1314
+ #: views/sfsi_option_view8.php:125
1315
+ msgid "Go to the widget area and drag & drop it where you want to have it!"
1316
+ msgstr ""
1317
+ "به قسمت ابزارک‌ها رفته و با کشیدن و رها کردن هرجا که مایل هستید قرار دهید!"
1318
+
1319
+ #: views/sfsi_option_view8.php:142
1320
+ msgid "Float them on the page"
1321
+ msgstr "روی صفحه شناورشان کن"
1322
+
1323
+ #: views/sfsi_option_view8.php:160
1324
+ msgid "Top left"
1325
+ msgstr "بالا سمت چپ"
1326
+
1327
+ #: views/sfsi_option_view8.php:167
1328
+ msgid "Top right"
1329
+ msgstr "بالا سمت راست"
1330
+
1331
+ #: views/sfsi_option_view8.php:174
1332
+ msgid "Center left"
1333
+ msgstr "وسط سمت چپ"
1334
+
1335
+ #: views/sfsi_option_view8.php:181
1336
+ msgid "Center right"
1337
+ msgstr "وسط سمت راست"
1338
+
1339
+ #: views/sfsi_option_view8.php:188
1340
+ msgid "Bottom left"
1341
+ msgstr "پایین سمت چپ"
1342
+
1343
+ #: views/sfsi_option_view8.php:195
1344
+ msgid "Bottom right"
1345
+ msgstr "پایین سمت راست"
1346
+
1347
+ #: views/sfsi_option_view8.php:202
1348
+ msgid "Margin From:"
1349
+ msgstr "فاصله از:"
1350
+
1351
+ #: views/sfsi_option_view8.php:207
1352
+ msgid "Top:"
1353
+ msgstr "بالا:"
1354
+
1355
+ #: views/sfsi_option_view8.php:216
1356
+ msgid "Bottom:"
1357
+ msgstr "پایین:"
1358
+
1359
+ #: views/sfsi_option_view8.php:225
1360
+ msgid "Left:"
1361
+ msgstr "چپ:"
1362
+
1363
+ #: views/sfsi_option_view8.php:234
1364
+ msgid "Right:"
1365
+ msgstr "راست:"
1366
+
1367
+ #: views/sfsi_option_view8.php:253
1368
+ msgid "Place them manually"
1369
+ msgstr "دستی قرار بده"
1370
+
1371
+ #: views/sfsi_option_view8.php:266
1372
+ msgid "Place the following string into your theme codes: "
1373
+ msgstr "متن زیر را در کد پوسته سایتتان وارد نمایید:"
1374
+
1375
+ #: views/sfsi_option_view8.php:270
1376
+ msgid ""
1377
+ "Or use the shortcode [DISPLAY_ULTIMATE_PLUS] to display them wherever you "
1378
+ "want."
1379
+ msgstr ""
1380
+ "یا اینکه برای نمایش دلخواه در هرجایی که میخواهید از کد کوتاه "
1381
+ "[DISPLAY_ULTIMATE_PLUS] استفاده نمایید."
1382
+
1383
+ #: views/sfsi_option_view8.php:282
1384
+ msgid "Show them before or after posts"
1385
+ msgstr "قبل یا بعد از نوشته نمایش‌شان بده"
1386
+
1387
+ #: views/sfsi_option_view8.php:296
1388
+ msgid "Here you have two options:"
1389
+ msgstr "اینجا شما دو انتخاب دارید:"
1390
+
1391
+ #: views/sfsi_option_view8.php:304
1392
+ msgid "Display rectangle icons"
1393
+ msgstr "آیکن‌های مربعی نشان بده"
1394
+
1395
+ #: views/sfsi_option_view8.php:310
1396
+ msgid "Display the icons I selected above"
1397
+ msgstr "آیکن‌هایی را که در بالا انتخاب کردم نمایش بده"
1398
+
1399
+ #: views/sfsi_option_view8.php:318
1400
+ msgid ""
1401
+ "Rectangle icons spell out the «call to action» which increases chances that "
1402
+ "visitors do it."
1403
+ msgstr ""
1404
+ "آیکن‌های مربعی میگویند «اقدام کن» که شانس اقدام توسط بازدیدکننده را افزایش "
1405
+ "میدهد."
1406
+
1407
+ #: views/sfsi_option_view8.php:321
1408
+ msgid "Select the icons you want to show:"
1409
+ msgstr "آیکنی که میخواهید نمایش داده شود را انتخاب نمایید:"
1410
+
1411
+ #: views/sfsi_option_view8.php:371
1412
+ msgid "may impact loading speed"
1413
+ msgstr "روی سرعت باز شدن سایت تاثیرگذار است"
1414
+
1415
+ #: views/sfsi_option_view8.php:421
1416
+ msgid "Display them:"
1417
+ msgstr "نمایش‌شان بده در:"
1418
+
1419
+ #: views/sfsi_option_view8.php:424
1420
+ msgid "On Post Pages"
1421
+ msgstr "در برگه‌ها"
1422
+
1423
+ #: views/sfsi_option_view8.php:430 views/sfsi_option_view8.php:459
1424
+ msgid "Before posts"
1425
+ msgstr "پیش از نوشته‌ها"
1426
+
1427
+ #: views/sfsi_option_view8.php:436 views/sfsi_option_view8.php:465
1428
+ msgid "After posts"
1429
+ msgstr "پس از نوشته‌ها"
1430
+
1431
+ #: views/sfsi_option_view8.php:453
1432
+ msgid "On Homepage"
1433
+ msgstr "در صفحه اول"
1434
+
1435
+ #: views/sfsi_option_view8.php:499
1436
+ msgid "Center"
1437
+ msgstr "مرکز"
1438
+
1439
+ #: views/sfsi_option_view9.php:98
1440
+ msgid ""
1441
+ "In addition to the email- or follow-icon you can also show a subscription "
1442
+ "form that maximizes chances that people subscribe to your site. To get "
1443
+ "access to the emails who subscribe, please"
1444
+ msgstr ""
1445
+ "به اضافه در ایمیل یا آیکن‌های دنبال‌کردن شما میتوانید یک فرم اشتراک نمایش دهید "
1446
+ "که شانس مشترک شدن در سایت‌تان را به حداکثر میرساند. برای اینکه به ایمیل مشترک "
1447
+ "دسترسی داشته باشید، لطفاً"
1448
+
1449
+ #: views/sfsi_option_view9.php:102
1450
+ msgid "claim your feed."
1451
+ msgstr "خوراک‌خوانتان را درخواست کنید."
1452
+
1453
+ #: views/sfsi_option_view9.php:121
1454
+ msgid "Place it on your site"
1455
+ msgstr "در سایتتان قرار دهید"
1456
+
1457
+ #: views/sfsi_option_view9.php:124
1458
+ msgid "You can place the form by different methods:"
1459
+ msgstr "میتوانید فرم را با روش‌های مختلفی قرار دهید:"
1460
+
1461
+ #: views/sfsi_option_view9.php:130
1462
+ msgid "Widget:"
1463
+ msgstr "ابزارک:"
1464
+
1465
+ #: views/sfsi_option_view9.php:132
1466
+ msgid "Go to the widget settings and drag and drop it to the sidebar:"
1467
+ msgstr ""
1468
+ "به تنظیمات ابزارک رفته و با کشیدن و رها کردن، آن را به نوارابزار کناری بکشید:"
1469
+
1470
+ #: views/sfsi_option_view9.php:139
1471
+ msgid "Shortcode:"
1472
+ msgstr "کد کوتاه (shortcode):"
1473
+
1474
+ #: views/sfsi_option_view9.php:142
1475
+ msgid "Use the shortcode"
1476
+ msgstr "از این کد کوتاه استفاده کن"
1477
+
1478
+ #: views/sfsi_option_view9.php:146
1479
+ msgid "to place it into your codes"
1480
+ msgstr "برای استفاده در میان کدهایتان"
1481
+
1482
+ #: views/sfsi_option_view9.php:150
1483
+ msgid "Copy & paste HTML code:"
1484
+ msgstr "این کد HTML را copy و paste کنید:"
1485
+
1486
+ #: views/sfsi_option_view9.php:164 views/sfsi_option_view9.php:699
1487
+ msgid "Get new posts by email:"
1488
+ msgstr "دریافت نوشته‌های جدید با ایمیل:"
1489
+
1490
+ #: views/sfsi_option_view9.php:186
1491
+ msgid "Define text & design (optional)"
1492
+ msgstr "متن و طرح را تعیین کنید (اختیاری)"
1493
+
1494
+ #: views/sfsi_option_view9.php:189
1495
+ msgid "Overall size & border"
1496
+ msgstr "اندازه و کادر دور نهایی"
1497
+
1498
+ #: views/sfsi_option_view9.php:201
1499
+ msgid "Adjust size to space on the website?"
1500
+ msgstr "اندازه متناسب با فضای سایت تنظیم شود؟"
1501
+
1502
+ #: views/sfsi_option_view9.php:224
1503
+ msgid "Height"
1504
+ msgstr "ارتفاع"
1505
+
1506
+ #: views/sfsi_option_view9.php:230 views/sfsi_option_view9.php:240
1507
+ #: views/sfsi_option_view9.php:276 views/sfsi_option_view9.php:376
1508
+ #: views/sfsi_option_view9.php:462 views/sfsi_option_view9.php:533
1509
+ msgid "pixels"
1510
+ msgstr "پیکسل"
1511
+
1512
+ #: views/sfsi_option_view9.php:235
1513
+ msgid "Width"
1514
+ msgstr "عرض"
1515
+
1516
+ #: views/sfsi_option_view9.php:247
1517
+ msgid "Border?"
1518
+ msgstr "کادر دور؟"
1519
+
1520
+ #: views/sfsi_option_view9.php:270
1521
+ msgid "Thickness"
1522
+ msgstr "ضخامت"
1523
+
1524
+ #: views/sfsi_option_view9.php:281
1525
+ msgid "Color"
1526
+ msgstr "رنگ"
1527
+
1528
+ #: views/sfsi_option_view9.php:296
1529
+ msgid "Background color:"
1530
+ msgstr "رنگ پس‌زمینه:"
1531
+
1532
+ #: views/sfsi_option_view9.php:317
1533
+ msgid "Text above the entry field"
1534
+ msgstr "متن بالای فیلد ورودی"
1535
+
1536
+ #: views/sfsi_option_view9.php:348
1537
+ msgid " Font style:"
1538
+ msgstr " ظاهر قلم:"
1539
+
1540
+ #: views/sfsi_option_view9.php:357 views/sfsi_option_view9.php:514
1541
+ msgid "Font color"
1542
+ msgstr "رنگ قلم"
1543
+
1544
+ #: views/sfsi_option_view9.php:370 views/sfsi_option_view9.php:456
1545
+ #: views/sfsi_option_view9.php:527
1546
+ msgid "Font size"
1547
+ msgstr "اندازه قلم"
1548
+
1549
+ #: views/sfsi_option_view9.php:384 views/sfsi_option_view9.php:449
1550
+ #: views/sfsi_option_view9.php:541
1551
+ msgid "Alignment:"
1552
+ msgstr "چینش:"
1553
+
1554
+ #: views/sfsi_option_view9.php:397
1555
+ msgid "Entry field"
1556
+ msgstr "فیلد ورودی"
1557
+
1558
+ #: views/sfsi_option_view9.php:474
1559
+ msgid "Subscribe button"
1560
+ msgstr "دکمه اشتراک"
1561
+
1562
+ #: views/sfsi_option_view9.php:550
1563
+ msgid "Button color:"
1564
+ msgstr "رنگ کلید:"
1565
+
1566
+ #: views/sfsi_option_view9.php:681
1567
+ msgid "Left Align"
1568
+ msgstr "چپ‌چین"
1569
+
1570
+ #: views/sfsi_option_view9.php:687
1571
+ msgid "Right Align"
1572
+ msgstr "راست‌چین"
1573
+
1574
+ #: views/sfsi_options_view.php:10
1575
+ msgid ""
1576
+ "We found errors in your javascript which may cause the plugin to not work "
1577
+ "properly. Please fix the error:"
1578
+ msgstr ""
1579
+ "ما خطایی در javascript شما پیدا کردیم که ممکن است مانع از کارکرد درست افزونه "
1580
+ "شود. لطفاً این خطا را برطرف کنید:"
1581
+
1582
+ #: views/sfsi_options_view.php:52
1583
+ msgid ""
1584
+ "New: You can now also show a subscription form on your site, increasing sign-"
1585
+ "ups! (Question 8)"
1586
+ msgstr ""
1587
+ "جدید: حالا شما قادر خواهید بود که یک فرم اشتراک در سایتتان نمایش دهید، که "
1588
+ "تعداد ثبت‌نام ها را زیادتر میکند (سوال ۸)"
1589
+
1590
+ #: views/sfsi_options_view.php:54
1591
+ msgid ""
1592
+ "If question 8 gets displayed in a funny way then please reload the page by "
1593
+ "pressing Control+F5(PC) or Command+R(Mac)"
1594
+ msgstr ""
1595
+ "اگر سوال ۸ را به شکل خنده‌داری میبینید لطفاً این صفحه را به‌کمک کلیدهای Ctrl+F5 "
1596
+ "(در PC) یا Command+R (در مکینتاش) مجدداً بارگذاری کنید"
1597
+
1598
+ #: views/sfsi_options_view.php:64
1599
+ msgid "Welcome to the Ultimate Social Media Icons PLUS plugin!"
1600
+ msgstr "به افزونه Ultimate Social Media Icons PLUS خوش آمدید!"
1601
+
1602
+ #: views/sfsi_options_view.php:67
1603
+ msgid ""
1604
+ "This plugin is 100% FREE and will fulfill all your subscription/sharing/"
1605
+ "liking needs!"
1606
+ msgstr ""
1607
+ "این افزونه ۱۰۰٪ رایگان است و تمامی نیازهای شما را در جذب مشترک، به "
1608
+ "استراک‌گذاری مطالب، و گرفتن لایک برآورده میکند."
1609
+
1610
+ #: views/sfsi_options_view.php:70
1611
+ msgid ""
1612
+ "Simply answer the questions below (at least the first 3) by clicking on them "
1613
+ "- that`s it!"
1614
+ msgstr ""
1615
+ "به راحتی با کلیک کردن به سوالات زیر پاسخ دهید (دست‌کم ۳ تای اولی) - فقط همین!"
1616
+
1617
+ #: views/sfsi_options_view.php:73
1618
+ msgid ""
1619
+ "If you have questions, or something doesn`t work as it should, please read "
1620
+ "the FAQ:"
1621
+ msgstr ""
1622
+ "اگر سوالی دارید یا چیزی آنطور که باید، کار نمیکند، لطفاً صفحه سوالات متداول "
1623
+ "را ببینید:"
1624
+
1625
+ #: views/sfsi_options_view.php:84
1626
+ msgid "Which icons do you want to show on your site?"
1627
+ msgstr "میخواهید کدام آیکن در سایت‌تان نمایش داده شود؟"
1628
+
1629
+ #: views/sfsi_options_view.php:92
1630
+ msgid "What do you want the icons to do?"
1631
+ msgstr "میخواهید آیکن‌ها برایتان چه‌کار کنند؟"
1632
+
1633
+ #: views/sfsi_options_view.php:99
1634
+ msgid "Where shall they be displayed?"
1635
+ msgstr "کجا باید نمایش داده شوند؟"
1636
+
1637
+ #: views/sfsi_options_view.php:105
1638
+ msgid "Optional"
1639
+ msgstr "اختیاری"
1640
+
1641
+ #: views/sfsi_options_view.php:110
1642
+ msgid "What design and animation do you want to give your icons?"
1643
+ msgstr "چه طرحی و پویانمایی‌ای میخواهید به آیکن‌هایتان بدهید؟"
1644
+
1645
+ #: views/sfsi_options_view.php:117
1646
+ msgid "Do you want to display \"counts\" next to your main icons?"
1647
+ msgstr "آیا میخواهید \"تعداد\" در کنار آیکن‌های اصلی‌تان نمایش داده شود؟"
1648
+
1649
+ #: views/sfsi_options_view.php:124
1650
+ msgid "Any other wishes for your main icons?"
1651
+ msgstr "خواسته دیگری از آیکن‌های اصلی‌تان دارید؟"
1652
+
1653
+ #: views/sfsi_options_view.php:136
1654
+ msgid "Do you want to display a pop-up, asking people to subscribe?"
1655
+ msgstr "آیا میخواهید یک پاپ‌آپ جهت مشترک‌شدن به کاربران نمایش داده شود؟"
1656
+
1657
+ #: views/sfsi_options_view.php:143
1658
+ msgid "Do you want to show a subscription form (increases sign ups)?"
1659
+ msgstr "آیا میخواهید یک فرم اشتراک نمایش داده شود (ثبت‌نام‌ها را افزایش میدهد)؟"
1660
+
1661
+ #: views/sfsi_options_view.php:159
1662
+ msgid ""
1663
+ "This plugin is 100% free. Please do us a BIG favor and give us a 5 star "
1664
+ "rating"
1665
+ msgstr ""
1666
+ "این افزونه ۱۰۰٪ رایگان میباشد. لطف بزرگی بکنید و امتیاز ۵ ستاره به ما بدهید"
1667
+
1668
+ #: views/sfsi_options_view.php:161
1669
+ msgid "here"
1670
+ msgstr "اینجا"
1671
+
1672
+ #: views/sfsi_options_view.php:163
1673
+ msgid ""
1674
+ "If you`re not happy, please get in touch with us at support@ultimatelysocial."
1675
+ "com, so that we can sort it out.Thank you!"
1676
+ msgstr ""
1677
+ "اگر رضایت ندارید، با ما از طریق support@ultimatelysocial.com در تماس باشید، "
1678
+ "که بتونیم درستش کنیم. ممنون از شما!"
1679
+
1680
+ #: views/sfsi_options_view.php:166
1681
+ msgid "Need top-notch Wordpress development work at a competitive price?"
1682
+ msgstr "به کار توسعه وردپرسی درجه یک با قیمت رقابتی نیاز دارید؟"
1683
+
1684
+ #: views/sfsi_options_view.php:168
1685
+ msgid "Visit us on ultimatelysocial.com"
1686
+ msgstr "از ما در ultimatelysocial.com دیدن کنید"
1687
+
1688
+ #: views/sfsi_pop_content.php:31
1689
+ msgid "Steps:"
1690
+ msgstr "مراحل:"
1691
+
1692
+ #: views/sfsi_pop_content.php:35 views/sfsi_pop_content.php:347
1693
+ msgid "Click on << Upload >> below"
1694
+ msgstr "روی «آپلود» در پایین کلیک کنید"
1695
+
1696
+ #: views/sfsi_pop_content.php:38 views/sfsi_pop_content.php:350
1697
+ msgid "Upload the icon into the media gallery"
1698
+ msgstr "آیکن را به درون رسانه آپلود کنید"
1699
+
1700
+ #: views/sfsi_pop_content.php:41
1701
+ msgid "Click on << Insert into post >> "
1702
+ msgstr "روی «درج در نوشته» کلیک کنید"
1703
+
1704
+ #: views/sfsi_pop_content.php:90
1705
+ msgid "Move over the Facebook-icon…"
1706
+ msgstr "منتقل کن به بالای آیکن فیس‌بوک"
1707
+
1708
+ #: views/sfsi_pop_content.php:116 views/sfsi_pop_content.php:271
1709
+ msgid "Move over the “+ icon” to see the sharing options"
1710
+ msgstr "منتقل کن به بالای آیکن \"+\" تا تنظیمات اشتراک‌گذاری را ببینید"
1711
+
1712
+ #: views/sfsi_pop_content.php:145
1713
+ msgid "Move over the Twiiter-icon…"
1714
+ msgstr "منتقل کن به بالای آیکن توییتر"
1715
+
1716
+ #: views/sfsi_pop_content.php:198
1717
+ msgid "Move over the YouTube-icon…"
1718
+ msgstr "منتقل کن به بالای آیکن یوتیوب"
1719
+
1720
+ #: views/sfsi_pop_content.php:221
1721
+ msgid "Move over the Pinterest-icon…"
1722
+ msgstr "منتقل کن به بالای آیکن پین‌ترست"
1723
+
1724
+ #: views/sfsi_pop_content.php:249
1725
+ msgid "Move over the LinkedIn-icon…"
1726
+ msgstr "منتقل کن به بالای آیکن لینکدین"
1727
+
1728
+ #: views/sfsi_pop_content.php:285
1729
+ msgid ""
1730
+ "Note: Also if you already offer a newsletter it makes sense to offer this "
1731
+ "option too, because it will get you more readers as explained"
1732
+ msgstr ""
1733
+ "توجه: همچنین اگر هم‌اکنون یک روزنامه ارائه داده‌اید، بهتر است این امکان را هم "
1734
+ "ارائه کنید، بدلیل اینکه همانطور که توضیح داده شد تعداد خواننده‌های بیشتری "
1735
+ "بدست میاورید"
1736
+
1737
+ #: views/sfsi_pop_content.php:292
1738
+ msgid "Ok, keep it active for the time being, I want to see how it works"
1739
+ msgstr "بسیار خب، به‌طور موقت فعالش کن، تا ببینم چگونه کار میکند"
1740
+
1741
+ #: views/sfsi_pop_content.php:296
1742
+ msgid "Deactivate it"
1743
+ msgstr "غیرفعالش کن"
1744
+
1745
+ #: views/sfsi_pop_content.php:304
1746
+ msgid ""
1747
+ "Ok, fine, however for using this plugin for FREE, please support us by "
1748
+ "activating a link back to our site:"
1749
+ msgstr ""
1750
+ "بسیار خب، خوب است، به هرحال چون از این افزونه بصورت رایگان استفاده میکنید، "
1751
+ "لطفاْ ما را با قرار دادن لینکمان در سایتتان حمایت کنید:"
1752
+
1753
+ #: views/sfsi_pop_content.php:309
1754
+ msgid "Ok, activate link"
1755
+ msgstr "باشه، لینک را فعال کن"
1756
+
1757
+ #: views/sfsi_pop_content.php:313
1758
+ msgid "Don’t activate link"
1759
+ msgstr "لینک را فعال نکن"
1760
+
1761
+ #: views/sfsi_pop_content.php:321
1762
+ msgid ""
1763
+ "You’re a toughie. Last try: As a minimum, could you please review this "
1764
+ "plugin (with 5 stars)? It only takes a minute. Thank you!"
1765
+ msgstr ""
1766
+ "شما خیلی خشنید! برای آخرین بار: دست کم، ممکن است لطفاً افزونه ما را ۵ ستاره "
1767
+ "کنید؟ فقط یک دقیقه زمان میبرد. ممنون از شما!"
1768
+
1769
+ #: views/sfsi_pop_content.php:325
1770
+ msgid "Ok, Review it"
1771
+ msgstr "باشه، بررسی کن"
1772
+
1773
+ #: views/sfsi_pop_content.php:329
1774
+ msgid "Don’t review and exit"
1775
+ msgstr "بررسی نکن و خارج شو"
1776
+
1777
+ #: views/sfsi_pop_content.php:341
1778
+ msgid "Upload custom icons"
1779
+ msgstr "آپلود آیکن‌های سفارشی"
1780
+
1781
+ #: views/sfsi_pop_content.php:344
1782
+ msgid ""
1783
+ "Here you can upload custom icons which perform the same actions as the "
1784
+ "standard icons."
1785
+ msgstr ""
1786
+ "اینجا میتوانید آیکن‌های سفارشی که مانند آیکن‌های استاندارد کار خواهند کرد را "
1787
+ "آپلود نمایید."
1788
+
1789
+ #: views/sfsi_pop_content.php:353
1790
+ msgid "Click on << Insert into post >>"
1791
+ msgstr "روی «درج در نوشته» کلیک کنید"
1792
+
1793
+ #: views/sfsi_pop_content.php:583
1794
+ msgid "I'm done!"
1795
+ msgstr "انجام دادم!"
1796
+
1797
+ #. Plugin Name of the plugin/theme
1798
+ msgid "Ultimate Social Media PLUS"
1799
+ msgstr "Ultimate Social Media PLUS"
1800
+
1801
+ #. #-#-#-#-# plugin.pot (Ultimate Social Media PLUS 2.3.7) #-#-#-#-#
1802
+ #. Plugin URI of the plugin/theme
1803
+ #. #-#-#-#-# plugin.pot (Ultimate Social Media PLUS 2.3.7) #-#-#-#-#
1804
+ #. Author URI of the plugin/theme
1805
+ msgid "http://ultimatelysocial.com"
1806
+ msgstr "http://ultimatelysocial.com"
1807
+
1808
+ #. Description of the plugin/theme
1809
+ msgid ""
1810
+ "The best social media plugin on the market. And 100% FREE. Allows you to add "
1811
+ "social media & share icons to your blog (esp. Facebook, Twitter, Email, RSS, "
1812
+ "Pinterest, Instagram, LinkedIn, Share-button). It offers a wide "
1813
+ "range of design options and other features."
1814
+ msgstr ""
1815
+ "بهترین افزونه شبکه اجتماعی در فروشگاه. و ۱۰۰٪ رایگان. به شما امکان اضافه "
1816
+ "نمودن آیکن‌های شبکه‌های اجتماعی و اشتراک‌گذاری را میدهد (بخصوص فیس‌بوک، توییتر، "
1817
+ "ایمیل، فید RSS، پین‌ترست، اینستاگرام، گوگل‌پلاس، لیندکدین، و کلید "
1818
+ "اشتراک‌گذاری). این افزونه گستره وسیعی از اختیارات طراحی و سایر ویژگی‌ها را در "
1819
+ "اختیارتان میگذارد."
1820
+
1821
+ #. Author of the plugin/theme
1822
+ msgid "UltimatelySocial"
1823
+ msgstr "UltimatelySocial"
libs/sfsi_custom_social_sharing_data.php CHANGED
@@ -1,77 +1,77 @@
1
- <?php
2
-
3
- function sfsi_plus_social_media_metabox( $post ) { ?>
4
- <style>
5
- .sfsi_new_prmium_follw p {
6
- width: 90%;
7
- color: #1a1d20 !important;
8
- font-size: 17px !important;
9
- font-family: helveticaregular !important;
10
- }
11
- .sfsi_new_prmium_follw {
12
- width: 97%;
13
- margin-top: 8px;
14
- display: inline-block;
15
- background: #f3faf6;
16
- border: 1px solid #12a252;
17
- padding: 0px 25px 0px 15px;
18
- height: 63px;
19
- clear: both;
20
- position: relative;
21
- }
22
- .sfsi_new_prmium_sharing p a {
23
- color: #12a252 !important;
24
- border-bottom: 1px solid #12a252;
25
- text-decoration: none;
26
- }
27
- .sfsi_new_prmium_follw p b {
28
- font-weight: bold;
29
- color: #1a1d20 !important;
30
- }
31
- .sfsi_plus_hidenotice{
32
- cursor: pointer;
33
- float: right;
34
- position: absolute;
35
- right: 10px;
36
- top: 21px;
37
- color: grey;
38
- font-size: 13px;
39
- }
40
- </style>
41
-
42
- <script >
43
- jQuery(document).ready(function(){
44
- jQuery('.sfsi_plus_hidenotice').on('click',function(){
45
- var data = {
46
- action:"plus_update_sharing_settings",
47
- sfsi_plus_custom_social_hide:"yes",
48
- nonce: '<?php echo wp_create_nonce('plus_update_sharing_settings') ?>'
49
- };
50
- jQuery.post(ajaxurl, data, function(response) {
51
- if(response){
52
- alert('Settings updated');
53
- jQuery('#sfsi-plus-social-media').remove();
54
- }
55
- });
56
- });
57
- });
58
- </script>
59
-
60
- <div class="sfsi_new_prmium_follw"><p><b><?php _e("New:",SFSI_PLUS_DOMAIN); ?></b> <?php _e("The Premium Plugin (Ultimate Social Media) allows you to define which picture, snippet text or tweet gets shared.",SFSI_PLUS_DOMAIN); ?> <a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_post_or_page&utm_campaign=define_pic_and_text&utm_medium=banner" target="_blank"><?php _e("See all features",SFSI_PLUS_DOMAIN); ?></a></p><a class="sfsi_plus_hidenotice" href="javascript:void(0)"><?php _e("Hide this notice",SFSI_PLUS_DOMAIN); ?></a></div>
61
-
62
- <?php }
63
-
64
-
65
- function sfsi_plus_icons_add_meta_boxes() {
66
- $screen = get_current_screen();
67
- $option5 = unserialize(get_option('sfsi_plus_section5_options',false));
68
- $hideSectionVal = (isset($option5['sfsi_plus_custom_social_hide'])) ? $option5['sfsi_plus_custom_social_hide']: 'no';
69
-
70
- if($hideSectionVal=='no'){
71
- if(isset($screen->post_type) && ('page'==$screen->post_type || 'post'==$screen->post_type)){
72
- add_meta_box( 'sfsi-plus-social-media', 'Ultimate Social Media – Sharing text & pictures', 'sfsi_plus_social_media_metabox', $screen->post_type, 'normal', 'low' );
73
- }
74
- }
75
- }
76
- add_action( 'add_meta_boxes', 'sfsi_plus_icons_add_meta_boxes' );
77
  ?>
1
+ <?php
2
+
3
+ function sfsi_plus_social_media_metabox( $post ) { ?>
4
+ <style>
5
+ .sfsi_new_prmium_follw p {
6
+ width: 90%;
7
+ color: #1a1d20 !important;
8
+ font-size: 17px !important;
9
+ font-family: helveticaregular !important;
10
+ }
11
+ .sfsi_new_prmium_follw {
12
+ width: 97%;
13
+ margin-top: 8px;
14
+ display: inline-block;
15
+ background: #f3faf6;
16
+ border: 1px solid #12a252;
17
+ padding: 0px 25px 0px 15px;
18
+ height: 63px;
19
+ clear: both;
20
+ position: relative;
21
+ }
22
+ .sfsi_new_prmium_sharing p a {
23
+ color: #12a252 !important;
24
+ border-bottom: 1px solid #12a252;
25
+ text-decoration: none;
26
+ }
27
+ .sfsi_new_prmium_follw p b {
28
+ font-weight: bold;
29
+ color: #1a1d20 !important;
30
+ }
31
+ .sfsi_plus_hidenotice{
32
+ cursor: pointer;
33
+ float: right;
34
+ position: absolute;
35
+ right: 10px;
36
+ top: 21px;
37
+ color: grey;
38
+ font-size: 13px;
39
+ }
40
+ </style>
41
+
42
+ <script >
43
+ jQuery(document).ready(function(){
44
+ jQuery('.sfsi_plus_hidenotice').on('click',function(){
45
+ var data = {
46
+ action:"plus_update_sharing_settings",
47
+ sfsi_plus_custom_social_hide:"yes",
48
+ nonce: '<?php echo wp_create_nonce('plus_update_sharing_settings') ?>'
49
+ };
50
+ jQuery.post(ajaxurl, data, function(response) {
51
+ if(response){
52
+ alert('Settings updated');
53
+ jQuery('#sfsi-plus-social-media').remove();
54
+ }
55
+ });
56
+ });
57
+ });
58
+ </script>
59
+
60
+ <div class="sfsi_new_prmium_follw"><p><b><?php _e("New:",SFSI_PLUS_DOMAIN); ?></b> <?php _e("The Premium Plugin (Ultimate Social Media) it allows you to define which picture, snippet text or tweet gets shared.",SFSI_PLUS_DOMAIN); ?> <a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_post_or_page&utm_campaign=define_pic_and_text&utm_medium=banner" target="_blank"><?php _e("See all features",SFSI_PLUS_DOMAIN); ?></a></p><a class="sfsi_plus_hidenotice" href="javascript:void(0)"><?php _e("Hide this notice",SFSI_PLUS_DOMAIN); ?></a></div>
61
+
62
+ <?php }
63
+
64
+
65
+ function sfsi_plus_icons_add_meta_boxes() {
66
+ $screen = get_current_screen();
67
+ $option5 = unserialize(get_option('sfsi_plus_section5_options',false));
68
+ $hideSectionVal = (isset($option5['sfsi_plus_custom_social_hide'])) ? $option5['sfsi_plus_custom_social_hide']: 'no';
69
+
70
+ if($hideSectionVal=='no'){
71
+ if(isset($screen->post_type) && ('page'==$screen->post_type || 'post'==$screen->post_type)){
72
+ add_meta_box( 'sfsi-plus-social-media', 'Ultimate Social Media – Sharing text & pictures', 'sfsi_plus_social_media_metabox', $screen->post_type, 'normal', 'low' );
73
+ }
74
+ }
75
+ }
76
+ add_action( 'add_meta_boxes', 'sfsi_plus_icons_add_meta_boxes' );
77
  ?>
libs/sfsi_install_uninstall.php CHANGED
@@ -1,1159 +1,1159 @@
1
- <?php
2
- function sfsi_plus_update_plugin()
3
- {
4
- if($feed_id = sanitize_text_field(get_option('sfsi_plus_feed_id')))
5
- {
6
- if(is_numeric($feed_id))
7
- {
8
- $sfsiId = SFSI_PLUS_updateFeedUrl();
9
- update_option('sfsi_plus_feed_id' , sanitize_text_field($sfsiId->feed_id));
10
- update_option('sfsi_plus_redirect_url' , sanitize_text_field($sfsiId->redirect_url));
11
- }
12
- }
13
-
14
- //Install version
15
- update_option("sfsi_plus_pluginVersion", "3.19");
16
-
17
- if(!get_option('sfsi_plus_serverphpVersionnotification'))
18
- {
19
- add_option("sfsi_plus_serverphpVersionnotification", "yes");
20
- }
21
- /* show notification on about mobile setting */
22
- if(!get_option('sfsi_plus_show_Setting_mobile_notification'))
23
- {
24
- add_option("sfsi_plus_show_Setting_mobile_notification", "yes");
25
- }
26
- /* show premium notification */
27
- if(!get_option('sfsi_plus_show_premium_notification'))
28
- {
29
- add_option("sfsi_plus_show_premium_notification", "yes");
30
- }
31
- if(!get_option('sfsi_plus_show_premium_cumulative_count_notification'))
32
- {
33
- add_option("sfsi_plus_show_premium_cumulative_count_notification", "yes");
34
- }
35
- /*show notification*/
36
- if(!get_option('sfsi_plus_show_notification'))
37
- {
38
- add_option("sfsi_plus_show_notification", "yes");
39
- }
40
- /* show new notification*/
41
- if(!get_option('sfsi_plus_new_show_notification'))
42
- {
43
- add_option("sfsi_plus_new_show_notification", "no");
44
- }
45
-
46
-
47
- // var_dump(get_option('sfsi_plus_custom_icons'),'yes');
48
- // die();
49
-
50
- if(!get_option('sfsi_plus_custom_icons'))
51
- {
52
- update_option("sfsi_plus_custom_icons", "yes");
53
- }
54
- add_option('sfsi_plus_footer_sec','no');
55
-
56
- /* subscription form */
57
- $options9 = array('sfsi_plus_form_adjustment'=>'yes',
58
- 'sfsi_plus_form_height'=>'180',
59
- 'sfsi_plus_form_width' =>'230',
60
- 'sfsi_plus_form_border'=>'yes',
61
- 'sfsi_plus_form_border_thickness'=>'1',
62
- 'sfsi_plus_form_border_color'=>'#b5b5b5',
63
- 'sfsi_plus_form_background'=>'#ffffff',
64
-
65
- 'sfsi_plus_form_heading_text'=>'Get new posts by email:',
66
- 'sfsi_plus_form_heading_font'=>'Helvetica,Arial,sans-serif',
67
- 'sfsi_plus_form_heading_fontstyle'=>'bold',
68
- 'sfsi_plus_form_heading_fontcolor'=>'#000000',
69
- 'sfsi_plus_form_heading_fontsize'=>'16',
70
- 'sfsi_plus_form_heading_fontalign'=>'center',
71
-
72
- 'sfsi_plus_form_field_text'=>'Enter your email',
73
- 'sfsi_plus_form_field_font'=>'Helvetica,Arial,sans-serif',
74
- 'sfsi_plus_form_field_fontstyle'=>'normal',
75
- 'sfsi_plus_form_field_fontcolor'=>'#000000',
76
- 'sfsi_plus_form_field_fontsize'=>'14',
77
- 'sfsi_plus_form_field_fontalign'=>'center',
78
-
79
- 'sfsi_plus_form_button_text'=>'Subscribe',
80
- 'sfsi_plus_form_button_font'=>'Helvetica,Arial,sans-serif',
81
- 'sfsi_plus_form_button_fontstyle'=>'bold',
82
- 'sfsi_plus_form_button_fontcolor'=>'#000000',
83
- 'sfsi_plus_form_button_fontsize'=>'16',
84
- 'sfsi_plus_form_button_fontalign'=>'center',
85
- 'sfsi_plus_form_button_background'=>'#dedede',
86
- );
87
- add_option('sfsi_plus_section9_options', serialize($options9));
88
-
89
- $sfsi_plus_instagram_sf_count = unserialize(get_option('sfsi_plus_instagram_sf_count',false));
90
- /*Extra important options*/
91
- if($sfsi_plus_instagram_sf_count === false){
92
- $sfsi_plus_instagram_sf_count = array(
93
- "date_sf" => strtotime(date("Y-m-d")),
94
- "date_instagram" => strtotime(date("Y-m-d")),
95
- "sfsi_plus_sf_count" => "",
96
- "sfsi_plus_instagram_count" => ""
97
- );
98
- add_option('sfsi_plus_instagram_sf_count', serialize($sfsi_plus_instagram_sf_count));
99
- }else{
100
- if(isset($sfsi_plus_instagram_sf_count["date"])) {
101
- $sfsi_plus_instagram_sf_count["date_sf"] = $sfsi_plus_instagram_sf_count["date"];
102
- $sfsi_plus_instagram_sf_count["date_instagram"] = $sfsi_plus_instagram_sf_count["date"];
103
- update_option('sfsi_plus_instagram_sf_count', serialize($sfsi_plus_instagram_sf_count));
104
- }
105
- }
106
-
107
- /*Float Icon setting*/
108
- $option8 = unserialize(get_option('sfsi_plus_section8_options',false));
109
- if(isset($option8) && !empty($option8) && !isset($option8['sfsi_plus_icons_floatMargin_top']))
110
- {
111
- $option8['sfsi_plus_icons_floatMargin_top'] = '';
112
- $option8['sfsi_plus_icons_floatMargin_bottom'] = '';
113
- $option8['sfsi_plus_icons_floatMargin_left'] = '';
114
- $option8['sfsi_plus_icons_floatMargin_right'] = '';
115
- update_option('sfsi_plus_section8_options', serialize($option8));
116
- }
117
- if(isset($option8) && !empty($option8))
118
- {
119
- if(!isset($option8['sfsi_plus_rectpinit']))
120
- {
121
- $option8['sfsi_plus_rectpinit'] = 'no';
122
- }
123
- if(!isset($option8['sfsi_plus_rectfbshare']))
124
- {
125
- $option8['sfsi_plus_rectfbshare'] = 'no';
126
- }
127
- update_option('sfsi_plus_section8_options', serialize($option8));
128
- }
129
-
130
- /*Language icons*/
131
- $option5 = unserialize(get_option('sfsi_plus_section5_options',false));
132
-
133
- if(isset($option5) && !empty($option5))
134
- {
135
- if(!isset($option5['sfsi_plus_follow_icons_language'])){
136
- $option5['sfsi_plus_follow_icons_language'] = 'Follow_en_US';
137
- }
138
- if(!isset($option5['sfsi_plus_facebook_icons_language'])){
139
- $option5['sfsi_plus_facebook_icons_language'] = 'Visit_us_en_US';
140
- }
141
- if(!isset($option5['sfsi_plus_twitter_icons_language'])){
142
- $option5['sfsi_plus_twitter_icons_language'] = 'Visit_us_en_US';
143
- }
144
- if(!isset($option5['sfsi_plus_icons_language'])){
145
- $option5['sfsi_plus_icons_language'] = 'en_US';
146
- }
147
-
148
- if(!isset($option5['sfsi_plus_premium_size_box'])){
149
- $option5['sfsi_plus_premium_size_box'] = 'no';
150
- }
151
- if(!isset($option5['sfsi_plus_custom_social_hide'])){
152
- $option5['sfsi_plus_custom_social_hide'] = 'no';
153
- }
154
-
155
- if(!isset($option5['sfsi_icons_suppress_errors'])){
156
-
157
- $sup_errors = "no";
158
- $sup_errors_banner_dismissed = true;
159
-
160
- if(defined('WP_DEBUG') && false != WP_DEBUG){
161
- $sup_errors = 'yes';
162
- $sup_errors_banner_dismissed = false;
163
- }
164
-
165
- $option5['sfsi_icons_suppress_errors'] = $sup_errors;
166
- update_option('sfsi_error_reporting_notice_dismissed',$sup_errors_banner_dismissed);
167
- }
168
- update_option('sfsi_plus_section5_options', serialize($option5));
169
- }
170
-
171
- /*Youtube Channelid settings*/
172
- $option4 = unserialize(get_option('sfsi_plus_section4_options',false));
173
- if(isset($option4) && !empty($option4) && !isset($option4['sfsi_plus_youtube_channelId']))
174
- {
175
- $option4['sfsi_plus_youtube_channelId'] = '';
176
- update_option('sfsi_plus_section4_options', serialize($option4));
177
- }
178
- /* section1 */
179
- $option1 = unserialize(get_option('sfsi_plus_section1_options',false));
180
- if(isset($option1) && !empty($option1) && !isset($option1['sfsi_plus_premium_icons_box']))
181
- {
182
- $option1['sfsi_plus_premium_icons_box'] = 'no';
183
- if(!isset($option1['sfsi_plus_ok_display'])){
184
- $option1['sfsi_plus_ok_display'] = 'no';
185
- }
186
- if(!isset($option1['sfsi_plus_telegram_display'])){
187
- $option1['sfsi_plus_telegram_display'] = 'no';
188
- }
189
- if(!isset($option1['sfsi_plus_vk_display'])){
190
- $option1['sfsi_plus_vk_display'] = 'no';
191
- }
192
- if(!isset($option1['sfsi_plus_weibo_display'])){
193
- $option1['sfsi_plus_weibo_display'] = 'no';
194
- }
195
- if(!isset($option1['sfsi_plus_wechat_display'])){
196
- $option1['sfsi_plus_wechat_display'] = 'no';
197
- }
198
-
199
-
200
- update_option('sfsi_plus_section1_options', serialize($option1));
201
- }
202
- /* section2 */
203
- $option2 = unserialize(get_option('sfsi_plus_section2_options',false));
204
- if(isset($option2) && !empty($option2) && !isset($option2['sfsi_plus_premium_email_box']))
205
- {
206
- $option2['sfsi_plus_premium_email_box'] = 'no';
207
- $option2['sfsi_plus_premium_facebook_box'] = 'no';
208
- $option2['sfsi_plus_premium_twitter_box'] = 'no';
209
-
210
- if(!isset($option2['sfsi_plus_mouseover_effect_type'])){
211
- $option2['sfsi_plus_mouseover_effect_type'] = 'no';
212
- }
213
- if(!isset($option2['sfsi_plus_okVisit_url'])){
214
- $option2['sfsi_plus_okVisit_url'] = 'no';
215
- }
216
- if(!isset($option2['sfsi_plus_okSubscribe_option'])){
217
- $option2['sfsi_plus_okSubscribe_option'] = 'no';
218
- }
219
- if(!isset($option2['sfsi_plus_okSubscribe_userid'])){
220
- $option2['sfsi_plus_okSubscribe_userid'] = 'no';
221
- }
222
- if(!isset($option2['sfsi_plus_okLike_option'])){
223
- $option2['sfsi_plus_okLike_option'] = 'no';
224
- }
225
- if(!isset($option2['sfsi_plus_telegramShare_option'])){
226
- $option2['sfsi_plus_telegramShare_option'] = 'no';
227
- }
228
- if(!isset($option2['sfsi_plus_telegramMessage_option'])){
229
- $option2['sfsi_plus_telegramMessage_option'] = 'no';
230
- }
231
- if(!isset($option2['sfsi_plus_telegram_message'])){
232
- $option2['sfsi_plus_telegram_message'] = 'no';
233
- }
234
- if(!isset($option2['sfsi_plus_telegram_username'])){
235
- $option2['sfsi_plus_telegram_username'] = 'no';
236
- }
237
- if(!isset($option2['sfsi_plus_vkVisit_option'])){
238
- $option2['sfsi_plus_vkVisit_option'] = 'no';
239
- }
240
- if(!isset($option2['sfsi_plus_vkShare_option'])){
241
- $option2['sfsi_plus_vkShare_option'] = 'no';
242
- }
243
- if(!isset($option2['sfsi_plus_vkLike_option'])){
244
- $option2['sfsi_plus_vkLike_option'] = 'no';
245
- }
246
- if(!isset($option2['sfsi_plus_vkFollow_option'])){
247
- $option2['sfsi_plus_vkFollow_option'] = 'no';
248
- }
249
- if(!isset($option2['sfsi_plus_vkVisit_url'])){
250
- $option2['sfsi_plus_vkVisit_url'] = 'no';
251
- }
252
- if(!isset($option2['gvfergergergergregergrg'])){
253
- $option2['gvfergergergergregergrg'] = 'no';
254
- }
255
- if(!isset($option2['sfsi_plus_vkFollow_url'])){
256
- $option2['sfsi_plus_vkFollow_url'] = 'no';
257
- }
258
- if(!isset($option2['sfsi_plus_weiboVisit_option'])){
259
- $option2['sfsi_plus_weiboVisit_option'] = 'no';
260
- }
261
- if(!isset($option2['sfsi_plus_weiboShare_option'])){
262
- $option2['sfsi_plus_weiboShare_option'] = 'no';
263
- }
264
- if(!isset($option2['sfsi_plus_weiboLike_option'])){
265
- $option2['sfsi_plus_weiboLike_option'] = 'no';
266
- }
267
- if(!isset($option2['sfsi_plus_weiboVisit_url'])){
268
- $option2['sfsi_plus_weiboVisit_url'] = 'no';
269
- }
270
- if(!isset($option2['sfsi_plus_wechatFollow_option'])){
271
- $option2['sfsi_plus_wechatFollow_option'] = 'no';
272
- }
273
- if(!isset($option2['sfsi_plus_wechatShare_option'])){
274
- $option2['sfsi_plus_wechatShare_option'] = 'no';
275
- }
276
- if(!isset($option2['sfsi_plus_wechat_scan_image'])){
277
- $option2['sfsi_plus_wechat_scan_image'] = 'no';
278
- }
279
-
280
- update_option('sfsi_plus_section2_options', serialize($option2));
281
- }
282
- /* section3 */
283
- $option3 = unserialize(get_option('sfsi_plus_section3_options',false));
284
- if(isset($option3) && !empty($option3))
285
- {
286
- if(!isset($option3['sfsi_plus_mouseover_effect_type'])){
287
- $option3['sfsi_plus_mouseover_effect_type'] = 'same_icons';
288
- }
289
- if(!isset($option3['mouseover_other_icons_transition_effect'])){
290
- $option3['mouseover_other_icons_transition_effect'] = 'flip';
291
- }
292
-
293
- if(!isset($option3['sfsi_plus_premium_icons_design_box'])){
294
- $option3['sfsi_plus_premium_icons_design_box'] = 'no';
295
- }
296
-
297
- update_option('sfsi_plus_section3_options', serialize($option3));
298
- }
299
- /* section4 */
300
- $option4 = unserialize(get_option('sfsi_plus_section4_options',false));
301
- if(isset($option4) && !empty($option4) && !isset($option4['sfsi_plus_premium_count_box']))
302
- {
303
- $option4['sfsi_plus_premium_count_box'] = 'no';
304
- update_option('sfsi_plus_section4_options', serialize($option4));
305
- }
306
- /* section7 */
307
- $option7 = unserialize(get_option('sfsi_plus_section7_options',false));
308
- if(isset($option7) && !empty($option7) && !isset($option7['sfsi_plus_premium_popup_box']))
309
- {
310
- $option7['sfsi_plus_premium_popup_box'] = 'no';
311
- update_option('sfsi_plus_section7_options', serialize($option7));
312
- }
313
- /* section8 */
314
- $option8 = unserialize(get_option('sfsi_plus_section8_options',false));
315
- if(isset($option8) && !empty($option8) && !isset($option8['sfsi_plus_show_premium_placement_box']))
316
- {
317
- $option8['sfsi_plus_show_premium_placement_box'] = 'no';
318
- update_option('sfsi_plus_section8_options', serialize($option8));
319
- }
320
- $option4 = unserialize(get_option('sfsi_plus_section4_options',false));
321
- if(isset($option4) && !empty($option4) && !isset($option4['sfsi_plus_instagram_clientid']))
322
- {
323
- $option4['sfsi_plus_instagram_clientid'] = '';
324
- $option4['sfsi_plus_instagram_appurl'] = '';
325
- $option4['sfsi_plus_instagram_token'] = '';
326
- update_option('sfsi_plus_section4_options', serialize($option4));
327
- }
328
- if(isset($option8["sfsi_plus_display_button_type"]) && (""==$option8["sfsi_plus_display_button_type"] || "yes"==$option8["sfsi_plus_display_button_type"]) ) {
329
- $option8["sfsi_plus_display_button_type"] = "standard_buttons";
330
- }
331
- sfsi_plus_remove_google();
332
- // Add this removed in version 2.9.3, removing values from section 1 & section 6 & setting notice display value
333
- sfsi_plus_was_displaying_addthis();
334
- }
335
- function sfsi_plus_activate_plugin()
336
- {
337
- /* check for CURL enable at server */
338
- add_option('sfsi_plus_plugin_do_activation_redirect', true);
339
- sfsi_plus_curl_enable_notice();
340
-
341
- if(!get_option('sfsi_plus_new_show_notification'))
342
- {
343
- add_option("sfsi_plus_new_show_notification", "yes");
344
- }
345
-
346
- if(!get_option('sfsi_plus_show_premium_cumulative_count_notification'))
347
- {
348
- add_option("sfsi_plus_show_premium_cumulative_count_notification", "yes");
349
- }
350
- // var_dump(get_option('sfsi_plus_custom_icons'),'no');
351
-
352
- if(!get_option('sfsi_plus_custom_icons'))
353
- {
354
- add_option("sfsi_plus_custom_icons", "no");
355
- }
356
-
357
- $options1=array('sfsi_plus_rss_display'=>'yes',
358
- 'sfsi_plus_email_display'=>'yes',
359
- 'sfsi_plus_facebook_display'=>'yes',
360
- 'sfsi_plus_twitter_display'=>'yes',
361
- 'sfsi_plus_pinterest_display'=>'no',
362
- 'sfsi_plus_instagram_display'=>'no',
363
- 'sfsi_plus_linkedin_display'=>'no',
364
- 'sfsi_plus_youtube_display'=>'no',
365
- 'sfsi_plus_houzz_display'=>'no',
366
- 'sfsi_plus_ok_display'=>'no',
367
- 'sfsi_plus_telegram_display'=>'no',
368
- 'sfsi_plus_vk_display'=>'no',
369
- 'sfsi_plus_weibo_display'=>'no',
370
- 'sfsi_plus_wechat_display'=>'no',
371
- 'sfsi_custom_display'=>'',
372
- 'sfsi_custom_files'=>'',
373
- 'sfsi_plus_premium_icons_box' =>'yes',
374
- );
375
- add_option('sfsi_plus_section1_options', serialize($options1));
376
-
377
- if(get_option('sfsi_plus_feed_id') && get_option('sfsi_plus_redirect_url'))
378
- {
379
- $sffeeds["feed_id"] = sanitize_text_field(get_option('sfsi_plus_feed_id'));
380
- $sffeeds["redirect_url"] = sanitize_text_field(get_option('sfsi_plus_redirect_url'));
381
- $sffeeds = (object)$sffeeds;
382
- }
383
- else
384
- {
385
- $sffeeds = SFSI_PLUS_getFeedUrl();
386
- }
387
-
388
- /* Links and icons options */
389
- $options2=array('sfsi_plus_rss_url'=>sfsi_plus_get_bloginfo('rss2_url'),
390
- 'sfsi_plus_rss_icons'=>'subscribe',
391
- 'sfsi_plus_email_url'=>$sffeeds->redirect_url,
392
- 'sfsi_plus_facebookPage_option'=>'no',
393
- 'sfsi_plus_facebookPage_url'=>'',
394
- 'sfsi_plus_facebookLike_option'=>'yes',
395
- 'sfsi_plus_facebookShare_option'=>'yes',
396
- 'sfsi_plus_twitter_followme'=>'no',
397
- 'sfsi_plus_twitter_followUserName'=>'',
398
- 'sfsi_plus_twitter_aboutPage'=>'yes',
399
- 'sfsi_plus_twitter_page'=>'no',
400
- 'sfsi_plus_twitter_pageURL'=>'',
401
- 'sfsi_plus_twitter_aboutPageText'=>'Hey, check out this cool site I found: www.yourname.com #Topic via@my_twitter_name',
402
- 'sfsi_plus_youtube_pageUrl'=>'',
403
- 'sfsi_plus_youtube_page'=>'no',
404
- 'sfsi_plus_youtube_follow'=>'no',
405
- 'sfsi_plus_youtubeusernameorid'=>'name',
406
- 'sfsi_plus_ytube_chnlid'=>'',
407
- 'sfsi_plus_ytube_user'=>'',
408
- 'sfsi_plus_pinterest_page'=>'no',
409
- 'sfsi_plus_pinterest_pageUrl'=>'',
410
- 'sfsi_plus_pinterest_pingBlog'=>'',
411
- 'sfsi_plus_instagram_page'=>'no',
412
- 'sfsi_plus_instagram_pageUrl'=>'',
413
- 'sfsi_plus_houzz_pageUrl'=>'',
414
- 'sfsi_plus_linkedin_page'=>'no',
415
- 'sfsi_plus_linkedin_pageURL'=>'',
416
- 'sfsi_plus_linkedin_follow'=>'no',
417
- 'sfsi_plus_linkedin_followCompany'=>'',
418
- 'sfsi_plus_linkedin_SharePage'=>'yes',
419
- 'sfsi_plus_linkedin_recommendBusines'=>'no',
420
- 'sfsi_plus_linkedin_recommendCompany'=>'',
421
- 'sfsi_plus_linkedin_recommendProductId'=>'',
422
- 'sfsi_plus_okVisit_option' => 'no',
423
- 'sfsi_plus_okVisit_url' => '',
424
- 'sfsi_plus_okSubscribe_option' => 'no',
425
- 'sfsi_plus_okSubscribe_userid' => '',
426
- 'sfsi_plus_okLike_option' => 'no',
427
- 'sfsi_plus_wechatFollow_option' => 'no',
428
- 'sfsi_plus_wechatShare_option' => 'no',
429
-
430
- 'sfsi_plus_telegramShare_option' => 'no',
431
- 'sfsi_plus_telegramMessage_option' => 'no',
432
- 'sfsi_plus_telegram_message' => '',
433
- 'sfsi_plus_telegram_username' => '',
434
- 'sfsi_plus_CustomIcon_links'=>'',
435
- 'sfsi_plus_premium_email_box'=>'yes',
436
- 'sfsi_plus_premium_facebook_box'=>'yes',
437
- 'sfsi_plus_premium_twitter_box'=>'yes',
438
- );
439
- add_option('sfsi_plus_section2_options', serialize($options2));
440
-
441
- /* Design and animation option */
442
- $options3= array(
443
- 'sfsi_plus_mouseOver' =>'no',
444
- 'sfsi_plus_mouseOver_effect' =>'fade_in',
445
- 'sfsi_plus_mouseover_effect_type' => 'same_icons',
446
- 'mouseover_other_icons_transition_effect' => 'flip',
447
- 'sfsi_plus_shuffle_icons' =>'no',
448
- 'sfsi_plus_shuffle_Firstload' =>'no',
449
- 'sfsi_plus_shuffle_interval' =>'no',
450
- 'sfsi_plus_shuffle_intervalTime' =>'',
451
- 'sfsi_plus_actvite_theme' =>'default',
452
- 'sfsi_plus_premium_icons_design_box'=>'yes',
453
- );
454
-
455
- add_option('sfsi_plus_section3_options', serialize($options3));
456
-
457
- /* display counts options */
458
- $options4=array('sfsi_plus_display_counts'=>'no',
459
- 'sfsi_plus_email_countsDisplay'=>'no',
460
- 'sfsi_plus_email_countsFrom'=>'source',
461
- 'sfsi_plus_email_manualCounts'=>'20',
462
- 'sfsi_plus_rss_countsDisplay'=>'no',
463
- 'sfsi_plus_rss_manualCounts'=>'20',
464
- 'sfsi_plus_facebook_PageLink'=>'',
465
- 'sfsi_plus_facebook_countsDisplay'=>'no',
466
- 'sfsi_plus_facebook_countsFrom'=>'manual',
467
- 'sfsi_plus_facebook_manualCounts'=>'20',
468
- 'sfsi_plus_twitter_countsDisplay'=>'no',
469
- 'sfsi_plus_twitter_countsFrom'=>'manual',
470
- 'sfsi_plus_twitter_manualCounts'=>'20',
471
- 'sfsi_plus_google_api_key'=>'',
472
- 'sfsi_plus_linkedIn_countsDisplay'=>'no',
473
- 'sfsi_plus_linkedIn_countsFrom'=>'manual',
474
- 'sfsi_plus_linkedIn_manualCounts'=>'20',
475
- 'sfsi_plus_ln_api_key'=>'',
476
- 'sfsi_plus_ln_secret_key'=>'',
477
- 'sfsi_plus_ln_oAuth_user_token'=>'',
478
- 'sfsi_plus_ln_company'=>'',
479
- 'sfsi_plus_youtube_user'=>'',
480
- 'sfsi_plus_youtube_channelId'=>'',
481
- 'sfsi_plus_youtube_countsDisplay'=>'no',
482
- 'sfsi_plus_youtube_countsFrom'=>'manual',
483
- 'sfsi_plus_youtube_manualCounts'=>'20',
484
- 'sfsi_plus_pinterest_countsDisplay'=>'no',
485
- 'sfsi_plus_pinterest_countsFrom'=>'manual',
486
- 'sfsi_plus_pinterest_manualCounts'=>'20',
487
- 'sfsi_plus_pinterest_user'=>'',
488
- 'sfsi_plus_pinterest_board'=>'',
489
- 'sfsi_plus_instagram_countsFrom'=>'manual',
490
- 'sfsi_plus_instagram_countsDisplay'=>'no',
491
- 'sfsi_plus_instagram_manualCounts'=>'20',
492
- 'sfsi_plus_instagram_User'=>'',
493
- 'sfsi_plus_instagram_clientid'=>'',
494
- 'sfsi_plus_instagram_appurl' =>'',
495
- 'sfsi_plus_instagram_token' =>'',
496
- 'sfsi_plus_houzz_countsDisplay'=>'no',
497
- 'sfsi_plus_houzz_countsFrom'=>'manual',
498
- 'sfsi_plus_houzz_manualCounts'=>'20',
499
- 'sfsi_plus_ok_countsDisplay' => 'no',
500
- 'sfsi_plus_vk_countsDisplay' => 'no',
501
- 'sfsi_plus_telegram_countsDisplay' => 'no',
502
- 'sfsi_plus_weibo_countsDisplay' => 'no',
503
- 'sfsi_plus_ok_manualCounts' => '20',
504
- 'sfsi_plus_vk_manualCounts' => '20',
505
- 'sfsi_plus_telegram_manualCounts' => '20',
506
- 'sfsi_plus_weibo_manualCounts' => '20',
507
- 'sfsi_plus_premium_count_box'=>'yes',
508
- );
509
- add_option('sfsi_plus_section4_options', serialize($options4));
510
-
511
- $options5=array('sfsi_plus_icons_size'=>'40',
512
- 'sfsi_plus_icons_spacing'=>'5',
513
- 'sfsi_plus_icons_Alignment'=>'left',
514
- 'sfsi_plus_icons_perRow'=>'5',
515
- 'sfsi_plus_follow_icons_language'=>'Follow_en_US',
516
- 'sfsi_plus_facebook_icons_language'=>'Visit_us_en_US',
517
- 'sfsi_plus_twitter_icons_language'=>'Visit_us_en_US',
518
- 'sfsi_plus_icons_language'=>'en_US',
519
- 'sfsi_plus_icons_ClickPageOpen'=>'yes',
520
- 'sfsi_plus_icons_float'=>'no',
521
- 'sfsi_plus_disable_floaticons'=>'no',
522
- 'sfsi_plus_disable_viewport'=>'no',
523
- 'sfsi_plus_icons_floatPosition'=>'center-right',
524
- 'sfsi_plus_icons_stick'=>'no',
525
- 'sfsi_plus_rssIcon_order'=>'1',
526
- 'sfsi_plus_emailIcon_order'=>'2',
527
- 'sfsi_plus_facebookIcon_order'=>'3',
528
- 'sfsi_plus_twitterIcon_order'=>'4',
529
- 'sfsi_plus_youtubeIcon_order'=>'5',
530
- 'sfsi_plus_pinterestIcon_order'=>'7',
531
- 'sfsi_plus_linkedinIcon_order'=>'8',
532
- 'sfsi_plus_instagramIcon_order'=>'9',
533
- 'sfsi_plus_houzzIcon_order'=>'10',
534
- 'sfsi_plus_telegramIcon_order'=>'22',
535
- 'sfsi_plus_vkIcon_order'=>'23',
536
- 'sfsi_plus_okIcon_order'=>'24',
537
- 'sfsi_plus_weiboIcon_order'=>'25',
538
- 'sfsi_plus_wechatIcon_order'=>'26',
539
- 'sfsi_plus_CustomIcons_order'=>'',
540
- 'sfsi_plus_rss_MouseOverText'=>'RSS',
541
- 'sfsi_plus_email_MouseOverText'=>'Follow by Email',
542
- 'sfsi_plus_twitter_MouseOverText'=>'Twitter',
543
- 'sfsi_plus_facebook_MouseOverText'=>'Facebook',
544
- 'sfsi_plus_linkedIn_MouseOverText'=>'LinkedIn',
545
- 'sfsi_plus_pinterest_MouseOverText'=>'Pinterest',
546
- 'sfsi_plus_instagram_MouseOverText'=>'Instagram',
547
- 'sfsi_plus_telegram_MouseOverText'=>'Telegram',
548
- 'sfsi_plus_vk_MouseOverText'=>'Vk',
549
- 'sfsi_plus_houzz_MouseOverText'=>'Houzz',
550
- 'sfsi_plus_youtube_MouseOverText'=>'YouTube',
551
- 'sfsi_plus_ok_MouseOverText' => "Ok",
552
-
553
- 'sfsi_plus_vk_MouseOverText' => "Vk",
554
- 'sfsi_plus_weibo_MouseOverText' => "Weibo",
555
- 'sfsi_plus_wechat_MouseOverText' => "Wechat",
556
- 'sfsi_plus_custom_MouseOverTexts'=>'',
557
- 'sfsi_plus_premium_size_box'=>'yes',
558
- 'sfsi_plus_custom_social_hide'=>'no',
559
- 'sfsi_pplus_icons_suppress_errors'=>'no',
560
- );
561
- add_option('sfsi_plus_section5_options', serialize($options5));
562
-
563
- /* post options */
564
- $options6=array('sfsi_plus_show_Onposts'=>'no',
565
- 'sfsi_plus_show_Onbottom'=>'no',
566
- 'sfsi_plus_icons_postPositon'=>'source',
567
- 'sfsi_plus_icons_alignment'=>'center-right',
568
- 'sfsi_plus_rss_countsDisplay'=>'no',
569
- 'sfsi_plus_textBefor_icons'=>'Please follow and like us:',
570
- 'sfsi_plus_icons_DisplayCounts'=>'no');
571
- add_option('sfsi_plus_section6_options', serialize($options6));
572
-
573
- /* icons pop options */
574
- $options7=array('sfsi_plus_show_popup'=>'no',
575
- 'sfsi_plus_popup_text'=>'Enjoy this blog? Please spread the word :)',
576
- 'sfsi_plus_popup_background_color'=>'#eff7f7',
577
- 'sfsi_plus_popup_border_color'=>'#f3faf2',
578
- 'sfsi_plus_popup_border_thickness'=>'1',
579
- 'sfsi_plus_popup_border_shadow'=>'yes',
580
- 'sfsi_plus_popup_font'=>'Helvetica,Arial,sans-serif',
581
- 'sfsi_plus_popup_fontSize'=>'30',
582
- 'sfsi_plus_popup_fontStyle'=>'normal',
583
- 'sfsi_plus_popup_fontColor'=>'#000000',
584
- 'sfsi_plus_Show_popupOn'=>'none',
585
- 'sfsi_plus_Show_popupOn_PageIDs'=>'',
586
- 'sfsi_plus_Shown_pop'=>'ETscroll',
587
- 'sfsi_plus_Shown_popupOnceTime'=>'',
588
- 'sfsi_plus_Shown_popuplimitPerUserTime'=>'',
589
- 'sfsi_plus_premium_popup_box' =>'yes',
590
-
591
- );
592
- add_option('sfsi_plus_section7_options', serialize($options7));
593
-
594
- /*options that are added in the third question*/
595
- if(get_option('sfsi_plus_section4_options',false))
596
- $option4= unserialize(get_option('sfsi_plus_section4_options',false));
597
- if(get_option('sfsi_plus_section5_options',false))
598
- $option5= unserialize(get_option('sfsi_plus_section5_options',false));
599
- if(get_option('sfsi_plus_section6_options',false))
600
- $option6= unserialize(get_option('sfsi_plus_section6_options',false));
601
-
602
- /*if($option6['sfsi_plus_show_Onposts'] == 'yes')
603
- {
604
- $sfsi_plus_display_button_type = 'standard_buttons';
605
- }
606
- else
607
- {
608
- $sfsi_plus_display_button_type = '';
609
- }*/
610
-
611
- $options8 = array(
612
- 'sfsi_plus_show_via_widget'=>'no',
613
- 'sfsi_plus_float_on_page'=> $option5['sfsi_plus_icons_float'],
614
- 'sfsi_plus_float_page_position'=>$option5['sfsi_plus_icons_floatPosition'],
615
- 'sfsi_plus_icons_floatMargin_top'=>'',
616
- 'sfsi_plus_icons_floatMargin_bottom'=>'',
617
- 'sfsi_plus_icons_floatMargin_left'=>'',
618
- 'sfsi_plus_icons_floatMargin_right'=>'',
619
- 'sfsi_plus_post_icons_size'=>$option5['sfsi_plus_icons_size'],
620
- 'sfsi_plus_post_icons_spacing'=>$option5['sfsi_plus_icons_spacing'],
621
- 'sfsi_plus_show_Onposts'=>$option6['sfsi_plus_show_Onposts'],
622
- 'sfsi_plus_textBefor_icons'=>$option6['sfsi_plus_textBefor_icons'],
623
- 'sfsi_plus_icons_alignment'=>$option6['sfsi_plus_icons_alignment'],
624
- 'sfsi_plus_icons_DisplayCounts'=>$option6['sfsi_plus_icons_DisplayCounts'],
625
- 'sfsi_plus_place_item_manually'=>'no',
626
- /*'sfsi_plus_show_item_onposts'=>'no',*/
627
- 'sfsi_plus_show_item_onposts'=> $option6['sfsi_plus_show_Onposts'],
628
- 'sfsi_plus_display_button_type'=> 'standard_buttons',
629
- 'sfsi_plus_display_before_posts'=>'no',
630
- 'sfsi_plus_display_after_posts'=>$option6['sfsi_plus_show_Onposts'],
631
- 'sfsi_plus_display_on_postspage'=>'no',
632
- 'sfsi_plus_display_on_homepage'=>'no',
633
- 'sfsi_plus_display_before_blogposts'=>'no',
634
- 'sfsi_plus_display_after_blogposts'=>'no',
635
- 'sfsi_plus_rectsub'=>'yes',
636
- 'sfsi_plus_rectfb'=>'yes',
637
- 'sfsi_plus_rectgp'=>'no',
638
- 'sfsi_plus_recttwtr'=>'yes',
639
- 'sfsi_plus_rectpinit'=>'yes',
640
- 'sfsi_plus_rectfbshare'=>'yes',
641
- 'sfsi_plus_show_premium_placement_box'=>'yes');
642
-
643
- add_option('sfsi_plus_section8_options', serialize($options8));
644
-
645
- /*Some additional option added*/
646
- update_option('sfsi_plus_feed_id' , sanitize_text_field($sffeeds->feed_id));
647
- update_option('sfsi_plus_redirect_url' , sanitize_text_field($sffeeds->redirect_url));
648
-
649
- add_option('sfsi_plus_installDate',date('Y-m-d h:i:s'));
650
- add_option('sfsi_plus_RatingDiv','no');
651
- update_option('sfsi_plus_activate', 1);
652
-
653
- /*Changes in option 2*/
654
- $get_option2 = unserialize(get_option('sfsi_plus_section2_options',false));
655
- $get_option2['sfsi_plus_email_url'] = $sffeeds->redirect_url;
656
- update_option('sfsi_plus_section2_options', serialize($get_option2));
657
-
658
- $addThisDismissed = get_option('sfsi_addThis_icon_removal_notice_dismissed',false);
659
-
660
- if(!isset($addThisDismissed)){
661
- update_option('sfsi_addThis_icon_removal_notice_dismissed',true);
662
- }
663
-
664
- /*Activation Setup for (specificfeed)*/
665
- sfsi_plus_setUpfeeds($sffeeds->feed_id);
666
- sfsi_plus_updateFeedPing('N',$sffeeds->feed_id);
667
-
668
- /*Extra important options*/
669
- $sfsi_plus_instagram_sf_count = array(
670
- "date_sf" => strtotime(date("Y-m-d")),
671
- "date_instagram" => strtotime(date("Y-m-d")),
672
- "sfsi_plus_sf_count" => "",
673
- "sfsi_plus_instagram_count" => ""
674
- );
675
- add_option('sfsi_plus_instagram_sf_count', serialize($sfsi_plus_instagram_sf_count));
676
- sfsi_plus_remove_google();
677
- }
678
- /* end function */
679
- /* deactivate plugin */
680
- function sfsi_plus_deactivate_plugin()
681
- {
682
- global $wpdb;
683
- sfsi_plus_updateFeedPing('Y',sanitize_text_field(get_option('sfsi_plus_feed_id')));
684
-
685
- } /* end function */
686
- function sfsi_plus_remove_google(){
687
- $option1 = unserialize(get_option('sfsi_plus_section1_options',false));
688
- if(isset($option1['sfsi_plus_google_display'])){
689
- unset($option1['sfsi_plus_google_display']);
690
- }
691
- update_option('sfsi_plus_section1_options', serialize($option1));
692
-
693
- $option2 = unserialize(get_option('sfsi_plus_section2_options',false));
694
- if(isset($option2['sfsi_plus_premium_google_box'])){
695
- unset($option2['sfsi_plus_premium_google_box']);
696
- }
697
- if(isset($option2['sfsi_plus_google_page'])){
698
- unset($option2['sfsi_plus_google_page']);
699
- }
700
- if(isset($option2['sfsi_plus_google_pageURL'])){
701
- unset($option2['sfsi_plus_google_pageURL']);
702
- }
703
- if(isset($option2['sfsi_plus_googleLike_option'])){
704
- unset($option2['sfsi_plus_googleLike_option']);
705
- }
706
- if(isset($option2['sfsi_plus_googleShare_option'])){
707
- unset($option2['sfsi_plus_googleShare_option']);
708
- }
709
- update_option('sfsi_plus_section2_options', serialize($option2));
710
-
711
- $option4 = unserialize(get_option('sfsi_plus_section4_options',false));
712
- if(isset($option4['sfsi_plus_google_api_key'])){
713
- unset($option4['sfsi_plus_google_api_key']);
714
- }
715
- if(isset($option4['sfsi_plus_google_countsDisplay'])){
716
- unset($option4['sfsi_plus_google_countsDisplay']);
717
- }
718
- if(isset($option4['sfsi_plus_google_countsFrom'])){
719
- unset($option4['sfsi_plus_google_countsFrom']);
720
- }
721
- if(isset($option4['sfsi_plus_google_manualCounts'])){
722
- unset($option4['sfsi_plus_google_manualCounts']);
723
- }
724
- update_option('sfsi_plus_section4_options', serialize($option4));
725
-
726
- $option5 = unserialize(get_option('sfsi_plus_section5_options',false));
727
- if(isset($option5['sfsi_plus_google_icons_language'])){
728
- unset($option5['sfsi_plus_google_icons_language']);
729
- }
730
- if(isset($option5['sfsi_plus_googleIcon_order'])){
731
- unset($option5['sfsi_plus_googleIcon_order']);
732
- }
733
- if(isset($option5['sfsi_plus_google_MouseOverText'])){
734
- unset($option5['sfsi_plus_google_MouseOverText']);
735
- }
736
- update_option('sfsi_plus_section5_options', serialize($option5));
737
-
738
- }
739
- function sfsi_plus_updateFeedPing($status,$feed_id)
740
- {
741
- $body = array(
742
- 'feed_id' => $feed_id,
743
- 'status' => $status
744
- );
745
-
746
- $args = array(
747
- 'body' => $body,
748
- 'timeout' => '5',
749
- 'redirection' => '5',
750
- 'httpversion' => '1.0',
751
- 'blocking' => true,
752
- 'headers' => array(),
753
- 'cookies' => array()
754
- );
755
-
756
- $resp = wp_remote_post( 'https://www.specificfeeds.com/wordpress/pingfeed', $args );
757
- return $resp;
758
- }
759
- /* unistall plugin function */
760
- function sfsi_plus_Unistall_plugin()
761
- { global $wpdb;
762
- /* Delete option for which icons to display */
763
- delete_option('sfsi_plus_section1_options');
764
- delete_option('sfsi_plus_section2_options');
765
- delete_option('sfsi_plus_section3_options');
766
- delete_option('sfsi_plus_section4_options');
767
- delete_option('sfsi_plus_section5_options');
768
- delete_option('sfsi_plus_section6_options');
769
- delete_option('sfsi_plus_section7_options');
770
- delete_option('sfsi_plus_section8_options');
771
- delete_option('sfsi_plus_section9_options');
772
- delete_option('sfsi_plus_feed_id');
773
- delete_option('sfsi_plus_redirect_url');
774
- delete_option('sfsi_plus_footer_sec');
775
- delete_option('sfsi_plus_activate');
776
- delete_option("sfsi_plus_pluginVersion");
777
- delete_option("sfsi_plus_verificatiom_code");
778
- delete_option("sfsi_plus_curlErrorNotices");
779
- delete_option("sfsi_plus_curlErrorMessage");
780
-
781
- delete_option("adding_plustags");
782
- delete_option("sfsi_plus_installDate");
783
- delete_option("sfsi_plus_RatingDiv");
784
- delete_option("sfsi_plus_instagram_sf_count");
785
- delete_option("sfsi_plus_new_show_notification");
786
- delete_option("sfsi_plus_show_Setting_mobile_notification");
787
- delete_option("sfsi_plus_show_premium_notification");
788
- delete_option("sfsi_plus_show_notification");
789
- delete_option('sfsi_plus_serverphpVersionnotification');
790
- delete_option("sfsi_plus_show_premium_cumulative_count_notification");
791
-
792
- delete_option("sfsi_addThis_icon_removal_notice_dismissed");
793
- delete_option('widget_sfsi-plus-widget');
794
- delete_option('widget_sfsiplus_subscriber_widget');
795
-
796
- delete_option('fs_active_plugins');
797
- delete_option('fs_accounts');
798
- delete_option('fs_api_cache');
799
- delete_option('fs_debug_mode');
800
- }
801
- /* end function */
802
- /* check CUrl */
803
- function sfsi_plus_curl_enable_notice(){
804
- if(!function_exists('curl_init')) {
805
- echo '<div class="error"><p> '.__('Error: It seems that CURL is disabled on your server. Please contact your server administrator to install / enable CURL.',SFSI_PLUS_DOMAIN).'</p></div>'; die;
806
- }
807
- }
808
-
809
- /* add admin menus */
810
- function sfsi_plus_admin_menu() {
811
- add_menu_page(
812
- 'Ultimate Social Media PLUS',
813
- 'Ultimate Social Media PLUS',
814
- 'administrator',
815
- 'sfsi-plus-options',
816
- 'sfsi_plus_options_page',
817
- plugins_url( 'images/logo.png' , dirname(__FILE__) )
818
- );
819
- }
820
- function sfsi_plus_options_page(){ include SFSI_PLUS_DOCROOT . '/views/sfsi_options_view.php'; } /* end function */
821
- function sfsi_plus_about_page(){ include SFSI_PLUS_DOCROOT . '/views/sfsi_aboutus.php'; } /* end function */
822
- if ( is_admin() ){
823
- add_action('admin_menu', 'sfsi_plus_admin_menu');
824
- }
825
-
826
- /* fetch rss url from specificfeeds */
827
- function SFSI_PLUS_getFeedUrl()
828
- {
829
- $body = array(
830
- 'web_url' => get_bloginfo('url'),
831
- 'feed_url' => sfsi_plus_get_bloginfo('rss2_url'),
832
- 'email' => '',
833
- 'subscriber_type' => 'PLWP'
834
- );
835
-
836
- $args = array(
837
- 'body' => $body,
838
- 'blocking' => true,
839
- 'user-agent' => 'sf rss request',
840
- 'header' => array("Content-Type"=>"application/x-www-form-urlencoded"),
841
- 'sslverify' => true
842
- );
843
- $resp = wp_remote_post( 'https://www.specificfeeds.com/wordpress/plugin_setup', $args );
844
- if ( is_wp_error( $resp ) ) {
845
- // var_dump($resp);
846
- // update_option("sfsi_plus_curlErrorNotices", "yes");
847
- // update_option("sfsi_plus_curlErrorMessage", $resp->get_error_message());
848
- } else {
849
- update_option("sfsi_plus_curlErrorNotices", "no");
850
- update_option("sfsi_plus_curlErrorMessage", "");
851
- $resp = json_decode($resp['body']);
852
- }
853
- $feed_url = stripslashes_deep($resp->redirect_url);
854
- return $resp;exit;
855
- }
856
- /* fetch rss url from specificfeeds on */
857
- function SFSI_PLUS_updateFeedUrl()
858
- {
859
- $body = array(
860
- 'feed_id' => sanitize_text_field(get_option('sfsi_plus_feed_id')),
861
- 'web_url' => get_bloginfo('url'),
862
- 'feed_url' => sfsi_plus_get_bloginfo('rss2_url'),
863
- 'email' => ''
864
- );
865
-
866
- $args = array(
867
- 'body' => $body,
868
- 'blocking' => true,
869
- 'user-agent' => 'sf rss request',
870
- 'header' => array("Content-Type"=>"application/x-www-form-urlencoded"),
871
- 'sslverify' => true
872
- );
873
- $resp = wp_remote_post( 'https://www.specificfeeds.com/wordpress/updateFeedPlugin', $args );
874
- if ( is_wp_error( $resp ) ) {
875
- // var_dump($resp);
876
- // update_option("sfsi_plus_curlErrorNotices", "yes");
877
- // update_option("sfsi_plus_curlErrorMessage", $resp->get_error_message());
878
- } else {
879
- update_option("sfsi_plus_curlErrorNotices", "no");
880
- update_option("sfsi_plus_curlErrorMessage", "");
881
- $resp = json_decode($resp['body']);
882
- }
883
-
884
- $feed_url = stripslashes_deep($resp->redirect_url);
885
- return $resp;exit;
886
- }
887
- /* add sf tags */
888
- function sfsi_plus_setUpfeeds($feed_id)
889
- {
890
- $args = array(
891
- 'blocking' => true,
892
- 'user-agent' => 'sf rss request',
893
- 'header' => array("Content-Type"=>"application/json"),
894
- 'sslverify' => true
895
- );
896
- $resp = wp_remote_get( 'https://www.specificfeeds.com/rssegtcrons/download_rssmorefeed_data_single/'.$feed_id."/Y", $args );
897
- if ( is_wp_error( $resp ) ) {
898
- // var_dump($resp);
899
- //update_option("sfsi_plus_curlErrorNotices", "yes");
900
- //update_option("sfsi_plus_curlErrorMessage", $resp->get_error_message());
901
- }else{
902
- update_option("sfsi_plus_curlErrorNotices", "no");
903
- update_option("sfsi_plus_curlErrorMessage", "");
904
- }
905
- }
906
- /* admin notice if wp_head is missing in active theme */
907
- function sfsi_plus_check_wp_head() {
908
-
909
- $template_directory = get_template_directory();
910
- $header = $template_directory . '/header.php';
911
-
912
- if (is_file($header)) {
913
-
914
- $search_header = "wp_head";
915
- $file_lines = @file($header);
916
- $foind_header=0;
917
- foreach ($file_lines as $line)
918
- {
919
- $searchCount = substr_count($line, $search_header);
920
- if ($searchCount > 0)
921
- {
922
- return true;
923
- }
924
- }
925
- $path=pathinfo($_SERVER['REQUEST_URI']);
926
- if($path['basename']=="themes.php" || $path['basename']=="theme-editor.php" || $path['basename']=="admin.php?page=sfsi-plus-options")
927
- {
928
- $currentTheme = wp_get_theme();
929
-
930
- if(isset($currentTheme) && !empty($currentTheme) && $currentTheme->get( 'Name' ) != "Customizr"){
931
-
932
- echo "<div class=\"error\" ><p>". __( 'Error : Please fix your theme to make plugins work correctly. Go to the Theme Editor and insert the following string:', SFSI_PLUS_DOMAIN )." &lt;?php wp_head(); ?&gt; ".__('Please enter it just before the following line of your header.php file:',SFSI_PLUS_DOMAIN)." &lt;/head&gt; ".__('Go to your theme editor: ',SFSI_PLUS_DOMAIN)."<a href=\"theme-editor.php\">".__('click here', SFSI_PLUS_DOMAIN )."</a>.</p></div>";
933
- }
934
-
935
- }
936
- }
937
- }
938
- /* admin notice if wp_footer is missing in active theme */
939
- function sfsi_plus_check_wp_footer() {
940
- $template_directory = get_template_directory();
941
- $footer = $template_directory . '/footer.php';
942
-
943
- if (is_file($footer)) {
944
- $search_string = "wp_footer";
945
- $file_lines = @file($footer);
946
-
947
- foreach ($file_lines as $line) {
948
- $searchCount = substr_count($line, $search_string);
949
- if ($searchCount > 0) {
950
- return true;
951
- }
952
- }
953
- $path=pathinfo($_SERVER['REQUEST_URI']);
954
-
955
- if($path['basename']=="themes.php" || $path['basename']=="theme-editor.php" || $path['basename']=="admin.php?page=sfsi-plus-options")
956
- {
957
- echo "<div class=\"error\" ><p>". __("Error: Please fix your theme to make plugins work correctly. Go to the Theme Editor and insert the following string as the first line of your theme's footer.php file: ", SFSI_PLUS_DOMAIN)." &lt;?php wp_footer(); ?&gt; ".__("Go to your theme editor: ", SFSI_PLUS_DOMAIN)."<a href=\"theme-editor.php\">".__('click here', SFSI_PLUS_DOMAIN )."</a>.</p></div>";
958
- }
959
- }
960
- }
961
- /* admin notice for first time installation */
962
- function sfsi_plus_activation_msg()
963
- {
964
- global $wp_version;
965
-
966
- if(get_option('sfsi_plus_activate',false)==1)
967
- {
968
- echo "<div class='updated'><p>".__("Thank you for installing the Ultimate Social Media PLUS plugin. Please go to the plugin's settings page to configure it: ",SFSI_PLUS_DOMAIN)."<b><a href='admin.php?page=sfsi-plus-options'>".__("Click here",SFSI_PLUS_DOMAIN)."</a></b></p></div>";
969
- update_option('sfsi_plus_activate',0);
970
- }
971
-
972
- $path=pathinfo($_SERVER['REQUEST_URI']);
973
- update_option('sfsi_plus_activate',0);
974
-
975
- if($wp_version < 3.5 && $path['basename'] == "admin.php?page=sfsi-plus-options")
976
- {
977
- echo "<div class=\"update-nag\" ><p><b>".__('You`re using an old Wordpress version, which may cause several of your plugins to not work correctly. Please upgrade', SFSI_PLUS_DOMAIN)."</b></p></div>";
978
- }
979
- }
980
- /* admin notice for first time installation */
981
- function sfsi_plus_rating_msg()
982
- {
983
- global $wp_version;
984
- $install_date = get_option('sfsi_plus_installDate');
985
- $display_date = date('Y-m-d h:i:s');
986
- $datetime1 = new DateTime($install_date);
987
- $datetime2 = new DateTime($display_date);
988
- $diff_inrval = round(($datetime2->format('U') - $datetime1->format('U')) / (60*60*24));
989
-
990
- if($diff_inrval >= 30 && get_option('sfsi_plus_RatingDiv')=="no")
991
- { ?>
992
- <style >
993
- .sfsi_plus_plg-rating-dismiss:before {
994
- background: none;
995
- color: #72777c;
996
- content: "\f153";
997
- display: block;
998
- font: normal 16px/20px dashicons;
999
- speak: none;
1000
- height: 20px;
1001
- text-align: center;
1002
- width: 20px;
1003
- -webkit-font-smoothing: antialiased;
1004
- -moz-osx-font-smoothing: grayscale;
1005
- }
1006
- .sfsi_plus_plg-rating-dismiss{
1007
- position: absolute;
1008
- top: 45px;
1009
- right: 15px;
1010
- border: none;
1011
- margin: 0;
1012
- padding: 9px;
1013
- background: none;
1014
- color: #72777c;
1015
- cursor: pointer;
1016
- }
1017
- </style>
1018
- <div class="sfsi_plus_sfwp_fivestar notice notice-success">
1019
- <p><?php echo __('We noticed you\'ve been using the Ultimate Social Media PLUS Plugin for more than 30 days. If you\'re happy with it, could you please do us a BIG favor and let us know ONE thing we can improve in it?', SFSI_PLUS_DOMAIN);?></p>
1020
- <ul class="sfwp_fivestar_ul">
1021
- <li><a href="https://wordpress.org/support/plugin/ultimate-social-media-plus#new-topic-0" target="_new" title="<?php echo __('Yes, let me give feedback.',SFSI_PLUS_DOMAIN); ?>"><?php echo __('Yes, let me give feedback.', SFSI_PLUS_DOMAIN); ?></a></li>
1022
- <li><a href="https://wordpress.org/support/plugin/ultimate-social-media-plus/reviews/?filter=5" target="_new" title="<?php echo __('No clue, let me give a 5-star rating instead',SFSI_PLUS_DOMAIN) ?>"><?php echo __('No clue, let me give a 5-star rating instead',SFSI_PLUS_DOMAIN) ?></a></li>
1023
- <li><a href="javascript:void(0);" class="sfsiHideRating" title="<?php echo __('I already did', SFSI_PLUS_DOMAIN)?>"> <?php echo __('I already did (don\'t show this again)', SFSI_PLUS_DOMAIN); ?> </a></li>
1024
- </ul>
1025
- <button type="button" class="sfsi_plus_plg-rating-dismiss"><span class="screen-reader-text"><?php echo __('Dismiss this notice.',SFSI_PLUS_DOMAIN); ?></span></button>
1026
- </div>
1027
- <script>
1028
- jQuery( document ).ready(function( $ ) {
1029
- $('.sfsi_plus_plg-rating-dismiss').css({'top':$('.sfsi_plus_sfwp_fivestar')[0].offsetTop+'px'})
1030
- var sel1 = jQuery('.sfsiHideRating');
1031
- var sel2 = jQuery('.sfsi_plus_plg-rating-dismiss');
1032
- function sfsi_plus_hide_rating(element){
1033
- element.on('click',function(){
1034
- var data={'action':'plushideRating','nonce':'<?php echo wp_create_nonce('plus_plushideRating'); ?>'};
1035
- jQuery.ajax({
1036
-
1037
- url: "<?php echo admin_url( 'admin-ajax.php' ); ?>",
1038
- type: "post",
1039
- data: data,
1040
- dataType: "json",
1041
- async: !0,
1042
- success: function(e) {
1043
- if (e=="success") {
1044
- jQuery('.sfsi_plus_sfwp_fivestar').slideUp('slow');
1045
- }
1046
- }
1047
- });
1048
- });
1049
- }
1050
- sfsi_plus_hide_rating(sel1);
1051
- sfsi_plus_hide_rating(sel2);
1052
- });
1053
- </script>
1054
- <?php
1055
- }
1056
- }
1057
- add_action('wp_ajax_plushideRating','sfsi_plusHideRatingDiv');
1058
- function sfsi_plusHideRatingDiv()
1059
- {
1060
- if ( !wp_verify_nonce( $_POST['nonce'], "plus_plushideRating")) {
1061
- echo json_encode(array('res'=>"error")); exit;
1062
- }
1063
- if(!current_user_can('manage_options')){ echo json_encode(array('res'=>'not allowed'));die(); }
1064
- update_option('sfsi_plus_RatingDiv','yes');
1065
- echo json_encode(array("success")); exit;
1066
- }
1067
- /* add all admin message */
1068
- add_action('admin_notices', 'sfsi_plus_activation_msg');
1069
- add_action('admin_notices', 'sfsi_plus_rating_msg');
1070
- add_action('admin_notices', 'sfsi_plus_check_wp_head');
1071
- add_action('admin_notices', 'sfsi_plus_check_wp_footer');
1072
- function sfsi_plus_pingVendor( $post_id )
1073
- {
1074
- global $wp,$wpdb;
1075
- // If this is just a revision, don't send the email.
1076
- if ( wp_is_post_revision( $post_id ) )
1077
- return;
1078
-
1079
- $post_data=get_post($post_id,ARRAY_A);
1080
- if($post_data['post_status']=='publish' && $post_data['post_type']=='post') :
1081
-
1082
- $categories = wp_get_post_categories($post_data['ID']);
1083
- $cats='';
1084
- $total=count($categories);
1085
- $count=1;
1086
- foreach($categories as $c)
1087
- {
1088
- $cat_data = get_category( $c );
1089
- if($count==$total)
1090
- {
1091
- $cats.= $cat_data->name;
1092
- }
1093
- else
1094
- {
1095
- $cats.= $cat_data->name.',';
1096
- }
1097
- $count++;
1098
- }
1099
-
1100
- $postto_array = array(
1101
- 'feed_id' => sanitize_text_field(get_option('sfsi_plus_feed_id')),
1102
- 'title' => $post_data['post_title'],
1103
- 'description' => $post_data['post_content'],
1104
- 'link' => $post_data['guid'],
1105
- 'author' => get_the_author_meta('user_login', $post_data['post_author']),
1106
- 'category' => $cats,
1107
- 'pubDate' => $post_data['post_modified'],
1108
- 'rssurl' => sfsi_plus_get_bloginfo('rss2_url')
1109
- );
1110
- $args = array(
1111
- 'body' => $postto_array,
1112
- 'blocking' => true,
1113
- 'user-agent' => 'sf rss request',
1114
- 'header' => array("Content-Type"=>"application/x-www-form-urlencoded"),
1115
- 'sslverify' => true
1116
- );
1117
- $resp = wp_remote_post( 'https://www.specificfeeds.com/wordpress/updateFeedPlugin', $args );
1118
- if ( is_wp_error( $resp ) ) {
1119
- // update_option("sfsi_plus_curlErrorNotices", "yes");
1120
- // update_option("sfsi_plus_curlErrorMessage", $resp->get_error_message());
1121
- return false;
1122
- } else {
1123
- update_option("sfsi_plus_curlErrorNotices", "no");
1124
- update_option("sfsi_plus_curlErrorMessage", "");
1125
- $resp = json_decode($resp['body']);
1126
- return true;
1127
- }
1128
- endif;
1129
- }
1130
- add_action( 'save_post', 'sfsi_plus_pingVendor' );
1131
-
1132
- function sfsi_plus_was_displaying_addthis(){
1133
-
1134
- $isDismissed = true;
1135
- $sfsi_plus_section1 = unserialize(get_option('sfsi_plus_section1_options',false));
1136
- $sfsi_plus_section8 = unserialize(get_option('sfsi_plus_section8_options',false));
1137
- $sfsi_plus_addThiswasDisplayed_section1 = isset($sfsi_plus_section1['sfsi_plus_share_display']) && 'yes'== sanitize_text_field($sfsi_plus_section1['sfsi_plus_share_display']);
1138
-
1139
- $sfsi_plus_addThiswasDisplayed_section8 = isset($sfsi_plus_section8['sfsi_plus_rectshr']) && 'yes'== sanitize_text_field($sfsi_plus_section8['sfsi_plus_rectshr']);
1140
-
1141
- $isDisplayed = $sfsi_plus_addThiswasDisplayed_section1 || $sfsi_plus_addThiswasDisplayed_section8;
1142
-
1143
- // If icon was displayed
1144
- $isDismissed = false != $isDisplayed ? false : true;
1145
-
1146
- update_option('sfsi_plus_addThis_icon_removal_notice_dismissed',$isDismissed);
1147
-
1148
- if($sfsi_plus_addThiswasDisplayed_section1){
1149
- unset($sfsi_plus_section1['sfsi_plus_share_display']);
1150
- update_option('sfsi_plus_section1_options', serialize($sfsi_plus_section1) );
1151
- }
1152
-
1153
- if($sfsi_plus_addThiswasDisplayed_section8){
1154
- unset($sfsi_plus_section8['sfsi_plus_rectshr']);
1155
- update_option('sfsi_plus_section8_options', serialize($sfsi_plus_section8) );
1156
- }
1157
- }
1158
-
1159
  ?>
1
+ <?php
2
+ function sfsi_plus_update_plugin()
3
+ {
4
+ if($feed_id = sanitize_text_field(get_option('sfsi_plus_feed_id')))
5
+ {
6
+ if(is_numeric($feed_id))
7
+ {
8
+ $sfsiId = SFSI_PLUS_updateFeedUrl();
9
+ update_option('sfsi_plus_feed_id' , sanitize_text_field($sfsiId->feed_id));
10
+ update_option('sfsi_plus_redirect_url' , sanitize_text_field($sfsiId->redirect_url));
11
+ }
12
+ }
13
+
14
+ //Install version
15
+ update_option("sfsi_plus_pluginVersion", "3.20");
16
+
17
+ if(!get_option('sfsi_plus_serverphpVersionnotification'))
18
+ {
19
+ add_option("sfsi_plus_serverphpVersionnotification", "yes");
20
+ }
21
+ /* show notification on about mobile setting */
22
+ if(!get_option('sfsi_plus_show_Setting_mobile_notification'))
23
+ {
24
+ add_option("sfsi_plus_show_Setting_mobile_notification", "yes");
25
+ }
26
+ /* show premium notification */
27
+ if(!get_option('sfsi_plus_show_premium_notification'))
28
+ {
29
+ add_option("sfsi_plus_show_premium_notification", "yes");
30
+ }
31
+ if(!get_option('sfsi_plus_show_premium_cumulative_count_notification'))
32
+ {
33
+ add_option("sfsi_plus_show_premium_cumulative_count_notification", "yes");
34
+ }
35
+ /*show notification*/
36
+ if(!get_option('sfsi_plus_show_notification'))
37
+ {
38
+ add_option("sfsi_plus_show_notification", "yes");
39
+ }
40
+ /* show new notification*/
41
+ if(!get_option('sfsi_plus_new_show_notification'))
42
+ {
43
+ add_option("sfsi_plus_new_show_notification", "no");
44
+ }
45
+
46
+
47
+ // var_dump(get_option('sfsi_plus_custom_icons'),'yes');
48
+ // die();
49
+
50
+ if(!get_option('sfsi_plus_custom_icons'))
51
+ {
52
+ update_option("sfsi_plus_custom_icons", "yes");
53
+ }
54
+ add_option('sfsi_plus_footer_sec','no');
55
+
56
+ /* subscription form */
57
+ $options9 = array('sfsi_plus_form_adjustment'=>'yes',
58
+ 'sfsi_plus_form_height'=>'180',
59
+ 'sfsi_plus_form_width' =>'230',
60
+ 'sfsi_plus_form_border'=>'yes',
61
+ 'sfsi_plus_form_border_thickness'=>'1',
62
+ 'sfsi_plus_form_border_color'=>'#b5b5b5',
63
+ 'sfsi_plus_form_background'=>'#ffffff',
64
+
65
+ 'sfsi_plus_form_heading_text'=>'Get new posts by email:',
66
+ 'sfsi_plus_form_heading_font'=>'Helvetica,Arial,sans-serif',
67
+ 'sfsi_plus_form_heading_fontstyle'=>'bold',
68
+ 'sfsi_plus_form_heading_fontcolor'=>'#000000',
69
+ 'sfsi_plus_form_heading_fontsize'=>'16',
70
+ 'sfsi_plus_form_heading_fontalign'=>'center',
71
+
72
+ 'sfsi_plus_form_field_text'=>'Enter your email',
73
+ 'sfsi_plus_form_field_font'=>'Helvetica,Arial,sans-serif',
74
+ 'sfsi_plus_form_field_fontstyle'=>'normal',
75
+ 'sfsi_plus_form_field_fontcolor'=>'#000000',
76
+ 'sfsi_plus_form_field_fontsize'=>'14',
77
+ 'sfsi_plus_form_field_fontalign'=>'center',
78
+
79
+ 'sfsi_plus_form_button_text'=>'Subscribe',
80
+ 'sfsi_plus_form_button_font'=>'Helvetica,Arial,sans-serif',
81
+ 'sfsi_plus_form_button_fontstyle'=>'bold',
82
+ 'sfsi_plus_form_button_fontcolor'=>'#000000',
83
+ 'sfsi_plus_form_button_fontsize'=>'16',
84
+ 'sfsi_plus_form_button_fontalign'=>'center',
85
+ 'sfsi_plus_form_button_background'=>'#dedede',
86
+ );
87
+ add_option('sfsi_plus_section9_options', serialize($options9));
88
+
89
+ $sfsi_plus_instagram_sf_count = unserialize(get_option('sfsi_plus_instagram_sf_count',false));
90
+ /*Extra important options*/
91
+ if($sfsi_plus_instagram_sf_count === false){
92
+ $sfsi_plus_instagram_sf_count = array(
93
+ "date_sf" => strtotime(date("Y-m-d")),
94
+ "date_instagram" => strtotime(date("Y-m-d")),
95
+ "sfsi_plus_sf_count" => "",
96
+ "sfsi_plus_instagram_count" => ""
97
+ );
98
+ add_option('sfsi_plus_instagram_sf_count', serialize($sfsi_plus_instagram_sf_count));
99
+ }else{
100
+ if(isset($sfsi_plus_instagram_sf_count["date"])) {
101
+ $sfsi_plus_instagram_sf_count["date_sf"] = $sfsi_plus_instagram_sf_count["date"];
102
+ $sfsi_plus_instagram_sf_count["date_instagram"] = $sfsi_plus_instagram_sf_count["date"];
103
+ update_option('sfsi_plus_instagram_sf_count', serialize($sfsi_plus_instagram_sf_count));
104
+ }
105
+ }
106
+
107
+ /*Float Icon setting*/
108
+ $option8 = unserialize(get_option('sfsi_plus_section8_options',false));
109
+ if(isset($option8) && !empty($option8) && !isset($option8['sfsi_plus_icons_floatMargin_top']))
110
+ {
111
+ $option8['sfsi_plus_icons_floatMargin_top'] = '';
112
+ $option8['sfsi_plus_icons_floatMargin_bottom'] = '';
113
+ $option8['sfsi_plus_icons_floatMargin_left'] = '';
114
+ $option8['sfsi_plus_icons_floatMargin_right'] = '';
115
+ update_option('sfsi_plus_section8_options', serialize($option8));
116
+ }
117
+ if(isset($option8) && !empty($option8))
118
+ {
119
+ if(!isset($option8['sfsi_plus_rectpinit']))
120
+ {
121
+ $option8['sfsi_plus_rectpinit'] = 'no';
122
+ }
123
+ if(!isset($option8['sfsi_plus_rectfbshare']))
124
+ {
125
+ $option8['sfsi_plus_rectfbshare'] = 'no';
126
+ }
127
+ update_option('sfsi_plus_section8_options', serialize($option8));
128
+ }
129
+
130
+ /*Language icons*/
131
+ $option5 = unserialize(get_option('sfsi_plus_section5_options',false));
132
+
133
+ if(isset($option5) && !empty($option5))
134
+ {
135
+ if(!isset($option5['sfsi_plus_follow_icons_language'])){
136
+ $option5['sfsi_plus_follow_icons_language'] = 'Follow_en_US';
137
+ }
138
+ if(!isset($option5['sfsi_plus_facebook_icons_language'])){
139
+ $option5['sfsi_plus_facebook_icons_language'] = 'Visit_us_en_US';
140
+ }
141
+ if(!isset($option5['sfsi_plus_twitter_icons_language'])){
142
+ $option5['sfsi_plus_twitter_icons_language'] = 'Visit_us_en_US';
143
+ }
144
+ if(!isset($option5['sfsi_plus_icons_language'])){
145
+ $option5['sfsi_plus_icons_language'] = 'en_US';
146
+ }
147
+
148
+ if(!isset($option5['sfsi_plus_premium_size_box'])){
149
+ $option5['sfsi_plus_premium_size_box'] = 'no';
150
+ }
151
+ if(!isset($option5['sfsi_plus_custom_social_hide'])){
152
+ $option5['sfsi_plus_custom_social_hide'] = 'no';
153
+ }
154
+
155
+ if(!isset($option5['sfsi_icons_suppress_errors'])){
156
+
157
+ $sup_errors = "no";
158
+ $sup_errors_banner_dismissed = true;
159
+
160
+ if(defined('WP_DEBUG') && false != WP_DEBUG){
161
+ $sup_errors = 'yes';
162
+ $sup_errors_banner_dismissed = false;
163
+ }
164
+
165
+ $option5['sfsi_icons_suppress_errors'] = $sup_errors;
166
+ update_option('sfsi_error_reporting_notice_dismissed',$sup_errors_banner_dismissed);
167
+ }
168
+ update_option('sfsi_plus_section5_options', serialize($option5));
169
+ }
170
+
171
+ /*Youtube Channelid settings*/
172
+ $option4 = unserialize(get_option('sfsi_plus_section4_options',false));
173
+ if(isset($option4) && !empty($option4) && !isset($option4['sfsi_plus_youtube_channelId']))
174
+ {
175
+ $option4['sfsi_plus_youtube_channelId'] = '';
176
+ update_option('sfsi_plus_section4_options', serialize($option4));
177
+ }
178
+ /* section1 */
179
+ $option1 = unserialize(get_option('sfsi_plus_section1_options',false));
180
+ if(isset($option1) && !empty($option1) && !isset($option1['sfsi_plus_premium_icons_box']))
181
+ {
182
+ $option1['sfsi_plus_premium_icons_box'] = 'no';
183
+ if(!isset($option1['sfsi_plus_ok_display'])){
184
+ $option1['sfsi_plus_ok_display'] = 'no';
185
+ }
186
+ if(!isset($option1['sfsi_plus_telegram_display'])){
187
+ $option1['sfsi_plus_telegram_display'] = 'no';
188
+ }
189
+ if(!isset($option1['sfsi_plus_vk_display'])){
190
+ $option1['sfsi_plus_vk_display'] = 'no';
191
+ }
192
+ if(!isset($option1['sfsi_plus_weibo_display'])){
193
+ $option1['sfsi_plus_weibo_display'] = 'no';
194
+ }
195
+ if(!isset($option1['sfsi_plus_wechat_display'])){
196
+ $option1['sfsi_plus_wechat_display'] = 'no';
197
+ }
198
+
199
+
200
+ update_option('sfsi_plus_section1_options', serialize($option1));
201
+ }
202
+ /* section2 */
203
+ $option2 = unserialize(get_option('sfsi_plus_section2_options',false));
204
+ if(isset($option2) && !empty($option2) && !isset($option2['sfsi_plus_premium_email_box']))
205
+ {
206
+ $option2['sfsi_plus_premium_email_box'] = 'no';
207
+ $option2['sfsi_plus_premium_facebook_box'] = 'no';
208
+ $option2['sfsi_plus_premium_twitter_box'] = 'no';
209
+
210
+ if(!isset($option2['sfsi_plus_mouseover_effect_type'])){
211
+ $option2['sfsi_plus_mouseover_effect_type'] = 'no';
212
+ }
213
+ if(!isset($option2['sfsi_plus_okVisit_url'])){
214
+ $option2['sfsi_plus_okVisit_url'] = 'no';
215
+ }
216
+ if(!isset($option2['sfsi_plus_okSubscribe_option'])){
217
+ $option2['sfsi_plus_okSubscribe_option'] = 'no';
218
+ }
219
+ if(!isset($option2['sfsi_plus_okSubscribe_userid'])){
220
+ $option2['sfsi_plus_okSubscribe_userid'] = 'no';
221
+ }
222
+ if(!isset($option2['sfsi_plus_okLike_option'])){
223
+ $option2['sfsi_plus_okLike_option'] = 'no';
224
+ }
225
+ if(!isset($option2['sfsi_plus_telegramShare_option'])){
226
+ $option2['sfsi_plus_telegramShare_option'] = 'no';
227
+ }
228
+ if(!isset($option2['sfsi_plus_telegramMessage_option'])){
229
+ $option2['sfsi_plus_telegramMessage_option'] = 'no';
230
+ }
231
+ if(!isset($option2['sfsi_plus_telegram_message'])){
232
+ $option2['sfsi_plus_telegram_message'] = 'no';
233
+ }
234
+ if(!isset($option2['sfsi_plus_telegram_username'])){
235
+ $option2['sfsi_plus_telegram_username'] = 'no';
236
+ }
237
+ if(!isset($option2['sfsi_plus_vkVisit_option'])){
238
+ $option2['sfsi_plus_vkVisit_option'] = 'no';
239
+ }
240
+ if(!isset($option2['sfsi_plus_vkShare_option'])){
241
+ $option2['sfsi_plus_vkShare_option'] = 'no';
242
+ }
243
+ if(!isset($option2['sfsi_plus_vkLike_option'])){
244
+ $option2['sfsi_plus_vkLike_option'] = 'no';
245
+ }
246
+ if(!isset($option2['sfsi_plus_vkFollow_option'])){
247
+ $option2['sfsi_plus_vkFollow_option'] = 'no';
248
+ }
249
+ if(!isset($option2['sfsi_plus_vkVisit_url'])){
250
+ $option2['sfsi_plus_vkVisit_url'] = 'no';
251
+ }
252
+ if(!isset($option2['gvfergergergergregergrg'])){
253
+ $option2['gvfergergergergregergrg'] = 'no';
254
+ }
255
+ if(!isset($option2['sfsi_plus_vkFollow_url'])){
256
+ $option2['sfsi_plus_vkFollow_url'] = 'no';
257
+ }
258
+ if(!isset($option2['sfsi_plus_weiboVisit_option'])){
259
+ $option2['sfsi_plus_weiboVisit_option'] = 'no';
260
+ }
261
+ if(!isset($option2['sfsi_plus_weiboShare_option'])){
262
+ $option2['sfsi_plus_weiboShare_option'] = 'no';
263
+ }
264
+ if(!isset($option2['sfsi_plus_weiboLike_option'])){
265
+ $option2['sfsi_plus_weiboLike_option'] = 'no';
266
+ }
267
+ if(!isset($option2['sfsi_plus_weiboVisit_url'])){
268
+ $option2['sfsi_plus_weiboVisit_url'] = 'no';
269
+ }
270
+ if(!isset($option2['sfsi_plus_wechatFollow_option'])){
271
+ $option2['sfsi_plus_wechatFollow_option'] = 'no';
272
+ }
273
+ if(!isset($option2['sfsi_plus_wechatShare_option'])){
274
+ $option2['sfsi_plus_wechatShare_option'] = 'no';
275
+ }
276
+ if(!isset($option2['sfsi_plus_wechat_scan_image'])){
277
+ $option2['sfsi_plus_wechat_scan_image'] = 'no';
278
+ }
279
+
280
+ update_option('sfsi_plus_section2_options', serialize($option2));
281
+ }
282
+ /* section3 */
283
+ $option3 = unserialize(get_option('sfsi_plus_section3_options',false));
284
+ if(isset($option3) && !empty($option3))
285
+ {
286
+ if(!isset($option3['sfsi_plus_mouseover_effect_type'])){
287
+ $option3['sfsi_plus_mouseover_effect_type'] = 'same_icons';
288
+ }
289
+ if(!isset($option3['mouseover_other_icons_transition_effect'])){
290
+ $option3['mouseover_other_icons_transition_effect'] = 'flip';
291
+ }
292
+
293
+ if(!isset($option3['sfsi_plus_premium_icons_design_box'])){
294
+ $option3['sfsi_plus_premium_icons_design_box'] = 'no';
295
+ }
296
+
297
+ update_option('sfsi_plus_section3_options', serialize($option3));
298
+ }
299
+ /* section4 */
300
+ $option4 = unserialize(get_option('sfsi_plus_section4_options',false));
301
+ if(isset($option4) && !empty($option4) && !isset($option4['sfsi_plus_premium_count_box']))
302
+ {
303
+ $option4['sfsi_plus_premium_count_box'] = 'no';
304
+ update_option('sfsi_plus_section4_options', serialize($option4));
305
+ }
306
+ /* section7 */
307
+ $option7 = unserialize(get_option('sfsi_plus_section7_options',false));
308
+ if(isset($option7) && !empty($option7) && !isset($option7['sfsi_plus_premium_popup_box']))
309
+ {
310
+ $option7['sfsi_plus_premium_popup_box'] = 'no';
311
+ update_option('sfsi_plus_section7_options', serialize($option7));
312
+ }
313
+ /* section8 */
314
+ $option8 = unserialize(get_option('sfsi_plus_section8_options',false));
315
+ if(isset($option8) && !empty($option8) && !isset($option8['sfsi_plus_show_premium_placement_box']))
316
+ {
317
+ $option8['sfsi_plus_show_premium_placement_box'] = 'no';
318
+ update_option('sfsi_plus_section8_options', serialize($option8));
319
+ }
320
+ $option4 = unserialize(get_option('sfsi_plus_section4_options',false));
321
+ if(isset($option4) && !empty($option4) && !isset($option4['sfsi_plus_instagram_clientid']))
322
+ {
323
+ $option4['sfsi_plus_instagram_clientid'] = '';
324
+ $option4['sfsi_plus_instagram_appurl'] = '';
325
+ $option4['sfsi_plus_instagram_token'] = '';
326
+ update_option('sfsi_plus_section4_options', serialize($option4));
327
+ }
328
+ if(isset($option8["sfsi_plus_display_button_type"]) && (""==$option8["sfsi_plus_display_button_type"] || "yes"==$option8["sfsi_plus_display_button_type"]) ) {
329
+ $option8["sfsi_plus_display_button_type"] = "standard_buttons";
330
+ }
331
+ sfsi_plus_remove_google();
332
+ // Add this removed in version 2.9.3, removing values from section 1 & section 6 & setting notice display value
333
+ sfsi_plus_was_displaying_addthis();
334
+ }
335
+ function sfsi_plus_activate_plugin()
336
+ {
337
+ /* check for CURL enable at server */
338
+ add_option('sfsi_plus_plugin_do_activation_redirect', true);
339
+ sfsi_plus_curl_enable_notice();
340
+
341
+ if(!get_option('sfsi_plus_new_show_notification'))
342
+ {
343
+ add_option("sfsi_plus_new_show_notification", "yes");
344
+ }
345
+
346
+ if(!get_option('sfsi_plus_show_premium_cumulative_count_notification'))
347
+ {
348
+ add_option("sfsi_plus_show_premium_cumulative_count_notification", "yes");
349
+ }
350
+ // var_dump(get_option('sfsi_plus_custom_icons'),'no');
351
+
352
+ if(!get_option('sfsi_plus_custom_icons'))
353
+ {
354
+ add_option("sfsi_plus_custom_icons", "no");
355
+ }
356
+
357
+ $options1=array('sfsi_plus_rss_display'=>'yes',
358
+ 'sfsi_plus_email_display'=>'yes',
359
+ 'sfsi_plus_facebook_display'=>'yes',
360
+ 'sfsi_plus_twitter_display'=>'yes',
361
+ 'sfsi_plus_pinterest_display'=>'no',
362
+ 'sfsi_plus_instagram_display'=>'no',
363
+ 'sfsi_plus_linkedin_display'=>'no',
364
+ 'sfsi_plus_youtube_display'=>'no',
365
+ 'sfsi_plus_houzz_display'=>'no',
366
+ 'sfsi_plus_ok_display'=>'no',
367
+ 'sfsi_plus_telegram_display'=>'no',
368
+ 'sfsi_plus_vk_display'=>'no',
369
+ 'sfsi_plus_weibo_display'=>'no',
370
+ 'sfsi_plus_wechat_display'=>'no',
371
+ 'sfsi_custom_display'=>'',
372
+ 'sfsi_custom_files'=>'',
373
+ 'sfsi_plus_premium_icons_box' =>'yes',
374
+ );
375
+ add_option('sfsi_plus_section1_options', serialize($options1));
376
+
377
+ if(get_option('sfsi_plus_feed_id') && get_option('sfsi_plus_redirect_url'))
378
+ {
379
+ $sffeeds["feed_id"] = sanitize_text_field(get_option('sfsi_plus_feed_id'));
380
+ $sffeeds["redirect_url"] = sanitize_text_field(get_option('sfsi_plus_redirect_url'));
381
+ $sffeeds = (object)$sffeeds;
382
+ }
383
+ else
384
+ {
385
+ $sffeeds = SFSI_PLUS_getFeedUrl();
386
+ }
387
+
388
+ /* Links and icons options */
389
+ $options2=array('sfsi_plus_rss_url'=>sfsi_plus_get_bloginfo('rss2_url'),
390
+ 'sfsi_plus_rss_icons'=>'subscribe',
391
+ 'sfsi_plus_email_url'=>$sffeeds->redirect_url,
392
+ 'sfsi_plus_facebookPage_option'=>'no',
393
+ 'sfsi_plus_facebookPage_url'=>'',
394
+ 'sfsi_plus_facebookLike_option'=>'yes',
395
+ 'sfsi_plus_facebookShare_option'=>'yes',
396
+ 'sfsi_plus_twitter_followme'=>'no',
397
+ 'sfsi_plus_twitter_followUserName'=>'',
398
+ 'sfsi_plus_twitter_aboutPage'=>'yes',
399
+ 'sfsi_plus_twitter_page'=>'no',
400
+ 'sfsi_plus_twitter_pageURL'=>'',
401
+ 'sfsi_plus_twitter_aboutPageText'=>'Hey, check out this cool site I found: www.yourname.com #Topic via@my_twitter_name',
402
+ 'sfsi_plus_youtube_pageUrl'=>'',
403
+ 'sfsi_plus_youtube_page'=>'no',
404
+ 'sfsi_plus_youtube_follow'=>'no',
405
+ 'sfsi_plus_youtubeusernameorid'=>'name',
406
+ 'sfsi_plus_ytube_chnlid'=>'',
407
+ 'sfsi_plus_ytube_user'=>'',
408
+ 'sfsi_plus_pinterest_page'=>'no',
409
+ 'sfsi_plus_pinterest_pageUrl'=>'',
410
+ 'sfsi_plus_pinterest_pingBlog'=>'',
411
+ 'sfsi_plus_instagram_page'=>'no',
412
+ 'sfsi_plus_instagram_pageUrl'=>'',
413
+ 'sfsi_plus_houzz_pageUrl'=>'',
414
+ 'sfsi_plus_linkedin_page'=>'no',
415
+ 'sfsi_plus_linkedin_pageURL'=>'',
416
+ 'sfsi_plus_linkedin_follow'=>'no',
417
+ 'sfsi_plus_linkedin_followCompany'=>'',
418
+ 'sfsi_plus_linkedin_SharePage'=>'yes',
419
+ 'sfsi_plus_linkedin_recommendBusines'=>'no',
420
+ 'sfsi_plus_linkedin_recommendCompany'=>'',
421
+ 'sfsi_plus_linkedin_recommendProductId'=>'',
422
+ 'sfsi_plus_okVisit_option' => 'no',
423
+ 'sfsi_plus_okVisit_url' => '',
424
+ 'sfsi_plus_okSubscribe_option' => 'no',
425
+ 'sfsi_plus_okSubscribe_userid' => '',
426
+ 'sfsi_plus_okLike_option' => 'no',
427
+ 'sfsi_plus_wechatFollow_option' => 'no',
428
+ 'sfsi_plus_wechatShare_option' => 'no',
429
+
430
+ 'sfsi_plus_telegramShare_option' => 'no',
431
+ 'sfsi_plus_telegramMessage_option' => 'no',
432
+ 'sfsi_plus_telegram_message' => '',
433
+ 'sfsi_plus_telegram_username' => '',
434
+ 'sfsi_plus_CustomIcon_links'=>'',
435
+ 'sfsi_plus_premium_email_box'=>'yes',
436
+ 'sfsi_plus_premium_facebook_box'=>'yes',
437
+ 'sfsi_plus_premium_twitter_box'=>'yes',
438
+ );
439
+ add_option('sfsi_plus_section2_options', serialize($options2));
440
+
441
+ /* Design and animation option */
442
+ $options3= array(
443
+ 'sfsi_plus_mouseOver' =>'no',
444
+ 'sfsi_plus_mouseOver_effect' =>'fade_in',
445
+ 'sfsi_plus_mouseover_effect_type' => 'same_icons',
446
+ 'mouseover_other_icons_transition_effect' => 'flip',
447
+ 'sfsi_plus_shuffle_icons' =>'no',
448
+ 'sfsi_plus_shuffle_Firstload' =>'no',
449
+ 'sfsi_plus_shuffle_interval' =>'no',
450
+ 'sfsi_plus_shuffle_intervalTime' =>'',
451
+ 'sfsi_plus_actvite_theme' =>'default',
452
+ 'sfsi_plus_premium_icons_design_box'=>'yes',
453
+ );
454
+
455
+ add_option('sfsi_plus_section3_options', serialize($options3));
456
+
457
+ /* display counts options */
458
+ $options4=array('sfsi_plus_display_counts'=>'no',
459
+ 'sfsi_plus_email_countsDisplay'=>'no',
460
+ 'sfsi_plus_email_countsFrom'=>'source',
461
+ 'sfsi_plus_email_manualCounts'=>'20',
462
+ 'sfsi_plus_rss_countsDisplay'=>'no',
463
+ 'sfsi_plus_rss_manualCounts'=>'20',
464
+ 'sfsi_plus_facebook_PageLink'=>'',
465
+ 'sfsi_plus_facebook_countsDisplay'=>'no',
466
+ 'sfsi_plus_facebook_countsFrom'=>'manual',
467
+ 'sfsi_plus_facebook_manualCounts'=>'20',
468
+ 'sfsi_plus_twitter_countsDisplay'=>'no',
469
+ 'sfsi_plus_twitter_countsFrom'=>'manual',
470
+ 'sfsi_plus_twitter_manualCounts'=>'20',
471
+ 'sfsi_plus_google_api_key'=>'',
472
+ 'sfsi_plus_linkedIn_countsDisplay'=>'no',
473
+ 'sfsi_plus_linkedIn_countsFrom'=>'manual',
474
+ 'sfsi_plus_linkedIn_manualCounts'=>'20',
475
+ 'sfsi_plus_ln_api_key'=>'',
476
+ 'sfsi_plus_ln_secret_key'=>'',
477
+ 'sfsi_plus_ln_oAuth_user_token'=>'',
478
+ 'sfsi_plus_ln_company'=>'',
479
+ 'sfsi_plus_youtube_user'=>'',
480
+ 'sfsi_plus_youtube_channelId'=>'',
481
+ 'sfsi_plus_youtube_countsDisplay'=>'no',
482
+ 'sfsi_plus_youtube_countsFrom'=>'manual',
483
+ 'sfsi_plus_youtube_manualCounts'=>'20',
484
+ 'sfsi_plus_pinterest_countsDisplay'=>'no',
485
+ 'sfsi_plus_pinterest_countsFrom'=>'manual',
486
+ 'sfsi_plus_pinterest_manualCounts'=>'20',
487
+ 'sfsi_plus_pinterest_user'=>'',
488
+ 'sfsi_plus_pinterest_board'=>'',
489
+ 'sfsi_plus_instagram_countsFrom'=>'manual',
490
+ 'sfsi_plus_instagram_countsDisplay'=>'no',
491
+ 'sfsi_plus_instagram_manualCounts'=>'20',
492
+ 'sfsi_plus_instagram_User'=>'',
493
+ 'sfsi_plus_instagram_clientid'=>'',
494
+ 'sfsi_plus_instagram_appurl' =>'',
495
+ 'sfsi_plus_instagram_token' =>'',
496
+ 'sfsi_plus_houzz_countsDisplay'=>'no',
497
+ 'sfsi_plus_houzz_countsFrom'=>'manual',
498
+ 'sfsi_plus_houzz_manualCounts'=>'20',
499
+ 'sfsi_plus_ok_countsDisplay' => 'no',
500
+ 'sfsi_plus_vk_countsDisplay' => 'no',
501
+ 'sfsi_plus_telegram_countsDisplay' => 'no',
502
+ 'sfsi_plus_weibo_countsDisplay' => 'no',
503
+ 'sfsi_plus_ok_manualCounts' => '20',
504
+ 'sfsi_plus_vk_manualCounts' => '20',
505
+ 'sfsi_plus_telegram_manualCounts' => '20',
506
+ 'sfsi_plus_weibo_manualCounts' => '20',
507
+ 'sfsi_plus_premium_count_box'=>'yes',
508
+ );
509
+ add_option('sfsi_plus_section4_options', serialize($options4));
510
+
511
+ $options5=array('sfsi_plus_icons_size'=>'40',
512
+ 'sfsi_plus_icons_spacing'=>'5',
513
+ 'sfsi_plus_icons_Alignment'=>'left',
514
+ 'sfsi_plus_icons_perRow'=>'5',
515
+ 'sfsi_plus_follow_icons_language'=>'Follow_en_US',
516
+ 'sfsi_plus_facebook_icons_language'=>'Visit_us_en_US',
517
+ 'sfsi_plus_twitter_icons_language'=>'Visit_us_en_US',
518
+ 'sfsi_plus_icons_language'=>'en_US',
519
+ 'sfsi_plus_icons_ClickPageOpen'=>'yes',
520
+ 'sfsi_plus_icons_float'=>'no',
521
+ 'sfsi_plus_disable_floaticons'=>'no',
522
+ 'sfsi_plus_disable_viewport'=>'no',
523
+ 'sfsi_plus_icons_floatPosition'=>'center-right',
524
+ 'sfsi_plus_icons_stick'=>'no',
525
+ 'sfsi_plus_rssIcon_order'=>'1',
526
+ 'sfsi_plus_emailIcon_order'=>'2',
527
+ 'sfsi_plus_facebookIcon_order'=>'3',
528
+ 'sfsi_plus_twitterIcon_order'=>'4',
529
+ 'sfsi_plus_youtubeIcon_order'=>'5',
530
+ 'sfsi_plus_pinterestIcon_order'=>'7',
531
+ 'sfsi_plus_linkedinIcon_order'=>'8',
532
+ 'sfsi_plus_instagramIcon_order'=>'9',
533
+ 'sfsi_plus_houzzIcon_order'=>'10',
534
+ 'sfsi_plus_telegramIcon_order'=>'22',
535
+ 'sfsi_plus_vkIcon_order'=>'23',
536
+ 'sfsi_plus_okIcon_order'=>'24',
537
+ 'sfsi_plus_weiboIcon_order'=>'25',
538
+ 'sfsi_plus_wechatIcon_order'=>'26',
539
+ 'sfsi_plus_CustomIcons_order'=>'',
540
+ 'sfsi_plus_rss_MouseOverText'=>'RSS',
541
+ 'sfsi_plus_email_MouseOverText'=>'Follow by Email',
542
+ 'sfsi_plus_twitter_MouseOverText'=>'Twitter',
543
+ 'sfsi_plus_facebook_MouseOverText'=>'Facebook',
544
+ 'sfsi_plus_linkedIn_MouseOverText'=>'LinkedIn',
545
+ 'sfsi_plus_pinterest_MouseOverText'=>'Pinterest',
546
+ 'sfsi_plus_instagram_MouseOverText'=>'Instagram',
547
+ 'sfsi_plus_telegram_MouseOverText'=>'Telegram',
548
+ 'sfsi_plus_vk_MouseOverText'=>'Vk',
549
+ 'sfsi_plus_houzz_MouseOverText'=>'Houzz',
550
+ 'sfsi_plus_youtube_MouseOverText'=>'YouTube',
551
+ 'sfsi_plus_ok_MouseOverText' => "Ok",
552
+
553
+ 'sfsi_plus_vk_MouseOverText' => "Vk",
554
+ 'sfsi_plus_weibo_MouseOverText' => "Weibo",
555
+ 'sfsi_plus_wechat_MouseOverText' => "Wechat",
556
+ 'sfsi_plus_custom_MouseOverTexts'=>'',
557
+ 'sfsi_plus_premium_size_box'=>'yes',
558
+ 'sfsi_plus_custom_social_hide'=>'no',
559
+ 'sfsi_pplus_icons_suppress_errors'=>'no',
560
+ );
561
+ add_option('sfsi_plus_section5_options', serialize($options5));
562
+
563
+ /* post options */
564
+ $options6=array('sfsi_plus_show_Onposts'=>'no',
565
+ 'sfsi_plus_show_Onbottom'=>'no',
566
+ 'sfsi_plus_icons_postPositon'=>'source',
567
+ 'sfsi_plus_icons_alignment'=>'center-right',
568
+ 'sfsi_plus_rss_countsDisplay'=>'no',
569
+ 'sfsi_plus_textBefor_icons'=>'Please follow and like us:',
570
+ 'sfsi_plus_icons_DisplayCounts'=>'no');
571
+ add_option('sfsi_plus_section6_options', serialize($options6));
572
+
573
+ /* icons pop options */
574
+ $options7=array('sfsi_plus_show_popup'=>'no',
575
+ 'sfsi_plus_popup_text'=>'Enjoy this blog? Please spread the word :)',
576
+ 'sfsi_plus_popup_background_color'=>'#eff7f7',
577
+ 'sfsi_plus_popup_border_color'=>'#f3faf2',
578
+ 'sfsi_plus_popup_border_thickness'=>'1',
579
+ 'sfsi_plus_popup_border_shadow'=>'yes',
580
+ 'sfsi_plus_popup_font'=>'Helvetica,Arial,sans-serif',
581
+ 'sfsi_plus_popup_fontSize'=>'30',
582
+ 'sfsi_plus_popup_fontStyle'=>'normal',
583
+ 'sfsi_plus_popup_fontColor'=>'#000000',
584
+ 'sfsi_plus_Show_popupOn'=>'none',
585
+ 'sfsi_plus_Show_popupOn_PageIDs'=>'',
586
+ 'sfsi_plus_Shown_pop'=>'ETscroll',
587
+ 'sfsi_plus_Shown_popupOnceTime'=>'',
588
+ 'sfsi_plus_Shown_popuplimitPerUserTime'=>'',
589
+ 'sfsi_plus_premium_popup_box' =>'yes',
590
+
591
+ );
592
+ add_option('sfsi_plus_section7_options', serialize($options7));
593
+
594
+ /*options that are added in the third question*/
595
+ if(get_option('sfsi_plus_section4_options',false))
596
+ $option4= unserialize(get_option('sfsi_plus_section4_options',false));
597
+ if(get_option('sfsi_plus_section5_options',false))
598
+ $option5= unserialize(get_option('sfsi_plus_section5_options',false));
599
+ if(get_option('sfsi_plus_section6_options',false))
600
+ $option6= unserialize(get_option('sfsi_plus_section6_options',false));
601
+
602
+ /*if($option6['sfsi_plus_show_Onposts'] == 'yes')
603
+ {
604
+ $sfsi_plus_display_button_type = 'standard_buttons';
605
+ }
606
+ else
607
+ {
608
+ $sfsi_plus_display_button_type = '';
609
+ }*/
610
+
611
+ $options8 = array(
612
+ 'sfsi_plus_show_via_widget'=>'no',
613
+ 'sfsi_plus_float_on_page'=> $option5['sfsi_plus_icons_float'],
614
+ 'sfsi_plus_float_page_position'=>$option5['sfsi_plus_icons_floatPosition'],
615
+ 'sfsi_plus_icons_floatMargin_top'=>'',
616
+ 'sfsi_plus_icons_floatMargin_bottom'=>'',
617
+ 'sfsi_plus_icons_floatMargin_left'=>'',
618
+ 'sfsi_plus_icons_floatMargin_right'=>'',
619
+ 'sfsi_plus_post_icons_size'=>$option5['sfsi_plus_icons_size'],
620
+ 'sfsi_plus_post_icons_spacing'=>$option5['sfsi_plus_icons_spacing'],
621
+ 'sfsi_plus_show_Onposts'=>$option6['sfsi_plus_show_Onposts'],
622
+ 'sfsi_plus_textBefor_icons'=>$option6['sfsi_plus_textBefor_icons'],
623
+ 'sfsi_plus_icons_alignment'=>$option6['sfsi_plus_icons_alignment'],
624
+ 'sfsi_plus_icons_DisplayCounts'=>$option6['sfsi_plus_icons_DisplayCounts'],
625
+ 'sfsi_plus_place_item_manually'=>'no',
626
+ /*'sfsi_plus_show_item_onposts'=>'no',*/
627
+ 'sfsi_plus_show_item_onposts'=> $option6['sfsi_plus_show_Onposts'],
628
+ 'sfsi_plus_display_button_type'=> 'standard_buttons',
629
+ 'sfsi_plus_display_before_posts'=>'no',
630
+ 'sfsi_plus_display_after_posts'=>$option6['sfsi_plus_show_Onposts'],
631
+ 'sfsi_plus_display_on_postspage'=>'no',
632
+ 'sfsi_plus_display_on_homepage'=>'no',
633
+ 'sfsi_plus_display_before_blogposts'=>'no',
634
+ 'sfsi_plus_display_after_blogposts'=>'no',
635
+ 'sfsi_plus_rectsub'=>'yes',
636
+ 'sfsi_plus_rectfb'=>'yes',
637
+ 'sfsi_plus_rectgp'=>'no',
638
+ 'sfsi_plus_recttwtr'=>'yes',
639
+ 'sfsi_plus_rectpinit'=>'yes',
640
+ 'sfsi_plus_rectfbshare'=>'yes',
641
+ 'sfsi_plus_show_premium_placement_box'=>'yes');
642
+
643
+ add_option('sfsi_plus_section8_options', serialize($options8));
644
+
645
+ /*Some additional option added*/
646
+ update_option('sfsi_plus_feed_id' , sanitize_text_field($sffeeds->feed_id));
647
+ update_option('sfsi_plus_redirect_url' , sanitize_text_field($sffeeds->redirect_url));
648
+
649
+ add_option('sfsi_plus_installDate',date('Y-m-d h:i:s'));
650
+ add_option('sfsi_plus_RatingDiv','no');
651
+ update_option('sfsi_plus_activate', 1);
652
+
653
+ /*Changes in option 2*/
654
+ $get_option2 = unserialize(get_option('sfsi_plus_section2_options',false));
655
+ $get_option2['sfsi_plus_email_url'] = $sffeeds->redirect_url;
656
+ update_option('sfsi_plus_section2_options', serialize($get_option2));
657
+
658
+ $addThisDismissed = get_option('sfsi_addThis_icon_removal_notice_dismissed',false);
659
+
660
+ if(!isset($addThisDismissed)){
661
+ update_option('sfsi_addThis_icon_removal_notice_dismissed',true);
662
+ }
663
+
664
+ /*Activation Setup for (specificfeed)*/
665
+ sfsi_plus_setUpfeeds($sffeeds->feed_id);
666
+ sfsi_plus_updateFeedPing('N',$sffeeds->feed_id);
667
+
668
+ /*Extra important options*/
669
+ $sfsi_plus_instagram_sf_count = array(
670
+ "date_sf" => strtotime(date("Y-m-d")),
671
+ "date_instagram" => strtotime(date("Y-m-d")),
672
+ "sfsi_plus_sf_count" => "",
673
+ "sfsi_plus_instagram_count" => ""
674
+ );
675
+ add_option('sfsi_plus_instagram_sf_count', serialize($sfsi_plus_instagram_sf_count));
676
+ sfsi_plus_remove_google();
677
+ }
678
+ /* end function */
679
+ /* deactivate plugin */
680
+ function sfsi_plus_deactivate_plugin()
681
+ {
682
+ global $wpdb;
683
+ sfsi_plus_updateFeedPing('Y',sanitize_text_field(get_option('sfsi_plus_feed_id')));
684
+
685
+ } /* end function */
686
+ function sfsi_plus_remove_google(){
687
+ $option1 = unserialize(get_option('sfsi_plus_section1_options',false));
688
+ if(isset($option1['sfsi_plus_google_display'])){
689
+ unset($option1['sfsi_plus_google_display']);
690
+ }
691
+ update_option('sfsi_plus_section1_options', serialize($option1));
692
+
693
+ $option2 = unserialize(get_option('sfsi_plus_section2_options',false));
694
+ if(isset($option2['sfsi_plus_premium_google_box'])){
695
+ unset($option2['sfsi_plus_premium_google_box']);
696
+ }
697
+ if(isset($option2['sfsi_plus_google_page'])){
698
+ unset($option2['sfsi_plus_google_page']);
699
+ }
700
+ if(isset($option2['sfsi_plus_google_pageURL'])){
701
+ unset($option2['sfsi_plus_google_pageURL']);
702
+ }
703
+ if(isset($option2['sfsi_plus_googleLike_option'])){
704
+ unset($option2['sfsi_plus_googleLike_option']);
705
+ }
706
+ if(isset($option2['sfsi_plus_googleShare_option'])){
707
+ unset($option2['sfsi_plus_googleShare_option']);
708
+ }
709
+ update_option('sfsi_plus_section2_options', serialize($option2));
710
+
711
+ $option4 = unserialize(get_option('sfsi_plus_section4_options',false));
712
+ if(isset($option4['sfsi_plus_google_api_key'])){
713
+ unset($option4['sfsi_plus_google_api_key']);
714
+ }
715
+ if(isset($option4['sfsi_plus_google_countsDisplay'])){
716
+ unset($option4['sfsi_plus_google_countsDisplay']);
717
+ }
718
+ if(isset($option4['sfsi_plus_google_countsFrom'])){
719
+ unset($option4['sfsi_plus_google_countsFrom']);
720
+ }
721
+ if(isset($option4['sfsi_plus_google_manualCounts'])){
722
+ unset($option4['sfsi_plus_google_manualCounts']);
723
+ }
724
+ update_option('sfsi_plus_section4_options', serialize($option4));
725
+
726
+ $option5 = unserialize(get_option('sfsi_plus_section5_options',false));
727
+ if(isset($option5['sfsi_plus_google_icons_language'])){
728
+ unset($option5['sfsi_plus_google_icons_language']);
729
+ }
730
+ if(isset($option5['sfsi_plus_googleIcon_order'])){
731
+ unset($option5['sfsi_plus_googleIcon_order']);
732
+ }
733
+ if(isset($option5['sfsi_plus_google_MouseOverText'])){
734
+ unset($option5['sfsi_plus_google_MouseOverText']);
735
+ }
736
+ update_option('sfsi_plus_section5_options', serialize($option5));
737
+
738
+ }
739
+ function sfsi_plus_updateFeedPing($status,$feed_id)
740
+ {
741
+ $body = array(
742
+ 'feed_id' => $feed_id,
743
+ 'status' => $status
744
+ );
745
+
746
+ $args = array(
747
+ 'body' => $body,
748
+ 'timeout' => '5',
749
+ 'redirection' => '5',
750
+ 'httpversion' => '1.0',
751
+ 'blocking' => true,
752
+ 'headers' => array(),
753
+ 'cookies' => array()
754
+ );
755
+
756
+ $resp = wp_remote_post( 'https://www.specificfeeds.com/wordpress/pingfeed', $args );
757
+ return $resp;
758
+ }
759
+ /* unistall plugin function */
760
+ function sfsi_plus_Unistall_plugin()
761
+ { global $wpdb;
762
+ /* Delete option for which icons to display */
763
+ delete_option('sfsi_plus_section1_options');
764
+ delete_option('sfsi_plus_section2_options');
765
+ delete_option('sfsi_plus_section3_options');
766
+ delete_option('sfsi_plus_section4_options');
767
+ delete_option('sfsi_plus_section5_options');
768
+ delete_option('sfsi_plus_section6_options');
769
+ delete_option('sfsi_plus_section7_options');
770
+ delete_option('sfsi_plus_section8_options');
771
+ delete_option('sfsi_plus_section9_options');
772
+ delete_option('sfsi_plus_feed_id');
773
+ delete_option('sfsi_plus_redirect_url');
774
+ delete_option('sfsi_plus_footer_sec');
775
+ delete_option('sfsi_plus_activate');
776
+ delete_option("sfsi_plus_pluginVersion");
777
+ delete_option("sfsi_plus_verificatiom_code");
778
+ delete_option("sfsi_plus_curlErrorNotices");
779
+ delete_option("sfsi_plus_curlErrorMessage");
780
+
781
+ delete_option("adding_plustags");
782
+ delete_option("sfsi_plus_installDate");
783
+ delete_option("sfsi_plus_RatingDiv");
784
+ delete_option("sfsi_plus_instagram_sf_count");
785
+ delete_option("sfsi_plus_new_show_notification");
786
+ delete_option("sfsi_plus_show_Setting_mobile_notification");
787
+ delete_option("sfsi_plus_show_premium_notification");
788
+ delete_option("sfsi_plus_show_notification");
789
+ delete_option('sfsi_plus_serverphpVersionnotification');
790
+ delete_option("sfsi_plus_show_premium_cumulative_count_notification");
791
+
792
+ delete_option("sfsi_addThis_icon_removal_notice_dismissed");
793
+ delete_option('widget_sfsi-plus-widget');
794
+ delete_option('widget_sfsiplus_subscriber_widget');
795
+
796
+ delete_option('fs_active_plugins');
797
+ delete_option('fs_accounts');
798
+ delete_option('fs_api_cache');
799
+ delete_option('fs_debug_mode');
800
+ }
801
+ /* end function */
802
+ /* check CUrl */
803
+ function sfsi_plus_curl_enable_notice(){
804
+ if(!function_exists('curl_init')) {
805
+ echo '<div class="error"><p> '.__('Error: It seems that CURL is disabled on your server. Please contact your server administrator to install / enable CURL.',SFSI_PLUS_DOMAIN).'</p></div>'; die;
806
+ }
807
+ }
808
+
809
+ /* add admin menus */
810
+ function sfsi_plus_admin_menu() {
811
+ add_menu_page(
812
+ 'Ultimate Social Media PLUS',
813
+ 'Ultimate Social Media PLUS',
814
+ 'administrator',
815
+ 'sfsi-plus-options',
816
+ 'sfsi_plus_options_page',
817
+ plugins_url( 'images/logo.png' , dirname(__FILE__) )
818
+ );
819
+ }
820
+ function sfsi_plus_options_page(){ include SFSI_PLUS_DOCROOT . '/views/sfsi_options_view.php'; } /* end function */
821
+ function sfsi_plus_about_page(){ include SFSI_PLUS_DOCROOT . '/views/sfsi_aboutus.php'; } /* end function */
822
+ if ( is_admin() ){
823
+ add_action('admin_menu', 'sfsi_plus_admin_menu');
824
+ }
825
+
826
+ /* fetch rss url from specificfeeds */
827
+ function SFSI_PLUS_getFeedUrl()
828
+ {
829
+ $body = array(
830
+ 'web_url' => get_bloginfo('url'),
831
+ 'feed_url' => sfsi_plus_get_bloginfo('rss2_url'),
832
+ 'email' => '',
833
+ 'subscriber_type' => 'PLWP'
834
+ );
835
+
836
+ $args = array(
837
+ 'body' => $body,
838
+ 'blocking' => true,
839
+ 'user-agent' => 'sf rss request',
840
+ 'header' => array("Content-Type"=>"application/x-www-form-urlencoded"),
841
+ 'sslverify' => true
842
+ );
843
+ $resp = wp_remote_post( 'https://www.specificfeeds.com/wordpress/plugin_setup', $args );
844
+ if ( is_wp_error( $resp ) ) {
845
+ // var_dump($resp);
846
+ // update_option("sfsi_plus_curlErrorNotices", "yes");
847
+ // update_option("sfsi_plus_curlErrorMessage", $resp->get_error_message());
848
+ } else {
849
+ update_option("sfsi_plus_curlErrorNotices", "no");
850
+ update_option("sfsi_plus_curlErrorMessage", "");
851
+ $resp = json_decode($resp['body']);
852
+ }
853
+ $feed_url = stripslashes_deep($resp->redirect_url);
854
+ return $resp;exit;
855
+ }
856
+ /* fetch rss url from specificfeeds on */
857
+ function SFSI_PLUS_updateFeedUrl()
858
+ {
859
+ $body = array(
860
+ 'feed_id' => sanitize_text_field(get_option('sfsi_plus_feed_id')),
861
+ 'web_url' => get_bloginfo('url'),
862
+ 'feed_url' => sfsi_plus_get_bloginfo('rss2_url'),
863
+ 'email' => ''
864
+ );
865
+
866
+ $args = array(
867
+ 'body' => $body,
868
+ 'blocking' => true,
869
+ 'user-agent' => 'sf rss request',
870
+ 'header' => array("Content-Type"=>"application/x-www-form-urlencoded"),
871
+ 'sslverify' => true
872
+ );
873
+ $resp = wp_remote_post( 'https://www.specificfeeds.com/wordpress/updateFeedPlugin', $args );
874
+ if ( is_wp_error( $resp ) ) {
875
+ // var_dump($resp);
876
+ // update_option("sfsi_plus_curlErrorNotices", "yes");
877
+ // update_option("sfsi_plus_curlErrorMessage", $resp->get_error_message());
878
+ } else {
879
+ update_option("sfsi_plus_curlErrorNotices", "no");
880
+ update_option("sfsi_plus_curlErrorMessage", "");
881
+ $resp = json_decode($resp['body']);
882
+ }
883
+
884
+ $feed_url = stripslashes_deep($resp->redirect_url);
885
+ return $resp;exit;
886
+ }
887
+ /* add sf tags */
888
+ function sfsi_plus_setUpfeeds($feed_id)
889
+ {
890
+ $args = array(
891
+ 'blocking' => true,
892
+ 'user-agent' => 'sf rss request',
893
+ 'header' => array("Content-Type"=>"application/json"),
894
+ 'sslverify' => true
895
+ );
896
+ $resp = wp_remote_get( 'https://www.specificfeeds.com/rssegtcrons/download_rssmorefeed_data_single/'.$feed_id."/Y", $args );
897
+ if ( is_wp_error( $resp ) ) {
898
+ // var_dump($resp);
899
+ //update_option("sfsi_plus_curlErrorNotices", "yes");
900
+ //update_option("sfsi_plus_curlErrorMessage", $resp->get_error_message());
901
+ }else{
902
+ update_option("sfsi_plus_curlErrorNotices", "no");
903
+ update_option("sfsi_plus_curlErrorMessage", "");
904
+ }
905
+ }
906
+ /* admin notice if wp_head is missing in active theme */
907
+ function sfsi_plus_check_wp_head() {
908
+
909
+ $template_directory = get_template_directory();
910
+ $header = $template_directory . '/header.php';
911
+
912
+ if (is_file($header)) {
913
+
914
+ $search_header = "wp_head";
915
+ $file_lines = @file($header);
916
+ $foind_header=0;
917
+ foreach ($file_lines as $line)
918
+ {
919
+ $searchCount = substr_count($line, $search_header);
920
+ if ($searchCount > 0)
921
+ {
922
+ return true;
923
+ }
924
+ }
925
+ $path=pathinfo($_SERVER['REQUEST_URI']);
926
+ if($path['basename']=="themes.php" || $path['basename']=="theme-editor.php" || $path['basename']=="admin.php?page=sfsi-plus-options")
927
+ {
928
+ $currentTheme = wp_get_theme();
929
+
930
+ if(isset($currentTheme) && !empty($currentTheme) && $currentTheme->get( 'Name' ) != "Customizr"){
931
+
932
+ echo "<div class=\"error\" ><p>". __( 'Error : Please fix your theme to make plugins work correctly. Go to the Theme Editor and insert the following string:', SFSI_PLUS_DOMAIN )." &lt;?php wp_head(); ?&gt; ".__('Please enter it just before the following line of your header.php file:',SFSI_PLUS_DOMAIN)." &lt;/head&gt; ".__('Go to your theme editor: ',SFSI_PLUS_DOMAIN)."<a href=\"theme-editor.php\">".__('click here', SFSI_PLUS_DOMAIN )."</a>.</p></div>";
933
+ }
934
+
935
+ }
936
+ }
937
+ }
938
+ /* admin notice if wp_footer is missing in active theme */
939
+ function sfsi_plus_check_wp_footer() {
940
+ $template_directory = get_template_directory();
941
+ $footer = $template_directory . '/footer.php';
942
+
943
+ if (is_file($footer)) {
944
+ $search_string = "wp_footer";
945
+ $file_lines = @file($footer);
946
+
947
+ foreach ($file_lines as $line) {
948
+ $searchCount = substr_count($line, $search_string);
949
+ if ($searchCount > 0) {
950
+ return true;
951
+ }
952
+ }
953
+ $path=pathinfo($_SERVER['REQUEST_URI']);
954
+
955
+ if($path['basename']=="themes.php" || $path['basename']=="theme-editor.php" || $path['basename']=="admin.php?page=sfsi-plus-options")
956
+ {
957
+ echo "<div class=\"error\" ><p>". __("Error: Please fix your theme to make plugins work correctly. Go to the Theme Editor and insert the following string as the first line of your theme's footer.php file: ", SFSI_PLUS_DOMAIN)." &lt;?php wp_footer(); ?&gt; ".__("Go to your theme editor: ", SFSI_PLUS_DOMAIN)."<a href=\"theme-editor.php\">".__('click here', SFSI_PLUS_DOMAIN )."</a>.</p></div>";
958
+ }
959
+ }
960
+ }
961
+ /* admin notice for first time installation */
962
+ function sfsi_plus_activation_msg()
963
+ {
964
+ global $wp_version;
965
+
966
+ if(get_option('sfsi_plus_activate',false)==1)
967
+ {
968
+ echo "<div class='updated'><p>".__("Thank you for installing the Ultimate Social Media PLUS plugin. Please go to the plugin's settings page to configure it: ",SFSI_PLUS_DOMAIN)."<b><a href='admin.php?page=sfsi-plus-options'>".__("Click here",SFSI_PLUS_DOMAIN)."</a></b></p></div>";
969
+ update_option('sfsi_plus_activate',0);
970
+ }
971
+
972
+ $path=pathinfo($_SERVER['REQUEST_URI']);
973
+ update_option('sfsi_plus_activate',0);
974
+
975
+ if($wp_version < 3.5 && $path['basename'] == "admin.php?page=sfsi-plus-options")
976
+ {
977
+ echo "<div class=\"update-nag\" ><p><b>".__('You`re using an old Wordpress version, which may cause several of your plugins to not work correctly. Please upgrade', SFSI_PLUS_DOMAIN)."</b></p></div>";
978
+ }
979
+ }
980
+ /* admin notice for first time installation */
981
+ function sfsi_plus_rating_msg()
982
+ {
983
+ global $wp_version;
984
+ $install_date = get_option('sfsi_plus_installDate');
985
+ $display_date = date('Y-m-d h:i:s');
986
+ $datetime1 = new DateTime($install_date);
987
+ $datetime2 = new DateTime($display_date);
988
+ $diff_inrval = round(($datetime2->format('U') - $datetime1->format('U')) / (60*60*24));
989
+
990
+ if($diff_inrval >= 30 && get_option('sfsi_plus_RatingDiv')=="no")
991
+ { ?>
992
+ <style >
993
+ .sfsi_plus_plg-rating-dismiss:before {
994
+ background: none;
995
+ color: #72777c;
996
+ content: "\f153";
997
+ display: block;
998
+ font: normal 16px/20px dashicons;
999
+ speak: none;
1000
+ height: 20px;
1001
+ text-align: center;
1002
+ width: 20px;
1003
+ -webkit-font-smoothing: antialiased;
1004
+ -moz-osx-font-smoothing: grayscale;
1005
+ }
1006
+ .sfsi_plus_plg-rating-dismiss{
1007
+ position: absolute;
1008
+ top: 45px;
1009
+ right: 15px;
1010
+ border: none;
1011
+ margin: 0;
1012
+ padding: 9px;
1013
+ background: none;
1014
+ color: #72777c;
1015
+ cursor: pointer;
1016
+ }
1017
+ </style>
1018
+ <div class="sfsi_plus_sfwp_fivestar notice notice-success">
1019
+ <p><?php echo __('We noticed you\'ve been using the Ultimate Social Media PLUS Plugin for more than 30 days. If you\'re happy with it, could you please do us a BIG favor and let us know ONE thing we can improve in it?', SFSI_PLUS_DOMAIN);?></p>
1020
+ <ul class="sfwp_fivestar_ul">
1021
+ <li><a href="https://wordpress.org/support/plugin/ultimate-social-media-plus#new-topic-0" target="_new" title="<?php echo __('Yes, let me give feedback.',SFSI_PLUS_DOMAIN); ?>"><?php echo __('Yes, let me give feedback.', SFSI_PLUS_DOMAIN); ?></a></li>
1022
+ <li><a href="https://wordpress.org/support/plugin/ultimate-social-media-plus/reviews/?filter=5" target="_new" title="<?php echo __('No clue, let me give a 5-star rating instead',SFSI_PLUS_DOMAIN) ?>"><?php echo __('No clue, let me give a 5-star rating instead',SFSI_PLUS_DOMAIN) ?></a></li>
1023
+ <li><a href="javascript:void(0);" class="sfsiHideRating" title="<?php echo __('I already did', SFSI_PLUS_DOMAIN)?>"> <?php echo __('I already did (don\'t show this again)', SFSI_PLUS_DOMAIN); ?> </a></li>
1024
+ </ul>
1025
+ <button type="button" class="sfsi_plus_plg-rating-dismiss"><span class="screen-reader-text"><?php echo __('Dismiss this notice.',SFSI_PLUS_DOMAIN); ?></span></button>
1026
+ </div>
1027
+ <script>
1028
+ jQuery( document ).ready(function( $ ) {
1029
+ $('.sfsi_plus_plg-rating-dismiss').css({'top':$('.sfsi_plus_sfwp_fivestar')[0].offsetTop+'px'})
1030
+ var sel1 = jQuery('.sfsiHideRating');
1031
+ var sel2 = jQuery('.sfsi_plus_plg-rating-dismiss');
1032
+ function sfsi_plus_hide_rating(element){
1033
+ element.on('click',function(){
1034
+ var data={'action':'plushideRating','nonce':'<?php echo wp_create_nonce('plus_plushideRating'); ?>'};
1035
+ jQuery.ajax({
1036
+
1037
+ url: "<?php echo admin_url( 'admin-ajax.php' ); ?>",
1038
+ type: "post",
1039
+ data: data,
1040
+ dataType: "json",
1041
+ async: !0,
1042
+ success: function(e) {
1043
+ if (e=="success") {
1044
+ jQuery('.sfsi_plus_sfwp_fivestar').slideUp('slow');
1045
+ }
1046
+ }
1047
+ });
1048
+ });
1049
+ }
1050
+ sfsi_plus_hide_rating(sel1);
1051
+ sfsi_plus_hide_rating(sel2);
1052
+ });
1053
+ </script>
1054
+ <?php
1055
+ }
1056
+ }
1057
+ add_action('wp_ajax_plushideRating','sfsi_plusHideRatingDiv');
1058
+ function sfsi_plusHideRatingDiv()
1059
+ {
1060
+ if ( !wp_verify_nonce( $_POST['nonce'], "plus_plushideRating")) {
1061
+ echo json_encode(array('res'=>"error")); exit;
1062
+ }
1063
+ if(!current_user_can('manage_options')){ echo json_encode(array('res'=>'not allowed'));die(); }
1064
+ update_option('sfsi_plus_RatingDiv','yes');
1065
+ echo json_encode(array("success")); exit;
1066
+ }
1067
+ /* add all admin message */
1068
+ add_action('admin_notices', 'sfsi_plus_activation_msg');
1069
+ add_action('admin_notices', 'sfsi_plus_rating_msg');
1070
+ add_action('admin_notices', 'sfsi_plus_check_wp_head');
1071
+ add_action('admin_notices', 'sfsi_plus_check_wp_footer');
1072
+ function sfsi_plus_pingVendor( $post_id )
1073
+ {
1074
+ global $wp,$wpdb;
1075
+ // If this is just a revision, don't send the email.
1076
+ if ( wp_is_post_revision( $post_id ) )
1077
+ return;
1078
+
1079
+ $post_data=get_post($post_id,ARRAY_A);
1080
+ if($post_data['post_status']=='publish' && $post_data['post_type']=='post') :
1081
+
1082
+ $categories = wp_get_post_categories($post_data['ID']);
1083
+ $cats='';
1084
+ $total=count($categories);
1085
+ $count=1;
1086
+ foreach($categories as $c)
1087
+ {
1088
+ $cat_data = get_category( $c );
1089
+ if($count==$total)
1090
+ {
1091
+ $cats.= $cat_data->name;
1092
+ }
1093
+ else
1094
+ {
1095
+ $cats.= $cat_data->name.',';
1096
+ }
1097
+ $count++;
1098
+ }
1099
+
1100
+ $postto_array = array(
1101
+ 'feed_id' => sanitize_text_field(get_option('sfsi_plus_feed_id')),
1102
+ 'title' => $post_data['post_title'],
1103
+ 'description' => $post_data['post_content'],
1104
+ 'link' => $post_data['guid'],
1105
+ 'author' => get_the_author_meta('user_login', $post_data['post_author']),
1106
+ 'category' => $cats,
1107
+ 'pubDate' => $post_data['post_modified'],
1108
+ 'rssurl' => sfsi_plus_get_bloginfo('rss2_url')
1109
+ );
1110
+ $args = array(
1111
+ 'body' => $postto_array,
1112
+ 'blocking' => true,
1113
+ 'user-agent' => 'sf rss request',
1114
+ 'header' => array("Content-Type"=>"application/x-www-form-urlencoded"),
1115
+ 'sslverify' => true
1116
+ );
1117
+ $resp = wp_remote_post( 'https://www.specificfeeds.com/wordpress/updateFeedPlugin', $args );
1118
+ if ( is_wp_error( $resp ) ) {
1119
+ // update_option("sfsi_plus_curlErrorNotices", "yes");
1120
+ // update_option("sfsi_plus_curlErrorMessage", $resp->get_error_message());
1121
+ return false;
1122
+ } else {
1123
+ update_option("sfsi_plus_curlErrorNotices", "no");
1124
+ update_option("sfsi_plus_curlErrorMessage", "");
1125
+ $resp = json_decode($resp['body']);
1126
+ return true;
1127
+ }
1128
+ endif;
1129
+ }
1130
+ add_action( 'save_post', 'sfsi_plus_pingVendor' );
1131
+
1132
+ function sfsi_plus_was_displaying_addthis(){
1133
+
1134
+ $isDismissed = true;
1135
+ $sfsi_plus_section1 = unserialize(get_option('sfsi_plus_section1_options',false));
1136
+ $sfsi_plus_section8 = unserialize(get_option('sfsi_plus_section8_options',false));
1137
+ $sfsi_plus_addThiswasDisplayed_section1 = isset($sfsi_plus_section1['sfsi_plus_share_display']) && 'yes'== sanitize_text_field($sfsi_plus_section1['sfsi_plus_share_display']);
1138
+
1139
+ $sfsi_plus_addThiswasDisplayed_section8 = isset($sfsi_plus_section8['sfsi_plus_rectshr']) && 'yes'== sanitize_text_field($sfsi_plus_section8['sfsi_plus_rectshr']);
1140
+
1141
+ $isDisplayed = $sfsi_plus_addThiswasDisplayed_section1 || $sfsi_plus_addThiswasDisplayed_section8;
1142
+
1143
+ // If icon was displayed
1144
+ $isDismissed = false != $isDisplayed ? false : true;
1145
+
1146
+ update_option('sfsi_plus_addThis_icon_removal_notice_dismissed',$isDismissed);
1147
+
1148
+ if($sfsi_plus_addThiswasDisplayed_section1){
1149
+ unset($sfsi_plus_section1['sfsi_plus_share_display']);
1150
+ update_option('sfsi_plus_section1_options', serialize($sfsi_plus_section1) );
1151
+ }
1152
+
1153
+ if($sfsi_plus_addThiswasDisplayed_section8){
1154
+ unset($sfsi_plus_section8['sfsi_plus_rectshr']);
1155
+ update_option('sfsi_plus_section8_options', serialize($sfsi_plus_section8) );
1156
+ }
1157
+ }
1158
+
1159
  ?>
readme.txt CHANGED
@@ -1,898 +1,902 @@
1
- === Social Share Icons & Social Share Buttons ===
2
- Contributors: socialsharepro
3
- Tags: Share, sharing, share buttons, share button, share social media, share icons, social buttons, sharing buttons, sharing icons, social media icons, social share, social sharing
4
- Requires at least: 3.0
5
- Tested up to: 5.2
6
- Stable tag: 3.1.9
7
- License: GPLv2
8
- License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
-
10
- Social sharing plugin adding social buttons.
11
-
12
- == Description ==
13
-
14
- This social plugin makes placing social share icons on your site REALLY easy.
15
-
16
- This free plugin has a lot to offer. Even more can be found in the Premium Plugin, please watch this short video:
17
-
18
- [vimeo https://vimeo.com/269140798]
19
-
20
- See [all features of the Premium plugin](https://www.ultimatelysocial.com/usm-premium/).
21
-
22
- Key features of the free plugin:
23
-
24
- - Select from a **wide range of social share platforms** (see a list of them below)
25
- - Pick from **16 stylish design styles** for your social share buttons
26
- - Place the social share buttons **before or after posts, floating, via widget, via shortcode, or define the location on the page** (top right, bottom left etc.)
27
- - Give **several actions to one social share button** (e.g. your Facebook icon can lead visitors to your Facebook page, and also show a Facebook button to share your page on social media)
28
- - Give your social share buttons an **animation** (e.g. automatic shuffling, mouse-over effects) to make your visitors aware of them, increasing the chance that they follow, like or share your site
29
- - Add **counts** to your share buttons
30
- - Display a **pop-up** (on all or only on selected pages) asking people to follow or share you
31
- - Allow visitors to **subscribe to your site** and receive new posts automatically by email
32
- - Select from **many other customization features** for your social share buttons
33
-
34
- For GDPR compliance, please have a look at our [Social Media GDPR Compliance page](https://ultimatelysocial.com/gdpr/).
35
-
36
- In case of issues or questions please ask in the [Support forum] (https://wordpress.org/support/plugin/ultimate-social-media-plus).
37
-
38
-
39
- The plugin takes you through eight easy-to-answer questions so that configuring your social share icons becomes a no-brainer:
40
-
41
- = Question 1: Which social share buttons do you want to display? =
42
-
43
- You can select the following:
44
-
45
- * Facebook share icon
46
- * Twitter share icon
47
- * Email icon
48
- * RSS icon
49
- * Instagram share icon
50
- * Google plus share icon
51
- * Youtube share icon
52
- * Pinterest share icon
53
- * LinkedIn share icon
54
- * Houzz share icon
55
- * Share icon (allows your visitors to share your site on over 200+ other social media sites; powered by addthis/sharethis)
56
-
57
- You can also upload custom social share buttons of your choice.
58
-
59
- The [Premium Plugin](https://www.ultimatelysocial.com/usm-premium) offers many more social share icons and buttons. The premium share button set includes a...
60
-
61
- * Snapchat share icon
62
- * Yummly share icon
63
- * Whatsapp share icon (and also "send me direct message" and other functions)
64
- * Phone icon
65
- * Yelp share icon
66
- * Soundcloud share icon
67
- * Skype icon
68
- * Flickr share icon
69
- * Blogger share icon
70
- * Reddit share icon
71
- * Vimeo share icon
72
- * Tumblr share icon
73
- * Xing share icon
74
- * Vkontakte icon / VK icon
75
- * Telegram icon
76
- * Amazon icon
77
- * Goodreads icon
78
- * Angies list icon
79
- * Steam icon
80
- * Twitch icon
81
- * Spotify icon
82
- * Odnoklassniki icon / OK icon (ok.ru)
83
- * Buffer icon
84
- * Weibo icon
85
- * Pocket icon
86
- * Meneame icon
87
- * Frype icon
88
- * LiveJournal icon
89
- * Patreon icon
90
- * Dloky icon
91
- * Discord icon
92
- * Github icon
93
- * WordPress icon
94
- * Etsy icon
95
- * Better Business Bureau icon
96
- * Digg icon
97
- * Delicious icon
98
- * Print icon
99
-
100
- If there are any important social share networks not covered yet, please let us know!
101
-
102
- = Question 2: What shall the social share buttons do? =
103
-
104
- Under this question you define what should happen if your visitors click on the social sharing icons.
105
-
106
- The options are plenty, for example for the *Facebook button* you can allow users to:
107
-
108
- * **Visit** your Facebook page
109
- * Give your page a **Facebook Like**
110
- * **Share it** with friends (on Facebook)
111
-
112
- For the *Twitter button* you can allow users to:
113
- * **Visit** you on Twitter
114
- * **Follow you** on Twitter (without leaving your page)
115
- * **Tweet** your page to the Twitter community
116
-
117
- For the *Youtube button* you can allow users to:
118
- * **Visit** you on Youtube
119
- * **Subscribe** to you on Youtube (just by pressing the Youtube button, without leaving your page)
120
-
121
- For the *Pinterest button* you can allow users to:
122
- * **Visit** you on Pinterest
123
- * **Pin** your site on Pinterest
124
-
125
- For the *LinkedIn button* you can allow users to:
126
- * **Visit** your LinkedIn page
127
- * **Follow you** on LinkedIn (without leaving your website)
128
- * **Share** your page on LinkedIn
129
- * **Recommend** your business or product on LinkedIn
130
-
131
- For the *Google+ button* you can allow users to:
132
-
133
- * **Visit** your Google+ page
134
- * Give your page a **"Google+ like"**
135
- * **Share it** with friends (on Google+)
136
-
137
-
138
- The other social share buttons provide similar functions. If you’ve given one social share icon several functions then users will see a little popup (tooltip) where they can select what they want to do, e.g. share it on social media, or just link to your social media profile, or follow you via social media with one click etc.
139
-
140
-
141
- = Question 3: Where shall the social sharing icons be displayed? =
142
-
143
- Now it’s time to define where the social sharing icons should show up. You can select to show them:
144
-
145
- * **Via widget**: In the widget are you’ll see the social media widget where you can drag & drop it onto your sidebar or footer area.
146
- * **Float on the page**: You can define the location of the social share buttons, e.g. top right, center left etc., and the margins from the top/bottom/left/right. The social share buttons will appear as flying buttons which move as the user scrolls down.
147
- * **Manually**: Place the social share buttons via shortcode [DISPLAY_ULTIMATE_PLUS] or insert a php string into your theme.
148
- * **Show the social sharing icons before or after posts**: Here you can select the social sharing icons to show before or after posts. You can choose to show the social sharing icons you selected above (round/squared layout), or pick from a different (rectangle) set of social share icons. You can also define a text before the social share icons, e.g. “Please follow and share us!” and define the alignment of the social share icons (left/right/center).
149
-
150
-
151
- *The following questions are optional only, however most likely you will want to go through them to individualize the social share icon’s appearance even more:*
152
-
153
- = Question 4: What design & animation do you want to give your social share icons? =
154
-
155
- Here you can define how the social sharing buttons should look like. You can select from 16 social share design options (see screenshots).
156
-
157
- You can also give any social share icon mouse-over effects, such as “fading effects” (sharing buttons fade in/out if moved over), “scale” (sharing buttons become larger if moved over) or “combo” (combination of the previous two).
158
-
159
- If you want to give a subtle hint to your visitors to share, like or follow your site, then you can animate your social share buttons, for example you can let them shuffle automatically (e.g. when the site first loads, or after X seconds as defined by you).
160
-
161
-
162
- = Question 5: Do you want to display counts next to your social share icons? =
163
-
164
- Under this question you can decide to display counts next to your social share icons. All social share icons have the option to show manual counts, however for some social share icons automatic options are available.
165
-
166
- For example, for your Facebook share button you can show the number of times the page got liked where the share icon is on (i.e. your site), or the number of likes count of your Facebook page.
167
-
168
- For the Googleplus share button similar options are available. For the Twitter share button you can show the number of your followers on Twitter, which gets updated dynamically.
169
-
170
-
171
- = Question 6: Any other wishes for your main social share buttons? =
172
-
173
- Here you get many other options to tailor the social share buttons to your needs. For example, you can:
174
-
175
- * Define the order of your social share buttons
176
- * Define the size of your social share buttons
177
- * Define the space between the social share buttons
178
- * Define the alignment of social share buttons (with respect to each other)
179
- * Decide how many social share buttons should be displayed per row
180
- * Pick a language for your visit us / like / follow / social share buttons
181
- * Decide to open windows in a new window (or same window) after user clicked on the social share buttons
182
- * Make the social share buttons stick (if placed via widget, so still visible if user scrolls down)
183
- * Disable float social share buttons on mobile devices
184
- * Disable auto-scaling feature of the social share buttons for mobile devices (“viewport” meta tag)
185
- * Give your social share buttons mouse-over texts
186
-
187
-
188
- = Question 7: Do you want to display a pop up? =
189
-
190
- A pop-up can make it more likely that your visitors share, follow or like your site (or connect with you). Therefore you can decide to show such a popup containing your social share buttons, and define…
191
- * *The layout of the pop up*, i.e. displayed text, font type, font style, font color, background color, border color, border thickness, and border shadow.
192
- * *Where the pop-up shall be shown*, i.e. on ever page, on blog posts only, or on selected pages only.
193
- * *When the pop-up shall be shown*, i.e. once every X seconds after the user arrived on the site, or every time the user scrolls to the end of the page.
194
-
195
-
196
- = Question 8: Do you want to show a subscription form? =
197
-
198
- In addition to an email button you can also place a subscription form on your site, making it more likely that users subscribe and follow your site. It works in a similar way as a newsletter (using RSS technology, but not linked to your RSS button).
199
-
200
- You can define the detailed layout of the subscription form, and have various options how to place it (via widget, shortcodes, or by copy/pasting HTML code on your site).
201
-
202
-
203
- == Premium Plugin ==
204
-
205
- The free plugin already provides tons of options for social sharing (as outlined above). In our Premium Plugin, even more is possible. Some examples for additional features in the Premium Plugin:
206
-
207
- * More social share buttons (the icon pack includes an Instagram button, Snapchat button, Yummly button, Print button, Whatsapp button, Yelp button, Soundcloud button, Skype button, Flickr button, Share button, Blogger button, Digg button, Reddit button, Vimeo button, Tumblr button, Xing button, vk button, Telegram button, Amazon button, Spotify button and many more badge, see list above)
208
- * More (default) design styles for your social share icons
209
- * Themed design styles for your social share buttons (e.g. if you have a site about cats, you can pick from cat-themed buttons etc.)
210
- * Better sharing & following features (tailored tweet texts, allow people to follow you directly on your page etc.)
211
- * Place the social share icons on specific pages
212
- * Optimized for mobile sharing and buton display
213
- * More functions for email icon to connect with you
214
- * More lightbox / popup options (e.g. limit how often the popup is shown to the same user)
215
- * (Friendly and fast) Support
216
- * Many more settings & options
217
-
218
- Note: this plugin uses the third party provider SpecificFeeds.com for the subscription feature, enabling you to allow your visitors to subscribe to your site and get new posts automatically by email. Upon installation of the plugin a feed will be set up on SpecificFeeds, transmitting your IP address. This is required for this feature to work.
219
-
220
- See [all features of the Premium Plugin](https://www.ultimatelysocial.com/usm-premium).
221
-
222
- In case of issues or questions please ask in the [Support forum] (https://wordpress.org/support/plugin/ultimate-social-media-plus).
223
-
224
- == Installation ==
225
- Extract the zip file and drop the contents into the wp-content/plugins/ directory of your WordPress installation. Then activate the plugin from the plugins page.
226
-
227
- Then go to plugin settings page and answer the first 3 questions. That's it.
228
-
229
- Note: This plugin requires CURL to be activated/installed on your server (which should be the standard case). If you don't have it, please contact your hosting provider.
230
-
231
- == Frequently Asked Questions ==
232
-
233
- = Please also check the more comprehensive FAQ on http://ultimatelysocial.com/faq =
234
-
235
- We will try to keep this FAQ section up-to-date, but please note that the latest version of the FAQ might be only available at http://ultimatelysocial.com/faq
236
-
237
- = I face fundamental issues (the plugin doesn't load, social share buttons don't show etc.) =
238
-
239
- Please ensure that:
240
-
241
- - You're using the latest version of the plugin(s)
242
- - Your site is running on PHP 5.4 or above
243
- - You have CURL activated (should be activated by default)
244
-
245
- If you're not familiar with those please contact your hosting company or server admin.
246
-
247
- Please check if you have browser extensions activated which may conflict with the social share buttons. Known culprits include:
248
-
249
- - Open SEO Stats (Formerly: PageRank Status) in Chrome
250
- - Adblock Plus in Chrome
251
- - Vine in Chrome
252
-
253
- Either de-activate those extensions or try it in a different browser.
254
-
255
- If the plugin setting's area looks 'funny' after an upgrade then please clear your cache with String+F5 (PC) or Command+R (Mac).
256
-
257
- If you get the error message “Are you sure you want to do this? / Please try again” when uploading the plugin: Some servers may have a low limits with respect to permitted upload times. Please set the values in the “php.ini” file to:
258
-
259
- max_execution_time 90
260
- post_max_size 48M
261
-
262
- If you don’t know how to do it, please contact your server support / hosting company for that. Tell them you need it for a sharing plugin on WordPress which may take longer to upload as many socialsharing buttons are included in it (larger file size).
263
-
264
- If your issue is still not fixed after you’ve followed the steps above, we can provide support as part of our new share to social Premium Plugin: https://www.ultimatelysocial.com/usm-premium/.
265
-
266
- = I get error messages 'Error : 7', 'Error : 56', 'Error : 6' etc. =
267
-
268
- Those point to a CURL-issue on your site. Please contact your server admin or your hosting company to resolve it.
269
-
270
- The plugin requires CURL for the social share counts and other features.
271
-
272
- = Social share buttons don't show =
273
-
274
- Please ensure you actually placed the social share buttons either as social widget (in your widget area) or as floating icons under question 5). The Premium Plugin makes placing sharing buttons especially easy and also allows you to place sticky buttons on your site, define the placement of the share buttons by margins and many other options, see https://www.ultimatelysocial.com/usm-premium/.
275
-
276
- If only some social share buttons show, but not all, then please clear your cache, and check if you may have conflicting browser extensions (e.g. 'Disconnect'-app in Chrome). Also Ad-Blockers are known culprits, please switch them off temporarily to see if that is the reason.
277
-
278
- If the social share buttons still don't show then there's an issue with your template. Please contact the creator of your template for that.
279
-
280
- If you are referring to specific social share buttons not showing in the plugin itself (e.g. you're looking for a Whatsapp icon, but it doesnt exist) please note that our Premium Plugin has many more social media share buttons, see https://www.ultimatelysocial.com/usm-premium/
281
-
282
- = Twitter share counters are not displaying (anymore) =
283
-
284
- Unfortunately, Twitter stopped providing any social share counter. God knows why.
285
-
286
- = Changes don't get saved / Deleted plugin but sharing buttons still show =
287
-
288
- Most likely you have the WP Cache plugin installed. Please de-activate and then re-activate it.
289
-
290
- = Links don't work =
291
-
292
- Please ensure you've entered the 'http://' at the beginning of the url (for *all* social networks). If the share buttons are not clickable at all there is most likely an issue with your template. This is especially the case if you've given your social share buttons several features, which should show a pop-up (tooltip) when you move over the share buttons.
293
-
294
- = I cannot upload social custom buttons =
295
-
296
- Most likely that's because you've set 'allow_url_fopen' to 'off'. Please turn it to 'on' (or ask your server admin to do so, he'll know what to do. Tell them you need it to upload custom buttons for a social media buttons plugin which are not included yet).
297
-
298
- = My Youtube button (direct follow) doesn't work =
299
-
300
- Please ensure that you've selected the radio button 'Username' when you enter a youtube username, or 'Channel ID' when you entered a channel ID.
301
-
302
- = Aligning the social share buttons (centered, left- or right-aligned) doesn't work =
303
-
304
- The alignment options under question 5 align the sharing icons with respect to each other, not where they appear on the page. Our new Premium Plugin is the best social sharing plugin on the market, allowing you to define also many other button alignments (e.g. within a widget, within shortcode etc.).
305
-
306
- = Clicking on the RSS button returns funny codes =
307
-
308
- That's normal. RSS users will know what to do with it (i.e. copy & paste the url into their RSS readers).
309
-
310
- = Facebook 'like'-count isn't correct =
311
-
312
- When you 'like' something on your blog via facebook it likes the site you're currently on (e.g. your blog) and not your Facebook page.
313
-
314
- The new Premium Plugin also allows to show the number of your Facebook page likes, see https://www.ultimatelysocial.com/usm-premium/.
315
-
316
- = Sharing doesn't take the right text or picture =
317
-
318
- We use the codes from Facebook, Google+ etc. and therefore don't have any influence over which text & pic is used for sharing.
319
-
320
- Note that you can define an image as 'Featured Image' which tells Facebok / Google etc. to share that one. You'll find this 'Featured Image' section in your blog's admin area where you can edit your blog post.
321
-
322
- You can crosscheck which image Facebook will share by entring your url on https://developers.facebook.com/tools/debug/og/object/.
323
-
324
- = The pop-up shows although I only gave my social share button one share function =
325
-
326
- The pop-up only disappears if you've given your sharing buttons only a 'visit us'-function, otherwise (e.g. if you gave it 'Like' (on facebook) or 'Tweet' functions or sharing functions) a pop-up is still needed because the share buttons for those are coming directly from the social media sites (e.g. Facebook, Twitter) and we don't have any influence over their design.
327
-
328
- = I selected to display the social sharing buttons after every post but they don't show =
329
-
330
- The social sharing buttons usually do show, however not on your blog page, but on your single posts pages. The Premium plugin (https://www.ultimatelysocial.com/usm-premium/) also allows to display the share buttons on your homepage.
331
-
332
- = Plugin decreases my site's loading speed =
333
-
334
- The plugin is one of the most optimized social media plugin in terms of impact on a site's loading speed (optimized code, compressed pictures etc.).
335
-
336
- If you still experience loading speed issues, please note that:
337
-
338
- - The more social sharing bottons and invite features you place on your site, the more external codes you load (i.e. from the social media sites; we just use their code), therefore impacting loading speed. So to prevent this, give your sharing buttons only 'Visit us'-functionality rather than sharing functionalities.
339
-
340
- - We've programed it so that the code for the social media buttons is the one which loads lasts on your site, i.e. after all the other content has already been loaded. This means: even if there is a decrease in loading speed, it does not impact a user's experience because he sees your site as quickly as before, only the social media buttons take a bit longer to load.
341
-
342
- There might be also other issues on your site which cause a high loading speed (e.g. conflicts with our plugins or template issues). Please ask your template creator about that.
343
-
344
- Also, if you've uploaded social media sharing buttons not provided by the plugin itself (i.e. custom buttons) please ensure they are compressd as well.
345
-
346
- = After moving from demo-server to live-server the follow or subscribe link doesn't work anymore =
347
-
348
- Please delete and install the plugin again.
349
-
350
- If you already placed the code for a subscription form on your site, remove it again and take the new one from the new plugin installation.
351
-
352
- = When I try to like or share via Facebook, I get error message 'App Not Setup: This app is still...' =
353
-
354
- If you get the error message...
355
-
356
- 'App Not Setup: This app is still in development mode, and you don't have access to it. Switch to a registered test user or ask an app admin for permissions.'
357
-
358
- ...then most likely you're curently logged in with a business account on Facebook. Please logout, or switch to your personal account.
359
-
360
- = There are other issues when I activate the plugin or place the share buttons =
361
-
362
- Please check the following:
363
-
364
- The plugin requires that CURL is instaled & activated on your server (which should be the standard case). If you don't have it, please contact your hosting provider.
365
-
366
- Please ensure that you don't have any browser extension activated which may conflict with the plugin, esp. those which block certain content including the share buttons. Known culprits include the 'Disconnect' extension in Chrome or the 'Privacy Badger' extension in Firefox.
367
-
368
- If issues persist most likely your theme has issues which makes it incompatible with our plugin. Please contact your template creator for that. As part of the Premium Plugin (https://www.ultimatelysocial.com/usm-premium/) we fix also theme issues, and provide support to ensure that your social media share buttons appear on your site (exactly where you want them).
369
-
370
- = How can I see how many people share or like my posts? =
371
-
372
- You can see this by activating the sharnig 'counts' on the front end (under question 5 in the plugin). This will display the counters in little bubbles showing how often people share your posts.
373
-
374
- We cannot provide you this data in other ways as it's coming directly from the social media sites. One exception: if you like to know when people start to follow you by email, then you can get email alerts. For that, please claim your feed.
375
-
376
- = How can I change the 'Please follow & like us :)'? =
377
-
378
- You can change it in the Widget-area where you dropped the widget with the sharing buttons on the sidebar. Please click on it (on the sidebar), it will open the menu where you can change the text.
379
-
380
- If you don't want to show any text, just enter a space (' ').
381
-
382
- = How can I remove the credit-link ('Powered by Ultimatelysocial')? =
383
-
384
- Please note that we didn't place the credit link without your consent (you agreed to it when de-selecting the email button).
385
-
386
- Open the first question in the plugin ('1. Which sharing buttons do you want to show on your site?'), on the level of the email button you see a link on the right hand side. Please click it to remove the credit link.
387
-
388
- = Can I use a shortcode to place the share buttons? =
389
-
390
- Yes, it's [DISPLAY_ULTIMATE_SOCIAL_ICONS]. You can place it into any editor. If the sharing buttons still don't show, there might be an issue with your theme.
391
-
392
- Alternatively, you can place the followin into your codes: <?php echo do_shortcode('[DISPLAY_ULTIMATE_SOCIAL_ICONS]'); ?>
393
-
394
- In some cases there might be issues to display social media sharing buttons which you uploaded as custom buttons. In this case, we provide support as part of our premium plugin: https://www.ultimatelysocial.com/usm-premium/
395
-
396
- = Can I get more options for the social share buttons next to posts? =
397
-
398
- Please use this plugin for that: https://www.ultimatelysocial.com/usm-premium/. This allows you to place more share buttons (e.g. including Linkedin) as well as giving you more configuration options.
399
-
400
- = Can I also give the email button a 'mailto:' functionality? =
401
-
402
- Yes, that is possible in our new social share plugin, the Premium Plugin: https://www.ultimatelysocial.com/usm-premium/
403
-
404
- To get the email button in the same design style you picked, activate it, then on the front-end, rightclick on the button, and save it as picture. Upload that picture as custom button.
405
-
406
- = Can I also display the share buttons vertically? =
407
-
408
- Yes, that is possible in our new social sharing plugin, the Premium Plugn: https://www.ultimatelysocial.com/usm-premium/.
409
-
410
- = How can I change the text on the 'visit us'-buttons? =
411
-
412
- Use this plugin: https://www.ultimatelysocial.com/usm-premium/
413
-
414
- = Can I deactivate the social sharing buttons on mobile? =
415
-
416
- Yes, there's an option for that under question 5. In our new Premium Plugin you can define different settings of the share buttons for mobile, see https://www.ultimatelysocial.com/usm-premium/. The best way to share social media! :)
417
-
418
- = How can I use two instances of the plugin on my site? =
419
-
420
- You cannot use the same plugin twice, however you can install both the first USM plugin (https://wordpress.org/plugins/ultimate-social-media-icons/) as well as the Premiuem plugin (https://www.ultimatelysocial.com/usm-premium/). We've developed the code so that there are no conflicts and they can be used in parallel.
421
-
422
- = Where can I find icons for more social media platforms? =
423
-
424
- The premium plugin offrs many more social buttons from other social media platforms such as Snapchat, Whattsapp, Yelp, Sound cloud and many others. It's the best socialsharing plugin on the market :) Check it out at https://www.ultimatelysocial.com/usm-premium/
425
-
426
-
427
- == Screenshots ==
428
-
429
- 1. After installing the plugin, you'll see this overview. You'll be taken through the easy-to-understand steps to configure your plugin
430
-
431
- 2. As a first step you select which icons you want to display on your website
432
-
433
- 3. Then you'll define what the icons should do (they can perform several actions, e.g. lead users to your facebook page, or allow them to share your content on their facebook page)
434
-
435
- 4. In a third step you decide where the icons should be placed: a.) via Widget, b.) Floating, c.) via Shortcode and/or d.) Before or after posts
436
-
437
- 5. You can pick from a wide range of social share icon designs
438
-
439
- 6. Here you can animate your main icons (automatic shuffling, mouse-over effects etc.), to make visitors of your site aware that they can share, follow & like your site
440
-
441
- 7. You can choose to display counts next to your icons (e.g. number of Twitter-followers)
442
-
443
- 8. There are many more options to choose from
444
-
445
- 9. You can also display a pop-up (designed to your liking) which asks users to like & share your site
446
-
447
-
448
- == Changelog ==
449
- = 3.1.9 =
450
- * Update: Responsive icons options display logic corrected.
451
- * Update: Twitter and other external js inclusion logic updated.
452
- * Solved: Cancel button on banner reapplied.
453
- * Solved: Validation for section 2 options while section 1 options are checked but not saved corrected.
454
- * Update: Feedback system updated
455
-
456
- = 3.1.8 =
457
- * New Feature: Responsive icons in the plugin.
458
- * Solved: Icons not rendering on woocomerce product page.
459
- * Solved: Stop loading unused external library code for faster load.
460
- * Solved: Updated feedback system to next version.
461
-
462
- = 3.1.7 =
463
- * Update: Feedback system added
464
-
465
- = 3.1.6 =
466
- * Update: Removed google icon.
467
- * Update: Nonce error in Q6 preview language icons
468
-
469
- = 3.1.5 =
470
- * Update: Corrected typos
471
- * Update: Updated theme suggestion data
472
- * Update: Removed Curl error
473
- * Update: Fixed Facebook and Twitter icons not working on some pages
474
- * Update: Removed w3 validation errors
475
- * Update: Removed googleplus icon
476
-
477
- = 3.1.4 =
478
- * Update: Solved the Undefined Notice messages.
479
-
480
- = 3.1.3 =
481
- * Update: Google plus like removed
482
- * Update: Extra debug log removed
483
- * Update: Screencast video removed
484
- * Update: more icons included.
485
- * Update: White background from icons removed.
486
-
487
- = 3.1.2 =
488
- * Update: updated the new added icons.
489
- * Update: optimized the extraicons of premium shown to the plugin.
490
-
491
- = 3.1.1 =
492
- * Update: removed unwanted files.
493
- * Update: included skins for wechat icons.
494
- * Update: Custom skin for newly added icons.
495
- * Update: Compatablity Errors corrected.
496
-
497
- = 3.1.0 =
498
- * New Feature: New icons Implemented.
499
- * Update: Alert for checkbox conflict.
500
- * Update: Cron implemented for rss count.
501
- * Update: Custom icons not showing solved.
502
-
503
-
504
- = 3.0.9 =
505
- * Update: Woocommerce resolved conflict resulted in other conflicts - fixed.
506
-
507
- = 3.0.8 =
508
- * Update: Critical Security Patch.
509
- * Update: Resolved Conflict with woocommerce auto update.
510
-
511
- = 3.0.7 =
512
- * Update: Security Patch.
513
-
514
- = 3.0.6 =
515
- * Update: security update.
516
- * Update: save button not working.
517
-
518
- = 3.0.5 =
519
- * Update: Theme cheker dom error updated.
520
- * Update: Deprecated Google plus
521
- * Updated: css changes to make icons more symetric.
522
-
523
- = 3.0.4 =
524
- * Updated: Security patch in freemius.
525
-
526
- = 3.0.3 =
527
- * Update: solved Undefined constant notice resolved.
528
- * Update: offline chat email validation added.
529
- * Update: ROUND SHORTCODE sharing error solved.
530
- * Update: curl errors in backend solved.
531
- * Update: ajax_object conflict solved and updated sfsi_plus_ajax.
532
-
533
- = 3.0.2 =
534
- * Update: Conflict solved.
535
-
536
- = 3.0.1 =
537
- * Update: design changes in gutenberg.
538
- * Update: Dashboard chat updated.
539
- * Update: Security updates.
540
-
541
- = 3.0.0 =
542
- * Update: Updated gutenberg block to incorporate current changes. Added support for multiple controls on block inspector controls.
543
- * update: In-admin-pannel chat updated for more user friendly features.
544
-
545
- = 2.9.9 =
546
- * Duplicate IDs removed from icon's link
547
- * Facebook share counts (rectangle icons) do not show
548
- * specificfeeds.com links changed to https
549
- * Remove google like
550
- * Click on G+ in firefox opens a new window
551
-
552
- = 2.9.8 =
553
- * Update: Display counts can’t be manually updated
554
-
555
- = 2.9.7 =
556
- * New Feature: Direct chat added to the plugins settings page.
557
-
558
- = 2.9.6 =
559
- * Image not showing error fixed for banner in animation section in Question 4 added
560
-
561
- = 2.9.5 =
562
- * Lightbox removed after click on de-activation of plugin
563
- * Banner for animation section in Question 4 added
564
- * Different icon for mouseover section pointing in premium in Question 4 added
565
- * Removed theme icon banner if no match
566
-
567
- = 2.9.4 =
568
- * Optimized footer
569
-
570
- = 2.9.3 =
571
- * Fixed Gutenberg issues which arose for old PHP versions
572
- * Removed Addthis due to GDPR compliance issues
573
-
574
- = 2.9.2 =
575
- * Issue fixed that click on dismiss for banner didn't dismiss it permanently
576
- * Gutenberg implemented
577
-
578
- = 2.9.1 =
579
- * Count Error for newer PHP version fixed
580
-
581
- = 2.9.0 =
582
- * Count Error shown for newer php versions fixed.
583
-
584
- = 2.8.9 =
585
- * Language in Question 6 not saving issue fixed
586
-
587
- = 2.8.8 =
588
- * Optimized code for setting value for "adding_plustags" which caused issues on some sites
589
-
590
- = 2.8.7 =
591
- * Various instructions optimized
592
-
593
- = 2.8.5 =
594
- * Cookies don't get set anymore if selected to show pop-up when user scrolls to end of page (relevant for GDPR compliance)
595
-
596
- = 2.8.4 =
597
- * Like count issue fixed
598
- * Youtube subscribe issue fixed
599
-
600
- = 2.8.3 =
601
- * Instagram followers count issue fixed
602
- * Twitter count issue fixed
603
- * Facebook share count issue fixed
604
-
605
- = 2.8.2 =
606
- * Non-numeric value errors fixed
607
-
608
- = 2.8.0 =
609
- * Removed error log files
610
- * Follow icon sometimes showed too large - fixed
611
-
612
- = 2.7.9 =
613
- * Linkedin-counter after posts corrected
614
-
615
- = 2.7.8 =
616
- * Text changes
617
-
618
- = 2.7.7 =
619
- * New question for referring added
620
-
621
- = 2.7.6 =
622
- * Saving links for custom icons sometimes didn't work. Fixed now.
623
-
624
- = 2.7.5 =
625
- * Links updated
626
-
627
- = 2.7.4 =
628
- * Themed icons notification optimized
629
-
630
- = 2.7.3 =
631
- * Important bug fixed (which caused fatal error on sites with PHP version below 5.5. and sensitive error reporting on server)
632
-
633
- = 2.7.2 =
634
- * Banners modified
635
- * Spelling mistakes corrected
636
-
637
- = 2.7.1 =
638
- * Added more themed icons banners
639
-
640
- = 2.7.0 =
641
- * There were conflicts when both free USM plugins were installed at the same time, those are now resolved
642
-
643
- = 2.6.9 =
644
- * Notification for possibility to define sharing text and pic added
645
-
646
- = 2.6.8 =
647
- * Link to full list of premium icons added
648
-
649
- = 2.6.7 =
650
- * Info added that url shortener is available in premium plugin
651
- * Non numeric value warning fixed
652
- * Templates with no head issue fixed
653
-
654
- = 2.6.6 =
655
- * Incorrect error messages removed
656
- * Better formatting of socialshare review bar
657
-
658
- = 2.6.5 =
659
- * Updated so that also widget data gets removed when you de-install the plugin, so now everything is completely removed
660
-
661
- = 2.6.4 =
662
- * New CURL error messages to point better to the specific issue
663
- * Error message if user is using outdated PHP version
664
- * "Mandatory" removed from email and rss icons
665
- * Freemius Error (uninstall hook error) fixed
666
- * Icons not underlined anymore (was a conflict with certain themes such as twentyseventeen)
667
- * Js removed after de-activating the icons
668
- * Freemius image added
669
- * After activation of plugin you're directly taken to the plugin's settings page
670
-
671
- = 2.6.3 =
672
- * Fremius analytics implemented
673
-
674
- = 2.6.2 =
675
- * More strings made translation-ready
676
- * Better claiming of feed enabled
677
-
678
- = 2.6.1 =
679
- * Issue with Instagram button counters fixed
680
-
681
- = 2.5.9 =
682
- * Issue fixed that sometimes incorrect error-messages showed on front-end
683
- * Credit link updated
684
- * More icons added for pro-version
685
- * SpecificFeeds adjusted for paid option
686
- * De-installation will now clear database entirely
687
- * Upgrade to pro-link renamed
688
-
689
- = 2.5.7 =
690
- * New option for tailor-made icons
691
-
692
- = 2.5.6 =
693
- * Activation/de-activation links optimized
694
-
695
- = 2.5.5 =
696
- * Notifications activated
697
-
698
- = 2.5.4 =
699
- * Notifications revised
700
-
701
- = 2.5.3 =
702
- * Notification added
703
-
704
- = 2.5.1 =
705
- * Instructions for troubleshooting optimized
706
-
707
- = 2.5.0 =
708
- * Facebook icon leading to empty pages (in specific cases) fixed
709
-
710
- = 2.4.9 =
711
- * Twitter sharing text issues with forwarded slashes fixed
712
- * Links to review sites adjusted following Wordpress changes in review section
713
-
714
- = 2.4.7 =
715
- * Missing counts for email follow option fixed (when there are no subscribers yet)
716
- * Extra explanation text added
717
-
718
- = 2.4.6 =
719
- * Corner case vulnerability fixed
720
-
721
- = 2.4.5 =
722
- * Claiming box made nicer
723
-
724
- = 2.4.4 =
725
- * Updated PIN-it button to SAVE
726
- * Claiming process simplified
727
-
728
- = 2.4.3 =
729
- * jQuery issue fixed
730
- * Counts for SpecificFeeds-subscribers are back, getting updated once a day
731
- * Some mouse-over issues for custom icons, fixed now
732
-
733
- = 2.4.2 =
734
- * Cute G+ icon didn't look good on dark backgrounds, fixed now
735
- * Counts for SpecificFeeds-subscribers disabled due to high server load. We'll try to bring them back in a future plugin version.
736
-
737
- = 2.4.1 =
738
- * Size of custom icons corrected
739
- * Cute G+ icon too small before, corrected now
740
- * Better description how to get G+ API key added
741
- * Unsupported "live" function in jquery fixed
742
-
743
- = 2.3.9 =
744
- * Language issues fixed
745
- * Counter didn't disappear before/after posts if round icons were selected - fixed now
746
-
747
- = 2.3.8 =
748
- * Language folder added
749
- * Persian added as first language
750
- * For round icons before/after posts, the counts now correctly show the counts of the post page, not necessarily the page they are on
751
-
752
- = 2.3.7 =
753
- * Translation errors fixed
754
-
755
- = 2.3.6 =
756
- * Translation errors fixed
757
- * Icons sometimes on top of each other - fixed
758
- * New icon function: If user has given the icon a visit-us functionality, then it already works now when clicking on the icon (i.e. no selection in tooltip required)
759
-
760
- = 2.3.5 =
761
- * Errors appearing on front end fixed
762
-
763
- = 2.3.4 =
764
- * Plugin updated for translations
765
- * E-NOTICE error fixed
766
-
767
- = 2.3.3 =
768
- * Removed the js files from plugin and using the ones provided by WP now
769
- * POST calls optimized (sanitize, escape, validate)
770
- * Removed feedback option
771
- * Tags changed
772
-
773
- = 2.3.2 =
774
- * Feedback mechanism disabled
775
- * Tags reduced
776
-
777
- = 2.3.1 =
778
- * Added Facebook share button after/before posts
779
- * G+ design issues on black background fixed
780
-
781
- = 2.2.9 =
782
- * Crashes/content disappearing fixed
783
-
784
- = 2.2.7 =
785
- * Overkill declaration in the CSS fixed
786
- * Custom icons can now have mailto:-functionality
787
- * jQuery UI issues fixed
788
- * Rectangle G+ icon now shown as last one as it takes more space (looks better)
789
-
790
- = 2.2.6 =
791
- * jQuery issues/conflicts fixed
792
- * Script issues fixed
793
- * Count issues for icons on homepage fixed
794
- * Text added on plugin setting's page for easier understanding
795
- * Issue that dashboard sometimes doesn't load fixed
796
- * Instagram thin-icon issue fixed (misspelled, therefore didn't show)
797
- * Custom icon uploads optimized
798
-
799
- = 2.2.5 =
800
- * Facebook changed their API - please upgrade if you want Facebook sharing on mobile to work properly on your site!
801
-
802
- = 2.2.4 =
803
- * Custom icon uploads optimized
804
-
805
- = 2.2.3 =
806
- * Houzz error message fixed
807
-
808
- = 2.2.2 =
809
- * Plugin made ready for translations
810
-
811
- = 2.2.1 =
812
- * Feed claiming optimized
813
-
814
- = 2.2 =
815
- * Shortpixel link updated
816
-
817
- = 2.1 =
818
- * Feed claiming bug fixed
819
-
820
- = 2.0 =
821
- * Houzz-button integrated
822
- * New G+ button updated
823
- * Quicker claiming of feed possible
824
- * Comments to share-button added
825
- * Credit to shortpixel added
826
-
827
- = 1.9 =
828
- * New feature: Users can now decide where exactly the floating icons will display
829
- * Internal links corrected
830
- * Fixed: Targets only labels within the social icons div.
831
- * Subscriber counts fixed
832
- * Apostrophe issues fixed
833
- * Conflicts with Yoast SEO plugin resolved
834
- * PHP errors fixed
835
-
836
- = 1.8 =
837
- * Plugin also allows a subscription form now (question 8)!
838
-
839
- = 1.7 =
840
- * Count issues fixed - please upgrade!
841
- * Style constructor updated to PHP 5
842
- * Text adjustments in admin area
843
-
844
- = 1.6 =
845
- * More explanations added how to fix if counts don't work
846
- * Icon files are compressed now for faster loading - thank you ShortPixel.com!
847
- * A typo in the code threw an error message in certain cases, this is fixed now
848
-
849
- = 1.5 =
850
- * jQuery issues fixed
851
- * Vulnerability issues fixed
852
- * Twitter-button didn't get displayed in full sometimes, this is fixed now
853
- * CSS issues (occurred on some templates) fixed
854
- * Facebook updated API (so counts didn't get displayed correctly anymore), we updated the plugin accordingly
855
- * Sometimes error messages appeared on the front end, this is fixed now
856
-
857
- = 1.4 =
858
- * New follow-icons added
859
- * More "rectangle" icons added before/after posts
860
- * Widget was rendered incorrectly on some templates, fixed now
861
- * Icons didn't always line up (on some themes), fixed now
862
- * Youtube API got changed, which made the counts not displayed correctly, this is now adjusted in the plugin
863
- * Slight layout adjustments in plugin's admin area
864
-
865
-
866
- = 1.3 =
867
- * Links with "@" in the url (e.g. as in Flickr-links) now get recognized as well
868
- * Alignment issues of icons in tooltip fixed
869
- * Layout optimizations in plugin area
870
- * Users can now select to have the number of likes of their facebook page displayed as counts of the facebook icon on their blogs
871
- * Typos in admin area corrected
872
- * Users can now disable auto-scaling feature for mobile devices ("viewport" meta tag)
873
-
874
- = 1.2 =
875
- * Vulnerabilities (AJAX) fixed
876
- * OG-issues (caused in conjunction with other plugins) fixed
877
-
878
- = 1.1 =
879
- * Og-issues fixed
880
- * Conflicts with Yoast SEO plugin sorted
881
- * Alignments under posts didn't work sometimes before, fixed now
882
- * When user selected icons to shuffle pop-up didn't show up, fixed now
883
- * Short code corrected
884
- * On some templates the checkboxes in the admin area couldn't get selected, fixed now
885
- * Links now to the correct review screen
886
- * Share-box only displayed partly sometimes, fixed now
887
- * When sharing from a Facebook business page it returned errors, this should be fixed now (to be observed)
888
- * Sometimes facebook share count didn't increase despite liking it, this should be fixed now (to be observed)
889
- * Template CSS conflicts solved in the plugin
890
- * Facebook sharing text issues fixed
891
-
892
- = 1.0 =
893
- * First release
894
-
895
- == Upgrade Notice ==
896
-
897
- = 3.1.9 =
 
 
 
 
898
  * Please update
1
+ === Social Share Icons & Social Share Buttons ===
2
+ Contributors: socialsharepro
3
+ Tags: Share, sharing, share buttons, share button, share social media, share icons, social buttons, sharing buttons, sharing icons, social media icons, social share, social sharing
4
+ Requires at least: 3.0
5
+ Tested up to: 5.2
6
+ Stable tag: 3.2.0
7
+ License: GPLv2
8
+ License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
+
10
+ Social sharing plugin adding social buttons.
11
+
12
+ == Description ==
13
+
14
+ This social plugin makes placing social share icons on your site REALLY easy.
15
+
16
+ This free plugin has a lot to offer. Even more can be found in the Premium Plugin, please watch this short video:
17
+
18
+ [vimeo https://vimeo.com/269140798]
19
+
20
+ See [all features of the Premium plugin](https://www.ultimatelysocial.com/usm-premium/).
21
+
22
+ Key features of the free plugin:
23
+
24
+ - Select from a **wide range of social share platforms** (see a list of them below)
25
+ - Pick from **16 stylish design styles** for your social share buttons
26
+ - Place the social share buttons **before or after posts, floating, via widget, via shortcode, or define the location on the page** (top right, bottom left etc.)
27
+ - Give **several actions to one social share button** (e.g. your Facebook icon can lead visitors to your Facebook page, and also show a Facebook button to share your page on social media)
28
+ - Give your social share buttons an **animation** (e.g. automatic shuffling, mouse-over effects) to make your visitors aware of them, increasing the chance that they follow, like or share your site
29
+ - Add **counts** to your share buttons
30
+ - Display a **pop-up** (on all or only on selected pages) asking people to follow or share you
31
+ - Allow visitors to **subscribe to your site** and receive new posts automatically by email
32
+ - Select from **many other customization features** for your social share buttons
33
+
34
+ For GDPR compliance, please have a look at our [Social Media GDPR Compliance page](https://ultimatelysocial.com/gdpr/).
35
+
36
+ In case of issues or questions please ask in the [Support forum] (https://wordpress.org/support/plugin/ultimate-social-media-plus).
37
+
38
+
39
+ The plugin takes you through eight easy-to-answer questions so that configuring your social share icons becomes a no-brainer:
40
+
41
+ = Question 1: Which social share buttons do you want to display? =
42
+
43
+ You can select the following:
44
+
45
+ * Facebook share icon
46
+ * Twitter share icon
47
+ * Email icon
48
+ * RSS icon
49
+ * Instagram share icon
50
+ * Google plus share icon
51
+ * Youtube share icon
52
+ * Pinterest share icon
53
+ * LinkedIn share icon
54
+ * Houzz share icon
55
+ * Share icon (allows your visitors to share your site on over 200+ other social media sites; powered by addthis/sharethis)
56
+
57
+ You can also upload custom social share buttons of your choice.
58
+
59
+ The [Premium Plugin](https://www.ultimatelysocial.com/usm-premium) offers many more social share icons and buttons. The premium share button set includes a...
60
+
61
+ * Snapchat share icon
62
+ * Yummly share icon
63
+ * Whatsapp share icon (and also "send me direct message" and other functions)
64
+ * Phone icon
65
+ * Yelp share icon
66
+ * Soundcloud share icon
67
+ * Skype icon
68
+ * Flickr share icon
69
+ * Blogger share icon
70
+ * Reddit share icon
71
+ * Vimeo share icon
72
+ * Tumblr share icon
73
+ * Xing share icon
74
+ * Vkontakte icon / VK icon
75
+ * Telegram icon
76
+ * Amazon icon
77
+ * Goodreads icon
78
+ * Angies list icon
79
+ * Steam icon
80
+ * Twitch icon
81
+ * Spotify icon
82
+ * Odnoklassniki icon / OK icon (ok.ru)
83
+ * Buffer icon
84
+ * Weibo icon
85
+ * Pocket icon
86
+ * Meneame icon
87
+ * Frype icon
88
+ * LiveJournal icon
89
+ * Patreon icon
90
+ * Dloky icon
91
+ * Discord icon
92
+ * Github icon
93
+ * WordPress icon
94
+ * Etsy icon
95
+ * Better Business Bureau icon
96
+ * Digg icon
97
+ * Delicious icon
98
+ * Print icon
99
+
100
+ If there are any important social share networks not covered yet, please let us know!
101
+
102
+ = Question 2: What shall the social share buttons do? =
103
+
104
+ Under this question you define what should happen if your visitors click on the social sharing icons.
105
+
106
+ The options are plenty, for example for the *Facebook button* you can allow users to:
107
+
108
+ * **Visit** your Facebook page
109
+ * Give your page a **Facebook Like**
110
+ * **Share it** with friends (on Facebook)
111
+
112
+ For the *Twitter button* you can allow users to:
113
+ * **Visit** you on Twitter
114
+ * **Follow you** on Twitter (without leaving your page)
115
+ * **Tweet** your page to the Twitter community
116
+
117
+ For the *Youtube button* you can allow users to:
118
+ * **Visit** you on Youtube
119
+ * **Subscribe** to you on Youtube (just by pressing the Youtube button, without leaving your page)
120
+
121
+ For the *Pinterest button* you can allow users to:
122
+ * **Visit** you on Pinterest
123
+ * **Pin** your site on Pinterest
124
+
125
+ For the *LinkedIn button* you can allow users to:
126
+ * **Visit** your LinkedIn page
127
+ * **Follow you** on LinkedIn (without leaving your website)
128
+ * **Share** your page on LinkedIn
129
+ * **Recommend** your business or product on LinkedIn
130
+
131
+ For the *Google+ button* you can allow users to:
132
+
133
+ * **Visit** your Google+ page
134
+ * Give your page a **"Google+ like"**
135
+ * **Share it** with friends (on Google+)
136
+
137
+
138
+ The other social share buttons provide similar functions. If you’ve given one social share icon several functions then users will see a little popup (tooltip) where they can select what they want to do, e.g. share it on social media, or just link to your social media profile, or follow you via social media with one click etc.
139
+
140
+
141
+ = Question 3: Where shall the social sharing icons be displayed? =
142
+
143
+ Now it’s time to define where the social sharing icons should show up. You can select to show them:
144
+
145
+ * **Via widget**: In the widget are you’ll see the social media widget where you can drag & drop it onto your sidebar or footer area.
146
+ * **Float on the page**: You can define the location of the social share buttons, e.g. top right, center left etc., and the margins from the top/bottom/left/right. The social share buttons will appear as flying buttons which move as the user scrolls down.
147
+ * **Manually**: Place the social share buttons via shortcode [DISPLAY_ULTIMATE_PLUS] or insert a php string into your theme.
148
+ * **Show the social sharing icons before or after posts**: Here you can select the social sharing icons to show before or after posts. You can choose to show the social sharing icons you selected above (round/squared layout), or pick from a different (rectangle) set of social share icons. You can also define a text before the social share icons, e.g. “Please follow and share us!” and define the alignment of the social share icons (left/right/center).
149
+
150
+
151
+ *The following questions are optional only, however most likely you will want to go through them to individualize the social share icon’s appearance even more:*
152
+
153
+ = Question 4: What design & animation do you want to give your social share icons? =
154
+
155
+ Here you can define how the social sharing buttons should look like. You can select from 16 social share design options (see screenshots).
156
+
157
+ You can also give any social share icon mouse-over effects, such as “fading effects” (sharing buttons fade in/out if moved over), “scale” (sharing buttons become larger if moved over) or “combo” (combination of the previous two).
158
+
159
+ If you want to give a subtle hint to your visitors to share, like or follow your site, then you can animate your social share buttons, for example you can let them shuffle automatically (e.g. when the site first loads, or after X seconds as defined by you).
160
+
161
+
162
+ = Question 5: Do you want to display counts next to your social share icons? =
163
+
164
+ Under this question you can decide to display counts next to your social share icons. All social share icons have the option to show manual counts, however for some social share icons automatic options are available.
165
+
166
+ For example, for your Facebook share button you can show the number of times the page got liked where the share icon is on (i.e. your site), or the number of likes count of your Facebook page.
167
+
168
+ For the Googleplus share button similar options are available. For the Twitter share button you can show the number of your followers on Twitter, which gets updated dynamically.
169
+
170
+
171
+ = Question 6: Any other wishes for your main social share buttons? =
172
+
173
+ Here you get many other options to tailor the social share buttons to your needs. For example, you can:
174
+
175
+ * Define the order of your social share buttons
176
+ * Define the size of your social share buttons
177
+ * Define the space between the social share buttons
178
+ * Define the alignment of social share buttons (with respect to each other)
179
+ * Decide how many social share buttons should be displayed per row
180
+ * Pick a language for your visit us / like / follow / social share buttons
181
+ * Decide to open windows in a new window (or same window) after user clicked on the social share buttons
182
+ * Make the social share buttons stick (if placed via widget, so still visible if user scrolls down)
183
+ * Disable float social share buttons on mobile devices
184
+ * Disable auto-scaling feature of the social share buttons for mobile devices (“viewport” meta tag)
185
+ * Give your social share buttons mouse-over texts
186
+
187
+
188
+ = Question 7: Do you want to display a pop up? =
189
+
190
+ A pop-up can make it more likely that your visitors share, follow or like your site (or connect with you). Therefore you can decide to show such a popup containing your social share buttons, and define…
191
+ * *The layout of the pop up*, i.e. displayed text, font type, font style, font color, background color, border color, border thickness, and border shadow.
192
+ * *Where the pop-up shall be shown*, i.e. on ever page, on blog posts only, or on selected pages only.
193
+ * *When the pop-up shall be shown*, i.e. once every X seconds after the user arrived on the site, or every time the user scrolls to the end of the page.
194
+
195
+
196
+ = Question 8: Do you want to show a subscription form? =
197
+
198
+ In addition to an email button you can also place a subscription form on your site, making it more likely that users subscribe and follow your site. It works in a similar way as a newsletter (using RSS technology, but not linked to your RSS button).
199
+
200
+ You can define the detailed layout of the subscription form, and have various options how to place it (via widget, shortcodes, or by copy/pasting HTML code on your site).
201
+
202
+
203
+ == Premium Plugin ==
204
+
205
+ The free plugin already provides tons of options for social sharing (as outlined above). In our Premium Plugin, even more is possible. Some examples for additional features in the Premium Plugin:
206
+
207
+ * More social share buttons (the icon pack includes an Instagram button, Snapchat button, Yummly button, Print button, Whatsapp button, Yelp button, Soundcloud button, Skype button, Flickr button, Share button, Blogger button, Digg button, Reddit button, Vimeo button, Tumblr button, Xing button, vk button, Telegram button, Amazon button, Spotify button and many more badge, see list above)
208
+ * More (default) design styles for your social share icons
209
+ * Themed design styles for your social share buttons (e.g. if you have a site about cats, you can pick from cat-themed buttons etc.)
210
+ * Better sharing & following features (tailored tweet texts, allow people to follow you directly on your page etc.)
211
+ * Place the social share icons on specific pages
212
+ * Optimized for mobile sharing and buton display
213
+ * More functions for email icon to connect with you
214
+ * More lightbox / popup options (e.g. limit how often the popup is shown to the same user)
215
+ * (Friendly and fast) Support
216
+ * Many more settings & options
217
+
218
+ Note: this plugin uses the third party provider SpecificFeeds.com for the subscription feature, enabling you to allow your visitors to subscribe to your site and get new posts automatically by email. Upon installation of the plugin a feed will be set up on SpecificFeeds, transmitting your IP address. This is required for this feature to work.
219
+
220
+ See [all features of the Premium Plugin](https://www.ultimatelysocial.com/usm-premium).
221
+
222
+ In case of issues or questions please ask in the [Support forum] (https://wordpress.org/support/plugin/ultimate-social-media-plus).
223
+
224
+ == Installation ==
225
+ Extract the zip file and drop the contents into the wp-content/plugins/ directory of your WordPress installation. Then activate the plugin from the plugins page.
226
+
227
+ Then go to plugin settings page and answer the first 3 questions. That's it.
228
+
229
+ Note: This plugin requires CURL to be activated/installed on your server (which should be the standard case). If you don't have it, please contact your hosting provider.
230
+
231
+ == Frequently Asked Questions ==
232
+
233
+ = Please also check the more comprehensive FAQ on http://ultimatelysocial.com/faq =
234
+
235
+ We will try to keep this FAQ section up-to-date, but please note that the latest version of the FAQ might be only available at http://ultimatelysocial.com/faq
236
+
237
+ = I face fundamental issues (the plugin doesn't load, social share buttons don't show etc.) =
238
+
239
+ Please ensure that:
240
+
241
+ - You're using the latest version of the plugin(s)
242
+ - Your site is running on PHP 5.4 or above
243
+ - You have CURL activated (should be activated by default)
244
+
245
+ If you're not familiar with those please contact your hosting company or server admin.
246
+
247
+ Please check if you have browser extensions activated which may conflict with the social share buttons. Known culprits include:
248
+
249
+ - Open SEO Stats (Formerly: PageRank Status) in Chrome
250
+ - Adblock Plus in Chrome
251
+ - Vine in Chrome
252
+
253
+ Either de-activate those extensions or try it in a different browser.
254
+
255
+ If the plugin setting's area looks 'funny' after an upgrade then please clear your cache with String+F5 (PC) or Command+R (Mac).
256
+
257
+ If you get the error message “Are you sure you want to do this? / Please try again” when uploading the plugin: Some servers may have a low limits with respect to permitted upload times. Please set the values in the “php.ini” file to:
258
+
259
+ max_execution_time 90
260
+ post_max_size 48M
261
+
262
+ If you don’t know how to do it, please contact your server support / hosting company for that. Tell them you need it for a sharing plugin on WordPress which may take longer to upload as many socialsharing buttons are included in it (larger file size).
263
+
264
+ If your issue is still not fixed after you’ve followed the steps above, we can provide support as part of our new share to social Premium Plugin: https://www.ultimatelysocial.com/usm-premium/.
265
+
266
+ = I get error messages 'Error : 7', 'Error : 56', 'Error : 6' etc. =
267
+
268
+ Those point to a CURL-issue on your site. Please contact your server admin or your hosting company to resolve it.
269
+
270
+ The plugin requires CURL for the social share counts and other features.
271
+
272
+ = Social share buttons don't show =
273
+
274
+ Please ensure you actually placed the social share buttons either as social widget (in your widget area) or as floating icons under question 5). The Premium Plugin makes placing sharing buttons especially easy and also allows you to place sticky buttons on your site, define the placement of the share buttons by margins and many other options, see https://www.ultimatelysocial.com/usm-premium/.
275
+
276
+ If only some social share buttons show, but not all, then please clear your cache, and check if you may have conflicting browser extensions (e.g. 'Disconnect'-app in Chrome). Also Ad-Blockers are known culprits, please switch them off temporarily to see if that is the reason.
277
+
278
+ If the social share buttons still don't show then there's an issue with your template. Please contact the creator of your template for that.
279
+
280
+ If you are referring to specific social share buttons not showing in the plugin itself (e.g. you're looking for a Whatsapp icon, but it doesnt exist) please note that our Premium Plugin has many more social media share buttons, see https://www.ultimatelysocial.com/usm-premium/
281
+
282
+ = Twitter share counters are not displaying (anymore) =
283
+
284
+ Unfortunately, Twitter stopped providing any social share counter. God knows why.
285
+
286
+ = Changes don't get saved / Deleted plugin but sharing buttons still show =
287
+
288
+ Most likely you have the WP Cache plugin installed. Please de-activate and then re-activate it.
289
+
290
+ = Links don't work =
291
+
292
+ Please ensure you've entered the 'http://' at the beginning of the url (for *all* social networks). If the share buttons are not clickable at all there is most likely an issue with your template. This is especially the case if you've given your social share buttons several features, which should show a pop-up (tooltip) when you move over the share buttons.
293
+
294
+ = I cannot upload social custom buttons =
295
+
296
+ Most likely that's because you've set 'allow_url_fopen' to 'off'. Please turn it to 'on' (or ask your server admin to do so, he'll know what to do. Tell them you need it to upload custom buttons for a social media buttons plugin which are not included yet).
297
+
298
+ = My Youtube button (direct follow) doesn't work =
299
+
300
+ Please ensure that you've selected the radio button 'Username' when you enter a youtube username, or 'Channel ID' when you entered a channel ID.
301
+
302
+ = Aligning the social share buttons (centered, left- or right-aligned) doesn't work =
303
+
304
+ The alignment options under question 5 align the sharing icons with respect to each other, not where they appear on the page. Our new Premium Plugin is the best social sharing plugin on the market, allowing you to define also many other button alignments (e.g. within a widget, within shortcode etc.).
305
+
306
+ = Clicking on the RSS button returns funny codes =
307
+
308
+ That's normal. RSS users will know what to do with it (i.e. copy & paste the url into their RSS readers).
309
+
310
+ = Facebook 'like'-count isn't correct =
311
+
312
+ When you 'like' something on your blog via facebook it likes the site you're currently on (e.g. your blog) and not your Facebook page.
313
+
314
+ The new Premium Plugin also allows to show the number of your Facebook page likes, see https://www.ultimatelysocial.com/usm-premium/.
315
+
316
+ = Sharing doesn't take the right text or picture =
317
+
318
+ We use the codes from Facebook, Google+ etc. and therefore don't have any influence over which text & pic is used for sharing.
319
+
320
+ Note that you can define an image as 'Featured Image' which tells Facebok / Google etc. to share that one. You'll find this 'Featured Image' section in your blog's admin area where you can edit your blog post.
321
+
322
+ You can crosscheck which image Facebook will share by entring your url on https://developers.facebook.com/tools/debug/og/object/.
323
+
324
+ = The pop-up shows although I only gave my social share button one share function =
325
+
326
+ The pop-up only disappears if you've given your sharing buttons only a 'visit us'-function, otherwise (e.g. if you gave it 'Like' (on facebook) or 'Tweet' functions or sharing functions) a pop-up is still needed because the share buttons for those are coming directly from the social media sites (e.g. Facebook, Twitter) and we don't have any influence over their design.
327
+
328
+ = I selected to display the social sharing buttons after every post but they don't show =
329
+
330
+ The social sharing buttons usually do show, however not on your blog page, but on your single posts pages. The Premium plugin (https://www.ultimatelysocial.com/usm-premium/) also allows to display the share buttons on your homepage.
331
+
332
+ = Plugin decreases my site's loading speed =
333
+
334
+ The plugin is one of the most optimized social media plugin in terms of impact on a site's loading speed (optimized code, compressed pictures etc.).
335
+
336
+ If you still experience loading speed issues, please note that:
337
+
338
+ - The more social sharing bottons and invite features you place on your site, the more external codes you load (i.e. from the social media sites; we just use their code), therefore impacting loading speed. So to prevent this, give your sharing buttons only 'Visit us'-functionality rather than sharing functionalities.
339
+
340
+ - We've programed it so that the code for the social media buttons is the one which loads lasts on your site, i.e. after all the other content has already been loaded. This means: even if there is a decrease in loading speed, it does not impact a user's experience because he sees your site as quickly as before, only the social media buttons take a bit longer to load.
341
+
342
+ There might be also other issues on your site which cause a high loading speed (e.g. conflicts with our plugins or template issues). Please ask your template creator about that.
343
+
344
+ Also, if you've uploaded social media sharing buttons not provided by the plugin itself (i.e. custom buttons) please ensure they are compressd as well.
345
+
346
+ = After moving from demo-server to live-server the follow or subscribe link doesn't work anymore =
347
+
348
+ Please delete and install the plugin again.
349
+
350
+ If you already placed the code for a subscription form on your site, remove it again and take the new one from the new plugin installation.
351
+
352
+ = When I try to like or share via Facebook, I get error message 'App Not Setup: This app is still...' =
353
+
354
+ If you get the error message...
355
+
356
+ 'App Not Setup: This app is still in development mode, and you don't have access to it. Switch to a registered test user or ask an app admin for permissions.'
357
+
358
+ ...then most likely you're curently logged in with a business account on Facebook. Please logout, or switch to your personal account.
359
+
360
+ = There are other issues when I activate the plugin or place the share buttons =
361
+
362
+ Please check the following:
363
+
364
+ The plugin requires that CURL is instaled & activated on your server (which should be the standard case). If you don't have it, please contact your hosting provider.
365
+
366
+ Please ensure that you don't have any browser extension activated which may conflict with the plugin, esp. those which block certain content including the share buttons. Known culprits include the 'Disconnect' extension in Chrome or the 'Privacy Badger' extension in Firefox.
367
+
368
+ If issues persist most likely your theme has issues which makes it incompatible with our plugin. Please contact your template creator for that. As part of the Premium Plugin (https://www.ultimatelysocial.com/usm-premium/) we fix also theme issues, and provide support to ensure that your social media share buttons appear on your site (exactly where you want them).
369
+
370
+ = How can I see how many people share or like my posts? =
371
+
372
+ You can see this by activating the sharnig 'counts' on the front end (under question 5 in the plugin). This will display the counters in little bubbles showing how often people share your posts.
373
+
374
+ We cannot provide you this data in other ways as it's coming directly from the social media sites. One exception: if you like to know when people start to follow you by email, then you can get email alerts. For that, please claim your feed.
375
+
376
+ = How can I change the 'Please follow & like us :)'? =
377
+
378
+ You can change it in the Widget-area where you dropped the widget with the sharing buttons on the sidebar. Please click on it (on the sidebar), it will open the menu where you can change the text.
379
+
380
+ If you don't want to show any text, just enter a space (' ').
381
+
382
+ = How can I remove the credit-link ('Powered by Ultimatelysocial')? =
383
+
384
+ Please note that we didn't place the credit link without your consent (you agreed to it when de-selecting the email button).
385
+
386
+ Open the first question in the plugin ('1. Which sharing buttons do you want to show on your site?'), on the level of the email button you see a link on the right hand side. Please click it to remove the credit link.
387
+
388
+ = Can I use a shortcode to place the share buttons? =
389
+
390
+ Yes, it's [DISPLAY_ULTIMATE_SOCIAL_ICONS]. You can place it into any editor. If the sharing buttons still don't show, there might be an issue with your theme.
391
+
392
+ Alternatively, you can place the followin into your codes: <?php echo do_shortcode('[DISPLAY_ULTIMATE_SOCIAL_ICONS]'); ?>
393
+
394
+ In some cases there might be issues to display social media sharing buttons which you uploaded as custom buttons. In this case, we provide support as part of our premium plugin: https://www.ultimatelysocial.com/usm-premium/
395
+
396
+ = Can I get more options for the social share buttons next to posts? =
397
+
398
+ Please use this plugin for that: https://www.ultimatelysocial.com/usm-premium/. This allows you to place more share buttons (e.g. including Linkedin) as well as giving you more configuration options.
399
+
400
+ = Can I also give the email button a 'mailto:' functionality? =
401
+
402
+ Yes, that is possible in our new social share plugin, the Premium Plugin: https://www.ultimatelysocial.com/usm-premium/
403
+
404
+ To get the email button in the same design style you picked, activate it, then on the front-end, rightclick on the button, and save it as picture. Upload that picture as custom button.
405
+
406
+ = Can I also display the share buttons vertically? =
407
+
408
+ Yes, that is possible in our new social sharing plugin, the Premium Plugn: https://www.ultimatelysocial.com/usm-premium/.
409
+
410
+ = How can I change the text on the 'visit us'-buttons? =
411
+
412
+ Use this plugin: https://www.ultimatelysocial.com/usm-premium/
413
+
414
+ = Can I deactivate the social sharing buttons on mobile? =
415
+
416
+ Yes, there's an option for that under question 5. In our new Premium Plugin you can define different settings of the share buttons for mobile, see https://www.ultimatelysocial.com/usm-premium/. The best way to share social media! :)
417
+
418
+ = How can I use two instances of the plugin on my site? =
419
+
420
+ You cannot use the same plugin twice, however you can install both the first USM plugin (https://wordpress.org/plugins/ultimate-social-media-icons/) as well as the Premiuem plugin (https://www.ultimatelysocial.com/usm-premium/). We've developed the code so that there are no conflicts and they can be used in parallel.
421
+
422
+ = Where can I find icons for more social media platforms? =
423
+
424
+ The premium plugin offrs many more social buttons from other social media platforms such as Snapchat, Whattsapp, Yelp, Sound cloud and many others. It's the best socialsharing plugin on the market :) Check it out at https://www.ultimatelysocial.com/usm-premium/
425
+
426
+
427
+ == Screenshots ==
428
+
429
+ 1. After installing the plugin, you'll see this overview. You'll be taken through the easy-to-understand steps to configure your plugin
430
+
431
+ 2. As a first step you select which icons you want to display on your website
432
+
433
+ 3. Then you'll define what the icons should do (they can perform several actions, e.g. lead users to your facebook page, or allow them to share your content on their facebook page)
434
+
435
+ 4. In a third step you decide where the icons should be placed: a.) via Widget, b.) Floating, c.) via Shortcode and/or d.) Before or after posts
436
+
437
+ 5. You can pick from a wide range of social share icon designs
438
+
439
+ 6. Here you can animate your main icons (automatic shuffling, mouse-over effects etc.), to make visitors of your site aware that they can share, follow & like your site
440
+
441
+ 7. You can choose to display counts next to your icons (e.g. number of Twitter-followers)
442
+
443
+ 8. There are many more options to choose from
444
+
445
+ 9. You can also display a pop-up (designed to your liking) which asks users to like & share your site
446
+
447
+
448
+ == Changelog ==
449
+ = 3.2.0 =
450
+ * Update: SDK.
451
+ * Update: Grammer Errors.
452
+
453
+ = 3.1.9 =
454
+ * Update: Responsive icons options display logic corrected.
455
+ * Update: Twitter and other external js inclusion logic updated.
456
+ * Solved: Cancel button on banner reapplied.
457
+ * Solved: Validation for section 2 options while section 1 options are checked but not saved corrected.
458
+ * Update: Feedback system updated
459
+
460
+ = 3.1.8 =
461
+ * New Feature: Responsive icons in the plugin.
462
+ * Solved: Icons not rendering on woocomerce product page.
463
+ * Solved: Stop loading unused external library code for faster load.
464
+ * Solved: Updated feedback system to next version.
465
+
466
+ = 3.1.7 =
467
+ * Update: Feedback system added
468
+
469
+ = 3.1.6 =
470
+ * Update: Removed google icon.
471
+ * Update: Nonce error in Q6 preview language icons
472
+
473
+ = 3.1.5 =
474
+ * Update: Corrected typos
475
+ * Update: Updated theme suggestion data
476
+ * Update: Removed Curl error
477
+ * Update: Fixed Facebook and Twitter icons not working on some pages
478
+ * Update: Removed w3 validation errors
479
+ * Update: Removed googleplus icon
480
+
481
+ = 3.1.4 =
482
+ * Update: Solved the Undefined Notice messages.
483
+
484
+ = 3.1.3 =
485
+ * Update: Google plus like removed
486
+ * Update: Extra debug log removed
487
+ * Update: Screencast video removed
488
+ * Update: more icons included.
489
+ * Update: White background from icons removed.
490
+
491
+ = 3.1.2 =
492
+ * Update: updated the new added icons.
493
+ * Update: optimized the extraicons of premium shown to the plugin.
494
+
495
+ = 3.1.1 =
496
+ * Update: removed unwanted files.
497
+ * Update: included skins for wechat icons.
498
+ * Update: Custom skin for newly added icons.
499
+ * Update: Compatablity Errors corrected.
500
+
501
+ = 3.1.0 =
502
+ * New Feature: New icons Implemented.
503
+ * Update: Alert for checkbox conflict.
504
+ * Update: Cron implemented for rss count.
505
+ * Update: Custom icons not showing solved.
506
+
507
+
508
+ = 3.0.9 =
509
+ * Update: Woocommerce resolved conflict resulted in other conflicts - fixed.
510
+
511
+ = 3.0.8 =
512
+ * Update: Critical Security Patch.
513
+ * Update: Resolved Conflict with woocommerce auto update.
514
+
515
+ = 3.0.7 =
516
+ * Update: Security Patch.
517
+
518
+ = 3.0.6 =
519
+ * Update: security update.
520
+ * Update: save button not working.
521
+
522
+ = 3.0.5 =
523
+ * Update: Theme cheker dom error updated.
524
+ * Update: Deprecated Google plus
525
+ * Updated: css changes to make icons more symetric.
526
+
527
+ = 3.0.4 =
528
+ * Updated: Security patch in freemius.
529
+
530
+ = 3.0.3 =
531
+ * Update: solved Undefined constant notice resolved.
532
+ * Update: offline chat email validation added.
533
+ * Update: ROUND SHORTCODE sharing error solved.
534
+ * Update: curl errors in backend solved.
535
+ * Update: ajax_object conflict solved and updated sfsi_plus_ajax.
536
+
537
+ = 3.0.2 =
538
+ * Update: Conflict solved.
539
+
540
+ = 3.0.1 =
541
+ * Update: design changes in gutenberg.
542
+ * Update: Dashboard chat updated.
543
+ * Update: Security updates.
544
+
545
+ = 3.0.0 =
546
+ * Update: Updated gutenberg block to incorporate current changes. Added support for multiple controls on block inspector controls.
547
+ * update: In-admin-pannel chat updated for more user friendly features.
548
+
549
+ = 2.9.9 =
550
+ * Duplicate IDs removed from icon's link
551
+ * Facebook share counts (rectangle icons) do not show
552
+ * specificfeeds.com links changed to https
553
+ * Remove google like
554
+ * Click on G+ in firefox opens a new window
555
+
556
+ = 2.9.8 =
557
+ * Update: Display counts can’t be manually updated
558
+
559
+ = 2.9.7 =
560
+ * New Feature: Direct chat added to the plugins settings page.
561
+
562
+ = 2.9.6 =
563
+ * Image not showing error fixed for banner in animation section in Question 4 added
564
+
565
+ = 2.9.5 =
566
+ * Lightbox removed after click on de-activation of plugin
567
+ * Banner for animation section in Question 4 added
568
+ * Different icon for mouseover section pointing in premium in Question 4 added
569
+ * Removed theme icon banner if no match
570
+
571
+ = 2.9.4 =
572
+ * Optimized footer
573
+
574
+ = 2.9.3 =
575
+ * Fixed Gutenberg issues which arose for old PHP versions
576
+ * Removed Addthis due to GDPR compliance issues
577
+
578
+ = 2.9.2 =
579
+ * Issue fixed that click on dismiss for banner didn't dismiss it permanently
580
+ * Gutenberg implemented
581
+
582
+ = 2.9.1 =
583
+ * Count Error for newer PHP version fixed
584
+
585
+ = 2.9.0 =
586
+ * Count Error shown for newer php versions fixed.
587
+
588
+ = 2.8.9 =
589
+ * Language in Question 6 not saving issue fixed
590
+
591
+ = 2.8.8 =
592
+ * Optimized code for setting value for "adding_plustags" which caused issues on some sites
593
+
594
+ = 2.8.7 =
595
+ * Various instructions optimized
596
+
597
+ = 2.8.5 =
598
+ * Cookies don't get set anymore if selected to show pop-up when user scrolls to end of page (relevant for GDPR compliance)
599
+
600
+ = 2.8.4 =
601
+ * Like count issue fixed
602
+ * Youtube subscribe issue fixed
603
+
604
+ = 2.8.3 =
605
+ * Instagram followers count issue fixed
606
+ * Twitter count issue fixed
607
+ * Facebook share count issue fixed
608
+
609
+ = 2.8.2 =
610
+ * Non-numeric value errors fixed
611
+
612
+ = 2.8.0 =
613
+ * Removed error log files
614
+ * Follow icon sometimes showed too large - fixed
615
+
616
+ = 2.7.9 =
617
+ * Linkedin-counter after posts corrected
618
+
619
+ = 2.7.8 =
620
+ * Text changes
621
+
622
+ = 2.7.7 =
623
+ * New question for referring added
624
+
625
+ = 2.7.6 =
626
+ * Saving links for custom icons sometimes didn't work. Fixed now.
627
+
628
+ = 2.7.5 =
629
+ * Links updated
630
+
631
+ = 2.7.4 =
632
+ * Themed icons notification optimized
633
+
634
+ = 2.7.3 =
635
+ * Important bug fixed (which caused fatal error on sites with PHP version below 5.5. and sensitive error reporting on server)
636
+
637
+ = 2.7.2 =
638
+ * Banners modified
639
+ * Spelling mistakes corrected
640
+
641
+ = 2.7.1 =
642
+ * Added more themed icons banners
643
+
644
+ = 2.7.0 =
645
+ * There were conflicts when both free USM plugins were installed at the same time, those are now resolved
646
+
647
+ = 2.6.9 =
648
+ * Notification for possibility to define sharing text and pic added
649
+
650
+ = 2.6.8 =
651
+ * Link to full list of premium icons added
652
+
653
+ = 2.6.7 =
654
+ * Info added that url shortener is available in premium plugin
655
+ * Non numeric value warning fixed
656
+ * Templates with no head issue fixed
657
+
658
+ = 2.6.6 =
659
+ * Incorrect error messages removed
660
+ * Better formatting of socialshare review bar
661
+
662
+ = 2.6.5 =
663
+ * Updated so that also widget data gets removed when you de-install the plugin, so now everything is completely removed
664
+
665
+ = 2.6.4 =
666
+ * New CURL error messages to point better to the specific issue
667
+ * Error message if user is using outdated PHP version
668
+ * "Mandatory" removed from email and rss icons
669
+ * Freemius Error (uninstall hook error) fixed
670
+ * Icons not underlined anymore (was a conflict with certain themes such as twentyseventeen)
671
+ * Js removed after de-activating the icons
672
+ * Freemius image added
673
+ * After activation of plugin you're directly taken to the plugin's settings page
674
+
675
+ = 2.6.3 =
676
+ * Fremius analytics implemented
677
+
678
+ = 2.6.2 =
679
+ * More strings made translation-ready
680
+ * Better claiming of feed enabled
681
+
682
+ = 2.6.1 =
683
+ * Issue with Instagram button counters fixed
684
+
685
+ = 2.5.9 =
686
+ * Issue fixed that sometimes incorrect error-messages showed on front-end
687
+ * Credit link updated
688
+ * More icons added for pro-version
689
+ * SpecificFeeds adjusted for paid option
690
+ * De-installation will now clear database entirely
691
+ * Upgrade to pro-link renamed
692
+
693
+ = 2.5.7 =
694
+ * New option for tailor-made icons
695
+
696
+ = 2.5.6 =
697
+ * Activation/de-activation links optimized
698
+
699
+ = 2.5.5 =
700
+ * Notifications activated
701
+
702
+ = 2.5.4 =
703
+ * Notifications revised
704
+
705
+ = 2.5.3 =
706
+ * Notification added
707
+
708
+ = 2.5.1 =
709
+ * Instructions for troubleshooting optimized
710
+
711
+ = 2.5.0 =
712
+ * Facebook icon leading to empty pages (in specific cases) fixed
713
+
714
+ = 2.4.9 =
715
+ * Twitter sharing text issues with forwarded slashes fixed
716
+ * Links to review sites adjusted following Wordpress changes in review section
717
+
718
+ = 2.4.7 =
719
+ * Missing counts for email follow option fixed (when there are no subscribers yet)
720
+ * Extra explanation text added
721
+
722
+ = 2.4.6 =
723
+ * Corner case vulnerability fixed
724
+
725
+ = 2.4.5 =
726
+ * Claiming box made nicer
727
+
728
+ = 2.4.4 =
729
+ * Updated PIN-it button to SAVE
730
+ * Claiming process simplified
731
+
732
+ = 2.4.3 =
733
+ * jQuery issue fixed
734
+ * Counts for SpecificFeeds-subscribers are back, getting updated once a day
735
+ * Some mouse-over issues for custom icons, fixed now
736
+
737
+ = 2.4.2 =
738
+ * Cute G+ icon didn't look good on dark backgrounds, fixed now
739
+ * Counts for SpecificFeeds-subscribers disabled due to high server load. We'll try to bring them back in a future plugin version.
740
+
741
+ = 2.4.1 =
742
+ * Size of custom icons corrected
743
+ * Cute G+ icon too small before, corrected now
744
+ * Better description how to get G+ API key added
745
+ * Unsupported "live" function in jquery fixed
746
+
747
+ = 2.3.9 =
748
+ * Language issues fixed
749
+ * Counter didn't disappear before/after posts if round icons were selected - fixed now
750
+
751
+ = 2.3.8 =
752
+ * Language folder added
753
+ * Persian added as first language
754
+ * For round icons before/after posts, the counts now correctly show the counts of the post page, not necessarily the page they are on
755
+
756
+ = 2.3.7 =
757
+ * Translation errors fixed
758
+
759
+ = 2.3.6 =
760
+ * Translation errors fixed
761
+ * Icons sometimes on top of each other - fixed
762
+ * New icon function: If user has given the icon a visit-us functionality, then it already works now when clicking on the icon (i.e. no selection in tooltip required)
763
+
764
+ = 2.3.5 =
765
+ * Errors appearing on front end fixed
766
+
767
+ = 2.3.4 =
768
+ * Plugin updated for translations
769
+ * E-NOTICE error fixed
770
+
771
+ = 2.3.3 =
772
+ * Removed the js files from plugin and using the ones provided by WP now
773
+ * POST calls optimized (sanitize, escape, validate)
774
+ * Removed feedback option
775
+ * Tags changed
776
+
777
+ = 2.3.2 =
778
+ * Feedback mechanism disabled
779
+ * Tags reduced
780
+
781
+ = 2.3.1 =
782
+ * Added Facebook share button after/before posts
783
+ * G+ design issues on black background fixed
784
+
785
+ = 2.2.9 =
786
+ * Crashes/content disappearing fixed
787
+
788
+ = 2.2.7 =
789
+ * Overkill declaration in the CSS fixed
790
+ * Custom icons can now have mailto:-functionality
791
+ * jQuery UI issues fixed
792
+ * Rectangle G+ icon now shown as last one as it takes more space (looks better)
793
+
794
+ = 2.2.6 =
795
+ * jQuery issues/conflicts fixed
796
+ * Script issues fixed
797
+ * Count issues for icons on homepage fixed
798
+ * Text added on plugin setting's page for easier understanding
799
+ * Issue that dashboard sometimes doesn't load fixed
800
+ * Instagram thin-icon issue fixed (misspelled, therefore didn't show)
801
+ * Custom icon uploads optimized
802
+
803
+ = 2.2.5 =
804
+ * Facebook changed their API - please upgrade if you want Facebook sharing on mobile to work properly on your site!
805
+
806
+ = 2.2.4 =
807
+ * Custom icon uploads optimized
808
+
809
+ = 2.2.3 =
810
+ * Houzz error message fixed
811
+
812
+ = 2.2.2 =
813
+ * Plugin made ready for translations
814
+
815
+ = 2.2.1 =
816
+ * Feed claiming optimized
817
+
818
+ = 2.2 =
819
+ * Shortpixel link updated
820
+
821
+ = 2.1 =
822
+ * Feed claiming bug fixed
823
+
824
+ = 2.0 =
825
+ * Houzz-button integrated
826
+ * New G+ button updated
827
+ * Quicker claiming of feed possible
828
+ * Comments to share-button added
829
+ * Credit to shortpixel added
830
+
831
+ = 1.9 =
832
+ * New feature: Users can now decide where exactly the floating icons will display
833
+ * Internal links corrected
834
+ * Fixed: Targets only labels within the social icons div.
835
+ * Subscriber counts fixed
836
+ * Apostrophe issues fixed
837
+ * Conflicts with Yoast SEO plugin resolved
838
+ * PHP errors fixed
839
+
840
+ = 1.8 =
841
+ * Plugin also allows a subscription form now (question 8)!
842
+
843
+ = 1.7 =
844
+ * Count issues fixed - please upgrade!
845
+ * Style constructor updated to PHP 5
846
+ * Text adjustments in admin area
847
+
848
+ = 1.6 =
849
+ * More explanations added how to fix if counts don't work
850
+ * Icon files are compressed now for faster loading - thank you ShortPixel.com!
851
+ * A typo in the code threw an error message in certain cases, this is fixed now
852
+
853
+ = 1.5 =
854
+ * jQuery issues fixed
855
+ * Vulnerability issues fixed
856
+ * Twitter-button didn't get displayed in full sometimes, this is fixed now
857
+ * CSS issues (occurred on some templates) fixed
858
+ * Facebook updated API (so counts didn't get displayed correctly anymore), we updated the plugin accordingly
859
+ * Sometimes error messages appeared on the front end, this is fixed now
860
+
861
+ = 1.4 =
862
+ * New follow-icons added
863
+ * More "rectangle" icons added before/after posts
864
+ * Widget was rendered incorrectly on some templates, fixed now
865
+ * Icons didn't always line up (on some themes), fixed now
866
+ * Youtube API got changed, which made the counts not displayed correctly, this is now adjusted in the plugin
867
+ * Slight layout adjustments in plugin's admin area
868
+
869
+
870
+ = 1.3 =
871
+ * Links with "@" in the url (e.g. as in Flickr-links) now get recognized as well
872
+ * Alignment issues of icons in tooltip fixed
873
+ * Layout optimizations in plugin area
874
+ * Users can now select to have the number of likes of their facebook page displayed as counts of the facebook icon on their blogs
875
+ * Typos in admin area corrected
876
+ * Users can now disable auto-scaling feature for mobile devices ("viewport" meta tag)
877
+
878
+ = 1.2 =
879
+ * Vulnerabilities (AJAX) fixed
880
+ * OG-issues (caused in conjunction with other plugins) fixed
881
+
882
+ = 1.1 =
883
+ * Og-issues fixed
884
+ * Conflicts with Yoast SEO plugin sorted
885
+ * Alignments under posts didn't work sometimes before, fixed now
886
+ * When user selected icons to shuffle pop-up didn't show up, fixed now
887
+ * Short code corrected
888
+ * On some templates the checkboxes in the admin area couldn't get selected, fixed now
889
+ * Links now to the correct review screen
890
+ * Share-box only displayed partly sometimes, fixed now
891
+ * When sharing from a Facebook business page it returned errors, this should be fixed now (to be observed)
892
+ * Sometimes facebook share count didn't increase despite liking it, this should be fixed now (to be observed)
893
+ * Template CSS conflicts solved in the plugin
894
+ * Facebook sharing text issues fixed
895
+
896
+ = 1.0 =
897
+ * First release
898
+
899
+ == Upgrade Notice ==
900
+
901
+ = 3.2.0 =
902
  * Please update
ultimate_social_media_icons.php CHANGED
@@ -1,1372 +1,1372 @@
1
- <?php
2
- /*
3
- Plugin Name: Ultimate Social Media PLUS
4
- Plugin URI: http://socialshare.pro/
5
- Description: The best social media plugin on the market. And 100% FREE. Allows you to add social media & share icons to your blog (esp. Facebook, Twitter, Email, RSS, Pinterest, Instagram, LinkedIn, Share-button). It offers a wide range of design options and other features.
6
- Author: social share pro
7
- Text Domain: ultimate-social-media-plus
8
- Domain Path: /languages
9
- Author URI: http://socialshare.pro/
10
- Version: 3.1.9
11
- License: GPLv2
12
- */
13
-
14
- sfsi_plus_error_reporting();
15
-
16
- require_once 'analyst/main.php';
17
-
18
- analyst_init(array(
19
- 'client-id' => 'w6l8b75dy5qkv9ze',
20
- 'client-secret' => '39db55426579986bb6c79c6d94aa6ab82b67f9f5',
21
- 'base-dir' => __FILE__
22
- ));
23
-
24
- global $wpdb;
25
- /* define the Root for URL and Document */
26
-
27
-
28
- // Create a helper function for easy SDK access.
29
- function sfsi_plus_freemius()
30
- {
31
- global $usmp_fs;
32
-
33
- if (!isset($usmp_fs)) {
34
- // Include Freemius SDK.
35
- require_once dirname(__FILE__) . '/freemius/start.php';
36
-
37
- $usmp_fs = fs_dynamic_init(array(
38
- 'id' => '1046',
39
- 'slug' => 'ultimate-social-media-plus',
40
- 'type' => 'plugin',
41
- 'public_key' => 'pk_716f722d8ecd3d70a5c60177306c1',
42
- 'is_premium' => false,
43
- 'has_addons' => false,
44
- 'has_paid_plans' => false,
45
- 'menu' => array(
46
- 'slug' => 'sfsi-plus-options',
47
- 'account' => false,
48
- 'support' => false,
49
- ),
50
- ));
51
- }
52
-
53
- return $usmp_fs;
54
- }
55
-
56
- // Init Freemius.
57
- // sfsi_plus_freemius();
58
- // sfsi_plus_freemius()->add_action('after_uninstall', 'sfsi_plus_Unistall_plugin');
59
-
60
- // Signal that SDK was initiated.
61
- //do_action('usmp_fs_loaded');
62
-
63
- define('SFSI_PLUS_DOCROOT', dirname(__FILE__));
64
- // define('SFSI_PLUS_PLUGURL', plugin_dir_url(__FILE__));
65
- define('SFSI_PLUS_PLUGURL', site_url() . '/wp-content/plugins/ultimate-social-media-plus/');
66
- define('SFSI_PLUS_WEBROOT', str_replace(getcwd(), home_url(), dirname(__FILE__)));
67
- define('SFSI_PLUS_DOMAIN', 'ultimate-social-media-plus');
68
- define('SFSI_PLUS_SUPPORT_FORM', 'https://goo.gl/jySrSF');
69
-
70
- $wp_upload_dir = wp_upload_dir();
71
- define('SFSI_PLUS_UPLOAD_DIR_BASEURL', trailingslashit($wp_upload_dir['baseurl']));
72
-
73
-
74
- define('SFSI_PLUS_ALLICONS', serialize(array(
75
- "rss", "email", "facebook", "twitter", "youtube", "linkedin",
76
- "pinterest", "instagram", "houzz", "ok", "telegram", "vk", "weibo", "wechat"
77
- )));
78
-
79
- function sfsi_plus_get_current_url()
80
- {
81
- global $post, $wp;
82
-
83
- if (!empty($wp)) {
84
- return home_url(add_query_arg(array(), $wp->request));
85
- } elseif (!empty($post)) {
86
- return get_permalink($post->ID);
87
- } else {
88
- return site_url();
89
- }
90
- }
91
-
92
- /* load all files */
93
- include(SFSI_PLUS_DOCROOT . '/helpers/common_helper.php');
94
- include(SFSI_PLUS_DOCROOT . '/libs/controllers/sfsi_socialhelper.php');
95
- include(SFSI_PLUS_DOCROOT . '/libs/controllers/sfsi_class_theme_check.php');
96
- include(SFSI_PLUS_DOCROOT . '/libs/sfsi_install_uninstall.php');
97
- include(SFSI_PLUS_DOCROOT . '/libs/controllers/sfsi_buttons_controller.php');
98
- include(SFSI_PLUS_DOCROOT . '/libs/controllers/sfsi_iconsUpload_contoller.php');
99
- include(SFSI_PLUS_DOCROOT . '/libs/sfsi_Init_JqueryCss.php');
100
- include(SFSI_PLUS_DOCROOT . '/libs/controllers/sfsi_floater_icons.php');
101
- include(SFSI_PLUS_DOCROOT . '/libs/controllers/sfsiocns_OnPosts.php');
102
- include(SFSI_PLUS_DOCROOT . '/libs/sfsi_widget.php');
103
- include(SFSI_PLUS_DOCROOT . '/libs/sfsi_plus_subscribe_widget.php');
104
- include(SFSI_PLUS_DOCROOT . '/libs/sfsi_custom_social_sharing_data.php');
105
- include(SFSI_PLUS_DOCROOT . '/libs/sfsi_ajax_social_sharing_settings_updater.php');
106
- include(SFSI_PLUS_DOCROOT . '/libs/sfsi_gutenberg_block.php');
107
-
108
- /* plugin install and uninstall hooks */
109
- register_activation_hook(__FILE__, 'sfsi_plus_activate_plugin');
110
- register_deactivation_hook(__FILE__, 'sfsi_plus_deactivate_plugin');
111
- //register_uninstall_hook(__FILE__, 'sfsi_plus_Unistall_plugin');
112
-
113
- /*Plugin version setup*/
114
- if (!get_option('sfsi_plus_pluginVersion') || get_option('sfsi_plus_pluginVersion') < 3.19) {
115
- add_action("init", "sfsi_plus_update_plugin");
116
- }
117
-
118
- //************************************** Setting error reporting STARTS ****************************************//
119
-
120
- function sfsi_plus_error_reporting()
121
- {
122
-
123
- $option5 = unserialize(get_option('sfsi_plus_section5_options', false));
124
-
125
- if (
126
- isset($option5['sfsi_pplus_icons_suppress_errors'])
127
-
128
- && !empty($option5['sfsi_pplus_icons_suppress_errors'])
129
-
130
- && "yes" == $option5['sfsi_pplus_icons_suppress_errors']
131
- ) {
132
-
133
- error_reporting(0);
134
- }
135
- }
136
-
137
- //************************************** Setting error reporting CLOSES ****************************************//
138
-
139
- //shortcode for the ultimate social icons {Monad}
140
- add_shortcode("DISPLAY_ULTIMATE_PLUS", "DISPLAY_ULTIMATE_PLUS");
141
- function DISPLAY_ULTIMATE_PLUS($args = null, $content = null, $share_url = null)
142
- {
143
- if ("DISPLAY_ULTIMATE_PLUS" === $share_url) {
144
- $share_url = null;
145
- }
146
- $instance = array("showf" => 1, "title" => '');
147
- $sfsi_plus_section8_options = get_option("sfsi_plus_section8_options");
148
- $sfsi_plus_section8_options = unserialize($sfsi_plus_section8_options);
149
- $sfsi_plus_place_item_manually = $sfsi_plus_section8_options['sfsi_plus_place_item_manually'];
150
- if ($sfsi_plus_place_item_manually == "yes") {
151
- $return = '';
152
- if (!isset($before_widget)) : $before_widget = '';
153
- endif;
154
- if (!isset($after_widget)) : $after_widget = '';
155
- endif;
156
-
157
- /*Our variables from the widget settings. */
158
- $title = apply_filters('widget_title', $instance['title']);
159
- $show_info = isset($instance['show_info']) ? $instance['show_info'] : false;
160
- global $is_floter;
161
- $return .= $before_widget;
162
- /* Display the widget title */
163
- if ($title) $return .= $before_title . $title . $after_title;
164
- $return .= '<div class="sfsi_plus_widget">';
165
- $return .= '<div id="sfsi_plus_wDiv"></div>';
166
- /* Link the main icons function */
167
- $return .= sfsi_plus_check_visiblity(0, $share_url);
168
- $return .= '<div style="clear: both;"></div>';
169
- $return .= '</div>';
170
- $return .= $after_widget;
171
- return $return;
172
- } else {
173
- return __('Kindly go to setting page and check the option "Place them manually"', SFSI_PLUS_DOMAIN);
174
- }
175
- }
176
- //adding some meta tags for facebook news feed
177
- function sfsi_plus_checkmetas()
178
- {
179
- $adding_plustags = "yes";
180
-
181
- if (!function_exists('get_plugins')) {
182
- require_once ABSPATH . 'wp-admin/includes/plugin.php';
183
- }
184
-
185
- $all_plugins = get_plugins();
186
-
187
- foreach ($all_plugins as $key => $plugin) :
188
-
189
- if (is_plugin_active($key)) :
190
-
191
- if (preg_match("/(seo|search engine optimization|meta tag|open graph|opengraph|og tag|ogtag)/im", $plugin['Name']) || preg_match("/(seo|search engine optimization|meta tag|open graph|opengraph|og tag|ogtag)/im", $plugin['Description'])) {
192
- $adding_plustags = "no";
193
- break;
194
- }
195
-
196
- endif;
197
-
198
- endforeach;
199
-
200
- update_option('adding_plustags', $adding_plustags);
201
- }
202
-
203
- if (is_admin()) {
204
- // sfsi_plus_checkmetas();
205
- add_action('after_setup_theme', 'sfsi_plus_checkmetas');
206
- }
207
-
208
- add_action('wp_head', 'ultimateplusfbmetatags');
209
- function ultimateplusfbmetatags()
210
- {
211
- $metarequest = get_option("adding_plustags");
212
- $post_id = get_the_ID();
213
-
214
- $feed_id = sanitize_text_field(get_option('sfsi_plus_feed_id'));
215
- $verification_code = get_option('sfsi_plus_verificatiom_code');
216
- if (!empty($feed_id) && !empty($verification_code) && $verification_code != "no") {
217
- echo '<meta name="specificfeeds-verification-code-' . $feed_id . '" content="' . $verification_code . '"/>';
218
- }
219
-
220
- if ($metarequest == 'yes' && !empty($post_id)) {
221
- $post = get_post($post_id);
222
- $attachment_id = get_post_thumbnail_id($post_id);
223
- $title = str_replace('"', "", strip_tags(get_the_title($post_id)));
224
- $description = $post->post_content;
225
- $description = str_replace('"', "", strip_tags($description));
226
- $url = get_permalink($post_id);
227
-
228
- //checking for disabling viewport meta tag
229
- $option5 = unserialize(get_option('sfsi_plus_section5_options', false));
230
- if (isset($option5['sfsi_plus_disable_viewport'])) {
231
- $sfsi_plus_disable_viewport = $option5['sfsi_plus_disable_viewport'];
232
- } else {
233
- $sfsi_plus_disable_viewport = 'no';
234
- }
235
- if ($sfsi_plus_disable_viewport == 'no') {
236
- echo ' <meta name="viewport" content="width=device-width, initial-scale=1">';
237
- }
238
- //checking for disabling viewport meta tag
239
-
240
- if ($attachment_id) {
241
- $feat_image = wp_get_attachment_url($attachment_id);
242
- if (preg_match('/https/', $feat_image)) {
243
- echo '<meta property="og:image:secure_url" content="' . $feat_image . '" data-id="sfsi-plus"/>';
244
- } else {
245
- echo '<meta property="og:image" content="' . $feat_image . '" data-id="sfsi-plus"/>';
246
- }
247
- $metadata = wp_get_attachment_metadata($attachment_id);
248
- if (isset($metadata) && !empty($metadata)) {
249
- if (isset($metadata['sizes']['post-thumbnail'])) {
250
- $image_type = $metadata['sizes']['post-thumbnail']['mime-type'];
251
- } else {
252
- $image_type = '';
253
- }
254
- if (isset($metadata['width'])) {
255
- $width = $metadata['width'];
256
- } else {
257
- $width = '';
258
- }
259
- if (isset($metadata['height'])) {
260
- $height = $metadata['height'];
261
- } else {
262
- $height = '';
263
- }
264
- } else {
265
- $image_type = '';
266
- $width = '';
267
- $height = '';
268
- }
269
- echo '<meta property="og:image:type" content="' . $image_type . '" data-id="sfsi-plus"/>';
270
- echo '<meta property="og:image:width" content="' . $width . '" data-id="sfsi-plus"/>';
271
- echo '<meta property="og:image:height" content="' . $height . '" data-id="sfsi-plus"/>';
272
- echo '<meta property="og:description" content="' . $description . '" data-id="sfsi-plus"/>';
273
- echo '<meta property="og:url" content="' . $url . '" data-id="sfsi-plus"/>';
274
- echo '<meta property="og:title" content="' . $title . '" data-id="sfsi-plus"/>';
275
- }
276
- }
277
- }
278
-
279
- //Get verification code
280
- if (is_admin()) {
281
- $code = sanitize_text_field(get_option('sfsi_plus_verificatiom_code'));
282
- $feed_id = sanitize_text_field(get_option('sfsi_plus_feed_id'));
283
- if (empty($code) && !empty($feed_id)) {
284
- add_action("init", "sfsi_plus_getverification_code");
285
- }
286
- }
287
- function sfsi_plus_getverification_code()
288
- {
289
- $feed_id = sanitize_text_field(get_option('sfsi_plus_feed_id'));
290
- $url = $http_url = 'https://www.specificfeeds.com/wordpress/getVerifiedCode_plugin';
291
-
292
- $args = array(
293
- 'timeout' => 15,
294
- 'body' => array(
295
- 'feed_id' => $feed_id
296
- )
297
- );
298
-
299
- $request = wp_remote_post($url, $args);
300
-
301
- if (is_wp_error($request)) {
302
- // var_dump($request);
303
- // update_option("sfsi_plus_curlErrorNotices", "yes");
304
- // update_option("sfsi_plus_curlErrorMessage", $request->get_error_message());
305
- } else {
306
- $resp = json_decode($request['body']);
307
- update_option('sfsi_plus_verificatiom_code', $resp->code);
308
- }
309
- }
310
-
311
- //functionality for before and after single posts
312
- add_filter('the_content', 'sfsi_plus_beforaftereposts');
313
- function sfsi_plus_beforaftereposts($content)
314
- {
315
- $org_content = $content;
316
- $icons_before = '';
317
- $icons_after = '';
318
- if (is_single()) {
319
- $option8 = unserialize(get_option('sfsi_plus_section8_options', false));
320
- // var_dump($option8);die();
321
- $lineheight = $option8['sfsi_plus_post_icons_size'];
322
- $lineheight = sfsi_plus_getlinhght($lineheight);
323
- $sfsi_plus_display_button_type = $option8['sfsi_plus_display_button_type'];
324
- $txt = (isset($option8['sfsi_plus_textBefor_icons'])) ? $option8['sfsi_plus_textBefor_icons'] : "Please follow and like us:";
325
- $float = $option8['sfsi_plus_icons_alignment'];
326
- if ($float == "center") {
327
- $style_parent = 'text-align: center;';
328
- $style = 'float:none; display: inline-block;';
329
- } else {
330
- $style_parent = '';
331
- $style = 'float:' . $float;
332
- }
333
- if ($option8['sfsi_plus_display_before_posts'] == "yes" && $option8['sfsi_plus_show_item_onposts'] == "yes") {
334
- $icons_before .= '<div class="sfsibeforpstwpr" style="' . $style_parent . '">';
335
- if ($sfsi_plus_display_button_type == 'standard_buttons') {
336
- $icons_before .= sfsi_plus_social_buttons_below($content = null);
337
- }else if($option8['sfsi_plus_display_button_type'] == 'responsive_button'){
338
- // if (isset($option8['sfsi_plus_responsive_icons_end_post']) && $option8['sfsi_plus_responsive_icons_end_post'] == "yes") {
339
- // $icons_before .= sfsi_plus_social_responsive_buttons(null, $option8);
340
- // }
341
- $icons_before .= "";
342
- } else {
343
- $icons_before .= "<div class='sfsi_plus_Sicons' style='" . $style . "'>";
344
- $icons_before .= "<div style='float:left;margin:0 0px; line-height:" . $lineheight . "px'><span>" . $txt . "</span></div>";
345
- $icons_before .= sfsi_plus_check_posts_visiblity(0, "yes");
346
- $icons_before .= "</div>";
347
- }
348
- $icons_before .= '</div>';
349
- /*$icons_before .= '</br>';*/
350
- }
351
- if ($option8['sfsi_plus_show_item_onposts'] == "yes") {
352
- /*$icons_after .= '</br>';*/
353
- $icons_after .= '<div class="sfsiaftrpstwpr" style="' . $style_parent . '">';
354
- if($option8['sfsi_plus_display_after_posts'] == "yes"){
355
- if ($sfsi_plus_display_button_type == 'standard_buttons') {
356
- $icons_after .= sfsi_plus_social_buttons_below($content = null);
357
- }else if($option8['sfsi_plus_display_button_type'] == 'responsive_button'){
358
- if (isset($option8['sfsi_plus_responsive_icons_end_post']) && $option8['sfsi_plus_responsive_icons_end_post'] == "yes") {
359
- $icons_after .= sfsi_plus_social_responsive_buttons(null, $option8);
360
- }
361
- } else {
362
- $icons_after .= "<div class='sfsi_plus_Sicons' style='" . $style . "'>";
363
- $icons_after .= "<div style='float:left;margin:0 0px; line-height:" . $lineheight . "px'><span>" . $txt . "</span></div>";
364
- $icons_after .= sfsi_plus_check_posts_visiblity(0, "yes");
365
- $icons_after .= "</div>";
366
- }
367
- }else{
368
- if(isset($option8['sfsi_plus_display_button_type']) && $option8['sfsi_plus_display_button_type'] == 'responsive_button'){
369
- if (isset($option8['sfsi_plus_responsive_icons_end_post']) && $option8['sfsi_plus_responsive_icons_end_post'] == "yes") {
370
- $icons_after .= sfsi_plus_social_responsive_buttons(null, $option8);
371
- }
372
- }
373
- }
374
-
375
- $icons_after .= '</div>';
376
- }
377
- }
378
- $content = $icons_before . $org_content . $icons_after;
379
- return $content;
380
- }
381
-
382
- //showing before and after blog posts
383
- add_filter('the_excerpt', 'sfsi_plus_beforeafterblogposts');
384
- add_filter('the_content', 'sfsi_plus_beforeafterblogposts');
385
- function sfsi_plus_beforeafterblogposts($content)
386
- {
387
- if (is_home()) {
388
- $icons_before = '';
389
- $icons_after = '';
390
- $sfsi_section8 = unserialize(get_option('sfsi_plus_section8_options', false));
391
- $lineheight = $sfsi_section8['sfsi_plus_post_icons_size'];
392
- $lineheight = sfsi_plus_getlinhght($lineheight);
393
-
394
- global $id, $post;
395
- $sfsi_plus_display_button_type = $sfsi_section8['sfsi_plus_display_button_type'];
396
- $sfsi_plus_show_item_onposts = $sfsi_section8['sfsi_plus_show_item_onposts'];
397
- $permalink = get_permalink($post->ID);
398
- $post_title = $post->post_title;
399
- $sfsiLikeWith = "45px;";
400
- if ($sfsi_section8['sfsi_plus_icons_DisplayCounts'] == "yes") {
401
- $show_count = 1;
402
- $sfsiLikeWith = "75px;";
403
- } else {
404
- $show_count = 0;
405
- }
406
-
407
- //checking for standard icons
408
- if (!isset($sfsi_section8['sfsi_plus_rectsub'])) {
409
- $sfsi_section8['sfsi_plus_rectsub'] = 'no';
410
- }
411
- if (!isset($sfsi_section8['sfsi_plus_recttwtr'])) {
412
- $sfsi_section8['sfsi_plus_recttwtr'] = 'no';
413
- }
414
- if (!isset($sfsi_section8['sfsi_plus_rectpinit'])) {
415
- $sfsi_section8['sfsi_plus_rectpinit'] = 'no';
416
- }
417
- if (!isset($sfsi_section8['sfsi_plus_rectfbshare'])) {
418
- $sfsi_section8['sfsi_plus_rectfbshare'] = 'no';
419
- }
420
-
421
- //checking for standard icons
422
- $txt = (isset($sfsi_section8['sfsi_plus_textBefor_icons'])) ? $sfsi_section8['sfsi_plus_textBefor_icons'] : "Please follow and like us:";
423
- $float = $sfsi_section8['sfsi_plus_icons_alignment'];
424
- if ($float == "center") {
425
- $style_parent = 'text-align: center;';
426
- $style = 'float:none; display: inline-block;';
427
- } else {
428
- $style_parent = '';
429
- $style = 'float:' . $float;
430
- }
431
-
432
- if (
433
- $sfsi_section8['sfsi_plus_display_before_blogposts'] == "yes" &&
434
- $sfsi_section8['sfsi_plus_show_item_onposts'] == "yes"
435
- ) {
436
- //icon selection
437
- $icons_before .= "<div class='sfsibeforpstwpr' style='" . $style_parent . "'>";
438
- $icons_before .= "<div class='sfsi_plus_Sicons " . $float . "' style='" . $style . "'>";
439
- if ($sfsi_plus_display_button_type == 'standard_buttons') {
440
- if (
441
- $sfsi_section8['sfsi_plus_rectsub'] == 'yes' ||
442
- $sfsi_section8['sfsi_plus_rectfb'] == 'yes' ||
443
- $sfsi_section8['sfsi_plus_recttwtr'] == 'yes' ||
444
- $sfsi_section8['sfsi_plus_rectpinit'] == 'yes' ||
445
- $sfsi_section8['sfsi_plus_rectfbshare'] == 'yes'
446
- ) {
447
- $icons_before .= "<div style='display: inline-block;margin-bottom: 0; margin-left: 0; margin-right: 8px; margin-top: 0; vertical-align: middle;width: auto;'><span>" . $txt . "</span></div>";
448
- }
449
- if ($sfsi_section8['sfsi_plus_rectsub'] == 'yes') {
450
- if ($show_count) {
451
- $sfsiLikeWithsub = "93px";
452
- } else {
453
- $sfsiLikeWithsub = "64px";
454
- }
455
- if (!isset($sfsiLikeWithsub)) {
456
- $sfsiLikeWithsub = $sfsiLikeWith;
457
- }
458
- $icons_before .= "<div class='sf_subscrbe' style='display: inline-block;vertical-align: middle;width: auto;'>" . sfsi_plus_Subscribelike($permalink, $show_count) . "</div>";
459
- }
460
- if ($sfsi_section8['sfsi_plus_rectfb'] == 'yes' || $sfsi_section8['sfsi_plus_rectfbshare'] == 'yes') {
461
- if ($show_count) { } else {
462
- $sfsiLikeWithfb = "48px";
463
- }
464
- if (!isset($sfsiLikeWithfb)) {
465
- $sfsiLikeWithfb = $sfsiLikeWith;
466
- }
467
- $icons_before .= "<div class='sf_fb' style='display: inline-block; vertical-align: middle;width: auto;'>" . sfsi_plus_FBlike($permalink, $show_count) . "</div>";
468
- }
469
- if ($sfsi_section8['sfsi_plus_rectfbshare'] == 'yes') {
470
- if ($show_count) { } else {
471
- $sfsiLikeWithfbshare = "48px";
472
- }
473
- if (!isset($sfsiLikeWithfbshare)) {
474
- $sfsiLikeWithfbshare = $sfsiLikeWith;
475
- }
476
- $icons_before .= "<div class='sf_fb' style='display: inline-block; vertical-align: middle;width: auto;'>" . sfsi_plus_FBshare($permalink, $show_count) . "</div>";
477
- }
478
- if ($sfsi_section8['sfsi_plus_recttwtr'] == 'yes') {
479
- if ($show_count) {
480
- $sfsiLikeWithtwtr = "77px";
481
- } else {
482
- $sfsiLikeWithtwtr = "56px";
483
- }
484
- if (!isset($sfsiLikeWithtwtr)) {
485
- $sfsiLikeWithtwtr = $sfsiLikeWith;
486
- }
487
- $icons_before .= "<div class='sf_twiter' style='display: inline-block;vertical-align: middle;width: auto;'>" . sfsi_plus_twitterlike($permalink, $show_count) . "</div>";
488
- }
489
- if ($sfsi_section8['sfsi_plus_rectpinit'] == 'yes') {
490
- if ($show_count) {
491
- $sfsiLikeWithpinit = "100px";
492
- } else {
493
- $sfsiLikeWithpinit = "auto";
494
- }
495
- $icons_before .= "<div class='sf_pinit' style='display: inline-block;vertical-align: middle;text-align:left;width: " . $sfsiLikeWithpinit . "'>" . sfsi_plus_pinitpinterest($permalink, $show_count) . "</div>";
496
- }
497
- }else if($sfsi_section8['sfsi_plus_display_button_type'] == 'responsive_button'){
498
- // if (isset($sfsi_section8['sfsi_plus_responsive_icons_end_post']) && $sfsi_section8['sfsi_plus_responsive_icons_end_post'] == "yes") {
499
- // $icons_before .= sfsi_plus_social_responsive_buttons(null, $sfsi_section8);
500
- // }
501
- $icons_before .="";
502
- } else {
503
- $icons_before .= "<div style='float:left;margin:0 0px; line-height:" . $lineheight . "px'><span>" . $txt . "</span></div>";
504
- $icons_before .= sfsi_plus_check_posts_visiblity(0, "yes");
505
- }
506
- $icons_before .= "</div>";
507
- $icons_before .= "</div>";
508
- //icon selection
509
- if ($id && $post && $post->post_type == 'post') {
510
- $content = $icons_before . $content;
511
- } else {
512
- $contnet = $content;
513
- }
514
- }
515
- if ($sfsi_section8['sfsi_plus_show_item_onposts'] == "yes") {
516
- //icon selection
517
- $icons_after .= "<div class='sfsiaftrpstwpr' style='" . $style_parent . "'>";
518
- $icons_after .= "<div class='sfsi_plus_Sicons " . $float . "' style='" . $style . "'>";
519
- if($sfsi_section8['sfsi_plus_display_after_blogposts'] == "yes"){
520
- if ($sfsi_plus_display_button_type == 'standard_buttons') {
521
- if (
522
- $sfsi_section8['sfsi_plus_rectsub'] == 'yes' ||
523
- $sfsi_section8['sfsi_plus_rectfb'] == 'yes' ||
524
- $sfsi_section8['sfsi_plus_recttwtr'] == 'yes' ||
525
- $sfsi_section8['sfsi_plus_rectpinit'] == 'yes' ||
526
- $sfsi_section8['sfsi_plus_rectfbshare'] == 'yes'
527
- ) {
528
- $icons_after .= "<div style='display: inline-block;margin-bottom: 0; margin-left: 0; margin-right: 8px; margin-top: 0; vertical-align: middle;width: auto;'><span>" . $txt . "</span></div>";
529
- }
530
- if ($sfsi_section8['sfsi_plus_rectsub'] == 'yes') {
531
- if ($show_count) {
532
- $sfsiLikeWithsub = "93px";
533
- } else {
534
- $sfsiLikeWithsub = "64px";
535
- }
536
- if (!isset($sfsiLikeWithsub)) {
537
- $sfsiLikeWithsub = $sfsiLikeWith;
538
- }
539
- $icons_after .= "<div class='sf_subscrbe' style='display: inline-block;vertical-align: middle; width: auto;'>" . sfsi_plus_Subscribelike($permalink, $show_count) . "</div>";
540
- }
541
- if ($sfsi_section8['sfsi_plus_rectfb'] == 'yes' || $sfsi_section8['sfsi_plus_rectfbshare'] == 'yes') {
542
- if ($show_count) { } else {
543
- $sfsiLikeWithfb = "48px";
544
- }
545
- if (!isset($sfsiLikeWithfb)) {
546
- $sfsiLikeWithfb = $sfsiLikeWith;
547
- }
548
- $icons_after .= "<div class='sf_fb' style='display: inline-block; vertical-align: middle;width: auto;'>" . sfsi_plus_FBlike($permalink, $show_count) . "</div>";
549
- }
550
- if ($sfsi_section8['sfsi_plus_rectfbshare'] == 'yes') {
551
- if ($show_count) { } else {
552
- $sfsiLikeWithfbshare = "48px";
553
- }
554
- if (!isset($sfsiLikeWithfbshare)) {
555
- $sfsiLikeWithfbshare = $sfsiLikeWith;
556
- }
557
- $icons_after .= "<div class='sf_fb' style='display: inline-block; vertical-align: middle;width: auto;'>" . sfsi_plus_FBshare($permalink, $show_count) . "</div>";
558
- }
559
- if ($sfsi_section8['sfsi_plus_recttwtr'] == 'yes') {
560
- if ($show_count) {
561
- $sfsiLikeWithtwtr = "77px";
562
- } else {
563
- $sfsiLikeWithtwtr = "56px";
564
- }
565
- if (!isset($sfsiLikeWithtwtr)) {
566
- $sfsiLikeWithtwtr = $sfsiLikeWith;
567
- }
568
- $icons_after .= "<div class='sf_twiter' style='display: inline-block;vertical-align: middle;width: auto;'>" . sfsi_plus_twitterlike($permalink, $show_count) . "</div>";
569
- }
570
- if ($sfsi_section8['sfsi_plus_rectpinit'] == 'yes') {
571
- if ($show_count) {
572
- $sfsiLikeWithpinit = "100px";
573
- } else {
574
- $sfsiLikeWithpinit = "auto";
575
- }
576
- $icons_after .= "<div class='sf_pinit' style='display: inline-block;text-align:left;vertical-align: middle;width: " . $sfsiLikeWithpinit . "'>" . sfsi_plus_pinitpinterest($permalink, $show_count) . "</div>";
577
- }
578
- }else if($sfsi_section8['sfsi_plus_display_button_type'] == 'responsive_button'){
579
- // if (isset($sfsi_section8['sfsi_plus_responsive_icons_end_post']) && $sfsi_section8['sfsi_plus_responsive_icons_end_post'] == "yes") {
580
- // $icons_after .= sfsi_plus_social_responsive_buttons(null, $sfsi_section8);
581
- // }
582
- $icons_after .= "";
583
- } else {
584
- $icons_after .= "<div style='float:left;margin:0 0px; line-height:" . $lineheight . "px'><span>" . $txt . "</span></div>";
585
- $icons_after .= sfsi_plus_check_posts_visiblity(0, "yes");
586
- }
587
- }else{
588
- if(isset($sfsi_section8['sfsi_plus_display_button_type']) && $sfsi_section8['sfsi_plus_display_button_type'] == 'responsive_button'){
589
- if (isset($sfsi_section8['sfsi_plus_responsive_icons_end_post']) && $sfsi_section8['sfsi_plus_responsive_icons_end_post'] == "yes") {
590
- $icons_after .= sfsi_plus_social_responsive_buttons(null, $sfsi_section8);
591
- }
592
- }
593
- }
594
- $icons_after .= "</div>";
595
- $icons_after .= "</div>";
596
- //icon selection
597
- $content = $content . $icons_after;
598
- }
599
- }
600
- return $content;
601
- }
602
-
603
- //getting line height for the icons
604
- function sfsi_plus_getlinhght($lineheight)
605
- {
606
- if ($lineheight < 16) {
607
- $lineheight = $lineheight * 2;
608
- return $lineheight;
609
- } elseif ($lineheight >= 16 && $lineheight < 20) {
610
- $lineheight = $lineheight + 10;
611
- return $lineheight;
612
- } elseif ($lineheight >= 20 && $lineheight < 28) {
613
- $lineheight = $lineheight + 3;
614
- return $lineheight;
615
- } elseif ($lineheight >= 28 && $lineheight < 40) {
616
- $lineheight = $lineheight + 4;
617
- return $lineheight;
618
- } elseif ($lineheight >= 40 && $lineheight < 50) {
619
- $lineheight = $lineheight + 5;
620
- return $lineheight;
621
- }
622
- $lineheight = $lineheight + 6;
623
- return $lineheight;
624
- }
625
-
626
- //sanitizing values
627
- function sfsi_plus_string_sanitize($s)
628
- {
629
- $result = preg_replace("/[^a-zA-Z0-9]+/", " ", html_entity_decode($s, ENT_QUOTES));
630
- return $result;
631
- }
632
-
633
- add_action('admin_notices', 'sfsi_plus_admin_notice', 10);
634
- function sfsi_plus_admin_notice()
635
- {
636
- if (isset($_GET['page']) && $_GET['page'] == "sfsi-plus-options") {
637
- $style = "overflow: hidden; margin:12px 3px 0px;";
638
- } else {
639
- $style = "overflow: hidden;";
640
- }
641
- ?>
642
- <?php
643
-
644
- if (get_option("sfsi_plus_show_premium_notification") == "yes") {
645
- ?>
646
- <style>
647
- .sfsi_plus_show_prem_notification a {
648
- color: #fff;
649
- text-decoration: underline;
650
- }
651
-
652
- form.sfsi_plus_premiumNoticeDismiss {
653
- display: inline-block;
654
- margin: 5px 0 0;
655
- vertical-align: middle;
656
- }
657
-
658
- .sfsi_plus_premiumNoticeDismiss input[type='submit'] {
659
- background-color: transparent;
660
- border: medium none;
661
- color: #fff;
662
- margin: 0;
663
- padding: 0;
664
- cursor: pointer;
665
- }
666
- </style>
667
- <div class="updated sfsi_plus_show_prem_notification" style="<?php echo $style; ?>background-color: #38B54A; color: #fff; font-size: 18px;">
668
- <div class="alignleft" style="margin: 9px 0;">
669
- <?php _e('BIG NEWS : There is now a Premium Ultimate Social Media Plugin available with many more cool features: ', SFSI_PLUS_DOMAIN); ?><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=notification_banner&utm_medium=banner" target="_blank"><?php _e('Check it out', SFSI_PLUS_DOMAIN); ?></a>
670
- </div>
671
- <div class="alignright">
672
- <form method="post" class="sfsi_plus_premiumNoticeDismiss">
673
- <input type="hidden" name="sfsi-plus_dismiss-premiumNotice" value="true">
674
- <input type="submit" name="dismiss" value="Dismiss" />
675
- </form>
676
- </div>
677
- </div>
678
- <?php
679
- }
680
-
681
-
682
- if (is_ssl()) {
683
-
684
- // Check if banner is displayed by free plugin
685
- $isshowingFreePluginBanner = false;
686
-
687
- if (!get_option("show_premium_cumulative_count_notification") && get_option("show_premium_cumulative_count_notification") == "yes") {
688
- $isshowingFreePluginBanner = true;
689
- }
690
-
691
-
692
- if (get_option("sfsi_plus_show_premium_cumulative_count_notification") == "yes" && !$isshowingFreePluginBanner) {
693
- ?>
694
- <style>
695
- .sfsi_plus_show_premium_cumulative_count_notification a {
696
- color: #fff;
697
- text-decoration: underline;
698
- cursor: pointer;
699
- }
700
-
701
- form.sfsi_plus_premiumNoticeCumulativeCountDismiss {
702
- display: inline-block;
703
- margin: 5px 0 0;
704
- vertical-align: middle;
705
- }
706
-
707
- .sfsi_plus_premiumNoticeCumulativeCountDismiss input[type='submit'] {
708
- background-color: transparent;
709
- border: medium none;
710
- color: #fff;
711
- margin: 0;
712
- padding: 0;
713
- cursor: pointer;
714
- }
715
- </style>
716
- <div class="updated sfsi_plus_show_premium_cumulative_count_notification" style="<?php echo $style; ?>background-color: #38B54A; color: #fff; font-size: 18px;">
717
- <div class="alignleft" style="margin: 9px 0;">
718
- <b><?php _e('Recently switched to https?', SFSI_PLUS_DOMAIN); ?></b> <?php _e('If you don’t want to lose the Facebook share &amp; like counts', SFSI_PLUS_DOMAIN); ?> <a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=https_share_counts&utm_medium=banner" target="_blank"><?php _e('have a look at our Premium Plugin', SFSI_PLUS_DOMAIN); ?></a><?php _e(', we found a fix for that:', SFSI_PLUS_DOMAIN); ?> <a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=https_share_counts&utm_medium=banner" target="_blank"><?php _e('Check it out', SFSI_PLUS_DOMAIN); ?></a>
719
- </div>
720
- <div class="alignright">
721
- <form method="post" class="sfsi_plus_premiumNoticeCumulativeCountDismiss">
722
- <input type="hidden" name="sfsi-plus_dismiss-premiumCumulativeCountNotice" value="true">
723
- <input type="submit" name="dismiss" value="Dismiss" />
724
- </form>
725
- </div>
726
- </div>
727
- <?php
728
- }
729
- }
730
-
731
- if (get_option("sfsi_plus_show_Setting_mobile_notification") == "yes") {
732
- $sfsi_plus_install_date = strtotime(get_option('sfsi_plus_installDate'));
733
- $sfsi_plus_future_date = strtotime('14 days', $sfsi_plus_install_date);
734
- $sfsi_plus_past_date = strtotime("now");
735
- if ($sfsi_plus_past_date >= $sfsi_plus_future_date) {
736
- ?>
737
- <style>
738
- .sfsi_plus_show_mobile_setting_notification a {
739
- color: #fff;
740
- text-decoration: underline;
741
- }
742
-
743
- form.sfsi_plus_mobileNoticeDismiss {
744
- display: inline-block;
745
- margin: 5px 0 0;
746
- vertical-align: middle;
747
- }
748
-
749
- .sfsi_plus_mobileNoticeDismiss input[type='submit'] {
750
- background-color: transparent;
751
- border: medium none;
752
- color: #fff;
753
- margin: 0;
754
- padding: 0;
755
- cursor: pointer;
756
- }
757
- </style>
758
-
759
- <!-- <div class="updated sfsi_plus_show_mobile_setting_notification" style="<?php //echo $style;
760
- ?>background-color: #38B54A; color: #fff; font-size: 18px;">
761
- <div class="alignleft" style="margin: 9px 0; width: 95%; line-height: 25px;">
762
- <b><?php //_e( 'Over 50% of visitors are mobile visitors:', SFSI_PLUS_DOMAIN);
763
- ?></b>
764
- <?php //_e( ' Make sure your social media icons look good on mobile too, so that people like & share your site. With the premium plugin you can define the location of the icons separately on mobile: ', SFSI_PLUS_DOMAIN);
765
- ?><a href="https://www.ultimatelysocial.com/usmpremium/?utm_expid=92383224-1.TfahStjhTrSpmi_nxkXt1w.1&utm_source=usmplus_settings_page&utm_campaign=check_mobile&utm_medium=banner" target="_blank"><?php //_e( 'Check it out', SFSI_PLUS_DOMAIN);
766
- ?></a>
767
- </div>
768
- <div class="alignright">
769
- <form method="post" class="sfsi_plus_mobileNoticeDismiss">
770
- <input type="hidden" name="sfsi-plus_dismiss-settingmobileNotice" value="true">
771
- <input type="submit" name="dismiss" value="Dismiss" />
772
- </form>
773
- </div>
774
- </div> -->
775
- <?php
776
- }
777
- }
778
-
779
- $phpVersion = phpVersion();
780
- if ($phpVersion <= '5.4') {
781
- if (get_option("sfsi_plus_serverphpVersionnotification") == "yes") {
782
-
783
- ?>
784
- <style>
785
- .sfsi_plus_show_phperror_notification {
786
- color: #fff;
787
- text-decoration: underline;
788
- }
789
-
790
- form.sfsi_plus_phperrorNoticeDismiss {
791
- display: inline-block;
792
- margin: 5px 0 0;
793
- vertical-align: middle;
794
- }
795
-
796
- .sfsi_plus_phperrorNoticeDismiss input[type='submit'] {
797
- background-color: transparent;
798
- border: medium none;
799
- color: #fff;
800
- margin: 0;
801
- padding: 0;
802
- cursor: pointer;
803
- }
804
-
805
- .sfsi_plus_show_phperror_notification p {
806
- line-height: 22px;
807
- }
808
-
809
- p.sfsi_plus_show_notifictaionpragraph {
810
- padding: 0 !important;
811
- font-size: 18px;
812
- }
813
- </style>
814
- <div class="updated sfsi_plus_show_phperror_notification" style="<?php echo $style; ?>background-color: #D22B2F; color: #fff; font-size: 18px; border-left-color: #D22B2F;">
815
- <div class="alignleft" style="margin: 9px 0;">
816
- <p class="sfsi_plus_show_notifictaionpragraph">
817
- <?php _e('We noticed you are running your site on a PHP version older than 5.6. Please upgrade to a more recent version. This is not only important for running the Ultimate Social Media Plugin, but also for security reasons in general.', SFSI_PLUS_DOMAIN); ?>
818
- <br>
819
- <?php _e('If you do not know how to do the upgrade, please ask your server team or hosting company to do it for you.', SFSI_PLUS_DOMAIN); ?>
820
- </p>
821
-
822
- </div>
823
- <div class="alignright">
824
- <form method="post" class="sfsi_plus_phperrorNoticeDismiss">
825
- <input type="hidden" name="sfsi-plus_dismiss-phperrorNotice" value="true">
826
- <input type="submit" name="dismiss" value="Dismiss" />
827
- </form>
828
- </div>
829
- </div>
830
-
831
- <?php
832
- }
833
- }
834
-
835
- sfsi_plus_error_reporting_notice();
836
- }
837
-
838
-
839
- add_action('admin_init', 'sfsi_plus_dismiss_admin_notice');
840
- function sfsi_plus_dismiss_admin_notice()
841
- {
842
- if (isset($_REQUEST['sfsi-plus_dismiss-premiumNotice']) && $_REQUEST['sfsi-plus_dismiss-premiumNotice'] == 'true') {
843
- update_option('sfsi_plus_show_premium_notification', "no");
844
- //header("Location: ".site_url()."/wp-admin/admin.php?page=sfsi-options");die;
845
- }
846
-
847
- if (isset($_REQUEST['sfsi-plus_dismiss-premiumCumulativeCountNotice']) && $_REQUEST['sfsi-plus_dismiss-premiumCumulativeCountNotice'] == 'true') {
848
- update_option('sfsi_plus_show_premium_cumulative_count_notification', "no");
849
- }
850
-
851
- if (isset($_REQUEST['sfsi-plus_dismiss-settingmobileNotice']) && $_REQUEST['sfsi-plus_dismiss-settingmobileNotice'] == 'true') {
852
- update_option('sfsi_plus_show_Setting_mobile_notification', "no");
853
- //header("Location: ".site_url()."/wp-admin/admin.php?page=sfsi-options");die;
854
- }
855
- if (isset($_REQUEST['sfsi-plus_dismiss-phperrorNotice']) && $_REQUEST['sfsi-plus_dismiss-phperrorNotice'] == 'true') {
856
- update_option('sfsi_plus_serverphpVersionnotification', "no");
857
- }
858
- }
859
-
860
- add_action('plugins_loaded', 'sfsi_plus_load_domain');
861
- function sfsi_plus_load_domain()
862
- {
863
- $plugin_dir = basename(dirname(__FILE__)) . '/languages';
864
- load_plugin_textdomain('ultimate-social-media-plus', false, $plugin_dir);
865
- }
866
-
867
- function sfsi_plus_get_bloginfo($url)
868
- {
869
- $web_url = get_bloginfo($url);
870
-
871
- //Block to use feedburner url
872
- if (preg_match("/(feedburner)/im", $web_url, $match)) {
873
- $web_url = site_url() . "/feed";
874
- }
875
- return $web_url;
876
- }
877
- /* plugin action link*/
878
- add_filter('plugin_action_links_' . plugin_basename(__FILE__), 'sfsi_plus_action_links', 3);
879
- function sfsi_plus_action_links($mylinks)
880
- {
881
- $linkQuestion = '<a target="_blank" href="https://goo.gl/MU6pTN#new-topic-0" style="color:#FF0000;"><b>Need help?</b></a>';
882
- $linkProVersion = '<a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_manage_plugin_page&utm_campaign=check_out_pro_version&utm_medium=banner" style="color:#38B54A;"><b>Check out pro version</b></a>';
883
-
884
- if (isset($mylinks['edit']) && !empty($mylinks['edit'])) {
885
- $mylinks[] = @$mylinks['edit'];
886
- }
887
-
888
- //array_unshift($mylinks, $linkProVersion);
889
- array_unshift($mylinks, $linkQuestion);
890
-
891
- $slug = plugin_basename(dirname(__FILE__));
892
-
893
- //$mylinks[$slug] = @$mylinks["deactivate"].'<i class="sfsi-plus-deactivate-slug"></i>';
894
-
895
- $mylinks[] = '<a href="' . admin_url("/admin.php?page=sfsi-plus-options") . '">Settings</a>';
896
-
897
- unset($mylinks['edit']);
898
- //unset ($mylinks['deactivate']);
899
-
900
- return $mylinks;
901
- }
902
-
903
- global $pagenow;
904
-
905
- if ('plugins.php' === $pagenow) {
906
-
907
- add_action('admin_footer', '_sfsi_plus_add_deactivation_feedback_dialog_box');
908
-
909
- function _sfsi_plus_add_deactivation_feedback_dialog_box()
910
- {
911
-
912
- include_once(SFSI_PLUS_DOCROOT . '/views/deactivation/sfsi_deactivation_popup.php'); ?>
913
-
914
- <script>
915
- jQuery(document).ready(function($) {
916
-
917
- var _plus_deactivationLink = $('.sfsi-plus-deactivate-slug').prev();
918
-
919
- _plus_deactivationLink.parent().prev().remove();
920
-
921
- $('.sfsi-plus-deactivation-reason-link').find('a').attr('href', _plus_deactivationLink.attr('href'));
922
-
923
- _plus_deactivationLink.on('click', function(e) {
924
- e.preventDefault();
925
- $('[data-popup="plus-popup-1"]').fadeIn(350);
926
- });
927
-
928
- //----- CLOSE
929
- $('[data-popup-close]').on('click', function(e) {
930
- e.preventDefault();
931
- var targeted_popup_class = jQuery(this).attr('data-popup-close');
932
- $('[data-popup="' + targeted_popup_class + '"]').fadeOut(350);
933
- });
934
-
935
- //----- OPEN
936
- $('[data-popup-open]').on('click', function(e) {
937
- e.preventDefault();
938
- var targeted_popup_class = jQuery(this).attr('data-popup-open');
939
- $('[data-popup="' + targeted_popup_class + '"]').fadeIn(350);
940
- });
941
-
942
- });
943
- </script>
944
-
945
- <?php }
946
- }
947
-
948
-
949
- function sfsi_plus_getdomain($url)
950
- {
951
- $pieces = parse_url($url);
952
- $domain = isset($pieces['host']) ? $pieces['host'] : '';
953
- if (preg_match('/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $domain, $regs)) {
954
- return $regs['domain'];
955
- }
956
- return false;
957
- }
958
-
959
- // create a scheduled event (if it does not exist already)
960
- function sfsi_plus_sf_instagram_count_fetcher()
961
- {
962
- $sfsi_plus_SocialHelper = new sfsi_plus_SocialHelper();
963
- $feed_id = sanitize_text_field(get_option('sfsi_plus_feed_id', false));
964
- return $sfsi_plus_SocialHelper->SFSI_getFeedSubscriberFetch();
965
- }
966
- function sfsi_plus_cronstarter_activation()
967
- {
968
- // sfsi_plus_write_log(wp_next_scheduled( 'sfsi_plus_sf_instagram_count_fetcher' ));
969
- if (!wp_next_scheduled('sfsi_plus_sf_instagram_count_fetcher')) {
970
- wp_schedule_event(time(), 'daily', 'sfsi_plus_sf_instagram_count_fetcher');
971
- }
972
- }
973
- // and make sure it's called whenever WordPress loads
974
- add_action('wp', 'sfsi_plus_cronstarter_activation');
975
-
976
- /* redirect setting page hook */
977
- add_action('admin_init', 'sfsi_plus_plugin_redirect');
978
- function sfsi_plus_plugin_redirect()
979
- {
980
- if (get_option('sfsi_plus_plugin_do_activation_redirect', false)) {
981
- delete_option('sfsi_plus_plugin_do_activation_redirect');
982
- wp_redirect(admin_url('admin.php?page=sfsi-plus-options'));
983
- }
984
- }
985
- function sfsi_plus_curl_error_notification()
986
- {
987
- if (get_option("sfsi_plus_curlErrorNotices") == "yes") {
988
-
989
- ?>
990
- <script>
991
- jQuery(document).ready(function(e) {
992
- jQuery(".sfsi_plus_curlerror_cross").click(function() {
993
- SFSI.ajax({
994
- url: sfsi_plus_ajax_object.ajax_url,
995
- type: "post",
996
- data: {
997
- action: "sfsiplus_curlerrornotification",
998
- nonce: '<?php echo wp_create_nonce('
999
- plus_curlerrornotification '); ?>'
1000
- },
1001
- success: function(msg) {
1002
- jQuery(".sfsiplus_curlerror").hide("fast");
1003
-
1004
- }
1005
- });
1006
- });
1007
- });
1008
- </script>
1009
-
1010
- <div class="sfsiplus_curlerror">
1011
- <?php _e('We noticed that your site returns a cURL error («Error: ', SFSI_PLUS_DOMAIN); ?>
1012
- <?php echo ucfirst(get_option("sfsi_plus_curlErrorMessage")); ?>
1013
- <?php _e('»). This means that it cannot send a notification to SpecificFeeds.com when a new post is published. Therefore this email-feature doesn’t work. However there are several solutions for this, please visit our FAQ to see the solutions («Perceived bugs» => «cURL error messages»): ', SFSI_PLUS_DOMAIN); ?>
1014
- <a href="https://www.ultimatelysocial.com/faq/" target="_new">
1015
- <?php _e('www.ultimatelysocial.com/faq', SFSI_PLUS_DOMAIN); ?>
1016
- </a>
1017
- <div class="sfsi_plus_curlerror_cross"><?php _e('Dismiss', SFSI_PLUS_DOMAIN); ?></div>
1018
- </div>
1019
- <?php
1020
- }
1021
- }
1022
-
1023
- // ********************************* Link to support forum for different languages STARTS *******************************//
1024
-
1025
- function sfsi_plus_get_language_notice_text()
1026
- {
1027
-
1028
- $currLang = get_locale();
1029
- $text = '';
1030
-
1031
- switch ($currLang) {
1032
-
1033
- // Arabic
1034
- case 'ar':
1035
-
1036
- $text = "hal tatakalam alearabia? 'iidha kanat ladayk 'asyilat hawl almukawan al'iidafii l Ultimate Social Media , aitruh sualik fi muntadaa aldaem , sanuhawil alrada biallughat alearabiat: <a target='_blank' href='https://goo.gl/o42Beq'><b>'unqur huna</b></a>";
1037
- break;
1038
-
1039
- // Chinese - simplified
1040
- case 'zh-Hans':
1041
-
1042
- $text = "你会说中文吗?如果您有关于Ultimate Social Media插件的问题,请在支持论坛中提出您的问题,我们将尝试用中文回复:<a target='_blank' href='https://goo.gl/o42Beq'><b>点击此处</b></a>";
1043
- break;
1044
-
1045
- // Chinese - traditional
1046
- case 'zh-Hant':
1047
-
1048
- $text = "你會說中文嗎?如果您有關於Ultimate Social Media插件的問題,請在支持論壇中提出您的問題,我們將嘗試用中文回复:<a target='_blank' href='https://goo.gl/o42Beq'><b>點擊此處</b></a>";
1049
- break;
1050
-
1051
- // Dutch, Dutch (Belgium)
1052
- case 'nl_NL':
1053
- case 'nl_BE':
1054
- $text = "Jij spreekt Nederlands? Als je vragen hebt over de Ultimate Social Media-plug-in, stel je vraag in het ondersteuningsforum, we zullen proberen in het Nederlands te antwoorden: <a target='_blank' href='https://goo.gl/o42Beq'>klik hier</a>";
1055
- break;
1056
-
1057
- // French (Belgium), French (France)
1058
- case 'fr_BE':
1059
- case 'fr_FR':
1060
-
1061
- $text = "Vous parlez français? Si vous avez des questions sur le plugin Ultimate Social Media, posez votre question sur le forum de support, nous essaierons de répondre en français: <a target='_blank' href='https://goo.gl/o42Beq'>Cliquez ici</a>";
1062
- break;
1063
-
1064
- // German, German (Switzerland)
1065
- case 'de':
1066
- case 'de_CH':
1067
-
1068
- $text = "Du sprichst Deutsch? Wenn Du Fragen zum Ultimate Social Media-Plugins hast, einfach im Support Forum fragen. Wir antworten auch auf Deutsch! <a target='_blank' href='https://goo.gl/o42Beq'>Klicke hier</a>";
1069
- break;
1070
-
1071
- // Greek
1072
- case 'el':
1073
-
1074
- $text = "Μιλάτε Ελληνικά? Αν έχετε ερωτήσεις σχετικά με το plugin Ultimate Social Media, ρωτήστε την ερώτησή σας στο φόρουμ υποστήριξης, θα προσπαθήσουμε να απαντήσουμε στα ελληνικά: <a target='_blank' href='https://goo.gl/o42Beq'>Κάντε κλικ εδώ</a>";
1075
- break;
1076
-
1077
- // Hebrew
1078
- case 'he_IL':
1079
-
1080
- $text = "אתה מדבר עברית? אם יש לך שאלות על תוסף המדיה החברתית האולטימטיבית, שאל את השאלה שלך בפורום התמיכה, ננסה לענות בעברית: <a target='_blank' href='https://goo.gl/o42Beq'>לחץ כאן</a>";
1081
- break;
1082
-
1083
- // Hindi
1084
- case 'hi_IN':
1085
-
1086
- $text = "आप हिंदी बोलते हो? यदि आपके पास अल्टीमेट सोशल मीडिया प्लगइन के बारे में कोई प्रश्न है, तो समर्थन फोरम में अपना प्रश्न पूछें, हम हिंदी में जवाब देने का प्रयास करेंगे: <a target='_blank' href='https://goo.gl/o42Beq'>यहां क्लिक करें</a>";
1087
- break;
1088
-
1089
- // Indonesian
1090
- case 'id':
1091
-
1092
- $text = "Anda berbicara bahasa Indonesia? Jika Anda memiliki pertanyaan tentang plugin Ultimate Social Media, ajukan pertanyaan Anda di Forum Dukungan, kami akan mencoba menjawab dalam Bahasa Indonesia: <a target='_blank' href='https://goo.gl/o42Beq'>Klik di sini</a>";
1093
-
1094
- break;
1095
-
1096
- // Italian
1097
- case 'it_IT':
1098
-
1099
- $text = "Tu parli italiano? Se hai domande sul plugin Ultimate Social Media, fai la tua domanda nel Forum di supporto, cercheremo di rispondere in italiano: <a target='_blank' href='https://goo.gl/o42Beq'>clicca qui</a>";
1100
-
1101
- break;
1102
-
1103
- // Japanese
1104
- case 'ja':
1105
-
1106
- $text = "あなたは日本語を話しますか?アルティメットソーシャルメディアのプラグインに関する質問がある場合は、サポートフォーラムで質問してください。日本語で対応しようと思っています:<a target='_blank' href='https://goo.gl/o42Beq'>ここをクリック</a>";
1107
-
1108
- break;
1109
-
1110
- // Korean
1111
- case 'ko_KR ':
1112
-
1113
- $text = "한국어를 할 줄 아세요? 궁극적 인 소셜 미디어 플러그인에 대해 궁금한 점이 있으면 지원 포럼에서 질문하십시오. 한국어로 답변하려고합니다 : <a target='_blank' href='https://goo.gl/o42Beq'>여기를 클릭하십시오.</a>";
1114
-
1115
- break;
1116
-
1117
- // Persian, Persian (Afghanistan)
1118
- case 'fa_IR':
1119
- case 'fa_AF':
1120
-
1121
- $text = "شما فارسی صحبت می کنید؟ اگر سوالی در مورد پلاگین رسانه Ultimate Social دارید، سوال خود را در انجمن پشتیبانی بپرسید، سعی خواهیم کرد به فارسی پاسخ دهید: <a target='_blank' href='https://goo.gl/o42Beq'>اینجا را کلیک کنید</a>";
1122
-
1123
- break;
1124
-
1125
- // Polish
1126
-
1127
- case 'pl_PL':
1128
- $text = "Mówisz po polsku? Jeśli masz pytania dotyczące wtyczki Ultimate Social Media, zadaj pytanie na Forum pomocy technicznej, postaramy się odpowiedzieć po polsku: <a target='_blank' href='https://goo.gl/o42Beq'>Kliknij tutaj</a>";
1129
- break;
1130
-
1131
- //Portuguese (Brazil), Portuguese (Portugal)
1132
-
1133
- case 'pt_BR':
1134
- case 'pt_PT':
1135
-
1136
- $text = "Você fala português? Se você tiver dúvidas sobre o plug-in Ultimate Social Media, faça sua pergunta no Fórum de suporte, tentaremos responder em português: <a target='_blank' href='https://goo.gl/o42Beq'>Clique aqui</a>";
1137
-
1138
- break;
1139
-
1140
- // Russian, Russian (Ukraine)
1141
- case 'ru_RU':
1142
- case 'ru_UA':
1143
-
1144
- $text = "Ты говоришь по-русски? Если у вас есть вопросы о плагине Ultimate Social Media, задайте свой вопрос в форуме поддержки, мы постараемся ответить на русский: <a target='_blank' href='https://goo.gl/o42Beq'>Нажмите здесь</a>";
1145
-
1146
- break;
1147
-
1148
- /* Spanish (Argentina), Spanish (Chile), Spanish (Colombia), Spanish (Mexico),
1149
- Spanish (Peru), Spanish (Puerto Rico), Spanish (Spain), Spanish (Venezuela) */
1150
-
1151
- case 'es_AR':
1152
- case 'es_CL':
1153
- case 'es_CO':
1154
- case 'es_MX':
1155
- case 'es_PE':
1156
- case 'es_PR':
1157
- case 'es_ES':
1158
- case 'es_VE':
1159
-
1160
- $text = "¿Tu hablas español? Si tiene alguna pregunta sobre el complemento Ultimate Social Media, formule su pregunta en el foro de soporte, intentaremos responder en español: <a target='_blank' href='https://goo.gl/o42Beq'>haga clic aquí</a>";
1161
- break;
1162
-
1163
- // Swedish
1164
-
1165
- case 'sv_SE':
1166
-
1167
- $text = "Pratar du svenska? Om du har frågor om programmet Ultimate Social Media, fråga din fråga i supportforumet, vi försöker svara på svenska: <a target='_blank' href='https://goo.gl/o42Beq'>Klicka här</a>";
1168
- break;
1169
-
1170
- // Turkish
1171
-
1172
- case 'tr_TR':
1173
- $text = "Sen Türkçe konuş? Nihai Sosyal Medya eklentisi hakkında sorularınız varsa, sorunuza Destek Forumu'nda sorun, Türkçe olarak cevap vermeye çalışacağız: <a target='_blank' href='https://goo.gl/o42Beq'>Tıklayın</a>";
1174
- break;
1175
-
1176
- // Ukrainian
1177
-
1178
- case 'uk':
1179
- $text = "Ви говорите по-українськи? Якщо у вас є запитання про плагін Ultimate Social Media, задайте своє питання на Форумі підтримки, ми спробуємо відповісти українською: <a target='_blank' href='https://goo.gl/o42Beq'>натисніть тут</a>";
1180
- break;
1181
-
1182
- // Vietnamese
1183
-
1184
- case 'vi':
1185
- $text = "Bạn nói tiếng việt không Nếu bạn có câu hỏi về plugin Ultimate Social Media, hãy đặt câu hỏi của bạn trong Diễn đàn hỗ trợ, chúng tôi sẽ cố gắng trả lời bằng tiếng Việt: <a target='_blank' href='https://goo.gl/o42Beq'>Nhấp vào đây</a>";
1186
- break;
1187
- }
1188
-
1189
- return $text;
1190
- }
1191
-
1192
- function sfsi_plus_language_notice()
1193
- {
1194
-
1195
- if (isset($_GET['page']) && "sfsi-plus-options" == $_GET['page']) :
1196
-
1197
- $langText = sfsi_plus_get_language_notice_text();
1198
- $isDismissed = get_option('sfsi_plus_lang_notice_dismissed');
1199
-
1200
- if (!empty($langText) && false == $isDismissed) { ?>
1201
-
1202
- <div id="sfsi_plus_langnotice" class="notice notice-info">
1203
-
1204
- <p><?php _e($langText, SFSI_PLUS_DOMAIN); ?></p>
1205
-
1206
- <button type="button" class="sfsi-notice-dismiss notice-dismiss"></button>
1207
-
1208
- </div>
1209
-
1210
- <?php } ?>
1211
-
1212
- <?php endif;
1213
- }
1214
-
1215
-
1216
- function sfsi_plus_dismiss_lang_notice()
1217
- {
1218
- if (!wp_verify_nonce($_POST['nonce'], "plus_dismiss_lang_notice")) {
1219
- echo json_encode(array('res' => "error"));
1220
- exit;
1221
- }
1222
- if (!current_user_can('manage_options')) {
1223
- echo json_encode(array('res' => 'not allowed'));
1224
- die();
1225
- }
1226
- echo update_option('sfsi_plus_lang_notice_dismissed', true) ? "true" : "false";
1227
- die;
1228
- }
1229
-
1230
- add_action('wp_ajax_sfsi_plus_dismiss_lang_notice', 'sfsi_plus_dismiss_lang_notice');
1231
-
1232
- // ********************************* Link to support forum for different languages CLOSES *******************************//
1233
-
1234
-
1235
- // ********************************* Link to support forum left of every Save button STARTS *******************************//
1236
-
1237
- function sfsi_plus_ask_for_help($viewNumber)
1238
- { ?>
1239
-
1240
- <div class="sfsi_plus_askforhelp askhelpInview<?php echo $viewNumber; ?>">
1241
-
1242
- <img src="<?php echo SFSI_PLUS_PLUGURL . "images/questionmark.png" ?>" />
1243
-
1244
- <span>Questions? <a target="_blank" href="#" onclick="event.preventDefault();sfsi_plus_open_chat(event)"><b>Ask us</b></a></span>
1245
-
1246
- </div>
1247
-
1248
- <?php }
1249
-
1250
- // ********************************* Link to support forum left of every Save button CLOSES *******************************//
1251
-
1252
-
1253
- // ********************************* Notice for error reporting STARTS *******************************//
1254
-
1255
- function sfsi_plus_error_reporting_notice()
1256
- {
1257
-
1258
- if (is_admin()) :
1259
-
1260
- $sfsi_error_reporting_notice_txt = 'We noticed that you have set error reporting to "yes" in wp-config. Our plugin (Ultimate Social Media Plus) switches this to "off" so that no errors are displayed (which may also impact error messages from your theme or other plugins). If you don\'t want that, please select the respective option under question 6 (at the bottom).';
1261
-
1262
- $isDismissed = get_option('sfsi_pplus_error_reporting_notice_dismissed', false);
1263
-
1264
- $option5 = unserialize(get_option('sfsi_plus_section5_options', false));
1265
-
1266
- $sfsi_pplus_icons_suppress_errors = isset($option5['sfsi_pplus_icons_suppress_errors']) && !empty($option5['sfsi_pplus_icons_suppress_errors']) ? $option5['sfsi_pplus_icons_suppress_errors'] : false;
1267
-
1268
- if (isset($isDismissed) && false == $isDismissed && defined('WP_DEBUG') && false != WP_DEBUG && "yes" == $sfsi_pplus_icons_suppress_errors) { ?>
1269
-
1270
- <div style="padding: 10px;margin-left: 0px;position: relative;" id="sfsi_error_reporting_notice" class="error notice">
1271
-
1272
- <p><?php echo $sfsi_error_reporting_notice_txt; ?></p>
1273
-
1274
- <button type="button" class="sfsi_pplus_error_reporting_notice-dismiss notice-dismiss"></button>
1275
-
1276
- </div>
1277
-
1278
- <script>
1279
- if (typeof jQuery != 'undefined') {
1280
-
1281
- (function sfsi_dismiss_notice(btnClass, ajaxAction, nonce) {
1282
-
1283
- var btnClass = "." + btnClass;
1284
-
1285
- var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
1286
-
1287
- jQuery(document).on("click", btnClass, function() {
1288
-
1289
- jQuery.ajax({
1290
- url: ajaxurl,
1291
- type: "post",
1292
- data: {
1293
- action: ajaxAction,
1294
- nonce: nonce
1295
- },
1296
- success: function(e) {
1297
- if (false != e) {
1298
- jQuery(btnClass).parent().remove();
1299
- }
1300
- }
1301
- });
1302
-
1303
- });
1304
-
1305
- }("sfsi_pplus_error_reporting_notice-dismiss", "sfsi_pplus_dismiss_error_reporting_notice", "<?php echo wp_create_nonce('plus_dismiss_error_reporting_notice'); ?>"));
1306
- }
1307
- </script>
1308
-
1309
- <?php } ?>
1310
-
1311
- <?php endif;
1312
- }
1313
-
1314
- function sfsi_pplus_dismiss_error_reporting_notice()
1315
- {
1316
- if (!wp_verify_nonce($_POST['nonce'], "plus_dismiss_error_reporting_notice")) {
1317
- echo json_encode(array('res' => "error"));
1318
- exit;
1319
- }
1320
- if (!current_user_can('manage_options')) {
1321
- echo json_encode(array('res' => 'not allowed'));
1322
- die();
1323
- }
1324
- echo (string) update_option('sfsi_pplus_error_reporting_notice_dismissed', true);
1325
- die;
1326
- }
1327
- add_action('wp_ajax_sfsi_pplus_dismiss_error_reporting_notice', 'sfsi_pplus_dismiss_error_reporting_notice');
1328
-
1329
- // ********************************* Notice for error reporting CLOSE *******************************//
1330
-
1331
- // ********************************* Notice for removal of AddThis option STARTS *******************************//
1332
- function sfsi_plus_addThis_removal_notice()
1333
- {
1334
-
1335
- if (isset($_GET['page']) && "sfsi-plus-options" == $_GET['page']) :
1336
-
1337
- $sfsi_plus_addThis_removalText = __("We removed Addthis from the plugin due to issues with GDPR, the new EU data protection regulation.", SFSI_PLUS_DOMAIN);
1338
-
1339
- $isDismissed = get_option('sfsi_plus_addThis_icon_removal_notice_dismissed', false);
1340
-
1341
- if (false == $isDismissed) { ?>
1342
-
1343
- <div id="sfsi_plus_addThis_removal_notice" class="notice notice-info">
1344
-
1345
- <p><?php echo $sfsi_plus_addThis_removalText; ?></p>
1346
-
1347
- <button type="button" class="sfsi_plus-AddThis-notice-dismiss notice-dismiss"></button>
1348
-
1349
- </div>
1350
-
1351
- <?php } ?>
1352
-
1353
- <?php endif;
1354
- }
1355
-
1356
- function sfsi_plus_dismiss_addthhis_removal_notice()
1357
- {
1358
- if (!wp_verify_nonce($_POST['nonce'], "plus_dismiss_addthhis_removal_notice")) {
1359
- echo json_encode(array('res' => "error"));
1360
- exit;
1361
- }
1362
- if (!current_user_can('manage_options')) {
1363
- echo json_encode(array('res' => 'not allowed'));
1364
- die();
1365
- }
1366
- echo update_option('sfsi_plus_addThis_icon_removal_notice_dismissed', true) ? get_option('sfsi_plus_addThis_icon_removal_notice_dismissed', false) : "false";
1367
- die;
1368
- }
1369
-
1370
- add_action('wp_ajax_sfsi_plus_dismiss_addThis_icon_notice', 'sfsi_plus_dismiss_addthhis_removal_notice');
1371
-
1372
- // ********************************* Notice for removal of AddThis option CLOSES *******************************//
1
+ <?php
2
+ /*
3
+ Plugin Name: Ultimate Social Media PLUS
4
+ Plugin URI: http://socialshare.pro/
5
+ Description: The best social media plugin on the market. And 100% FREE. Allows you to add social media & share icons to your blog (esp. Facebook, Twitter, Email, RSS, Pinterest, Instagram, LinkedIn, Share-button). It offers a wide range of design options and other features.
6
+ Author: social share pro
7
+ Text Domain: ultimate-social-media-plus
8
+ Domain Path: /languages
9
+ Author URI: http://socialshare.pro/
10
+ Version: 3.2.0
11
+ License: GPLv2
12
+ */
13
+
14
+ sfsi_plus_error_reporting();
15
+
16
+ require_once 'analyst/main.php';
17
+
18
+ analyst_init(array(
19
+ 'client-id' => 'w6l8b75dy5qkv9ze',
20
+ 'client-secret' => '39db55426579986bb6c79c6d94aa6ab82b67f9f5',
21
+ 'base-dir' => __FILE__
22
+ ));
23
+
24
+ global $wpdb;
25
+ /* define the Root for URL and Document */
26
+
27
+
28
+ // Create a helper function for easy SDK access.
29
+ function sfsi_plus_freemius()
30
+ {
31
+ global $usmp_fs;
32
+
33
+ if (!isset($usmp_fs)) {
34
+ // Include Freemius SDK.
35
+ require_once dirname(__FILE__) . '/freemius/start.php';
36
+
37
+ $usmp_fs = fs_dynamic_init(array(
38
+ 'id' => '1046',
39
+ 'slug' => 'ultimate-social-media-plus',
40
+ 'type' => 'plugin',
41
+ 'public_key' => 'pk_716f722d8ecd3d70a5c60177306c1',
42
+ 'is_premium' => false,
43
+ 'has_addons' => false,
44
+ 'has_paid_plans' => false,
45
+ 'menu' => array(
46
+ 'slug' => 'sfsi-plus-options',
47
+ 'account' => false,
48
+ 'support' => false,
49
+ ),
50
+ ));
51
+ }
52
+
53
+ return $usmp_fs;
54
+ }
55
+
56
+ // Init Freemius.
57
+ // sfsi_plus_freemius();
58
+ // sfsi_plus_freemius()->add_action('after_uninstall', 'sfsi_plus_Unistall_plugin');
59
+
60
+ // Signal that SDK was initiated.
61
+ //do_action('usmp_fs_loaded');
62
+
63
+ define('SFSI_PLUS_DOCROOT', dirname(__FILE__));
64
+ // define('SFSI_PLUS_PLUGURL', plugin_dir_url(__FILE__));
65
+ define('SFSI_PLUS_PLUGURL', site_url() . '/wp-content/plugins/ultimate-social-media-plus/');
66
+ define('SFSI_PLUS_WEBROOT', str_replace(getcwd(), home_url(), dirname(__FILE__)));
67
+ define('SFSI_PLUS_DOMAIN', 'ultimate-social-media-plus');
68
+ define('SFSI_PLUS_SUPPORT_FORM', 'https://goo.gl/jySrSF');
69
+
70
+ $wp_upload_dir = wp_upload_dir();
71
+ define('SFSI_PLUS_UPLOAD_DIR_BASEURL', trailingslashit($wp_upload_dir['baseurl']));
72
+
73
+
74
+ define('SFSI_PLUS_ALLICONS', serialize(array(
75
+ "rss", "email", "facebook", "twitter", "youtube", "linkedin",
76
+ "pinterest", "instagram", "houzz", "ok", "telegram", "vk", "weibo", "wechat"
77
+ )));
78
+
79
+ function sfsi_plus_get_current_url()
80
+ {
81
+ global $post, $wp;
82
+
83
+ if (!empty($wp)) {
84
+ return home_url(add_query_arg(array(), $wp->request));
85
+ } elseif (!empty($post)) {
86
+ return get_permalink($post->ID);
87
+ } else {
88
+ return site_url();
89
+ }
90
+ }
91
+
92
+ /* load all files */
93
+ include(SFSI_PLUS_DOCROOT . '/helpers/common_helper.php');
94
+ include(SFSI_PLUS_DOCROOT . '/libs/controllers/sfsi_socialhelper.php');
95
+ include(SFSI_PLUS_DOCROOT . '/libs/controllers/sfsi_class_theme_check.php');
96
+ include(SFSI_PLUS_DOCROOT . '/libs/sfsi_install_uninstall.php');
97
+ include(SFSI_PLUS_DOCROOT . '/libs/controllers/sfsi_buttons_controller.php');
98
+ include(SFSI_PLUS_DOCROOT . '/libs/controllers/sfsi_iconsUpload_contoller.php');
99
+ include(SFSI_PLUS_DOCROOT . '/libs/sfsi_Init_JqueryCss.php');
100
+ include(SFSI_PLUS_DOCROOT . '/libs/controllers/sfsi_floater_icons.php');
101
+ include(SFSI_PLUS_DOCROOT . '/libs/controllers/sfsiocns_OnPosts.php');
102
+ include(SFSI_PLUS_DOCROOT . '/libs/sfsi_widget.php');
103
+ include(SFSI_PLUS_DOCROOT . '/libs/sfsi_plus_subscribe_widget.php');
104
+ include(SFSI_PLUS_DOCROOT . '/libs/sfsi_custom_social_sharing_data.php');
105
+ include(SFSI_PLUS_DOCROOT . '/libs/sfsi_ajax_social_sharing_settings_updater.php');
106
+ include(SFSI_PLUS_DOCROOT . '/libs/sfsi_gutenberg_block.php');
107
+
108
+ /* plugin install and uninstall hooks */
109
+ register_activation_hook(__FILE__, 'sfsi_plus_activate_plugin');
110
+ register_deactivation_hook(__FILE__, 'sfsi_plus_deactivate_plugin');
111
+ //register_uninstall_hook(__FILE__, 'sfsi_plus_Unistall_plugin');
112
+
113
+ /*Plugin version setup*/
114
+ if (!get_option('sfsi_plus_pluginVersion') || get_option('sfsi_plus_pluginVersion') < 3.20) {
115
+ add_action("init", "sfsi_plus_update_plugin");
116
+ }
117
+
118
+ //************************************** Setting error reporting STARTS ****************************************//
119
+
120
+ function sfsi_plus_error_reporting()
121
+ {
122
+
123
+ $option5 = unserialize(get_option('sfsi_plus_section5_options', false));
124
+
125
+ if (
126
+ isset($option5['sfsi_pplus_icons_suppress_errors'])
127
+
128
+ && !empty($option5['sfsi_pplus_icons_suppress_errors'])
129
+
130
+ && "yes" == $option5['sfsi_pplus_icons_suppress_errors']
131
+ ) {
132
+
133
+ error_reporting(0);
134
+ }
135
+ }
136
+
137
+ //************************************** Setting error reporting CLOSES ****************************************//
138
+
139
+ //shortcode for the ultimate social icons {Monad}
140
+ add_shortcode("DISPLAY_ULTIMATE_PLUS", "DISPLAY_ULTIMATE_PLUS");
141
+ function DISPLAY_ULTIMATE_PLUS($args = null, $content = null, $share_url = null)
142
+ {
143
+ if ("DISPLAY_ULTIMATE_PLUS" === $share_url) {
144
+ $share_url = null;
145
+ }
146
+ $instance = array("showf" => 1, "title" => '');
147
+ $sfsi_plus_section8_options = get_option("sfsi_plus_section8_options");
148
+ $sfsi_plus_section8_options = unserialize($sfsi_plus_section8_options);
149
+ $sfsi_plus_place_item_manually = $sfsi_plus_section8_options['sfsi_plus_place_item_manually'];
150
+ if ($sfsi_plus_place_item_manually == "yes") {
151
+ $return = '';
152
+ if (!isset($before_widget)) : $before_widget = '';
153
+ endif;
154
+ if (!isset($after_widget)) : $after_widget = '';
155
+ endif;
156
+
157
+ /*Our variables from the widget settings. */
158
+ $title = apply_filters('widget_title', $instance['title']);
159
+ $show_info = isset($instance['show_info']) ? $instance['show_info'] : false;
160
+ global $is_floter;
161
+ $return .= $before_widget;
162
+ /* Display the widget title */
163
+ if ($title) $return .= $before_title . $title . $after_title;
164
+ $return .= '<div class="sfsi_plus_widget">';
165
+ $return .= '<div id="sfsi_plus_wDiv"></div>';
166
+ /* Link the main icons function */
167
+ $return .= sfsi_plus_check_visiblity(0, $share_url);
168
+ $return .= '<div style="clear: both;"></div>';
169
+ $return .= '</div>';
170
+ $return .= $after_widget;
171
+ return $return;
172
+ } else {
173
+ return __('Kindly go to setting page and check the option "Place them manually"', SFSI_PLUS_DOMAIN);
174
+ }
175
+ }
176
+ //adding some meta tags for facebook news feed
177
+ function sfsi_plus_checkmetas()
178
+ {
179
+ $adding_plustags = "yes";
180
+
181
+ if (!function_exists('get_plugins')) {
182
+ require_once ABSPATH . 'wp-admin/includes/plugin.php';
183
+ }
184
+
185
+ $all_plugins = get_plugins();
186
+
187
+ foreach ($all_plugins as $key => $plugin) :
188
+
189
+ if (is_plugin_active($key)) :
190
+
191
+ if (preg_match("/(seo|search engine optimization|meta tag|open graph|opengraph|og tag|ogtag)/im", $plugin['Name']) || preg_match("/(seo|search engine optimization|meta tag|open graph|opengraph|og tag|ogtag)/im", $plugin['Description'])) {
192
+ $adding_plustags = "no";
193
+ break;
194
+ }
195
+
196
+ endif;
197
+
198
+ endforeach;
199
+
200
+ update_option('adding_plustags', $adding_plustags);
201
+ }
202
+
203
+ if (is_admin()) {
204
+ // sfsi_plus_checkmetas();
205
+ add_action('after_setup_theme', 'sfsi_plus_checkmetas');
206
+ }
207
+
208
+ add_action('wp_head', 'ultimateplusfbmetatags');
209
+ function ultimateplusfbmetatags()
210
+ {
211
+ $metarequest = get_option("adding_plustags");
212
+ $post_id = get_the_ID();
213
+
214
+ $feed_id = sanitize_text_field(get_option('sfsi_plus_feed_id'));
215
+ $verification_code = get_option('sfsi_plus_verificatiom_code');
216
+ if (!empty($feed_id) && !empty($verification_code) && $verification_code != "no") {
217
+ echo '<meta name="specificfeeds-verification-code-' . $feed_id . '" content="' . $verification_code . '"/>';
218
+ }
219
+
220
+ if ($metarequest == 'yes' && !empty($post_id)) {
221
+ $post = get_post($post_id);
222
+ $attachment_id = get_post_thumbnail_id($post_id);
223
+ $title = str_replace('"', "", strip_tags(get_the_title($post_id)));
224
+ $description = $post->post_content;
225
+ $description = str_replace('"', "", strip_tags($description));
226
+ $url = get_permalink($post_id);
227
+
228
+ //checking for disabling viewport meta tag
229
+ $option5 = unserialize(get_option('sfsi_plus_section5_options', false));
230
+ if (isset($option5['sfsi_plus_disable_viewport'])) {
231
+ $sfsi_plus_disable_viewport = $option5['sfsi_plus_disable_viewport'];
232
+ } else {
233
+ $sfsi_plus_disable_viewport = 'no';
234
+ }
235
+ if ($sfsi_plus_disable_viewport == 'no') {
236
+ echo ' <meta name="viewport" content="width=device-width, initial-scale=1">';
237
+ }
238
+ //checking for disabling viewport meta tag
239
+
240
+ if ($attachment_id) {
241
+ $feat_image = wp_get_attachment_url($attachment_id);
242
+ if (preg_match('/https/', $feat_image)) {
243
+ echo '<meta property="og:image:secure_url" content="' . $feat_image . '" data-id="sfsi-plus"/>';
244
+ } else {
245
+ echo '<meta property="og:image" content="' . $feat_image . '" data-id="sfsi-plus"/>';
246
+ }
247
+ $metadata = wp_get_attachment_metadata($attachment_id);
248
+ if (isset($metadata) && !empty($metadata)) {
249
+ if (isset($metadata['sizes']['post-thumbnail'])) {
250
+ $image_type = $metadata['sizes']['post-thumbnail']['mime-type'];
251
+ } else {
252
+ $image_type = '';
253
+ }
254
+ if (isset($metadata['width'])) {
255
+ $width = $metadata['width'];
256
+ } else {
257
+ $width = '';
258
+ }
259
+ if (isset($metadata['height'])) {
260
+ $height = $metadata['height'];
261
+ } else {
262
+ $height = '';
263
+ }
264
+ } else {
265
+ $image_type = '';
266
+ $width = '';
267
+ $height = '';
268
+ }
269
+ echo '<meta property="og:image:type" content="' . $image_type . '" data-id="sfsi-plus"/>';
270
+ echo '<meta property="og:image:width" content="' . $width . '" data-id="sfsi-plus"/>';
271
+ echo '<meta property="og:image:height" content="' . $height . '" data-id="sfsi-plus"/>';
272
+ echo '<meta property="og:description" content="' . $description . '" data-id="sfsi-plus"/>';
273
+ echo '<meta property="og:url" content="' . $url . '" data-id="sfsi-plus"/>';
274
+ echo '<meta property="og:title" content="' . $title . '" data-id="sfsi-plus"/>';
275
+ }
276
+ }
277
+ }
278
+
279
+ //Get verification code
280
+ if (is_admin()) {
281
+ $code = sanitize_text_field(get_option('sfsi_plus_verificatiom_code'));
282
+ $feed_id = sanitize_text_field(get_option('sfsi_plus_feed_id'));
283
+ if (empty($code) && !empty($feed_id)) {
284
+ add_action("init", "sfsi_plus_getverification_code");
285
+ }
286
+ }
287
+ function sfsi_plus_getverification_code()
288
+ {
289
+ $feed_id = sanitize_text_field(get_option('sfsi_plus_feed_id'));
290
+ $url = $http_url = 'https://www.specificfeeds.com/wordpress/getVerifiedCode_plugin';
291
+
292
+ $args = array(
293
+ 'timeout' => 15,
294
+ 'body' => array(
295
+ 'feed_id' => $feed_id
296
+ )
297
+ );
298
+
299
+ $request = wp_remote_post($url, $args);
300
+
301
+ if (is_wp_error($request)) {
302
+ // var_dump($request);
303
+ // update_option("sfsi_plus_curlErrorNotices", "yes");
304
+ // update_option("sfsi_plus_curlErrorMessage", $request->get_error_message());
305
+ } else {
306
+ $resp = json_decode($request['body']);
307
+ update_option('sfsi_plus_verificatiom_code', $resp->code);
308
+ }
309
+ }
310
+
311
+ //functionality for before and after single posts
312
+ add_filter('the_content', 'sfsi_plus_beforaftereposts');
313
+ function sfsi_plus_beforaftereposts($content)
314
+ {
315
+ $org_content = $content;
316
+ $icons_before = '';
317
+ $icons_after = '';
318
+ if (is_single()) {
319
+ $option8 = unserialize(get_option('sfsi_plus_section8_options', false));
320
+ // var_dump($option8);die();
321
+ $lineheight = $option8['sfsi_plus_post_icons_size'];
322
+ $lineheight = sfsi_plus_getlinhght($lineheight);
323
+ $sfsi_plus_display_button_type = $option8['sfsi_plus_display_button_type'];
324
+ $txt = (isset($option8['sfsi_plus_textBefor_icons'])) ? $option8['sfsi_plus_textBefor_icons'] : "Please follow and like us:";
325
+ $float = $option8['sfsi_plus_icons_alignment'];
326
+ if ($float == "center") {
327
+ $style_parent = 'text-align: center;';
328
+ $style = 'float:none; display: inline-block;';
329
+ } else {
330
+ $style_parent = '';
331
+ $style = 'float:' . $float;
332
+ }
333
+ if ($option8['sfsi_plus_display_before_posts'] == "yes" && $option8['sfsi_plus_show_item_onposts'] == "yes") {
334
+ $icons_before .= '<div class="sfsibeforpstwpr" style="' . $style_parent . '">';
335
+ if ($sfsi_plus_display_button_type == 'standard_buttons') {
336
+ $icons_before .= sfsi_plus_social_buttons_below($content = null);
337
+ }else if($option8['sfsi_plus_display_button_type'] == 'responsive_button'){
338
+ // if (isset($option8['sfsi_plus_responsive_icons_end_post']) && $option8['sfsi_plus_responsive_icons_end_post'] == "yes") {
339
+ // $icons_before .= sfsi_plus_social_responsive_buttons(null, $option8);
340
+ // }
341
+ $icons_before .= "";
342
+ } else {
343
+ $icons_before .= "<div class='sfsi_plus_Sicons' style='" . $style . "'>";
344
+ $icons_before .= "<div style='float:left;margin:0 0px; line-height:" . $lineheight . "px'><span>" . $txt . "</span></div>";
345
+ $icons_before .= sfsi_plus_check_posts_visiblity(0, "yes");
346
+ $icons_before .= "</div>";
347
+ }
348
+ $icons_before .= '</div>';
349
+ /*$icons_before .= '</br>';*/
350
+ }
351
+ if ($option8['sfsi_plus_show_item_onposts'] == "yes") {
352
+ /*$icons_after .= '</br>';*/
353
+ $icons_after .= '<div class="sfsiaftrpstwpr" style="' . $style_parent . '">';
354
+ if($option8['sfsi_plus_display_after_posts'] == "yes"){
355
+ if ($sfsi_plus_display_button_type == 'standard_buttons') {
356
+ $icons_after .= sfsi_plus_social_buttons_below($content = null);
357
+ }else if($option8['sfsi_plus_display_button_type'] == 'responsive_button'){
358
+ if (isset($option8['sfsi_plus_responsive_icons_end_post']) && $option8['sfsi_plus_responsive_icons_end_post'] == "yes") {
359
+ $icons_after .= sfsi_plus_social_responsive_buttons(null, $option8);
360
+ }
361
+ } else {
362
+ $icons_after .= "<div class='sfsi_plus_Sicons' style='" . $style . "'>";
363
+ $icons_after .= "<div style='float:left;margin:0 0px; line-height:" . $lineheight . "px'><span>" . $txt . "</span></div>";
364
+ $icons_after .= sfsi_plus_check_posts_visiblity(0, "yes");
365
+ $icons_after .= "</div>";
366
+ }
367
+ }else{
368
+ if(isset($option8['sfsi_plus_display_button_type']) && $option8['sfsi_plus_display_button_type'] == 'responsive_button'){
369
+ if (isset($option8['sfsi_plus_responsive_icons_end_post']) && $option8['sfsi_plus_responsive_icons_end_post'] == "yes") {
370
+ $icons_after .= sfsi_plus_social_responsive_buttons(null, $option8);
371
+ }
372
+ }
373
+ }
374
+
375
+ $icons_after .= '</div>';
376
+ }
377
+ }
378
+ $content = $icons_before . $org_content . $icons_after;
379
+ return $content;
380
+ }
381
+
382
+ //showing before and after blog posts
383
+ add_filter('the_excerpt', 'sfsi_plus_beforeafterblogposts');
384
+ add_filter('the_content', 'sfsi_plus_beforeafterblogposts');
385
+ function sfsi_plus_beforeafterblogposts($content)
386
+ {
387
+ if (is_home()) {
388
+ $icons_before = '';
389
+ $icons_after = '';
390
+ $sfsi_section8 = unserialize(get_option('sfsi_plus_section8_options', false));
391
+ $lineheight = $sfsi_section8['sfsi_plus_post_icons_size'];
392
+ $lineheight = sfsi_plus_getlinhght($lineheight);
393
+
394
+ global $id, $post;
395
+ $sfsi_plus_display_button_type = $sfsi_section8['sfsi_plus_display_button_type'];
396
+ $sfsi_plus_show_item_onposts = $sfsi_section8['sfsi_plus_show_item_onposts'];
397
+ $permalink = get_permalink($post->ID);
398
+ $post_title = $post->post_title;
399
+ $sfsiLikeWith = "45px;";
400
+ if ($sfsi_section8['sfsi_plus_icons_DisplayCounts'] == "yes") {
401
+ $show_count = 1;
402
+ $sfsiLikeWith = "75px;";
403
+ } else {
404
+ $show_count = 0;
405
+ }
406
+
407
+ //checking for standard icons
408
+ if (!isset($sfsi_section8['sfsi_plus_rectsub'])) {
409
+ $sfsi_section8['sfsi_plus_rectsub'] = 'no';
410
+ }
411
+ if (!isset($sfsi_section8['sfsi_plus_recttwtr'])) {
412
+ $sfsi_section8['sfsi_plus_recttwtr'] = 'no';
413
+ }
414
+ if (!isset($sfsi_section8['sfsi_plus_rectpinit'])) {
415
+ $sfsi_section8['sfsi_plus_rectpinit'] = 'no';
416
+ }
417
+ if (!isset($sfsi_section8['sfsi_plus_rectfbshare'])) {
418
+ $sfsi_section8['sfsi_plus_rectfbshare'] = 'no';
419
+ }
420
+
421
+ //checking for standard icons
422
+ $txt = (isset($sfsi_section8['sfsi_plus_textBefor_icons'])) ? $sfsi_section8['sfsi_plus_textBefor_icons'] : "Please follow and like us:";
423
+ $float = $sfsi_section8['sfsi_plus_icons_alignment'];
424
+ if ($float == "center") {
425
+ $style_parent = 'text-align: center;';
426
+ $style = 'float:none; display: inline-block;';
427
+ } else {
428
+ $style_parent = '';
429
+ $style = 'float:' . $float;
430
+ }
431
+
432
+ if (
433
+ $sfsi_section8['sfsi_plus_display_before_blogposts'] == "yes" &&
434
+ $sfsi_section8['sfsi_plus_show_item_onposts'] == "yes"
435
+ ) {
436
+ //icon selection
437
+ $icons_before .= "<div class='sfsibeforpstwpr' style='" . $style_parent . "'>";
438
+ $icons_before .= "<div class='sfsi_plus_Sicons " . $float . "' style='" . $style . "'>";
439
+ if ($sfsi_plus_display_button_type == 'standard_buttons') {
440
+ if (
441
+ $sfsi_section8['sfsi_plus_rectsub'] == 'yes' ||
442
+ $sfsi_section8['sfsi_plus_rectfb'] == 'yes' ||
443
+ $sfsi_section8['sfsi_plus_recttwtr'] == 'yes' ||
444
+ $sfsi_section8['sfsi_plus_rectpinit'] == 'yes' ||
445
+ $sfsi_section8['sfsi_plus_rectfbshare'] == 'yes'
446
+ ) {
447
+ $icons_before .= "<div style='display: inline-block;margin-bottom: 0; margin-left: 0; margin-right: 8px; margin-top: 0; vertical-align: middle;width: auto;'><span>" . $txt . "</span></div>";
448
+ }
449
+ if ($sfsi_section8['sfsi_plus_rectsub'] == 'yes') {
450
+ if ($show_count) {
451
+ $sfsiLikeWithsub = "93px";
452
+ } else {
453
+ $sfsiLikeWithsub = "64px";
454
+ }
455
+ if (!isset($sfsiLikeWithsub)) {
456
+ $sfsiLikeWithsub = $sfsiLikeWith;
457
+ }
458
+ $icons_before .= "<div class='sf_subscrbe' style='display: inline-block;vertical-align: middle;width: auto;'>" . sfsi_plus_Subscribelike($permalink, $show_count) . "</div>";
459
+ }
460
+ if ($sfsi_section8['sfsi_plus_rectfb'] == 'yes' || $sfsi_section8['sfsi_plus_rectfbshare'] == 'yes') {
461
+ if ($show_count) { } else {
462
+ $sfsiLikeWithfb = "48px";
463
+ }
464
+ if (!isset($sfsiLikeWithfb)) {
465
+ $sfsiLikeWithfb = $sfsiLikeWith;
466
+ }
467
+ $icons_before .= "<div class='sf_fb' style='display: inline-block; vertical-align: middle;width: auto;'>" . sfsi_plus_FBlike($permalink, $show_count) . "</div>";
468
+ }
469
+ if ($sfsi_section8['sfsi_plus_rectfbshare'] == 'yes') {
470
+ if ($show_count) { } else {
471
+ $sfsiLikeWithfbshare = "48px";
472
+ }
473
+ if (!isset($sfsiLikeWithfbshare)) {
474
+ $sfsiLikeWithfbshare = $sfsiLikeWith;
475
+ }
476
+ $icons_before .= "<div class='sf_fb' style='display: inline-block; vertical-align: middle;width: auto;'>" . sfsi_plus_FBshare($permalink, $show_count) . "</div>";
477
+ }
478
+ if ($sfsi_section8['sfsi_plus_recttwtr'] == 'yes') {
479
+ if ($show_count) {
480
+ $sfsiLikeWithtwtr = "77px";
481
+ } else {
482
+ $sfsiLikeWithtwtr = "56px";
483
+ }
484
+ if (!isset($sfsiLikeWithtwtr)) {
485
+ $sfsiLikeWithtwtr = $sfsiLikeWith;
486
+ }
487
+ $icons_before .= "<div class='sf_twiter' style='display: inline-block;vertical-align: middle;width: auto;'>" . sfsi_plus_twitterlike($permalink, $show_count) . "</div>";
488
+ }
489
+ if ($sfsi_section8['sfsi_plus_rectpinit'] == 'yes') {
490
+ if ($show_count) {
491
+ $sfsiLikeWithpinit = "100px";
492
+ } else {
493
+ $sfsiLikeWithpinit = "auto";
494
+ }
495
+ $icons_before .= "<div class='sf_pinit' style='display: inline-block;vertical-align: middle;text-align:left;width: " . $sfsiLikeWithpinit . "'>" . sfsi_plus_pinitpinterest($permalink, $show_count) . "</div>";
496
+ }
497
+ }else if($sfsi_section8['sfsi_plus_display_button_type'] == 'responsive_button'){
498
+ // if (isset($sfsi_section8['sfsi_plus_responsive_icons_end_post']) && $sfsi_section8['sfsi_plus_responsive_icons_end_post'] == "yes") {
499
+ // $icons_before .= sfsi_plus_social_responsive_buttons(null, $sfsi_section8);
500
+ // }
501
+ $icons_before .="";
502
+ } else {
503
+ $icons_before .= "<div style='float:left;margin:0 0px; line-height:" . $lineheight . "px'><span>" . $txt . "</span></div>";
504
+ $icons_before .= sfsi_plus_check_posts_visiblity(0, "yes");
505
+ }
506
+ $icons_before .= "</div>";
507
+ $icons_before .= "</div>";
508
+ //icon selection
509
+ if ($id && $post && $post->post_type == 'post') {
510
+ $content = $icons_before . $content;
511
+ } else {
512
+ $contnet = $content;
513
+ }
514
+ }
515
+ if ($sfsi_section8['sfsi_plus_show_item_onposts'] == "yes") {
516
+ //icon selection
517
+ $icons_after .= "<div class='sfsiaftrpstwpr' style='" . $style_parent . "'>";
518
+ $icons_after .= "<div class='sfsi_plus_Sicons " . $float . "' style='" . $style . "'>";
519
+ if($sfsi_section8['sfsi_plus_display_after_blogposts'] == "yes"){
520
+ if ($sfsi_plus_display_button_type == 'standard_buttons') {
521
+ if (
522
+ $sfsi_section8['sfsi_plus_rectsub'] == 'yes' ||
523
+ $sfsi_section8['sfsi_plus_rectfb'] == 'yes' ||
524
+ $sfsi_section8['sfsi_plus_recttwtr'] == 'yes' ||
525
+ $sfsi_section8['sfsi_plus_rectpinit'] == 'yes' ||
526
+ $sfsi_section8['sfsi_plus_rectfbshare'] == 'yes'
527
+ ) {
528
+ $icons_after .= "<div style='display: inline-block;margin-bottom: 0; margin-left: 0; margin-right: 8px; margin-top: 0; vertical-align: middle;width: auto;'><span>" . $txt . "</span></div>";
529
+ }
530
+ if ($sfsi_section8['sfsi_plus_rectsub'] == 'yes') {
531
+ if ($show_count) {
532
+ $sfsiLikeWithsub = "93px";
533
+ } else {
534
+ $sfsiLikeWithsub = "64px";
535
+ }
536
+ if (!isset($sfsiLikeWithsub)) {
537
+ $sfsiLikeWithsub = $sfsiLikeWith;
538
+ }
539
+ $icons_after .= "<div class='sf_subscrbe' style='display: inline-block;vertical-align: middle; width: auto;'>" . sfsi_plus_Subscribelike($permalink, $show_count) . "</div>";
540
+ }
541
+ if ($sfsi_section8['sfsi_plus_rectfb'] == 'yes' || $sfsi_section8['sfsi_plus_rectfbshare'] == 'yes') {
542
+ if ($show_count) { } else {
543
+ $sfsiLikeWithfb = "48px";
544
+ }
545
+ if (!isset($sfsiLikeWithfb)) {
546
+ $sfsiLikeWithfb = $sfsiLikeWith;
547
+ }
548
+ $icons_after .= "<div class='sf_fb' style='display: inline-block; vertical-align: middle;width: auto;'>" . sfsi_plus_FBlike($permalink, $show_count) . "</div>";
549
+ }
550
+ if ($sfsi_section8['sfsi_plus_rectfbshare'] == 'yes') {
551
+ if ($show_count) { } else {
552
+ $sfsiLikeWithfbshare = "48px";
553
+ }
554
+ if (!isset($sfsiLikeWithfbshare)) {
555
+ $sfsiLikeWithfbshare = $sfsiLikeWith;
556
+ }
557
+ $icons_after .= "<div class='sf_fb' style='display: inline-block; vertical-align: middle;width: auto;'>" . sfsi_plus_FBshare($permalink, $show_count) . "</div>";
558
+ }
559
+ if ($sfsi_section8['sfsi_plus_recttwtr'] == 'yes') {
560
+ if ($show_count) {
561
+ $sfsiLikeWithtwtr = "77px";
562
+ } else {
563
+ $sfsiLikeWithtwtr = "56px";
564
+ }
565
+ if (!isset($sfsiLikeWithtwtr)) {
566
+ $sfsiLikeWithtwtr = $sfsiLikeWith;
567
+ }
568
+ $icons_after .= "<div class='sf_twiter' style='display: inline-block;vertical-align: middle;width: auto;'>" . sfsi_plus_twitterlike($permalink, $show_count) . "</div>";
569
+ }
570
+ if ($sfsi_section8['sfsi_plus_rectpinit'] == 'yes') {
571
+ if ($show_count) {
572
+ $sfsiLikeWithpinit = "100px";
573
+ } else {
574
+ $sfsiLikeWithpinit = "auto";
575
+ }
576
+ $icons_after .= "<div class='sf_pinit' style='display: inline-block;text-align:left;vertical-align: middle;width: " . $sfsiLikeWithpinit . "'>" . sfsi_plus_pinitpinterest($permalink, $show_count) . "</div>";
577
+ }
578
+ }else if($sfsi_section8['sfsi_plus_display_button_type'] == 'responsive_button'){
579
+ // if (isset($sfsi_section8['sfsi_plus_responsive_icons_end_post']) && $sfsi_section8['sfsi_plus_responsive_icons_end_post'] == "yes") {
580
+ // $icons_after .= sfsi_plus_social_responsive_buttons(null, $sfsi_section8);
581
+ // }
582
+ $icons_after .= "";
583
+ } else {
584
+ $icons_after .= "<div style='float:left;margin:0 0px; line-height:" . $lineheight . "px'><span>" . $txt . "</span></div>";
585
+ $icons_after .= sfsi_plus_check_posts_visiblity(0, "yes");
586
+ }
587
+ }else{
588
+ if(isset($sfsi_section8['sfsi_plus_display_button_type']) && $sfsi_section8['sfsi_plus_display_button_type'] == 'responsive_button'){
589
+ if (isset($sfsi_section8['sfsi_plus_responsive_icons_end_post']) && $sfsi_section8['sfsi_plus_responsive_icons_end_post'] == "yes") {
590
+ $icons_after .= sfsi_plus_social_responsive_buttons(null, $sfsi_section8);
591
+ }
592
+ }
593
+ }
594
+ $icons_after .= "</div>";
595
+ $icons_after .= "</div>";
596
+ //icon selection
597
+ $content = $content . $icons_after;
598
+ }
599
+ }
600
+ return $content;
601
+ }
602
+
603
+ //getting line height for the icons
604
+ function sfsi_plus_getlinhght($lineheight)
605
+ {
606
+ if ($lineheight < 16) {
607
+ $lineheight = $lineheight * 2;
608
+ return $lineheight;
609
+ } elseif ($lineheight >= 16 && $lineheight < 20) {
610
+ $lineheight = $lineheight + 10;
611
+ return $lineheight;
612
+ } elseif ($lineheight >= 20 && $lineheight < 28) {
613
+ $lineheight = $lineheight + 3;
614
+ return $lineheight;
615
+ } elseif ($lineheight >= 28 && $lineheight < 40) {
616
+ $lineheight = $lineheight + 4;
617
+ return $lineheight;
618
+ } elseif ($lineheight >= 40 && $lineheight < 50) {
619
+ $lineheight = $lineheight + 5;
620
+ return $lineheight;
621
+ }
622
+ $lineheight = $lineheight + 6;
623
+ return $lineheight;
624
+ }
625
+
626
+ //sanitizing values
627
+ function sfsi_plus_string_sanitize($s)
628
+ {
629
+ $result = preg_replace("/[^a-zA-Z0-9]+/", " ", html_entity_decode($s, ENT_QUOTES));
630
+ return $result;
631
+ }
632
+
633
+ add_action('admin_notices', 'sfsi_plus_admin_notice', 10);
634
+ function sfsi_plus_admin_notice()
635
+ {
636
+ if (isset($_GET['page']) && $_GET['page'] == "sfsi-plus-options") {
637
+ $style = "overflow: hidden; margin:12px 3px 0px;";
638
+ } else {
639
+ $style = "overflow: hidden;";
640
+ }
641
+ ?>
642
+ <?php
643
+
644
+ if (get_option("sfsi_plus_show_premium_notification") == "yes") {
645
+ ?>
646
+ <style>
647
+ .sfsi_plus_show_prem_notification a {
648
+ color: #fff;
649
+ text-decoration: underline;
650
+ }
651
+
652
+ form.sfsi_plus_premiumNoticeDismiss {
653
+ display: inline-block;
654
+ margin: 5px 0 0;
655
+ vertical-align: middle;
656
+ }
657
+
658
+ .sfsi_plus_premiumNoticeDismiss input[type='submit'] {
659
+ background-color: transparent;
660
+ border: medium none;
661
+ color: #fff;
662
+ margin: 0;
663
+ padding: 0;
664
+ cursor: pointer;
665
+ }
666
+ </style>
667
+ <div class="updated sfsi_plus_show_prem_notification" style="<?php echo $style; ?>background-color: #38B54A; color: #fff; font-size: 18px;">
668
+ <div class="alignleft" style="margin: 9px 0;">
669
+ <?php _e('BIG NEWS : There is now a Premium Ultimate Social Media Plugin available with many more cool features: ', SFSI_PLUS_DOMAIN); ?><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=notification_banner&utm_medium=banner" target="_blank"><?php _e('Check it out', SFSI_PLUS_DOMAIN); ?></a>
670
+ </div>
671
+ <div class="alignright">
672
+ <form method="post" class="sfsi_plus_premiumNoticeDismiss">
673
+ <input type="hidden" name="sfsi-plus_dismiss-premiumNotice" value="true">
674
+ <input type="submit" name="dismiss" value="Dismiss" />
675
+ </form>
676
+ </div>
677
+ </div>
678
+ <?php
679
+ }
680
+
681
+
682
+ if (is_ssl()) {
683
+
684
+ // Check if banner is displayed by free plugin
685
+ $isshowingFreePluginBanner = false;
686
+
687
+ if (!get_option("show_premium_cumulative_count_notification") && get_option("show_premium_cumulative_count_notification") == "yes") {
688
+ $isshowingFreePluginBanner = true;
689
+ }
690
+
691
+
692
+ if (get_option("sfsi_plus_show_premium_cumulative_count_notification") == "yes" && !$isshowingFreePluginBanner) {
693
+ ?>
694
+ <style>
695
+ .sfsi_plus_show_premium_cumulative_count_notification a {
696
+ color: #fff;
697
+ text-decoration: underline;
698
+ cursor: pointer;
699
+ }
700
+
701
+ form.sfsi_plus_premiumNoticeCumulativeCountDismiss {
702
+ display: inline-block;
703
+ margin: 5px 0 0;
704
+ vertical-align: middle;
705
+ }
706
+
707
+ .sfsi_plus_premiumNoticeCumulativeCountDismiss input[type='submit'] {
708
+ background-color: transparent;
709
+ border: medium none;
710
+ color: #fff;
711
+ margin: 0;
712
+ padding: 0;
713
+ cursor: pointer;
714
+ }
715
+ </style>
716
+ <div class="updated sfsi_plus_show_premium_cumulative_count_notification" style="<?php echo $style; ?>background-color: #38B54A; color: #fff; font-size: 18px;">
717
+ <div class="alignleft" style="margin: 9px 0;">
718
+ <b><?php _e('Recently switched to https?', SFSI_PLUS_DOMAIN); ?></b> <?php _e('If you don’t want to lose the Facebook share &amp; like counts', SFSI_PLUS_DOMAIN); ?> <a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=https_share_counts&utm_medium=banner" target="_blank"><?php _e('have a look at our Premium Plugin', SFSI_PLUS_DOMAIN); ?></a><?php _e(', we found a fix for that:', SFSI_PLUS_DOMAIN); ?> <a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=https_share_counts&utm_medium=banner" target="_blank"><?php _e('Check it out', SFSI_PLUS_DOMAIN); ?></a>
719
+ </div>
720
+ <div class="alignright">
721
+ <form method="post" class="sfsi_plus_premiumNoticeCumulativeCountDismiss">
722
+ <input type="hidden" name="sfsi-plus_dismiss-premiumCumulativeCountNotice" value="true">
723
+ <input type="submit" name="dismiss" value="Dismiss" />
724
+ </form>
725
+ </div>
726
+ </div>
727
+ <?php
728
+ }
729
+ }
730
+
731
+ if (get_option("sfsi_plus_show_Setting_mobile_notification") == "yes") {
732
+ $sfsi_plus_install_date = strtotime(get_option('sfsi_plus_installDate'));
733
+ $sfsi_plus_future_date = strtotime('14 days', $sfsi_plus_install_date);
734
+ $sfsi_plus_past_date = strtotime("now");
735
+ if ($sfsi_plus_past_date >= $sfsi_plus_future_date) {
736
+ ?>
737
+ <style>
738
+ .sfsi_plus_show_mobile_setting_notification a {
739
+ color: #fff;
740
+ text-decoration: underline;
741
+ }
742
+
743
+ form.sfsi_plus_mobileNoticeDismiss {
744
+ display: inline-block;
745
+ margin: 5px 0 0;
746
+ vertical-align: middle;
747
+ }
748
+
749
+ .sfsi_plus_mobileNoticeDismiss input[type='submit'] {
750
+ background-color: transparent;
751
+ border: medium none;
752
+ color: #fff;
753
+ margin: 0;
754
+ padding: 0;
755
+ cursor: pointer;
756
+ }
757
+ </style>
758
+
759
+ <!-- <div class="updated sfsi_plus_show_mobile_setting_notification" style="<?php //echo $style;
760
+ ?>background-color: #38B54A; color: #fff; font-size: 18px;">
761
+ <div class="alignleft" style="margin: 9px 0; width: 95%; line-height: 25px;">
762
+ <b><?php //_e( 'Over 50% of visitors are mobile visitors:', SFSI_PLUS_DOMAIN);
763
+ ?></b>
764
+ <?php //_e( ' Make sure your social media icons look good on mobile too, so that people like & share your site. With the premium plugin you can define the location of the icons separately on mobile: ', SFSI_PLUS_DOMAIN);
765
+ ?><a href="https://www.ultimatelysocial.com/usmpremium/?utm_expid=92383224-1.TfahStjhTrSpmi_nxkXt1w.1&utm_source=usmplus_settings_page&utm_campaign=check_mobile&utm_medium=banner" target="_blank"><?php //_e( 'Check it out', SFSI_PLUS_DOMAIN);
766
+ ?></a>
767
+ </div>
768
+ <div class="alignright">
769
+ <form method="post" class="sfsi_plus_mobileNoticeDismiss">
770
+ <input type="hidden" name="sfsi-plus_dismiss-settingmobileNotice" value="true">
771
+ <input type="submit" name="dismiss" value="Dismiss" />
772
+ </form>
773
+ </div>
774
+ </div> -->
775
+ <?php
776
+ }
777
+ }
778
+
779
+ $phpVersion = phpVersion();
780
+ if ($phpVersion <= '5.4') {
781
+ if (get_option("sfsi_plus_serverphpVersionnotification") == "yes") {
782
+
783
+ ?>
784
+ <style>
785
+ .sfsi_plus_show_phperror_notification {
786
+ color: #fff;
787
+ text-decoration: underline;
788
+ }
789
+
790
+ form.sfsi_plus_phperrorNoticeDismiss {
791
+ display: inline-block;
792
+ margin: 5px 0 0;
793
+ vertical-align: middle;
794
+ }
795
+
796
+ .sfsi_plus_phperrorNoticeDismiss input[type='submit'] {
797
+ background-color: transparent;
798
+ border: medium none;
799
+ color: #fff;
800
+ margin: 0;
801
+ padding: 0;
802
+ cursor: pointer;
803
+ }
804
+
805
+ .sfsi_plus_show_phperror_notification p {
806
+ line-height: 22px;
807
+ }
808
+
809
+ p.sfsi_plus_show_notifictaionpragraph {
810
+ padding: 0 !important;
811
+ font-size: 18px;
812
+ }
813
+ </style>
814
+ <div class="updated sfsi_plus_show_phperror_notification" style="<?php echo $style; ?>background-color: #D22B2F; color: #fff; font-size: 18px; border-left-color: #D22B2F;">
815
+ <div class="alignleft" style="margin: 9px 0;">
816
+ <p class="sfsi_plus_show_notifictaionpragraph">
817
+ <?php _e('We noticed you are running your site on a PHP version older than 5.6. Please upgrade to a more recent version. This is not only important for running the Ultimate Social Media Plugin, but also for security reasons in general.', SFSI_PLUS_DOMAIN); ?>
818
+ <br>
819
+ <?php _e('If you do not know how to do the upgrade, please ask your server team or hosting company to do it for you.', SFSI_PLUS_DOMAIN); ?>
820
+ </p>
821
+
822
+ </div>
823
+ <div class="alignright">
824
+ <form method="post" class="sfsi_plus_phperrorNoticeDismiss">
825
+ <input type="hidden" name="sfsi-plus_dismiss-phperrorNotice" value="true">
826
+ <input type="submit" name="dismiss" value="Dismiss" />
827
+ </form>
828
+ </div>
829
+ </div>
830
+
831
+ <?php
832
+ }
833
+ }
834
+
835
+ sfsi_plus_error_reporting_notice();
836
+ }
837
+
838
+
839
+ add_action('admin_init', 'sfsi_plus_dismiss_admin_notice');
840
+ function sfsi_plus_dismiss_admin_notice()
841
+ {
842
+ if (isset($_REQUEST['sfsi-plus_dismiss-premiumNotice']) && $_REQUEST['sfsi-plus_dismiss-premiumNotice'] == 'true') {
843
+ update_option('sfsi_plus_show_premium_notification', "no");
844
+ //header("Location: ".site_url()."/wp-admin/admin.php?page=sfsi-options");die;
845
+ }
846
+
847
+ if (isset($_REQUEST['sfsi-plus_dismiss-premiumCumulativeCountNotice']) && $_REQUEST['sfsi-plus_dismiss-premiumCumulativeCountNotice'] == 'true') {
848
+ update_option('sfsi_plus_show_premium_cumulative_count_notification', "no");
849
+ }
850
+
851
+ if (isset($_REQUEST['sfsi-plus_dismiss-settingmobileNotice']) && $_REQUEST['sfsi-plus_dismiss-settingmobileNotice'] == 'true') {
852
+ update_option('sfsi_plus_show_Setting_mobile_notification', "no");
853
+ //header("Location: ".site_url()."/wp-admin/admin.php?page=sfsi-options");die;
854
+ }
855
+ if (isset($_REQUEST['sfsi-plus_dismiss-phperrorNotice']) && $_REQUEST['sfsi-plus_dismiss-phperrorNotice'] == 'true') {
856
+ update_option('sfsi_plus_serverphpVersionnotification', "no");
857
+ }
858
+ }
859
+
860
+ add_action('plugins_loaded', 'sfsi_plus_load_domain');
861
+ function sfsi_plus_load_domain()
862
+ {
863
+ $plugin_dir = basename(dirname(__FILE__)) . '/languages';
864
+ load_plugin_textdomain('ultimate-social-media-plus', false, $plugin_dir);
865
+ }
866
+
867
+ function sfsi_plus_get_bloginfo($url)
868
+ {
869
+ $web_url = get_bloginfo($url);
870
+
871
+ //Block to use feedburner url
872
+ if (preg_match("/(feedburner)/im", $web_url, $match)) {
873
+ $web_url = site_url() . "/feed";
874
+ }
875
+ return $web_url;
876
+ }
877
+ /* plugin action link*/
878
+ add_filter('plugin_action_links_' . plugin_basename(__FILE__), 'sfsi_plus_action_links', 3);
879
+ function sfsi_plus_action_links($mylinks)
880
+ {
881
+ $linkQuestion = '<a target="_blank" href="https://goo.gl/MU6pTN#new-topic-0" style="color:#FF0000;"><b>Need help?</b></a>';
882
+ $linkProVersion = '<a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_manage_plugin_page&utm_campaign=check_out_pro_version&utm_medium=banner" style="color:#38B54A;"><b>Check out pro version</b></a>';
883
+
884
+ if (isset($mylinks['edit']) && !empty($mylinks['edit'])) {
885
+ $mylinks[] = @$mylinks['edit'];
886
+ }
887
+
888
+ //array_unshift($mylinks, $linkProVersion);
889
+ array_unshift($mylinks, $linkQuestion);
890
+
891
+ $slug = plugin_basename(dirname(__FILE__));
892
+
893
+ //$mylinks[$slug] = @$mylinks["deactivate"].'<i class="sfsi-plus-deactivate-slug"></i>';
894
+
895
+ $mylinks[] = '<a href="' . admin_url("/admin.php?page=sfsi-plus-options") . '">Settings</a>';
896
+
897
+ unset($mylinks['edit']);
898
+ //unset ($mylinks['deactivate']);
899
+
900
+ return $mylinks;
901
+ }
902
+
903
+ global $pagenow;
904
+
905
+ if ('plugins.php' === $pagenow) {
906
+
907
+ add_action('admin_footer', '_sfsi_plus_add_deactivation_feedback_dialog_box');
908
+
909
+ function _sfsi_plus_add_deactivation_feedback_dialog_box()
910
+ {
911
+
912
+ include_once(SFSI_PLUS_DOCROOT . '/views/deactivation/sfsi_deactivation_popup.php'); ?>
913
+
914
+ <script>
915
+ jQuery(document).ready(function($) {
916
+
917
+ var _plus_deactivationLink = $('.sfsi-plus-deactivate-slug').prev();
918
+
919
+ _plus_deactivationLink.parent().prev().remove();
920
+
921
+ $('.sfsi-plus-deactivation-reason-link').find('a').attr('href', _plus_deactivationLink.attr('href'));
922
+
923
+ _plus_deactivationLink.on('click', function(e) {
924
+ e.preventDefault();
925
+ $('[data-popup="plus-popup-1"]').fadeIn(350);
926
+ });
927
+
928
+ //----- CLOSE
929
+ $('[data-popup-close]').on('click', function(e) {
930
+ e.preventDefault();
931
+ var targeted_popup_class = jQuery(this).attr('data-popup-close');
932
+ $('[data-popup="' + targeted_popup_class + '"]').fadeOut(350);
933
+ });
934
+
935
+ //----- OPEN
936
+ $('[data-popup-open]').on('click', function(e) {
937
+ e.preventDefault();
938
+ var targeted_popup_class = jQuery(this).attr('data-popup-open');
939
+ $('[data-popup="' + targeted_popup_class + '"]').fadeIn(350);
940
+ });
941
+
942
+ });
943
+ </script>
944
+
945
+ <?php }
946
+ }
947
+
948
+
949
+ function sfsi_plus_getdomain($url)
950
+ {
951
+ $pieces = parse_url($url);
952
+ $domain = isset($pieces['host']) ? $pieces['host'] : '';
953
+ if (preg_match('/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $domain, $regs)) {
954
+ return $regs['domain'];
955
+ }
956
+ return false;
957
+ }
958
+
959
+ // create a scheduled event (if it does not exist already)
960
+ function sfsi_plus_sf_instagram_count_fetcher()
961
+ {
962
+ $sfsi_plus_SocialHelper = new sfsi_plus_SocialHelper();
963
+ $feed_id = sanitize_text_field(get_option('sfsi_plus_feed_id', false));
964
+ return $sfsi_plus_SocialHelper->SFSI_getFeedSubscriberFetch();
965
+ }
966
+ function sfsi_plus_cronstarter_activation()
967
+ {
968
+ // sfsi_plus_write_log(wp_next_scheduled( 'sfsi_plus_sf_instagram_count_fetcher' ));
969
+ if (!wp_next_scheduled('sfsi_plus_sf_instagram_count_fetcher')) {
970
+ wp_schedule_event(time(), 'daily', 'sfsi_plus_sf_instagram_count_fetcher');
971
+ }
972
+ }
973
+ // and make sure it's called whenever WordPress loads
974
+ add_action('wp', 'sfsi_plus_cronstarter_activation');
975
+
976
+ /* redirect setting page hook */
977
+ add_action('admin_init', 'sfsi_plus_plugin_redirect');
978
+ function sfsi_plus_plugin_redirect()
979
+ {
980
+ if (get_option('sfsi_plus_plugin_do_activation_redirect', false)) {
981
+ delete_option('sfsi_plus_plugin_do_activation_redirect');
982
+ wp_redirect(admin_url('admin.php?page=sfsi-plus-options'));
983
+ }
984
+ }
985
+ function sfsi_plus_curl_error_notification()
986
+ {
987
+ if (get_option("sfsi_plus_curlErrorNotices") == "yes") {
988
+
989
+ ?>
990
+ <script>
991
+ jQuery(document).ready(function(e) {
992
+ jQuery(".sfsi_plus_curlerror_cross").click(function() {
993
+ SFSI.ajax({
994
+ url: sfsi_plus_ajax_object.ajax_url,
995
+ type: "post",
996
+ data: {
997
+ action: "sfsiplus_curlerrornotification",
998
+ nonce: '<?php echo wp_create_nonce('
999
+ plus_curlerrornotification '); ?>'
1000
+ },
1001
+ success: function(msg) {
1002
+ jQuery(".sfsiplus_curlerror").hide("fast");
1003
+
1004
+ }
1005
+ });
1006
+ });
1007
+ });
1008
+ </script>
1009
+
1010
+ <div class="sfsiplus_curlerror">
1011
+ <?php _e('We noticed that your site returns a cURL error («Error: ', SFSI_PLUS_DOMAIN); ?>
1012
+ <?php echo ucfirst(get_option("sfsi_plus_curlErrorMessage")); ?>
1013
+ <?php _e('»). This mean that it cannot send a notification to SpecificFeeds.com when a new post is published. Therefore this email-feature doesn’t work. However there are several solutions for this, please visit our FAQ to see the solutions («Perceived bugs» => «cURL error messages»): ', SFSI_PLUS_DOMAIN); ?>
1014
+ <a href="https://www.ultimatelysocial.com/faq/" target="_new">
1015
+ <?php _e('www.ultimatelysocial.com/faq', SFSI_PLUS_DOMAIN); ?>
1016
+ </a>
1017
+ <div class="sfsi_plus_curlerror_cross"><?php _e('Dismiss', SFSI_PLUS_DOMAIN); ?></div>
1018
+ </div>
1019
+ <?php
1020
+ }
1021
+ }
1022
+
1023
+ // ********************************* Link to support forum for different languages STARTS *******************************//
1024
+
1025
+ function sfsi_plus_get_language_notice_text()
1026
+ {
1027
+
1028
+ $currLang = get_locale();
1029
+ $text = '';
1030
+
1031
+ switch ($currLang) {
1032
+
1033
+ // Arabic
1034
+ case 'ar':
1035
+
1036
+ $text = "hal tatakalam alearabia? 'iidha kanat ladayk 'asyilat hawl almukawan al'iidafii l Ultimate Social Media , aitruh sualik fi muntadaa aldaem , sanuhawil alrada biallughat alearabiat: <a target='_blank' href='https://goo.gl/o42Beq'><b>'unqur huna</b></a>";
1037
+ break;
1038
+
1039
+ // Chinese - simplified
1040
+ case 'zh-Hans':
1041
+
1042
+ $text = "你会说中文吗?如果您有关于Ultimate Social Media插件的问题,请在支持论坛中提出您的问题,我们将尝试用中文回复:<a target='_blank' href='https://goo.gl/o42Beq'><b>点击此处</b></a>";
1043
+ break;
1044
+
1045
+ // Chinese - traditional
1046
+ case 'zh-Hant':
1047
+
1048
+ $text = "你會說中文嗎?如果您有關於Ultimate Social Media插件的問題,請在支持論壇中提出您的問題,我們將嘗試用中文回复:<a target='_blank' href='https://goo.gl/o42Beq'><b>點擊此處</b></a>";
1049
+ break;
1050
+
1051
+ // Dutch, Dutch (Belgium)
1052
+ case 'nl_NL':
1053
+ case 'nl_BE':
1054
+ $text = "Jij spreekt Nederlands? Als je vragen hebt over de Ultimate Social Media-plug-in, stel je vraag in het ondersteuningsforum, we zullen proberen in het Nederlands te antwoorden: <a target='_blank' href='https://goo.gl/o42Beq'>klik hier</a>";
1055
+ break;
1056
+
1057
+ // French (Belgium), French (France)
1058
+ case 'fr_BE':
1059
+ case 'fr_FR':
1060
+
1061
+ $text = "Vous parlez français? Si vous avez des questions sur le plugin Ultimate Social Media, posez votre question sur le forum de support, nous essaierons de répondre en français: <a target='_blank' href='https://goo.gl/o42Beq'>Cliquez ici</a>";
1062
+ break;
1063
+
1064
+ // German, German (Switzerland)
1065
+ case 'de':
1066
+ case 'de_CH':
1067
+
1068
+ $text = "Du sprichst Deutsch? Wenn Du Fragen zum Ultimate Social Media-Plugins hast, einfach im Support Forum fragen. Wir antworten auch auf Deutsch! <a target='_blank' href='https://goo.gl/o42Beq'>Klicke hier</a>";
1069
+ break;
1070
+
1071
+ // Greek
1072
+ case 'el':
1073
+
1074
+ $text = "Μιλάτε Ελληνικά? Αν έχετε ερωτήσεις σχετικά με το plugin Ultimate Social Media, ρωτήστε την ερώτησή σας στο φόρουμ υποστήριξης, θα προσπαθήσουμε να απαντήσουμε στα ελληνικά: <a target='_blank' href='https://goo.gl/o42Beq'>Κάντε κλικ εδώ</a>";
1075
+ break;
1076
+
1077
+ // Hebrew
1078
+ case 'he_IL':
1079
+
1080
+ $text = "אתה מדבר עברית? אם יש לך שאלות על תוסף המדיה החברתית האולטימטיבית, שאל את השאלה שלך בפורום התמיכה, ננסה לענות בעברית: <a target='_blank' href='https://goo.gl/o42Beq'>לחץ כאן</a>";
1081
+ break;
1082
+
1083
+ // Hindi
1084
+ case 'hi_IN':
1085
+
1086
+ $text = "आप हिंदी बोलते हो? यदि आपके पास अल्टीमेट सोशल मीडिया प्लगइन के बारे में कोई प्रश्न है, तो समर्थन फोरम में अपना प्रश्न पूछें, हम हिंदी में जवाब देने का प्रयास करेंगे: <a target='_blank' href='https://goo.gl/o42Beq'>यहां क्लिक करें</a>";
1087
+ break;
1088
+
1089
+ // Indonesian
1090
+ case 'id':
1091
+
1092
+ $text = "Anda berbicara bahasa Indonesia? Jika Anda memiliki pertanyaan tentang plugin Ultimate Social Media, ajukan pertanyaan Anda di Forum Dukungan, kami akan mencoba menjawab dalam Bahasa Indonesia: <a target='_blank' href='https://goo.gl/o42Beq'>Klik di sini</a>";
1093
+
1094
+ break;
1095
+
1096
+ // Italian
1097
+ case 'it_IT':
1098
+
1099
+ $text = "Tu parli italiano? Se hai domande sul plugin Ultimate Social Media, fai la tua domanda nel Forum di supporto, cercheremo di rispondere in italiano: <a target='_blank' href='https://goo.gl/o42Beq'>clicca qui</a>";
1100
+
1101
+ break;
1102
+
1103
+ // Japanese
1104
+ case 'ja':
1105
+
1106
+ $text = "あなたは日本語を話しますか?アルティメットソーシャルメディアのプラグインに関する質問がある場合は、サポートフォーラムで質問してください。日本語で対応しようと思っています:<a target='_blank' href='https://goo.gl/o42Beq'>ここをクリック</a>";
1107
+
1108
+ break;
1109
+
1110
+ // Korean
1111
+ case 'ko_KR ':
1112
+
1113
+ $text = "한국어를 할 줄 아세요? 궁극적 인 소셜 미디어 플러그인에 대해 궁금한 점이 있으면 지원 포럼에서 질문하십시오. 한국어로 답변하려고합니다 : <a target='_blank' href='https://goo.gl/o42Beq'>여기를 클릭하십시오.</a>";
1114
+
1115
+ break;
1116
+
1117
+ // Persian, Persian (Afghanistan)
1118
+ case 'fa_IR':
1119
+ case 'fa_AF':
1120
+
1121
+ $text = "شما فارسی صحبت می کنید؟ اگر سوالی در مورد پلاگین رسانه Ultimate Social دارید، سوال خود را در انجمن پشتیبانی بپرسید، سعی خواهیم کرد به فارسی پاسخ دهید: <a target='_blank' href='https://goo.gl/o42Beq'>اینجا را کلیک کنید</a>";
1122
+
1123
+ break;
1124
+
1125
+ // Polish
1126
+
1127
+ case 'pl_PL':
1128
+ $text = "Mówisz po polsku? Jeśli masz pytania dotyczące wtyczki Ultimate Social Media, zadaj pytanie na Forum pomocy technicznej, postaramy się odpowiedzieć po polsku: <a target='_blank' href='https://goo.gl/o42Beq'>Kliknij tutaj</a>";
1129
+ break;
1130
+
1131
+ //Portuguese (Brazil), Portuguese (Portugal)
1132
+
1133
+ case 'pt_BR':
1134
+ case 'pt_PT':
1135
+
1136
+ $text = "Você fala português? Se você tiver dúvidas sobre o plug-in Ultimate Social Media, faça sua pergunta no Fórum de suporte, tentaremos responder em português: <a target='_blank' href='https://goo.gl/o42Beq'>Clique aqui</a>";
1137
+
1138
+ break;
1139
+
1140
+ // Russian, Russian (Ukraine)
1141
+ case 'ru_RU':
1142
+ case 'ru_UA':
1143
+
1144
+ $text = "Ты говоришь по-русски? Если у вас есть вопросы о плагине Ultimate Social Media, задайте свой вопрос в форуме поддержки, мы постараемся ответить на русский: <a target='_blank' href='https://goo.gl/o42Beq'>Нажмите здесь</a>";
1145
+
1146
+ break;
1147
+
1148
+ /* Spanish (Argentina), Spanish (Chile), Spanish (Colombia), Spanish (Mexico),
1149
+ Spanish (Peru), Spanish (Puerto Rico), Spanish (Spain), Spanish (Venezuela) */
1150
+
1151
+ case 'es_AR':
1152
+ case 'es_CL':
1153
+ case 'es_CO':
1154
+ case 'es_MX':
1155
+ case 'es_PE':
1156
+ case 'es_PR':
1157
+ case 'es_ES':
1158
+ case 'es_VE':
1159
+
1160
+ $text = "¿Tu hablas español? Si tiene alguna pregunta sobre el complemento Ultimate Social Media, formule su pregunta en el foro de soporte, intentaremos responder en español: <a target='_blank' href='https://goo.gl/o42Beq'>haga clic aquí</a>";
1161
+ break;
1162
+
1163
+ // Swedish
1164
+
1165
+ case 'sv_SE':
1166
+
1167
+ $text = "Pratar du svenska? Om du har frågor om programmet Ultimate Social Media, fråga din fråga i supportforumet, vi försöker svara på svenska: <a target='_blank' href='https://goo.gl/o42Beq'>Klicka här</a>";
1168
+ break;
1169
+
1170
+ // Turkish
1171
+
1172
+ case 'tr_TR':
1173
+ $text = "Sen Türkçe konuş? Nihai Sosyal Medya eklentisi hakkında sorularınız varsa, sorunuza Destek Forumu'nda sorun, Türkçe olarak cevap vermeye çalışacağız: <a target='_blank' href='https://goo.gl/o42Beq'>Tıklayın</a>";
1174
+ break;
1175
+
1176
+ // Ukrainian
1177
+
1178
+ case 'uk':
1179
+ $text = "Ви говорите по-українськи? Якщо у вас є запитання про плагін Ultimate Social Media, задайте своє питання на Форумі підтримки, ми спробуємо відповісти українською: <a target='_blank' href='https://goo.gl/o42Beq'>натисніть тут</a>";
1180
+ break;
1181
+
1182
+ // Vietnamese
1183
+
1184
+ case 'vi':
1185
+ $text = "Bạn nói tiếng việt không Nếu bạn có câu hỏi về plugin Ultimate Social Media, hãy đặt câu hỏi của bạn trong Diễn đàn hỗ trợ, chúng tôi sẽ cố gắng trả lời bằng tiếng Việt: <a target='_blank' href='https://goo.gl/o42Beq'>Nhấp vào đây</a>";
1186
+ break;
1187
+ }
1188
+
1189
+ return $text;
1190
+ }
1191
+
1192
+ function sfsi_plus_language_notice()
1193
+ {
1194
+
1195
+ if (isset($_GET['page']) && "sfsi-plus-options" == $_GET['page']) :
1196
+
1197
+ $langText = sfsi_plus_get_language_notice_text();
1198
+ $isDismissed = get_option('sfsi_plus_lang_notice_dismissed');
1199
+
1200
+ if (!empty($langText) && false == $isDismissed) { ?>
1201
+
1202
+ <div id="sfsi_plus_langnotice" class="notice notice-info">
1203
+
1204
+ <p><?php _e($langText, SFSI_PLUS_DOMAIN); ?></p>
1205
+
1206
+ <button type="button" class="sfsi-notice-dismiss notice-dismiss"></button>
1207
+
1208
+ </div>
1209
+
1210
+ <?php } ?>
1211
+
1212
+ <?php endif;
1213
+ }
1214
+
1215
+
1216
+ function sfsi_plus_dismiss_lang_notice()
1217
+ {
1218
+ if (!wp_verify_nonce($_POST['nonce'], "plus_dismiss_lang_notice")) {
1219
+ echo json_encode(array('res' => "error"));
1220
+ exit;
1221
+ }
1222
+ if (!current_user_can('manage_options')) {
1223
+ echo json_encode(array('res' => 'not allowed'));
1224
+ die();
1225
+ }
1226
+ echo update_option('sfsi_plus_lang_notice_dismissed', true) ? "true" : "false";
1227
+ die;
1228
+ }
1229
+
1230
+ add_action('wp_ajax_sfsi_plus_dismiss_lang_notice', 'sfsi_plus_dismiss_lang_notice');
1231
+
1232
+ // ********************************* Link to support forum for different languages CLOSES *******************************//
1233
+
1234
+
1235
+ // ********************************* Link to support forum left of every Save button STARTS *******************************//
1236
+
1237
+ function sfsi_plus_ask_for_help($viewNumber)
1238
+ { ?>
1239
+
1240
+ <div class="sfsi_plus_askforhelp askhelpInview<?php echo $viewNumber; ?>">
1241
+
1242
+ <img src="<?php echo SFSI_PLUS_PLUGURL . "images/questionmark.png" ?>" />
1243
+
1244
+ <span>Questions? <a target="_blank" href="#" onclick="event.preventDefault();sfsi_plus_open_chat(event)"><b>Ask us</b></a></span>
1245
+
1246
+ </div>
1247
+
1248
+ <?php }
1249
+
1250
+ // ********************************* Link to support forum left of every Save button CLOSES *******************************//
1251
+
1252
+
1253
+ // ********************************* Notice for error reporting STARTS *******************************//
1254
+
1255
+ function sfsi_plus_error_reporting_notice()
1256
+ {
1257
+
1258
+ if (is_admin()) :
1259
+
1260
+ $sfsi_error_reporting_notice_txt = 'We noticed that you have set error reporting to "yes" in wp-config. Our plugin (Ultimate Social Media Plus) switches this to "off" so that no errors are displayed (which may also impact error messages from your theme or other plugins). If you don\'t want that, please select the respective option under question 6 (at the bottom).';
1261
+
1262
+ $isDismissed = get_option('sfsi_pplus_error_reporting_notice_dismissed', false);
1263
+
1264
+ $option5 = unserialize(get_option('sfsi_plus_section5_options', false));
1265
+
1266
+ $sfsi_pplus_icons_suppress_errors = isset($option5['sfsi_pplus_icons_suppress_errors']) && !empty($option5['sfsi_pplus_icons_suppress_errors']) ? $option5['sfsi_pplus_icons_suppress_errors'] : false;
1267
+
1268
+ if (isset($isDismissed) && false == $isDismissed && defined('WP_DEBUG') && false != WP_DEBUG && "yes" == $sfsi_pplus_icons_suppress_errors) { ?>
1269
+
1270
+ <div style="padding: 10px;margin-left: 0px;position: relative;" id="sfsi_error_reporting_notice" class="error notice">
1271
+
1272
+ <p><?php echo $sfsi_error_reporting_notice_txt; ?></p>
1273
+
1274
+ <button type="button" class="sfsi_pplus_error_reporting_notice-dismiss notice-dismiss"></button>
1275
+
1276
+ </div>
1277
+
1278
+ <script>
1279
+ if (typeof jQuery != 'undefined') {
1280
+
1281
+ (function sfsi_dismiss_notice(btnClass, ajaxAction, nonce) {
1282
+
1283
+ var btnClass = "." + btnClass;
1284
+
1285
+ var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
1286
+
1287
+ jQuery(document).on("click", btnClass, function() {
1288
+
1289
+ jQuery.ajax({
1290
+ url: ajaxurl,
1291
+ type: "post",
1292
+ data: {
1293
+ action: ajaxAction,
1294
+ nonce: nonce
1295
+ },
1296
+ success: function(e) {
1297
+ if (false != e) {
1298
+ jQuery(btnClass).parent().remove();
1299
+ }
1300
+ }
1301
+ });
1302
+
1303
+ });
1304
+
1305
+ }("sfsi_pplus_error_reporting_notice-dismiss", "sfsi_pplus_dismiss_error_reporting_notice", "<?php echo wp_create_nonce('plus_dismiss_error_reporting_notice'); ?>"));
1306
+ }
1307
+ </script>
1308
+
1309
+ <?php } ?>
1310
+
1311
+ <?php endif;
1312
+ }
1313
+
1314
+ function sfsi_pplus_dismiss_error_reporting_notice()
1315
+ {
1316
+ if (!wp_verify_nonce($_POST['nonce'], "plus_dismiss_error_reporting_notice")) {
1317
+ echo json_encode(array('res' => "error"));
1318
+ exit;
1319
+ }
1320
+ if (!current_user_can('manage_options')) {
1321
+ echo json_encode(array('res' => 'not allowed'));
1322
+ die();
1323
+ }
1324
+ echo (string) update_option('sfsi_pplus_error_reporting_notice_dismissed', true);
1325
+ die;
1326
+ }
1327
+ add_action('wp_ajax_sfsi_pplus_dismiss_error_reporting_notice', 'sfsi_pplus_dismiss_error_reporting_notice');
1328
+
1329
+ // ********************************* Notice for error reporting CLOSE *******************************//
1330
+
1331
+ // ********************************* Notice for removal of AddThis option STARTS *******************************//
1332
+ function sfsi_plus_addThis_removal_notice()
1333
+ {
1334
+
1335
+ if (isset($_GET['page']) && "sfsi-plus-options" == $_GET['page']) :
1336
+
1337
+ $sfsi_plus_addThis_removalText = __("We removed Addthis from the plugin due to issues with GDPR, the new EU data protection regulation.", SFSI_PLUS_DOMAIN);
1338
+
1339
+ $isDismissed = get_option('sfsi_plus_addThis_icon_removal_notice_dismissed', false);
1340
+
1341
+ if (false == $isDismissed) { ?>
1342
+
1343
+ <div id="sfsi_plus_addThis_removal_notice" class="notice notice-info">
1344
+
1345
+ <p><?php echo $sfsi_plus_addThis_removalText; ?></p>
1346
+
1347
+ <button type="button" class="sfsi_plus-AddThis-notice-dismiss notice-dismiss"></button>
1348
+
1349
+ </div>
1350
+
1351
+ <?php } ?>
1352
+
1353
+ <?php endif;
1354
+ }
1355
+
1356
+ function sfsi_plus_dismiss_addthhis_removal_notice()
1357
+ {
1358
+ if (!wp_verify_nonce($_POST['nonce'], "plus_dismiss_addthhis_removal_notice")) {
1359
+ echo json_encode(array('res' => "error"));
1360
+ exit;
1361
+ }
1362
+ if (!current_user_can('manage_options')) {
1363
+ echo json_encode(array('res' => 'not allowed'));
1364
+ die();
1365
+ }
1366
+ echo update_option('sfsi_plus_addThis_icon_removal_notice_dismissed', true) ? get_option('sfsi_plus_addThis_icon_removal_notice_dismissed', false) : "false";
1367
+ die;
1368
+ }
1369
+
1370
+ add_action('wp_ajax_sfsi_plus_dismiss_addThis_icon_notice', 'sfsi_plus_dismiss_addthhis_removal_notice');
1371
+
1372
+ // ********************************* Notice for removal of AddThis option CLOSES *******************************//
views/sfsi_option_view1.php CHANGED
@@ -1,690 +1,690 @@
1
- <?php
2
-
3
- $option1 = unserialize(get_option('sfsi_plus_section1_options', false));
4
- // var_dump($option1);
5
-
6
- /**
7
- * Sanitize, escape and validate values
8
- */
9
- $option1['sfsi_plus_rss_display'] = (isset($option1['sfsi_plus_rss_display']))
10
- ? sanitize_text_field($option1['sfsi_plus_rss_display'])
11
- : '';
12
- $option1['sfsi_plus_email_display'] = (isset($option1['sfsi_plus_email_display']))
13
- ? sanitize_text_field($option1['sfsi_plus_email_display'])
14
- : '';
15
- $option1['sfsi_plus_facebook_display'] = (isset($option1['sfsi_plus_facebook_display']))
16
- ? sanitize_text_field($option1['sfsi_plus_facebook_display'])
17
- : '';
18
- $option1['sfsi_plus_twitter_display'] = (isset($option1['sfsi_plus_twitter_display']))
19
- ? sanitize_text_field($option1['sfsi_plus_twitter_display'])
20
- : '';
21
- $option1['sfsi_plus_youtube_display'] = (isset($option1['sfsi_plus_youtube_display']))
22
- ? sanitize_text_field($option1['sfsi_plus_youtube_display'])
23
- : '';
24
- $option1['sfsi_plus_pinterest_display'] = (isset($option1['sfsi_plus_pinterest_display']))
25
- ? sanitize_text_field($option1['sfsi_plus_pinterest_display'])
26
- : '';
27
- $option1['sfsi_plus_linkedin_display'] = (isset($option1['sfsi_plus_linkedin_display']))
28
- ? sanitize_text_field($option1['sfsi_plus_linkedin_display'])
29
- : '';
30
- $option1['sfsi_plus_instagram_display'] = (isset($option1['sfsi_plus_instagram_display']))
31
- ? sanitize_text_field($option1['sfsi_plus_instagram_display'])
32
- : '';
33
- $option1['sfsi_plus_houzz_display'] = (isset($option1['sfsi_plus_houzz_display']))
34
- ? sanitize_text_field($option1['sfsi_plus_houzz_display'])
35
- : '';
36
- $option1['sfsi_plus_premium_icons_box'] = (isset($option1['sfsi_plus_premium_icons_box']))
37
- ? sanitize_text_field($option1['sfsi_plus_premium_icons_box'])
38
- : 'yes';
39
- // var_dump(get_option('sfsi_plus_custom_icons'));
40
- //MZ CODE START
41
- $option1['sfsi_plus_ok_display'] = (isset($option1['sfsi_plus_ok_display'])) ? sanitize_text_field($option1['sfsi_plus_ok_display']) : 'no';
42
- $option1['sfsi_plus_telegram_display'] = (isset($option1['sfsi_plus_telegram_display']))
43
- ? sanitize_text_field($option1['sfsi_plus_telegram_display']) : 'no';
44
- $option1['sfsi_plus_vk_display'] = (isset($option1['sfsi_plus_vk_display']))
45
- ? sanitize_text_field($option1['sfsi_plus_vk_display']) : 'no';
46
- $option1['sfsi_plus_wechat_display'] = (isset($option1['sfsi_plus_wechat_display'])) ? sanitize_text_field($option1['sfsi_plus_wechat_display']) : 'no';
47
- $option1['sfsi_plus_weibo_display'] = (isset($option1['sfsi_plus_weibo_display'])) ? sanitize_text_field($option1['sfsi_plus_weibo_display']) : 'no';
48
- //MZ CODE ENd
49
-
50
- ?>
51
-
52
- <!-- Section 1 "Which icons do you want to show on your site? " main div Start -->
53
- <div class="tab1">
54
- <p class="top_txt">
55
- <?php
56
- _e('In general, the more icons you offer the better because people have different preferences, and more options means that there’s something for everybody, increasing the chances that you get followed and/or shared.', SFSI_PLUS_DOMAIN);
57
- ?>
58
- </p>
59
- <ul class="plus_icn_listing">
60
- <!-- RSS ICON -->
61
- <li class="gary_bg">
62
- <div class="radio_section tb_4_ck">
63
- <input name="sfsi_plus_rss_display" <?php echo ($option1['sfsi_plus_rss_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_rss_display" type="checkbox" value="yes" class="styled" />
64
- </div>
65
- <span class="sfsicls_rs_s">
66
- RSS
67
- </span>
68
- <div class="sfsiplus_right_info">
69
- <p>
70
- <span>
71
- <?php _e('Strongly recommended:', SFSI_PLUS_DOMAIN); ?>
72
- </span>
73
-
74
- <?php _e('RSS is still popular, esp. among the tech-savvy crowd.', SFSI_PLUS_DOMAIN); ?>
75
-
76
- <label class="expanded-area">
77
- <?php _e('RSS stands for Really Simply Syndication and is an easy way for people to read your content. ', SFSI_PLUS_DOMAIN); ?>
78
- <a href="http://en.wikipedia.org/wiki/RSS" target="_new" title="Syndication">
79
- <?php _e('Learn more about RSS', SFSI_PLUS_DOMAIN); ?>
80
- </a>.
81
- </label>
82
- </p>
83
- <a href="javascript:;" class="expand-area"><?php _e('Read more', SFSI_PLUS_DOMAIN); ?></a>
84
- </div>
85
- </li>
86
- <!-- END RSS ICON -->
87
-
88
- <!-- EMAIL ICON -->
89
- <li class="gary_bg">
90
- <div>
91
- <div class="radio_section tb_4_ck">
92
- <input name="sfsi_plus_email_display" <?php echo ($option1['sfsi_plus_email_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_email_display" type="checkbox" value="yes" class="styled" />
93
- </div>
94
- <span class="sfsicls_email">
95
- Email
96
- </span>
97
- </div>
98
-
99
- <div class="sfsiplus_right_info">
100
- <p>
101
- <span>
102
- <?php _e('Strongly recommended:', SFSI_PLUS_DOMAIN); ?>
103
- </span>
104
-
105
- <?php _e('Email is the most effective tool to build up a followership.', SFSI_PLUS_DOMAIN); ?>
106
-
107
- <span style="float: right;margin-right: 13px; margin-top: -3px;">
108
- <?php if (get_option('sfsi_plus_footer_sec') == "yes") {
109
- $nonce = wp_create_nonce("remove_plusfooter"); ?> <a style="font-size:13px;margin-left:30px;color:#777777;" href="javascript:;" class="sfsiplus_removeFooter" data-nonce="<?php echo $nonce; ?>"><?php _e('Remove credit link', SFSI_PLUS_DOMAIN); ?></a>
110
- <?php } ?>
111
- </span>
112
- <label class="expanded-area">
113
- <?php _e('Everybody uses email – that’s why it’s much more effective than social media to make people follow you', SFSI_PLUS_DOMAIN); ?>
114
- (<a href="http://www.entrepreneur.com/article/230949" target="_new">
115
- <?php _e('learn more', SFSI_PLUS_DOMAIN); ?>
116
- </a>)
117
- <?php _e('Not offering an email subscription option means losing out on future traffic to your site.', SFSI_PLUS_DOMAIN); ?>
118
- </label>
119
- </p>
120
- <a href="javascript:;" class="expand-area"><?php _e('Read more', SFSI_PLUS_DOMAIN); ?></a>
121
- </div>
122
- </li>
123
- <!-- EMAIL ICON -->
124
-
125
- <!-- FACEBOOK ICON -->
126
- <li class="gary_bg">
127
- <div>
128
-
129
- <div class="radio_section tb_4_ck">
130
- <input name="sfsi_plus_facebook_display" <?php echo ($option1['sfsi_plus_facebook_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_facebook_display" type="checkbox" value="yes" class="styled" />
131
- </div>
132
- <span class="sfsicls_facebook">
133
- Facebook
134
- </span>
135
- </div>
136
-
137
- <div class="sfsiplus_right_info">
138
- <p>
139
- <span><?php _e('Strongly recommended:', SFSI_PLUS_DOMAIN); ?></span>
140
- <?php _e('Facebook is crucial, esp. for sharing.', SFSI_PLUS_DOMAIN); ?>
141
-
142
- <label class="expanded-area">
143
- <?php _e('Facebook is the giant in the social media world, and even if you don’t have a Facebook account yourself you should display this icon, so that Facebook users can share your site on Facebook.', SFSI_PLUS_DOMAIN); ?>
144
- </label>
145
- </p>
146
- <a href="javascript:;" class="expand-area"><?php _e('Read more', SFSI_PLUS_DOMAIN); ?></a>
147
- </div>
148
- </li>
149
- <!-- END FACEBOOK ICON -->
150
-
151
- <!-- TWITTER ICON -->
152
- <li class="gary_bg">
153
- <div>
154
-
155
- <div class="radio_section tb_4_ck">
156
- <input name="sfsi_plus_twitter_display" <?php echo ($option1['sfsi_plus_twitter_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_twitter_display" type="checkbox" value="yes" class="styled" />
157
- </div>
158
- <span class="sfsicls_twt">
159
- Twitter
160
- </span>
161
- </div>
162
- <div class="sfsiplus_right_info">
163
- <p>
164
- <span><?php _e('Strongly recommended:', SFSI_PLUS_DOMAIN); ?></span>
165
- <?php _e('Can have a strong promotional effect.', SFSI_PLUS_DOMAIN); ?>
166
-
167
- <label class="expanded-area">
168
- <?php _e('If you have a Twitter-account then adding this icon is a no-brainer. However, similar as with facebook, even if you don’t have one you should still show this icon so that Twitter-users can share your site.', SFSI_PLUS_DOMAIN); ?>
169
- </label>
170
- </p>
171
-
172
- <a href="javascript:;" class="expand-area"><?php _e('Read more', SFSI_PLUS_DOMAIN); ?></a>
173
- </div>
174
- </li>
175
- <!-- END TWITTER ICON -->
176
-
177
-
178
- <!-- YOUTUBE ICON -->
179
- <li class="vertical-align">
180
- <div>
181
-
182
- <div class="radio_section tb_4_ck">
183
- <input name="sfsi_plus_youtube_display" <?php echo ($option1['sfsi_plus_youtube_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_youtube_display" type="checkbox" value="yes" class="styled" />
184
- </div>
185
- <span class="sfsicls_utube">
186
- Youtube
187
- </span>
188
- </div>
189
- <div class="sfsiplus_right_info">
190
- <p>
191
- <span><?php _e('It depends:', SFSI_PLUS_DOMAIN); ?></span>
192
- <?php _e('Show this icon if you have a youtube account (and you should set up one if you have video content – that can increase your traffic significantly).', SFSI_PLUS_DOMAIN); ?>
193
- </p>
194
- </div>
195
- </li>
196
- <!-- END YOUTUBE ICON -->
197
-
198
- <!-- LINKEDIN ICON -->
199
- <li class="vertical-align">
200
- <div>
201
- <div class="radio_section tb_4_ck">
202
- <input name="sfsi_plus_linkedin_display" <?php echo ($option1['sfsi_plus_linkedin_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_linkedin_display" type="checkbox" value="yes" class="styled" />
203
- </div>
204
- <span class="sfsicls_linkdin">
205
- LinkedIn
206
- </span>
207
- </div>
208
- <div class="sfsiplus_right_info">
209
- <p>
210
- <span><?php _e('It depends:', SFSI_PLUS_DOMAIN); ?></span>
211
- <?php _e('No.1 network for business purposes. Use this icon if you’re a LinkedInner.', SFSI_PLUS_DOMAIN); ?>
212
- </p>
213
- </div>
214
- </li>
215
- <!-- END LINKEDIN ICON -->
216
-
217
- <!-- PINTEREST ICON -->
218
- <li class="vertical-align">
219
- <div>
220
- <div class="radio_section tb_4_ck">
221
- <input name="sfsi_plus_pinterest_display" <?php echo ($option1['sfsi_plus_pinterest_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_pinterest_display" type="checkbox" value="yes" class="styled" />
222
- </div>
223
- <span class="sfsicls_pinterest">
224
- Pinterest
225
- </span>
226
- </div>
227
- <div class="sfsiplus_right_info">
228
- <p>
229
- <span><?php _e('It depends:', SFSI_PLUS_DOMAIN); ?></span>
230
- <?php _e('Show this icon if you have a Pinterest account (and you should set up one if you publish new pictures regularly – that can increase your traffic significantly).', SFSI_PLUS_DOMAIN); ?>
231
- </p>
232
- </div>
233
- </li>
234
- <!-- END PINTEREST ICON -->
235
-
236
- <!-- INSTAGRAM ICON -->
237
- <li class="vertical-align">
238
- <div>
239
- <div class="radio_section tb_4_ck"><input name="sfsi_plus_instagram_display" <?php echo ($option1['sfsi_plus_instagram_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_instagram_display" type="checkbox" value="yes" class="styled" /></div>
240
- <span class="sfsicls_instagram">
241
- Instagram
242
- </span>
243
- </div>
244
- <div class="sfsiplus_right_info">
245
- <p>
246
- <span><?php _e('It depends:', SFSI_PLUS_DOMAIN); ?></span>
247
- <?php _e('Show this icon if you have a Instagram account.', SFSI_PLUS_DOMAIN); ?>
248
- </p>
249
- </div>
250
- </li>
251
- <!-- END INSTAGRAM ICON -->
252
-
253
-
254
- <!-- Houzz ICON -->
255
- <li class="vertical-align">
256
- <div>
257
- <div class="radio_section tb_4_ck">
258
- <input name="sfsi_plus_houzz_display" <?php echo (isset($option1['sfsi_plus_houzz_display']) && $option1['sfsi_plus_houzz_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_houzz_display" type="checkbox" value="yes" class="styled" />
259
- </div>
260
- <span class="sfsicls_houzz">
261
- Houzz
262
- </span>
263
- </div>
264
- <div class="sfsiplus_right_info">
265
- <p>
266
- <span><?php _e('It depends:', SFSI_PLUS_DOMAIN); ?></span>
267
- <?php _e('Show this icon if you have a Houzz account.', SFSI_PLUS_DOMAIN); ?>
268
-
269
- <?php _e('Houzz is the No.1 site & community in the world of architecture and interior design.', SFSI_PLUS_DOMAIN); ?>
270
- <a href="http://www.houzz.com/" target="_blank">
271
- <?php _e('Visit Houzz', SFSI_PLUS_DOMAIN); ?>
272
- </a>
273
- </p>
274
- </div>
275
- </li>
276
-
277
-
278
- <!-- END Houzz ICON -->
279
-
280
- <!--MZ CODE-->
281
-
282
- <!-- OK ICON -->
283
- <li class="vertical-align">
284
- <div>
285
- <div class="radio_section tb_4_ck">
286
- <input name="sfsi_plus_ok_display" <?php echo (isset($option1['sfsi_plus_ok_display']) && $option1['sfsi_plus_ok_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_ok_display" type="checkbox" value="yes" class="styled" />
287
- </div>
288
- <span class="sfsicls_ok">OK</span>
289
- </div>
290
- <div class="sfsiplus_right_info">
291
- <p>
292
- <span><?php _e('It depends:', SFSI_PLUS_DOMAIN); ?></span>
293
- <?php _e('Show this icon if you have a OK account.', SFSI_PLUS_DOMAIN); ?>
294
- </p>
295
- </div>
296
- </li>
297
- <!-- END OK ICON -->
298
-
299
- <!-- Telegram ICON -->
300
- <li class="vertical-align">
301
- <div>
302
- <div class="radio_section tb_4_ck">
303
- <input name="sfsi_plus_telegram_display" <?php echo (isset($option1['sfsi_plus_telegram_display']) && $option1['sfsi_plus_telegram_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_telegram_display" type="checkbox" value="yes" class="styled" />
304
- </div>
305
- <span class="sfsicls_telegram">Telegram</span>
306
- </div>
307
- <div class="sfsiplus_right_info">
308
- <p>
309
- <span><?php _e('It depends:', SFSI_PLUS_DOMAIN); ?></span>
310
- <?php _e('Show this icon if you have a Telegram account.', SFSI_PLUS_DOMAIN); ?>
311
- </p>
312
- </div>
313
- </li>
314
- <!-- END Telegram ICON -->
315
-
316
-
317
-
318
- <!-- VK ICON -->
319
- <li class="vertical-align">
320
- <div>
321
- <div class="radio_section tb_4_ck">
322
- <input name="sfsi_plus_vk_display" <?php echo (isset($option1['sfsi_plus_vk_display']) && $option1['sfsi_plus_vk_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_vk_display" type="checkbox" value="yes" class="styled" />
323
- </div>
324
- <span class="sfsicls_vk">VK</span>
325
- </div>
326
- <div class="sfsiplus_right_info">
327
- <p>
328
- <span><?php _e('It depends:', SFSI_PLUS_DOMAIN); ?></span>
329
- <?php _e('Show this icon if you have a VK account.', SFSI_PLUS_DOMAIN); ?>
330
- </p>
331
- </div>
332
- </li>
333
- <!-- END VK ICON -->
334
-
335
- <!-- WeChat ICON -->
336
- <li class="vertical-align">
337
- <div>
338
- <div class="radio_section tb_4_ck">
339
- <input name="sfsi_plus_wechat_display" <?php echo (isset($option1['sfsi_plus_wechat_display']) && $option1['sfsi_plus_wechat_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_wechat_display" type="checkbox" value="yes" class="styled" />
340
- </div>
341
- <span class="sfsicls_wechat">WeChat</span>
342
- </div>
343
- <div class="sfsiplus_right_info">
344
- <p>
345
- <span><?php _e('It depends:', SFSI_PLUS_DOMAIN); ?></span>
346
- <?php _e('Show this icon if you have a WeChat account.', SFSI_PLUS_DOMAIN); ?>
347
- </p>
348
- </div>
349
- </li>
350
- <!-- END WeChat ICON -->
351
-
352
- <!-- Weibo ICON -->
353
- <li class="vertical-align">
354
- <div>
355
- <div class="radio_section tb_4_ck">
356
- <input name="sfsi_plus_weibo_display" <?php echo (isset($option1['sfsi_plus_weibo_display']) && $option1['sfsi_plus_weibo_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_weibo_display" type="checkbox" value="yes" class="styled" />
357
- </div>
358
- <span class="sfsicls_weibo">Weibo</span>
359
- </div>
360
-
361
- <div class="sfsiplus_right_info">
362
- <p>
363
- <span><?php _e('It depends:', SFSI_PLUS_DOMAIN); ?></span>
364
- <?php _e('Show this icon if you have a Weibo account.', SFSI_PLUS_DOMAIN); ?>
365
- </p>
366
- </div>
367
- </li>
368
- <!-- END Weibo ICON -->
369
-
370
- <!--MZ CODE END-->
371
-
372
- <!-- Custom icon section start here -->
373
-
374
- <?php
375
- if (get_option('sfsi_plus_custom_icons') == 'no') {
376
- $icons = (isset($option1['sfsi_custom_files'])) ? unserialize($option1['sfsi_custom_files']) : array();
377
- if (!is_array($icons)) {
378
- $icons = array();
379
- }
380
- $total_icons = count($icons);
381
- end($icons);
382
- $endkey = key($icons);
383
- $endkey = (isset($endkey)) ? $endkey : 0;
384
- reset($icons);
385
- $first_key = key($icons);
386
- $first_key = (isset($first_key)) ? $first_key : 0;
387
- $new_element = 0;
388
-
389
- if ($total_icons > 0) {
390
- $new_element = $endkey + 1;
391
- }
392
- }
393
-
394
- ?>
395
- <!-- Display all custom icons -->
396
- <?php if (get_option('sfsi_plus_custom_icons') == 'no') { ?>
397
- <?php $count = 1;
398
- for ($i = $first_key; $i <= $endkey; $i++) : ?>
399
- <?php if (!empty($icons[$i])) : ?>
400
-
401
- <?php $count++;
402
- endif;
403
- endfor; ?>
404
-
405
- <!-- Create a custom icon if total uploaded icons are less than 5 -->
406
- <?php if ($count <= 5) : ?>
407
- <li id="plus_c<?php echo $new_element; ?>" class="plus_custom bdr_btm_non">
408
- <a class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" target="_blank">
409
-
410
- <div class="radio_section tb_4_ck" style="opacity:0.5">
411
- <input type="checkbox" onclick="return false; value=" yes" class="styled" disabled="true" />
412
- </div>
413
-
414
- <span class="plus_custom-img" style="opacity:0.5">
415
- <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/custom.png'; ?>" id="plus_CImg_<?php echo $new_element; ?>" />
416
- </span>
417
-
418
- <span class="custom sfsiplus_custom-txt" style="font-weight:normal;opacity:0.5;margin-left:2px">
419
- <?php _e('Custom icon', SFSI_PLUS_DOMAIN); ?>
420
- </span>
421
- </a>
422
-
423
- <div class="sfsiplus_right_info ">
424
- <p>
425
- <a style="color: #12a252 !important;font-weight: bold; border-bottom:none;text-decoration: none;">
426
- <?php _e('Premium Feature:', SFSI_PLUS_DOMAIN); ?>
427
- </a>
428
- <?php _e('Upload a custom icon if you have other accounts/websites you want to link to.', SFSI_PLUS_DOMAIN); ?>
429
- <a class="pop-up" style="cursor:pointer; color: #12a252 !important;border-bottom: 1px solid #12a252;text-decoration: none;" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" target="_blank">
430
- <?php _e('Get it now.', SFSI_PLUS_DOMAIN); ?>
431
- </a>
432
- </p>
433
- </div>
434
- </li>
435
- <?php endif; ?>
436
- <?php } ?>
437
- <!-- END Custom icon section here -->
438
- <?php if (get_option('sfsi_plus_custom_icons') == 'yes') { ?>
439
- <!-- Custom icon section start here -->
440
- <?php
441
- $icons = (isset($option1['sfsi_custom_files'])) ? unserialize($option1['sfsi_custom_files']) : array();
442
- if (!is_array($icons)) {
443
- $icons = array();
444
- }
445
- $total_icons = count($icons);
446
- end($icons);
447
- $endkey = key($icons);
448
- $endkey = (isset($endkey)) ? $endkey : 0;
449
- reset($icons);
450
- $first_key = key($icons);
451
- $first_key = (isset($first_key)) ? $first_key : 0;
452
- $new_element = 0;
453
-
454
- if ($total_icons > 0) {
455
- $new_element = $endkey + 1;
456
- }
457
- ?>
458
- <!-- Display all custom icons -->
459
- <?php $count = 1;
460
- for ($i = $first_key; $i <= $endkey; $i++) : ?>
461
- <?php if (!empty($icons[$i])) : ?>
462
- <li id="plus_c<?php echo $i; ?>" class="plus_custom">
463
- <div class="radio_section tb_4_ck">
464
- <input name="plussfsiICON_<?php echo $i; ?>" checked="true" type="checkbox" value="yes" class="styled" element-type="sfsiplus-cusotm-icon" />
465
- </div>
466
- <input type="hidden" name="nonce" value="<?php echo wp_create_nonce('plus_deleteIcons'); ?>">
467
- <span class="plus_custom-img">
468
- <img class="plus_sfcm" src="<?php echo (!empty($icons[$i])) ? esc_url($icons[$i]) : SFSI_PLUS_PLUGURL . 'images/custom.png'; ?>" id="plus_CImg_<?php echo $i; ?>" />
469
- </span>
470
- <span class="custom sfsiplus_custom-txt">
471
- <?php _e('Custom', SFSI_PLUS_DOMAIN); ?>
472
- <?php echo $count; ?>
473
- </span>
474
- <div class="sfsiplus_right_info">
475
- <p>
476
- <span><?php _e('It depends:', SFSI_PLUS_DOMAIN); ?></span>
477
- <?php _e('Upload a custom icon if you have other accounts/websites you want to link to.', SFSI_PLUS_DOMAIN); ?>
478
- </p>
479
- </div>
480
- </li>
481
- <?php $count++;
482
- endif;
483
- endfor; ?>
484
-
485
- <!-- Create a custom icon if total uploaded icons are less than 5 -->
486
- <?php if ($count <= 5) : ?>
487
- <li id="plus_c<?php echo $new_element; ?>" class="plus_custom bdr_btm_non vertical-align">
488
- <div>
489
- <div class="radio_section tb_4_ck">
490
- <input name="plussfsiICON_<?php echo $new_element; ?>" type="checkbox" value="yes" class="styled" element-type="sfsiplus-cusotm-icon" ele-type='new' />
491
- </div>
492
-
493
- <span class="plus_custom-img">
494
- <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/custom.png'; ?>" id="plus_CImg_<?php echo $new_element; ?>" />
495
- </span>
496
-
497
- <span class="custom sfsiplus_custom-txt">
498
- <?php _e('Custom', SFSI_PLUS_DOMAIN); ?>
499
- <?php echo $count; ?>
500
- </span>
501
- </div>
502
-
503
- <div class="sfsiplus_right_info">
504
- <p>
505
- <span><?php _e('It depends:', SFSI_PLUS_DOMAIN); ?></span>
506
- <?php _e('Upload a custom icon if you have other accounts/websites you want to link to.', SFSI_PLUS_DOMAIN); ?>
507
- </p>
508
- </div>
509
- </li>
510
- <?php endif; ?>
511
- <!-- END Custom icon section here -->
512
- <?php } ?>
513
-
514
-
515
- </ul>
516
- <ul>
517
- <li class="sfsi_plus_premium_brdr_box">
518
- <div class="sfsi_plus_prem_icons_added">
519
- <div class="sf_si_plus_prmium_head">
520
- <h2><?php _e('New: ', SFSI_PLUS_DOMAIN); ?><span> <?php _e('In our Premium Plugin we added icons for:', SFSI_PLUS_DOMAIN); ?></span></h2>
521
- </div>
522
- <div class="sfsi_plus_premium_row">
523
- <div class="sfsi_plus_prem_cmn_rowlisting">
524
- <span>
525
- <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/snapchat.png'; ?>" id="CImg" />
526
- </span>
527
- <span class="sfsicls_plus_prem_text"><?php _e('Snapchat', SFSI_PLUS_DOMAIN); ?></span>
528
- </div>
529
-
530
- <div class="sfsi_plus_prem_cmn_rowlisting">
531
- <span>
532
- <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/whatsapp.png'; ?>" id="CImg" />
533
- </span>
534
- <span class="sfsicls_plus_prem_text"><?php _e('WhatsApp or Phone', SFSI_PLUS_DOMAIN); ?></span>
535
- </div>
536
-
537
- <div class="sfsi_plus_prem_cmn_rowlisting">
538
- <span>
539
- <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/yummly.png'; ?>" id="CImg" />
540
- </span>
541
- <span class="sfsicls_plus_prem_text"><?php _e('Yummly', SFSI_PLUS_DOMAIN); ?></span>
542
- </div>
543
- <div class="sfsi_plus_prem_cmn_rowlisting">
544
- <span>
545
- <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/yelp.png'; ?>" id="CImg" />
546
- </span>
547
- <span class="sfsicls_plus_prem_text"><?php _e('Yelp', SFSI_PLUS_DOMAIN); ?></span>
548
- </div>
549
- <div class="sfsi_plus_prem_cmn_rowlisting">
550
- <span>
551
- <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/print.png'; ?>" id="CImg" />
552
- </span>
553
- <span class="sfsicls_plus_prem_text"><?php _e('Print', SFSI_PLUS_DOMAIN); ?></span>
554
- </div>
555
- </div>
556
- <div class="sfsi_plus_premium_row">
557
- <div class="sfsi_plus_prem_cmn_rowlisting">
558
- <span>
559
- <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/soundcloud.png'; ?>" id="CImg" />
560
- </span>
561
- <span class="sfsicls_plus_prem_text"><?php _e('Soundcloud', SFSI_PLUS_DOMAIN); ?></span>
562
- </div>
563
-
564
- <div class="sfsi_plus_prem_cmn_rowlisting">
565
- <span>
566
- <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/skype.png'; ?>" id="CImg" />
567
- </span>
568
- <span class="sfsicls_plus_prem_text"><?php _e('Skype', SFSI_PLUS_DOMAIN); ?></span>
569
- </div>
570
- <div class="sfsi_plus_prem_cmn_rowlisting">
571
- <span>
572
- <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/flickr.png'; ?>" id="CImg" />
573
- </span>
574
- <span class="sfsicls_plus_prem_text"><?php _e('Flickr', SFSI_PLUS_DOMAIN); ?></span>
575
- </div>
576
-
577
- <div class="sfsi_plus_prem_cmn_rowlisting">
578
- <span>
579
- <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/angieslist.png'; ?>" id="CImg" />
580
- </span>
581
- <span class="sfsicls_plus_prem_text"><?php _e('Angie’s List', SFSI_PLUS_DOMAIN); ?></span>
582
- </div>
583
-
584
- <div class="sfsi_plus_prem_cmn_rowlisting">
585
- <span>
586
- <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/reddit.png'; ?>" id="CImg" />
587
- </span>
588
- <span class="sfsicls_plus_prem_text"><?php _e('Reddit', SFSI_PLUS_DOMAIN); ?></span>
589
- </div>
590
- </div>
591
- <div class="sfsi_plus_premium_row">
592
- <div class="sfsi_plus_prem_cmn_rowlisting">
593
- <span>
594
- <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/vimeo.png'; ?>" id="CImg" />
595
- </span>
596
- <span class="sfsicls_plus_prem_text"><?php _e('Vimeo', SFSI_PLUS_DOMAIN); ?></span>
597
- </div>
598
-
599
- <div class="sfsi_plus_prem_cmn_rowlisting">
600
- <span>
601
- <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/tumblr.png'; ?>" id="CImg" />
602
- </span>
603
- <span class="sfsicls_plus_prem_text"><?php _e('Tumblr', SFSI_PLUS_DOMAIN); ?></span>
604
- </div>
605
- <div class="sfsi_plus_prem_cmn_rowlisting">
606
- <span>
607
- <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/buffer.png'; ?>" id="CImg" />
608
- </span>
609
- <span class="sfsicls_plus_prem_text"><?php _e('Buffer', SFSI_PLUS_DOMAIN); ?></span>
610
- </div>
611
- <div class="sfsi_plus_prem_cmn_rowlisting">
612
- <span>
613
- <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/blogger.png'; ?>" id="CImg" />
614
- </span>
615
- <span class="sfsicls_plus_prem_text"><?php _e('Blogger', SFSI_PLUS_DOMAIN); ?></span>
616
- </div>
617
-
618
- <div class="sfsi_plus_prem_cmn_rowlisting">
619
- <span>
620
- <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/steam.png'; ?>" id="CImg" />
621
- </span>
622
- <span class="sfsicls_plus_prem_text"><?php _e('Steam', SFSI_PLUS_DOMAIN); ?></span>
623
- </div>
624
- </div>
625
- <div class="sfsi_plus_premium_row">
626
- <div class="sfsi_plus_prem_cmn_rowlisting">
627
- <span>
628
- <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/xing.png'; ?>" id="CImg" />
629
- </span>
630
- <span class="sfsicls_plus_prem_text"><?php _e('Xing', SFSI_PLUS_DOMAIN); ?></span>
631
- </div>
632
-
633
- <div class="sfsi_plus_prem_cmn_rowlisting">
634
- <span>
635
- <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/amazon.png'; ?>" id="CImg" />
636
- </span>
637
- <span class="sfsicls_plus_prem_text"><?php _e('Amazon', SFSI_PLUS_DOMAIN); ?></span>
638
- </div>
639
- <div class="sfsi_plus_prem_cmn_rowlisting">
640
- <span>
641
- <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/twitch.png'; ?>" id="CImg" />
642
- </span>
643
- <span class="sfsicls_plus_prem_text"><?php _e('Twitch', SFSI_PLUS_DOMAIN); ?></span>
644
- </div>
645
- <div class="sfsi_plus_prem_cmn_rowlisting">
646
- <span>
647
- <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/messenger.png'; ?>" id="CImg" />
648
- </span>
649
- <span class="sfsicls_plus_prem_text"><?php _e('Messenger', SFSI_PLUS_DOMAIN); ?></span>
650
- </div>
651
- </div>
652
- <div class="sfsi_plus_need_another_one_link">
653
- <!-- <p><?php _e('Need another one?', SFSI_PLUS_DOMAIN); ?><a href="mailto:biz@ultimatelysocial.com" target="_blank"> <?php _e('Tell us', SFSI_PLUS_DOMAIN); ?></a></p> -->
654
- </div>
655
- <div class="sfsi_plus_need_another_tell_us">
656
- <a href="https://www.ultimatelysocial.com/all-platforms/" target="_blank"><?php _e('...and many more!', SFSI_PLUS_DOMAIN); ?></a>
657
- <a class="pop-up" style="cursor:pointer" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" target="_blank">
658
- <?php _e(' Go premium now', SFSI_PLUS_DOMAIN); ?>
659
- </a>
660
- <!-- <a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=more_platforms&utm_medium=banner" target="_blank"><?php _e('See all features Premium Plugin', SFSI_PLUS_DOMAIN); ?></a>
661
- -->
662
- </div>
663
- </div>
664
- </li>
665
- </ul>
666
- <input type="hidden" value="<?php echo SFSI_PLUS_PLUGURL ?>" id="plugin_url" />
667
- <input type="hidden" value="" id="upload_id" />
668
-
669
- <?php sfsi_plus_ask_for_help(1); ?>
670
-
671
- <!-- SAVE BUTTON SECTION -->
672
- <div class="save_button tab_1_sav">
673
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/ajax-loader.gif" class="loader-img" />
674
- <?php $nonce = wp_create_nonce("update_plus_step1"); ?>
675
- <a href="javascript:;" id="sfsi_plus_save1" title="Save" data-nonce="<?php echo $nonce; ?>">
676
- <?php _e('Save', SFSI_PLUS_DOMAIN); ?>
677
- </a>
678
- </div>
679
- <!-- END SAVE BUTTON SECTION -->
680
-
681
- <a class="sfsiColbtn closeSec" href="javascript:;">
682
- <?php _e('Collapse area', SFSI_PLUS_DOMAIN); ?>
683
- </a>
684
-
685
- <!-- ERROR AND SUCCESS MESSAGE AREA-->
686
- <p class="red_txt errorMsg" style="display:none"> </p>
687
- <p class="green_txt sucMsg" style="display:none"> </p>
688
-
689
- </div>
690
  <!-- END Section 1 "Which icons do you want to show on your site? " main div-->
1
+ <?php
2
+
3
+ $option1 = unserialize(get_option('sfsi_plus_section1_options', false));
4
+ // var_dump($option1);
5
+
6
+ /**
7
+ * Sanitize, escape and validate values
8
+ */
9
+ $option1['sfsi_plus_rss_display'] = (isset($option1['sfsi_plus_rss_display']))
10
+ ? sanitize_text_field($option1['sfsi_plus_rss_display'])
11
+ : '';
12
+ $option1['sfsi_plus_email_display'] = (isset($option1['sfsi_plus_email_display']))
13
+ ? sanitize_text_field($option1['sfsi_plus_email_display'])
14
+ : '';
15
+ $option1['sfsi_plus_facebook_display'] = (isset($option1['sfsi_plus_facebook_display']))
16
+ ? sanitize_text_field($option1['sfsi_plus_facebook_display'])
17
+ : '';
18
+ $option1['sfsi_plus_twitter_display'] = (isset($option1['sfsi_plus_twitter_display']))
19
+ ? sanitize_text_field($option1['sfsi_plus_twitter_display'])
20
+ : '';
21
+ $option1['sfsi_plus_youtube_display'] = (isset($option1['sfsi_plus_youtube_display']))
22
+ ? sanitize_text_field($option1['sfsi_plus_youtube_display'])
23
+ : '';
24
+ $option1['sfsi_plus_pinterest_display'] = (isset($option1['sfsi_plus_pinterest_display']))
25
+ ? sanitize_text_field($option1['sfsi_plus_pinterest_display'])
26
+ : '';
27
+ $option1['sfsi_plus_linkedin_display'] = (isset($option1['sfsi_plus_linkedin_display']))
28
+ ? sanitize_text_field($option1['sfsi_plus_linkedin_display'])
29
+ : '';
30
+ $option1['sfsi_plus_instagram_display'] = (isset($option1['sfsi_plus_instagram_display']))
31
+ ? sanitize_text_field($option1['sfsi_plus_instagram_display'])
32
+ : '';
33
+ $option1['sfsi_plus_houzz_display'] = (isset($option1['sfsi_plus_houzz_display']))
34
+ ? sanitize_text_field($option1['sfsi_plus_houzz_display'])
35
+ : '';
36
+ $option1['sfsi_plus_premium_icons_box'] = (isset($option1['sfsi_plus_premium_icons_box']))
37
+ ? sanitize_text_field($option1['sfsi_plus_premium_icons_box'])
38
+ : 'yes';
39
+ // var_dump(get_option('sfsi_plus_custom_icons'));
40
+ //MZ CODE START
41
+ $option1['sfsi_plus_ok_display'] = (isset($option1['sfsi_plus_ok_display'])) ? sanitize_text_field($option1['sfsi_plus_ok_display']) : 'no';
42
+ $option1['sfsi_plus_telegram_display'] = (isset($option1['sfsi_plus_telegram_display']))
43
+ ? sanitize_text_field($option1['sfsi_plus_telegram_display']) : 'no';
44
+ $option1['sfsi_plus_vk_display'] = (isset($option1['sfsi_plus_vk_display']))
45
+ ? sanitize_text_field($option1['sfsi_plus_vk_display']) : 'no';
46
+ $option1['sfsi_plus_wechat_display'] = (isset($option1['sfsi_plus_wechat_display'])) ? sanitize_text_field($option1['sfsi_plus_wechat_display']) : 'no';
47
+ $option1['sfsi_plus_weibo_display'] = (isset($option1['sfsi_plus_weibo_display'])) ? sanitize_text_field($option1['sfsi_plus_weibo_display']) : 'no';
48
+ //MZ CODE ENd
49
+
50
+ ?>
51
+
52
+ <!-- Section 1 "Which icons do you want to show on your site? " main div Start -->
53
+ <div class="tab1">
54
+ <p class="top_txt">
55
+ <?php
56
+ _e('In general, the more icons you offer the better because people have different preferences, and more options mean that there’s something for everybody, increasing the chances that you get followed and/or shared.', SFSI_PLUS_DOMAIN);
57
+ ?>
58
+ </p>
59
+ <ul class="plus_icn_listing">
60
+ <!-- RSS ICON -->
61
+ <li class="gary_bg">
62
+ <div class="radio_section tb_4_ck">
63
+ <input name="sfsi_plus_rss_display" <?php echo ($option1['sfsi_plus_rss_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_rss_display" type="checkbox" value="yes" class="styled" />
64
+ </div>
65
+ <span class="sfsicls_rs_s">
66
+ RSS
67
+ </span>
68
+ <div class="sfsiplus_right_info">
69
+ <p>
70
+ <span>
71
+ <?php _e('Strongly recommended:', SFSI_PLUS_DOMAIN); ?>
72
+ </span>
73
+
74
+ <?php _e('RSS is still popular, esp. among the tech-savvy crowd.', SFSI_PLUS_DOMAIN); ?>
75
+
76
+ <label class="expanded-area">
77
+ <?php _e('RSS stands for Really Simply Syndication and is an easy way for people to read your content. ', SFSI_PLUS_DOMAIN); ?>
78
+ <a href="http://en.wikipedia.org/wiki/RSS" target="_new" title="Syndication">
79
+ <?php _e('Learn more about RSS', SFSI_PLUS_DOMAIN); ?>
80
+ </a>.
81
+ </label>
82
+ </p>
83
+ <a href="javascript:;" class="expand-area"><?php _e('Read more', SFSI_PLUS_DOMAIN); ?></a>
84
+ </div>
85
+ </li>
86
+ <!-- END RSS ICON -->
87
+
88
+ <!-- EMAIL ICON -->
89
+ <li class="gary_bg">
90
+ <div>
91
+ <div class="radio_section tb_4_ck">
92
+ <input name="sfsi_plus_email_display" <?php echo ($option1['sfsi_plus_email_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_email_display" type="checkbox" value="yes" class="styled" />
93
+ </div>
94
+ <span class="sfsicls_email">
95
+ Email
96
+ </span>
97
+ </div>
98
+
99
+ <div class="sfsiplus_right_info">
100
+ <p>
101
+ <span>
102
+ <?php _e('Strongly recommended:', SFSI_PLUS_DOMAIN); ?>
103
+ </span>
104
+
105
+ <?php _e('Email is the most effective tool to build up followership.', SFSI_PLUS_DOMAIN); ?>
106
+
107
+ <span style="float: right;margin-right: 13px; margin-top: -3px;">
108
+ <?php if (get_option('sfsi_plus_footer_sec') == "yes") {
109
+ $nonce = wp_create_nonce("remove_plusfooter"); ?> <a style="font-size:13px;margin-left:30px;color:#777777;" href="javascript:;" class="sfsiplus_removeFooter" data-nonce="<?php echo $nonce; ?>"><?php _e('Remove credit link', SFSI_PLUS_DOMAIN); ?></a>
110
+ <?php } ?>
111
+ </span>
112
+ <label class="expanded-area">
113
+ <?php _e('Everybody uses email – that’s why it’s much more effective than social media to make people follow you', SFSI_PLUS_DOMAIN); ?>
114
+ (<a href="http://www.entrepreneur.com/article/230949" target="_new">
115
+ <?php _e('learn more', SFSI_PLUS_DOMAIN); ?>
116
+ </a>)
117
+ <?php _e('Not offering an email subscription option mean losing out on future traffic to your site.', SFSI_PLUS_DOMAIN); ?>
118
+ </label>
119
+ </p>
120
+ <a href="javascript:;" class="expand-area"><?php _e('Read more', SFSI_PLUS_DOMAIN); ?></a>
121
+ </div>
122
+ </li>
123
+ <!-- EMAIL ICON -->
124
+
125
+ <!-- FACEBOOK ICON -->
126
+ <li class="gary_bg">
127
+ <div>
128
+
129
+ <div class="radio_section tb_4_ck">
130
+ <input name="sfsi_plus_facebook_display" <?php echo ($option1['sfsi_plus_facebook_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_facebook_display" type="checkbox" value="yes" class="styled" />
131
+ </div>
132
+ <span class="sfsicls_facebook">
133
+ Facebook
134
+ </span>
135
+ </div>
136
+
137
+ <div class="sfsiplus_right_info">
138
+ <p>
139
+ <span><?php _e('Strongly recommended:', SFSI_PLUS_DOMAIN); ?></span>
140
+ <?php _e('Facebook is crucial, esp. for sharing.', SFSI_PLUS_DOMAIN); ?>
141
+
142
+ <label class="expanded-area">
143
+ <?php _e('Facebook is the giant in the social media world, and even if you don’t have a Facebook account yourself you should display this icon, so that Facebook users can share your site on Facebook.', SFSI_PLUS_DOMAIN); ?>
144
+ </label>
145
+ </p>
146
+ <a href="javascript:;" class="expand-area"><?php _e('Read more', SFSI_PLUS_DOMAIN); ?></a>
147
+ </div>
148
+ </li>
149
+ <!-- END FACEBOOK ICON -->
150
+
151
+ <!-- TWITTER ICON -->
152
+ <li class="gary_bg">
153
+ <div>
154
+
155
+ <div class="radio_section tb_4_ck">
156
+ <input name="sfsi_plus_twitter_display" <?php echo ($option1['sfsi_plus_twitter_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_twitter_display" type="checkbox" value="yes" class="styled" />
157
+ </div>
158
+ <span class="sfsicls_twt">
159
+ Twitter
160
+ </span>
161
+ </div>
162
+ <div class="sfsiplus_right_info">
163
+ <p>
164
+ <span><?php _e('Strongly recommended:', SFSI_PLUS_DOMAIN); ?></span>
165
+ <?php _e('Can have a strong promotional effect.', SFSI_PLUS_DOMAIN); ?>
166
+
167
+ <label class="expanded-area">
168
+ <?php _e('If you have a Twitter-account then adding this icon is a no-brainer. However, similar as with facebook, even if you don’t have one you should still show this icon so that Twitter-users can share your site.', SFSI_PLUS_DOMAIN); ?>
169
+ </label>
170
+ </p>
171
+
172
+ <a href="javascript:;" class="expand-area"><?php _e('Read more', SFSI_PLUS_DOMAIN); ?></a>
173
+ </div>
174
+ </li>
175
+ <!-- END TWITTER ICON -->
176
+
177
+
178
+ <!-- YOUTUBE ICON -->
179
+ <li class="vertical-align">
180
+ <div>
181
+
182
+ <div class="radio_section tb_4_ck">
183
+ <input name="sfsi_plus_youtube_display" <?php echo ($option1['sfsi_plus_youtube_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_youtube_display" type="checkbox" value="yes" class="styled" />
184
+ </div>
185
+ <span class="sfsicls_utube">
186
+ Youtube
187
+ </span>
188
+ </div>
189
+ <div class="sfsiplus_right_info">
190
+ <p>
191
+ <span><?php _e('It depends:', SFSI_PLUS_DOMAIN); ?></span>
192
+ <?php _e('Show this icon if you have a youtube account (and you should set up one if you have video content – that can increase your traffic significantly).', SFSI_PLUS_DOMAIN); ?>
193
+ </p>
194
+ </div>
195
+ </li>
196
+ <!-- END YOUTUBE ICON -->
197
+
198
+ <!-- LINKEDIN ICON -->
199
+ <li class="vertical-align">
200
+ <div>
201
+ <div class="radio_section tb_4_ck">
202
+ <input name="sfsi_plus_linkedin_display" <?php echo ($option1['sfsi_plus_linkedin_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_linkedin_display" type="checkbox" value="yes" class="styled" />
203
+ </div>
204
+ <span class="sfsicls_linkdin">
205
+ LinkedIn
206
+ </span>
207
+ </div>
208
+ <div class="sfsiplus_right_info">
209
+ <p>
210
+ <span><?php _e('It depends:', SFSI_PLUS_DOMAIN); ?></span>
211
+ <?php _e('No.1 network for business purposes. Use this icon if you’re a LinkedInner.', SFSI_PLUS_DOMAIN); ?>
212
+ </p>
213
+ </div>
214
+ </li>
215
+ <!-- END LINKEDIN ICON -->
216
+
217
+ <!-- PINTEREST ICON -->
218
+ <li class="vertical-align">
219
+ <div>
220
+ <div class="radio_section tb_4_ck">
221
+ <input name="sfsi_plus_pinterest_display" <?php echo ($option1['sfsi_plus_pinterest_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_pinterest_display" type="checkbox" value="yes" class="styled" />
222
+ </div>
223
+ <span class="sfsicls_pinterest">
224
+ Pinterest
225
+ </span>
226
+ </div>
227
+ <div class="sfsiplus_right_info">
228
+ <p>
229
+ <span><?php _e('It depends:', SFSI_PLUS_DOMAIN); ?></span>
230
+ <?php _e('Show this icon if you have a Pinterest account (and you should set up one if you publish new pictures regularly – that can increase your traffic significantly).', SFSI_PLUS_DOMAIN); ?>
231
+ </p>
232
+ </div>
233
+ </li>
234
+ <!-- END PINTEREST ICON -->
235
+
236
+ <!-- INSTAGRAM ICON -->
237
+ <li class="vertical-align">
238
+ <div>
239
+ <div class="radio_section tb_4_ck"><input name="sfsi_plus_instagram_display" <?php echo ($option1['sfsi_plus_instagram_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_instagram_display" type="checkbox" value="yes" class="styled" /></div>
240
+ <span class="sfsicls_instagram">
241
+ Instagram
242
+ </span>
243
+ </div>
244
+ <div class="sfsiplus_right_info">
245
+ <p>
246
+ <span><?php _e('It depends:', SFSI_PLUS_DOMAIN); ?></span>
247
+ <?php _e('Show this icon if you have an Instagram account.', SFSI_PLUS_DOMAIN); ?>
248
+ </p>
249
+ </div>
250
+ </li>
251
+ <!-- END INSTAGRAM ICON -->
252
+
253
+
254
+ <!-- Houzz ICON -->
255
+ <li class="vertical-align">
256
+ <div>
257
+ <div class="radio_section tb_4_ck">
258
+ <input name="sfsi_plus_houzz_display" <?php echo (isset($option1['sfsi_plus_houzz_display']) && $option1['sfsi_plus_houzz_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_houzz_display" type="checkbox" value="yes" class="styled" />
259
+ </div>
260
+ <span class="sfsicls_houzz">
261
+ Houzz
262
+ </span>
263
+ </div>
264
+ <div class="sfsiplus_right_info">
265
+ <p>
266
+ <span><?php _e('It depends:', SFSI_PLUS_DOMAIN); ?></span>
267
+ <?php _e('Show this icon if you have a Houzz account.', SFSI_PLUS_DOMAIN); ?>
268
+
269
+ <?php _e('Houzz is the No.1 site & community in the world of architecture and interior design.', SFSI_PLUS_DOMAIN); ?>
270
+ <a href="http://www.houzz.com/" target="_blank">
271
+ <?php _e('Visit Houzz', SFSI_PLUS_DOMAIN); ?>
272
+ </a>
273
+ </p>
274
+ </div>
275
+ </li>
276
+
277
+
278
+ <!-- END Houzz ICON -->
279
+
280
+ <!--MZ CODE-->
281
+
282
+ <!-- OK ICON -->
283
+ <li class="vertical-align">
284
+ <div>
285
+ <div class="radio_section tb_4_ck">
286
+ <input name="sfsi_plus_ok_display" <?php echo (isset($option1['sfsi_plus_ok_display']) && $option1['sfsi_plus_ok_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_ok_display" type="checkbox" value="yes" class="styled" />
287
+ </div>
288
+ <span class="sfsicls_ok">OK</span>
289
+ </div>
290
+ <div class="sfsiplus_right_info">
291
+ <p>
292
+ <span><?php _e('It depends:', SFSI_PLUS_DOMAIN); ?></span>
293
+ <?php _e('Show this icon if you have an OK account.', SFSI_PLUS_DOMAIN); ?>
294
+ </p>
295
+ </div>
296
+ </li>
297
+ <!-- END OK ICON -->
298
+
299
+ <!-- Telegram ICON -->
300
+ <li class="vertical-align">
301
+ <div>
302
+ <div class="radio_section tb_4_ck">
303
+ <input name="sfsi_plus_telegram_display" <?php echo (isset($option1['sfsi_plus_telegram_display']) && $option1['sfsi_plus_telegram_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_telegram_display" type="checkbox" value="yes" class="styled" />
304
+ </div>
305
+ <span class="sfsicls_telegram">Telegram</span>
306
+ </div>
307
+ <div class="sfsiplus_right_info">
308
+ <p>
309
+ <span><?php _e('It depends:', SFSI_PLUS_DOMAIN); ?></span>
310
+ <?php _e('Show this icon if you have a Telegram account.', SFSI_PLUS_DOMAIN); ?>
311
+ </p>
312
+ </div>
313
+ </li>
314
+ <!-- END Telegram ICON -->
315
+
316
+
317
+
318
+ <!-- VK ICON -->
319
+ <li class="vertical-align">
320
+ <div>
321
+ <div class="radio_section tb_4_ck">
322
+ <input name="sfsi_plus_vk_display" <?php echo (isset($option1['sfsi_plus_vk_display']) && $option1['sfsi_plus_vk_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_vk_display" type="checkbox" value="yes" class="styled" />
323
+ </div>
324
+ <span class="sfsicls_vk">VK</span>
325
+ </div>
326
+ <div class="sfsiplus_right_info">
327
+ <p>
328
+ <span><?php _e('It depends:', SFSI_PLUS_DOMAIN); ?></span>
329
+ <?php _e('Show this icon if you have a VK account.', SFSI_PLUS_DOMAIN); ?>
330
+ </p>
331
+ </div>
332
+ </li>
333
+ <!-- END VK ICON -->
334
+
335
+ <!-- WeChat ICON -->
336
+ <li class="vertical-align">
337
+ <div>
338
+ <div class="radio_section tb_4_ck">
339
+ <input name="sfsi_plus_wechat_display" <?php echo (isset($option1['sfsi_plus_wechat_display']) && $option1['sfsi_plus_wechat_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_wechat_display" type="checkbox" value="yes" class="styled" />
340
+ </div>
341
+ <span class="sfsicls_wechat">WeChat</span>
342
+ </div>
343
+ <div class="sfsiplus_right_info">
344
+ <p>
345
+ <span><?php _e('It depends:', SFSI_PLUS_DOMAIN); ?></span>
346
+ <?php _e('Show this icon if you have a WeChat account.', SFSI_PLUS_DOMAIN); ?>
347
+ </p>
348
+ </div>
349
+ </li>
350
+ <!-- END WeChat ICON -->
351
+
352
+ <!-- Weibo ICON -->
353
+ <li class="vertical-align">
354
+ <div>
355
+ <div class="radio_section tb_4_ck">
356
+ <input name="sfsi_plus_weibo_display" <?php echo (isset($option1['sfsi_plus_weibo_display']) && $option1['sfsi_plus_weibo_display'] == 'yes') ? 'checked="true"' : ''; ?> id="sfsi_plus_weibo_display" type="checkbox" value="yes" class="styled" />
357
+ </div>
358
+ <span class="sfsicls_weibo">Weibo</span>
359
+ </div>
360
+
361
+ <div class="sfsiplus_right_info">
362
+ <p>
363
+ <span><?php _e('It depends:', SFSI_PLUS_DOMAIN); ?></span>
364
+ <?php _e('Show this icon if you have a Weibo account.', SFSI_PLUS_DOMAIN); ?>
365
+ </p>
366
+ </div>
367
+ </li>
368
+ <!-- END Weibo ICON -->
369
+
370
+ <!--MZ CODE END-->
371
+
372
+ <!-- Custom icon section start here -->
373
+
374
+ <?php
375
+ if (get_option('sfsi_plus_custom_icons') == 'no') {
376
+ $icons = (isset($option1['sfsi_custom_files'])) ? unserialize($option1['sfsi_custom_files']) : array();
377
+ if (!is_array($icons)) {
378
+ $icons = array();
379
+ }
380
+ $total_icons = count($icons);
381
+ end($icons);
382
+ $endkey = key($icons);
383
+ $endkey = (isset($endkey)) ? $endkey : 0;
384
+ reset($icons);
385
+ $first_key = key($icons);
386
+ $first_key = (isset($first_key)) ? $first_key : 0;
387
+ $new_element = 0;
388
+
389
+ if ($total_icons > 0) {
390
+ $new_element = $endkey + 1;
391
+ }
392
+ }
393
+
394
+ ?>
395
+ <!-- Display all custom icons -->
396
+ <?php if (get_option('sfsi_plus_custom_icons') == 'no') { ?>
397
+ <?php $count = 1;
398
+ for ($i = $first_key; $i <= $endkey; $i++) : ?>
399
+ <?php if (!empty($icons[$i])) : ?>
400
+
401
+ <?php $count++;
402
+ endif;
403
+ endfor; ?>
404
+
405
+ <!-- Create a custom icon if total uploaded icons are less than 5 -->
406
+ <?php if ($count <= 5) : ?>
407
+ <li id="plus_c<?php echo $new_element; ?>" class="plus_custom bdr_btm_non">
408
+ <a class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" target="_blank">
409
+
410
+ <div class="radio_section tb_4_ck" style="opacity:0.5">
411
+ <input type="checkbox" onclick="return false; value=" yes" class="styled" disabled="true" />
412
+ </div>
413
+
414
+ <span class="plus_custom-img" style="opacity:0.5">
415
+ <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/custom.png'; ?>" id="plus_CImg_<?php echo $new_element; ?>" />
416
+ </span>
417
+
418
+ <span class="custom sfsiplus_custom-txt" style="font-weight:normal;opacity:0.5;margin-left:2px">
419
+ <?php _e('Custom icon', SFSI_PLUS_DOMAIN); ?>
420
+ </span>
421
+ </a>
422
+
423
+ <div class="sfsiplus_right_info ">
424
+ <p>
425
+ <a style="color: #12a252 !important;font-weight: bold; border-bottom:none;text-decoration: none;">
426
+ <?php _e('Premium Feature:', SFSI_PLUS_DOMAIN); ?>
427
+ </a>
428
+ <?php _e('Upload a custom icon if you have other accounts/websites you want to link to.', SFSI_PLUS_DOMAIN); ?>
429
+ <a class="pop-up" style="cursor:pointer; color: #12a252 !important;border-bottom: 1px solid #12a252;text-decoration: none;" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" target="_blank">
430
+ <?php _e('Get it now.', SFSI_PLUS_DOMAIN); ?>
431
+ </a>
432
+ </p>
433
+ </div>
434
+ </li>
435
+ <?php endif; ?>
436
+ <?php } ?>
437
+ <!-- END Custom icon section here -->
438
+ <?php if (get_option('sfsi_plus_custom_icons') == 'yes') { ?>
439
+ <!-- Custom icon section start here -->
440
+ <?php
441
+ $icons = (isset($option1['sfsi_custom_files'])) ? unserialize($option1['sfsi_custom_files']) : array();
442
+ if (!is_array($icons)) {
443
+ $icons = array();
444
+ }
445
+ $total_icons = count($icons);
446
+ end($icons);
447
+ $endkey = key($icons);
448
+ $endkey = (isset($endkey)) ? $endkey : 0;
449
+ reset($icons);
450
+ $first_key = key($icons);
451
+ $first_key = (isset($first_key)) ? $first_key : 0;
452
+ $new_element = 0;
453
+
454
+ if ($total_icons > 0) {
455
+ $new_element = $endkey + 1;
456
+ }
457
+ ?>
458
+ <!-- Display all custom icons -->
459
+ <?php $count = 1;
460
+ for ($i = $first_key; $i <= $endkey; $i++) : ?>
461
+ <?php if (!empty($icons[$i])) : ?>
462
+ <li id="plus_c<?php echo $i; ?>" class="plus_custom">
463
+ <div class="radio_section tb_4_ck">
464
+ <input name="plussfsiICON_<?php echo $i; ?>" checked="true" type="checkbox" value="yes" class="styled" element-type="sfsiplus-cusotm-icon" />
465
+ </div>
466
+ <input type="hidden" name="nonce" value="<?php echo wp_create_nonce('plus_deleteIcons'); ?>">
467
+ <span class="plus_custom-img">
468
+ <img class="plus_sfcm" src="<?php echo (!empty($icons[$i])) ? esc_url($icons[$i]) : SFSI_PLUS_PLUGURL . 'images/custom.png'; ?>" id="plus_CImg_<?php echo $i; ?>" />
469
+ </span>
470
+ <span class="custom sfsiplus_custom-txt">
471
+ <?php _e('Custom', SFSI_PLUS_DOMAIN); ?>
472
+ <?php echo $count; ?>
473
+ </span>
474
+ <div class="sfsiplus_right_info">
475
+ <p>
476
+ <span><?php _e('It depends:', SFSI_PLUS_DOMAIN); ?></span>
477
+ <?php _e('Upload a custom icon if you have other accounts/websites you want to link to.', SFSI_PLUS_DOMAIN); ?>
478
+ </p>
479
+ </div>
480
+ </li>
481
+ <?php $count++;
482
+ endif;
483
+ endfor; ?>
484
+
485
+ <!-- Create a custom icon if total uploaded icons are less than 5 -->
486
+ <?php if ($count <= 5) : ?>
487
+ <li id="plus_c<?php echo $new_element; ?>" class="plus_custom bdr_btm_non vertical-align">
488
+ <div>
489
+ <div class="radio_section tb_4_ck">
490
+ <input name="plussfsiICON_<?php echo $new_element; ?>" type="checkbox" value="yes" class="styled" element-type="sfsiplus-cusotm-icon" ele-type='new' />
491
+ </div>
492
+
493
+ <span class="plus_custom-img">
494
+ <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/custom.png'; ?>" id="plus_CImg_<?php echo $new_element; ?>" />
495
+ </span>
496
+
497
+ <span class="custom sfsiplus_custom-txt">
498
+ <?php _e('Custom', SFSI_PLUS_DOMAIN); ?>
499
+ <?php echo $count; ?>
500
+ </span>
501
+ </div>
502
+
503
+ <div class="sfsiplus_right_info">
504
+ <p>
505
+ <span><?php _e('It depends:', SFSI_PLUS_DOMAIN); ?></span>
506
+ <?php _e('Upload a custom icon if you have other accounts/websites you want to link to.', SFSI_PLUS_DOMAIN); ?>
507
+ </p>
508
+ </div>
509
+ </li>
510
+ <?php endif; ?>
511
+ <!-- END Custom icon section here -->
512
+ <?php } ?>
513
+
514
+
515
+ </ul>
516
+ <ul>
517
+ <li class="sfsi_plus_premium_brdr_box">
518
+ <div class="sfsi_plus_prem_icons_added">
519
+ <div class="sf_si_plus_prmium_head">
520
+ <h2><?php _e('New: ', SFSI_PLUS_DOMAIN); ?><span> <?php _e('In our Premium Plugin we added icons for:', SFSI_PLUS_DOMAIN); ?></span></h2>
521
+ </div>
522
+ <div class="sfsi_plus_premium_row">
523
+ <div class="sfsi_plus_prem_cmn_rowlisting">
524
+ <span>
525
+ <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/snapchat.png'; ?>" id="CImg" />
526
+ </span>
527
+ <span class="sfsicls_plus_prem_text"><?php _e('Snapchat', SFSI_PLUS_DOMAIN); ?></span>
528
+ </div>
529
+
530
+ <div class="sfsi_plus_prem_cmn_rowlisting">
531
+ <span>
532
+ <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/whatsapp.png'; ?>" id="CImg" />
533
+ </span>
534
+ <span class="sfsicls_plus_prem_text"><?php _e('WhatsApp or Phone', SFSI_PLUS_DOMAIN); ?></span>
535
+ </div>
536
+
537
+ <div class="sfsi_plus_prem_cmn_rowlisting">
538
+ <span>
539
+ <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/yummly.png'; ?>" id="CImg" />
540
+ </span>
541
+ <span class="sfsicls_plus_prem_text"><?php _e('Yummly', SFSI_PLUS_DOMAIN); ?></span>
542
+ </div>
543
+ <div class="sfsi_plus_prem_cmn_rowlisting">
544
+ <span>
545
+ <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/yelp.png'; ?>" id="CImg" />
546
+ </span>
547
+ <span class="sfsicls_plus_prem_text"><?php _e('Yelp', SFSI_PLUS_DOMAIN); ?></span>
548
+ </div>
549
+ <div class="sfsi_plus_prem_cmn_rowlisting">
550
+ <span>
551
+ <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/print.png'; ?>" id="CImg" />
552
+ </span>
553
+ <span class="sfsicls_plus_prem_text"><?php _e('Print', SFSI_PLUS_DOMAIN); ?></span>
554
+ </div>
555
+ </div>
556
+ <div class="sfsi_plus_premium_row">
557
+ <div class="sfsi_plus_prem_cmn_rowlisting">
558
+ <span>
559
+ <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/soundcloud.png'; ?>" id="CImg" />
560
+ </span>
561
+ <span class="sfsicls_plus_prem_text"><?php _e('Soundcloud', SFSI_PLUS_DOMAIN); ?></span>
562
+ </div>
563
+
564
+ <div class="sfsi_plus_prem_cmn_rowlisting">
565
+ <span>
566
+ <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/skype.png'; ?>" id="CImg" />
567
+ </span>
568
+ <span class="sfsicls_plus_prem_text"><?php _e('Skype', SFSI_PLUS_DOMAIN); ?></span>
569
+ </div>
570
+ <div class="sfsi_plus_prem_cmn_rowlisting">
571
+ <span>
572
+ <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/flickr.png'; ?>" id="CImg" />
573
+ </span>
574
+ <span class="sfsicls_plus_prem_text"><?php _e('Flickr', SFSI_PLUS_DOMAIN); ?></span>
575
+ </div>
576
+
577
+ <div class="sfsi_plus_prem_cmn_rowlisting">
578
+ <span>
579
+ <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/angieslist.png'; ?>" id="CImg" />
580
+ </span>
581
+ <span class="sfsicls_plus_prem_text"><?php _e('Angie’s List', SFSI_PLUS_DOMAIN); ?></span>
582
+ </div>
583
+
584
+ <div class="sfsi_plus_prem_cmn_rowlisting">
585
+ <span>
586
+ <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/reddit.png'; ?>" id="CImg" />
587
+ </span>
588
+ <span class="sfsicls_plus_prem_text"><?php _e('Reddit', SFSI_PLUS_DOMAIN); ?></span>
589
+ </div>
590
+ </div>
591
+ <div class="sfsi_plus_premium_row">
592
+ <div class="sfsi_plus_prem_cmn_rowlisting">
593
+ <span>
594
+ <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/vimeo.png'; ?>" id="CImg" />
595
+ </span>
596
+ <span class="sfsicls_plus_prem_text"><?php _e('Vimeo', SFSI_PLUS_DOMAIN); ?></span>
597
+ </div>
598
+
599
+ <div class="sfsi_plus_prem_cmn_rowlisting">
600
+ <span>
601
+ <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/tumblr.png'; ?>" id="CImg" />
602
+ </span>
603
+ <span class="sfsicls_plus_prem_text"><?php _e('Tumblr', SFSI_PLUS_DOMAIN); ?></span>
604
+ </div>
605
+ <div class="sfsi_plus_prem_cmn_rowlisting">
606
+ <span>
607
+ <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/buffer.png'; ?>" id="CImg" />
608
+ </span>
609
+ <span class="sfsicls_plus_prem_text"><?php _e('Buffer', SFSI_PLUS_DOMAIN); ?></span>
610
+ </div>
611
+ <div class="sfsi_plus_prem_cmn_rowlisting">
612
+ <span>
613
+ <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/blogger.png'; ?>" id="CImg" />
614
+ </span>
615
+ <span class="sfsicls_plus_prem_text"><?php _e('Blogger', SFSI_PLUS_DOMAIN); ?></span>
616
+ </div>
617
+
618
+ <div class="sfsi_plus_prem_cmn_rowlisting">
619
+ <span>
620
+ <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/steam.png'; ?>" id="CImg" />
621
+ </span>
622
+ <span class="sfsicls_plus_prem_text"><?php _e('Steam', SFSI_PLUS_DOMAIN); ?></span>
623
+ </div>
624
+ </div>
625
+ <div class="sfsi_plus_premium_row">
626
+ <div class="sfsi_plus_prem_cmn_rowlisting">
627
+ <span>
628
+ <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/xing.png'; ?>" id="CImg" />
629
+ </span>
630
+ <span class="sfsicls_plus_prem_text"><?php _e('Xing', SFSI_PLUS_DOMAIN); ?></span>
631
+ </div>
632
+
633
+ <div class="sfsi_plus_prem_cmn_rowlisting">
634
+ <span>
635
+ <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/amazon.png'; ?>" id="CImg" />
636
+ </span>
637
+ <span class="sfsicls_plus_prem_text"><?php _e('Amazon', SFSI_PLUS_DOMAIN); ?></span>
638
+ </div>
639
+ <div class="sfsi_plus_prem_cmn_rowlisting">
640
+ <span>
641
+ <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/twitch.png'; ?>" id="CImg" />
642
+ </span>
643
+ <span class="sfsicls_plus_prem_text"><?php _e('Twitch', SFSI_PLUS_DOMAIN); ?></span>
644
+ </div>
645
+ <div class="sfsi_plus_prem_cmn_rowlisting">
646
+ <span>
647
+ <img src="<?php echo SFSI_PLUS_PLUGURL . 'images/messenger.png'; ?>" id="CImg" />
648
+ </span>
649
+ <span class="sfsicls_plus_prem_text"><?php _e('Messenger', SFSI_PLUS_DOMAIN); ?></span>
650
+ </div>
651
+ </div>
652
+ <div class="sfsi_plus_need_another_one_link">
653
+ <!-- <p><?php _e('Need another one?', SFSI_PLUS_DOMAIN); ?><a href="mailto:biz@ultimatelysocial.com" target="_blank"> <?php _e('Tell us', SFSI_PLUS_DOMAIN); ?></a></p> -->
654
+ </div>
655
+ <div class="sfsi_plus_need_another_tell_us">
656
+ <a href="https://www.ultimatelysocial.com/all-platforms/" target="_blank"><?php _e('...and many more!', SFSI_PLUS_DOMAIN); ?></a>
657
+ <a class="pop-up" style="cursor:pointer" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" target="_blank">
658
+ <?php _e(' Go premium now', SFSI_PLUS_DOMAIN); ?>
659
+ </a>
660
+ <!-- <a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=more_platforms&utm_medium=banner" target="_blank"><?php _e('See all features Premium Plugin', SFSI_PLUS_DOMAIN); ?></a>
661
+ -->
662
+ </div>
663
+ </div>
664
+ </li>
665
+ </ul>
666
+ <input type="hidden" value="<?php echo SFSI_PLUS_PLUGURL ?>" id="plugin_url" />
667
+ <input type="hidden" value="" id="upload_id" />
668
+
669
+ <?php sfsi_plus_ask_for_help(1); ?>
670
+
671
+ <!-- SAVE BUTTON SECTION -->
672
+ <div class="save_button tab_1_sav">
673
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/ajax-loader.gif" class="loader-img" />
674
+ <?php $nonce = wp_create_nonce("update_plus_step1"); ?>
675
+ <a href="javascript:;" id="sfsi_plus_save1" title="Save" data-nonce="<?php echo $nonce; ?>">
676
+ <?php _e('Save', SFSI_PLUS_DOMAIN); ?>
677
+ </a>
678
+ </div>
679
+ <!-- END SAVE BUTTON SECTION -->
680
+
681
+ <a class="sfsiColbtn closeSec" href="javascript:;">
682
+ <?php _e('Collapse area', SFSI_PLUS_DOMAIN); ?>
683
+ </a>
684
+
685
+ <!-- ERROR AND SUCCESS MESSAGE AREA-->
686
+ <p class="red_txt errorMsg" style="display:none"> </p>
687
+ <p class="green_txt sucMsg" style="display:none"> </p>
688
+
689
+ </div>
690
  <!-- END Section 1 "Which icons do you want to show on your site? " main div-->
views/sfsi_option_view2.php CHANGED
@@ -1,868 +1,868 @@
1
- <?php
2
- /* unserialize all saved option for second section options */
3
- $option4= unserialize(get_option('sfsi_plus_section4_options',false));
4
- $option2= unserialize(get_option('sfsi_plus_section2_options',false));
5
- /*
6
- * Sanitize, escape and validate values
7
- */
8
- $option2['sfsi_plus_rss_url'] = (isset($option2['sfsi_plus_rss_url']))
9
- ? esc_url($option2['sfsi_plus_rss_url'])
10
- : '';
11
- $option2['sfsi_plus_rss_icons'] = (isset($option2['sfsi_plus_rss_icons']))
12
- ? sanitize_text_field($option2['sfsi_plus_rss_icons'])
13
- : '';
14
- $option2['sfsi_plus_email_url'] = (isset($option2['sfsi_plus_email_url']))
15
- ? sanitize_text_field( $option2['sfsi_plus_email_url'])
16
- : '';
17
-
18
- $option2['sfsi_plus_facebookPage_option'] = (isset($option2['sfsi_plus_facebookPage_option']))
19
- ? sanitize_text_field($option2['sfsi_plus_facebookPage_option'])
20
- : '';
21
- $option2['sfsi_plus_facebookPage_url'] = (isset($option2['sfsi_plus_facebookPage_url']))
22
- ? esc_url($option2['sfsi_plus_facebookPage_url'])
23
- : '';
24
- $option2['sfsi_plus_facebookLike_option'] = (isset($option2['sfsi_plus_facebookLike_option']))
25
- ? sanitize_text_field($option2['sfsi_plus_facebookLike_option'])
26
- : ' ';
27
- $option2['sfsi_plus_facebookShare_option'] = (isset($option2['sfsi_plus_facebookShare_option']))
28
- ? sanitize_text_field($option2['sfsi_plus_facebookShare_option'])
29
- : '';
30
-
31
- $option2['sfsi_plus_twitter_followme'] = (isset($option2['sfsi_plus_twitter_followme']))
32
- ? sanitize_text_field($option2['sfsi_plus_twitter_followme'])
33
- : '';
34
- $option2['sfsi_plus_twitter_followUserName']= (isset($option2['sfsi_plus_twitter_followUserName']))
35
- ? sanitize_text_field($option2['sfsi_plus_twitter_followUserName'])
36
- : '';
37
- $option2['sfsi_plus_twitter_aboutPage'] = (isset($option2['sfsi_plus_twitter_aboutPage']))
38
- ? sanitize_text_field($option2['sfsi_plus_twitter_aboutPage'])
39
- : '';
40
- $option2['sfsi_plus_twitter_page'] = (isset($option2['sfsi_plus_twitter_page']))
41
- ? sanitize_text_field($option2['sfsi_plus_twitter_page'])
42
- : '';
43
- $option2['sfsi_plus_twitter_pageURL'] = (isset($option2['sfsi_plus_twitter_pageURL']))
44
- ? esc_url($option2['sfsi_plus_twitter_pageURL'])
45
- : '';
46
- $option2['sfsi_plus_twitter_aboutPageText'] = (isset($option2['sfsi_plus_twitter_aboutPageText']))
47
- ? sanitize_text_field($option2['sfsi_plus_twitter_aboutPageText'])
48
- : '';
49
- $option2['sfsi_plus_youtube_pageUrl'] = (isset($option2['sfsi_plus_youtube_pageUrl']))
50
- ? esc_url($option2['sfsi_plus_youtube_pageUrl'])
51
- : '';
52
- $option2['sfsi_plus_youtube_page'] = (isset($option2['sfsi_plus_youtube_page']))
53
- ? sanitize_text_field($option2['sfsi_plus_youtube_page'])
54
- : '';
55
- $option2['sfsi_plus_youtube_follow'] = (isset($option2['sfsi_plus_youtube_follow']))
56
- ? sanitize_text_field($option2['sfsi_plus_youtube_follow'])
57
- : '';
58
- $option2['sfsi_plus_ytube_user'] = (isset($option2['sfsi_plus_ytube_user']))
59
- ? sanitize_text_field($option2['sfsi_plus_ytube_user'])
60
- : '';
61
-
62
- $option2['sfsi_plus_pinterest_page'] = (isset($option2['sfsi_plus_pinterest_page']))
63
- ? sanitize_text_field($option2['sfsi_plus_pinterest_page'])
64
- : '';
65
- $option2['sfsi_plus_pinterest_pageUrl'] = (isset($option2['sfsi_plus_pinterest_pageUrl']))
66
- ? esc_url($option2['sfsi_plus_pinterest_pageUrl'])
67
- : '';
68
- $option2['sfsi_plus_pinterest_pingBlog'] = (isset($option2['sfsi_plus_pinterest_pingBlog']))
69
- ? sanitize_text_field($option2['sfsi_plus_pinterest_pingBlog'])
70
- : '';
71
-
72
- $option2['sfsi_plus_instagram_pageUrl'] = (isset($option2['sfsi_plus_instagram_pageUrl']))
73
- ? esc_url($option2['sfsi_plus_instagram_pageUrl'])
74
- : '';
75
-
76
- $option2['sfsi_plus_linkedin_page'] = (isset($option2['sfsi_plus_linkedin_page']))
77
- ? sanitize_text_field($option2['sfsi_plus_linkedin_page'])
78
- : '';
79
- $option2['sfsi_plus_linkedin_pageURL'] = (isset($option2['sfsi_plus_linkedin_pageURL']))
80
- ? esc_url($option2['sfsi_plus_linkedin_pageURL'])
81
- : '';
82
- $option2['sfsi_plus_linkedin_follow'] = (isset($option2['sfsi_plus_linkedin_follow']))
83
- ? sanitize_text_field($option2['sfsi_plus_linkedin_follow'])
84
- : '';
85
- $option2['sfsi_plus_linkedin_followCompany']= (isset($option2['sfsi_plus_linkedin_followCompany']))
86
- ? intval($option2['sfsi_plus_linkedin_followCompany'])
87
- : '';
88
- $option2['sfsi_plus_linkedin_SharePage'] = (isset($option2['sfsi_plus_linkedin_SharePage']))
89
- ? sanitize_text_field($option2['sfsi_plus_linkedin_SharePage'])
90
- : '';
91
- $option2['sfsi_plus_linkedin_recommendBusines'] = (isset($option2['sfsi_plus_linkedin_recommendBusines']))
92
- ? sanitize_text_field($option2['sfsi_plus_linkedin_recommendBusines'])
93
- : '';
94
- $option2['sfsi_plus_linkedin_recommendCompany'] = (isset($option2['sfsi_plus_linkedin_recommendCompany']))
95
- ? sanitize_text_field($option2['sfsi_plus_linkedin_recommendCompany'])
96
- : '';
97
- $option2['sfsi_plus_linkedin_recommendProductId'] = (isset($option2['sfsi_plus_linkedin_recommendProductId']))
98
- ? intval($option2['sfsi_plus_linkedin_recommendProductId'])
99
- : '';
100
-
101
- $option2['sfsi_plus_houzz_pageUrl'] = (isset($option2['sfsi_plus_houzz_pageUrl']))
102
- ? esc_url($option2['sfsi_plus_houzz_pageUrl'])
103
- : '';
104
- $option4['sfsi_plus_youtubeusernameorid'] = (isset($option4['sfsi_plus_youtubeusernameorid']))
105
- ? sanitize_text_field($option4['sfsi_plus_youtubeusernameorid'])
106
- : '';
107
- $option4['sfsi_plus_ytube_chnlid'] = (isset($option4['sfsi_plus_ytube_chnlid']))
108
- ? strip_tags(trim($option4['sfsi_plus_ytube_chnlid']))
109
- : '';
110
- $option2['sfsi_plus_premium_email_box'] = (isset($option2['sfsi_plus_premium_email_box']))
111
- ? sanitize_text_field($option2['sfsi_plus_premium_email_box'])
112
- : 'yes';
113
- $option2['sfsi_plus_premium_facebook_box'] = (isset($option2['sfsi_plus_premium_facebook_box']))
114
- ? sanitize_text_field($option2['sfsi_plus_premium_facebook_box'])
115
- : 'yes';
116
- $option2['sfsi_plus_premium_twitter_box'] = (isset($option2['sfsi_plus_premium_twitter_box']))
117
- ? sanitize_text_field($option2['sfsi_plus_premium_twitter_box'])
118
- : 'yes';
119
- $option2['sfsi_plus_okLike_option'] = (isset($option2['sfsi_plus_okLike_option']))
120
- ? sanitize_text_field($option2['sfsi_plus_okLike_option'])
121
- : 'no';
122
- $option2['sfsi_plus_okVisit_option'] = (isset($option2['sfsi_plus_okVisit_option']))
123
- ? sanitize_text_field($option2['sfsi_plus_okVisit_option'])
124
- : 'no';
125
-
126
- $option2['sfsi_plus_okVisit_url'] = (isset($option2['sfsi_plus_okVisit_url']))
127
- ? sanitize_text_field($option2['sfsi_plus_okVisit_url'])
128
- : '';
129
-
130
- $option2['sfsi_plus_okSubscribe_option'] = (isset($option2['sfsi_plus_okSubscribe_option']))
131
- ? sanitize_text_field($option2['sfsi_plus_okSubscribe_option'])
132
- : 'no';
133
-
134
- $option2['sfsi_plus_okSubscribe_userid'] = (isset($option2['sfsi_plus_okSubscribe_userid']))
135
- ? sanitize_text_field($option2['sfsi_plus_okSubscribe_userid'])
136
- : '';
137
-
138
- $option2['sfsi_plus_telegramShare_option'] = (isset($option2['sfsi_plus_telegramShare_option']))
139
- ? sanitize_text_field($option2['sfsi_plus_telegramShare_option'])
140
- : 'no';
141
- $option2['sfsi_plus_telegramMessage_option'] = (isset($option2['sfsi_plus_telegramMessage_option']))
142
- ? sanitize_text_field($option2['sfsi_plus_telegramMessage_option'])
143
- : 'no';
144
-
145
- $option2['sfsi_plus_telegram_username'] = (isset($option2['sfsi_plus_telegram_username']))
146
- ? sanitize_text_field($option2['sfsi_plus_telegram_username'])
147
- : '';
148
-
149
- $option2['sfsi_plus_telegram_message'] = (isset($option2['sfsi_plus_telegram_message']))
150
- ? sanitize_text_field($option2['sfsi_plus_telegram_message'])
151
- : '';
152
-
153
- $option2['sfsi_plus_vkShare_option'] = (isset($option2['sfsi_plus_vkShare_option']))
154
- ? sanitize_text_field($option2['sfsi_plus_vkShare_option'])
155
- : 'no';
156
- $option2['sfsi_plus_vkVisit_option'] = (isset($option2['sfsi_plus_vkVisit_option']))
157
- ? sanitize_text_field($option2['sfsi_plus_vkVisit_option'])
158
- : 'no';
159
-
160
- $option2['sfsi_plus_vkLike_option'] = (isset($option2['sfsi_plus_vkLike_option']))
161
- ? sanitize_text_field($option2['sfsi_plus_vkLike_option'])
162
- : 'no';
163
- $option2['sfsi_plus_vkFollow_option'] = (isset($option2['sfsi_plus_vkFollow_option']))
164
- ? sanitize_text_field($option2['sfsi_plus_vkFollow_option'])
165
- : 'no';
166
-
167
- $option2['sfsi_plus_vkFollow_url'] = (isset($option2['sfsi_plus_vkFollow_url']))
168
- ? sanitize_text_field($option2['sfsi_plus_vkFollow_url'])
169
- : '';
170
-
171
- $option2['sfsi_plus_vkVisit_url'] = (isset($option2['sfsi_plus_vkVisit_url']))
172
- ? sanitize_text_field($option2['sfsi_plus_vkVisit_url'])
173
- : '';
174
-
175
- $option2['sfsi_plus_weiboVisit_option'] = (isset($option2['sfsi_plus_weiboVisit_option']))
176
- ? sanitize_text_field($option2['sfsi_plus_weiboVisit_option'])
177
- : 'no';
178
- $option2['sfsi_plus_weiboVisit_url'] = (isset($option2['sfsi_plus_weiboVisit_url']))
179
- ? sanitize_text_field($option2['sfsi_plus_weiboVisit_url'])
180
- : '';
181
- $option2['sfsi_plus_weiboShare_option'] = (isset($option2['sfsi_plus_weiboShare_option']))
182
- ? sanitize_text_field($option2['sfsi_plus_weiboShare_option'])
183
- : 'no';
184
-
185
- $option2['sfsi_plus_weiboLike_option'] = (isset($option2['sfsi_plus_weiboLike_option']))
186
- ? sanitize_text_field($option2['sfsi_plus_weiboLike_option'])
187
- : 'no';
188
- ?>
189
- <!-- Section 2 "What do you want the icons to do?" main div Start -->
190
- <div class="tab2">
191
- <!-- RSS ICON -->
192
- <div class="row bdr_top sfsiplus_rss_section">
193
- <h2 class="sfsicls_rs_s">
194
- RSS
195
- </h2>
196
- <div class="inr_cont">
197
- <p>
198
- <?php _e( 'When clicked on, users can subscribe via RSS', SFSI_PLUS_DOMAIN); ?>
199
- </p>
200
- <p class="rss_url_row">
201
- <label>
202
- RSS URL
203
- </label>
204
- <input name="sfsi_plus_rss_url" style="float: none;margin-left:20px;" id="sfsi_plus_rss_url" class="add" type="url" value="<?php echo ($option2['sfsi_plus_rss_url']!='') ? $option2['sfsi_plus_rss_url'] : '' ;?>" placeholder="E.g http://www.yoursite.com/feed" />
205
- <span class="sfrsTxt" >
206
- <?php _e( 'For most blogs it’s http://blogname.com/feed', SFSI_PLUS_DOMAIN); ?>
207
- </span>
208
- </p>
209
- </div>
210
- </div>
211
- <!-- END RSS ICON -->
212
-
213
- <!-- EMAIL ICON -->
214
- <?php
215
- $feedId = sanitize_text_field(get_option('sfsi_plus_feed_id',false));
216
- $connectToFeed = "https://www.specificfeeds.com/?".base64_encode("userprofile=wordpress&feed_id=".$feedId);
217
-
218
- ?>
219
- <div class="row sfsiplus_email_section">
220
- <h2 class="sfsicls_email">
221
- Email
222
- </h2>
223
-
224
- <?php sfsi_plus_curl_error_notification(); ?>
225
-
226
- <div class="inr_cont">
227
- <p class="sfsi_plus_specificfeedlink">
228
- <?php _e('Allows your visitors to subscribe to your site (on ', SFSI_PLUS_DOMAIN ); ?><a href="https://www.specificfeeds.com/widgets/emailSubscribeEncFeed/<?php echo $feedId; ?>/<?php echo base64_encode(8); ?>" target="_new"><?php _e( 'this screen', SFSI_PLUS_DOMAIN); ?></a><?php _e(") and receive new posts automatically by email.", SFSI_PLUS_DOMAIN); ?>
229
- </p>
230
- <p><?php _e( 'Please pick which icon type you want to use:', SFSI_PLUS_DOMAIN); ?></p>
231
- <ul class="tab_2_email_sec">
232
- <li>
233
- <div class="sfsiplusicnsdvwrp">
234
- <input name="sfsi_plus_rss_icons" <?php echo ($option2['sfsi_plus_rss_icons']=='email') ? 'checked="true"' : '' ;?> type="radio" value="email" class="styled" /><span class="email_icn"></span>
235
- </div>
236
- <label>
237
- <?php _e( 'Email icon', SFSI_PLUS_DOMAIN); ?>
238
- </label>
239
- </li>
240
- <li>
241
- <div class="sfsiplusicnsdvwrp">
242
- <input name="sfsi_plus_rss_icons" <?php echo ($option2['sfsi_plus_rss_icons']=='subscribe') ? 'checked="true"' : '' ;?> type="radio" value="subscribe" class="styled" /><span class="subscribe_icn"></span>
243
- </div>
244
- <label>
245
- <?php _e( 'Follow icon', SFSI_PLUS_DOMAIN); ?>
246
- <span class="sfplsdesc">
247
- (<?php _e( 'increases sign-ups', SFSI_PLUS_DOMAIN); ?>)
248
- </span>
249
- </label>
250
- </li>
251
- <li>
252
- <div class="sfsiplusicnsdvwrp">
253
- <input name="sfsi_plus_rss_icons" <?php echo ($option2['sfsi_plus_rss_icons']=='sfsi') ? 'checked="true"' : '' ;?> type="radio" value="sfsi" class="styled" /><span class="sf_arow"></span>
254
- </div>
255
- <label>
256
- <?php _e( 'SpecificFeeds icon', SFSI_PLUS_DOMAIN); ?>
257
- <span class="sfplsdesc">
258
- (<?php _e( 'provider of the service', SFSI_PLUS_DOMAIN); ?>)
259
- </span>
260
- </label>
261
- </li>
262
- </ul>
263
- <p><?php _e( 'The service offers many (more) advantages:', SFSI_PLUS_DOMAIN); ?></p>
264
- <div class='sfsi_plus_service_row'>
265
- <div class='sfsi_plus_service_column'>
266
- <ul>
267
- <li><span><?php _e( 'More people come back', SFSI_PLUS_DOMAIN); ?></span><?php _e( ' to your site', SFSI_PLUS_DOMAIN); ?></li>
268
- <li><?php _e( 'See your ', SFSI_PLUS_DOMAIN); ?><span><?php _e( 'subscribers’ emails', SFSI_PLUS_DOMAIN); ?></span><?php _e( ' & ', SFSI_PLUS_DOMAIN); ?><span><?php _e( 'interesting statistics', SFSI_PLUS_DOMAIN); ?></span></li>
269
- <li><?php _e( 'Automatically post on ', SFSI_PLUS_DOMAIN); ?><span><?php _e( 'Facebook & Twitter', SFSI_PLUS_DOMAIN); ?></span></li>
270
- </ul>
271
- </div>
272
- <div class='sfsi_plus_service_column'>
273
- <ul>
274
- <li><span><?php _e( 'Get more traffic', SFSI_PLUS_DOMAIN); ?></span><?php _e( ' by being listed in the SF directory', SFSI_PLUS_DOMAIN); ?></li>
275
- <li><span><?php _e( 'Get alerts', SFSI_PLUS_DOMAIN); ?></span><?php _e( ' when people subscribe or unsubscribe', SFSI_PLUS_DOMAIN); ?></li>
276
- <li><span><?php _e( 'Tailor the sender name & subject line', SFSI_PLUS_DOMAIN); ?></span><?php _e( ' of the emails', SFSI_PLUS_DOMAIN); ?></li>
277
- </ul>
278
- </div>
279
-
280
- </div>
281
-
282
- <form id="calimingOptimizationForm" method="get" action="https://www.specificfeeds.com/wpclaimfeeds/getFullAccess" target="_blank">
283
- <div class="sfsi_plus_inputbtn">
284
- <input type="hidden" name="feed_id" value="<?php echo sanitize_text_field(get_option('sfsi_plus_feed_id',false)); ?>" />
285
- <input type="email" name="email" value="<?php echo bloginfo('admin_email'); ?>" />
286
- </div>
287
- <div class='sfsi_plus_more_services_link'>
288
- <a class="pop-up" href="javascript:" id="getMeFullAccess" title="Give me access">
289
- <?php _e('Click here to benefit from all advantages >', SFSI_PLUS_DOMAIN ); ?>
290
- </a>
291
- </div>
292
- </form>
293
-
294
- <p class='sfsi_plus_email_last_paragraph'>
295
- <?php _e( 'This will create your FREE account on SpecificFeeds, using above email. ', SFSI_PLUS_DOMAIN); ?><br>
296
- <?php _e( 'All data will be treated highly confidentially, see the', SFSI_PLUS_DOMAIN); ?>
297
- <a href="https://www.specificfeeds.com/page/privacy-policy" target="_new">
298
- <?php _e('Privacy Policy.', SFSI_PLUS_DOMAIN ); ?>
299
- </a>
300
- </p>
301
- <?php if($option2['sfsi_plus_premium_email_box'] =='yes') { ?>
302
- <div class ="sfsi_plus_new_prmium_follw">
303
- <p>
304
- <b><?php _e( 'New:', SFSI_PLUS_DOMAIN); ?></b><?php _e( ' In our Premium Plugin you can now give your email icon other functions too, e.g. contact you (email), share by email, and link to a certain page (e.g. your contact form or newsletter sign-up site). ', SFSI_PLUS_DOMAIN); ?><a style="cursor:pointer" class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" target="_blank"><?php _e( 'Go premium now', SFSI_PLUS_DOMAIN); ?></a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=more_functions_email_icon&utm_medium=banner" class="sfsi_plus_font_inherit" target="_blank"><?php _e( ' or learn more', SFSI_PLUS_DOMAIN); ?></a>
305
- </p>
306
- </div>
307
- <?php } ?>
308
- </div>
309
- </div>
310
-
311
- <!-- END EMAIL ICON -->
312
-
313
- <!-- FACEBOOK ICON -->
314
- <div class="row sfsiplus_facebook_section">
315
- <h2 class="sfsicls_facebook">
316
- Facebook
317
- </h2>
318
- <div class="inr_cont">
319
- <p>
320
- <?php _e( 'The facebook icon can perform several actions. Pick below which ones it should perform. If you select several options, then users can select what they want to do', SFSI_PLUS_DOMAIN); ?>
321
- <a class="rit_link pop-up" href="javascript:;" data-id="fbex-s2">
322
- (<?php _e( 'see an example', SFSI_PLUS_DOMAIN); ?>).
323
- </a>
324
- </p>
325
- <p>
326
- <?php _e( 'The facebook icon should allow users to...', SFSI_PLUS_DOMAIN); ?>
327
- </p>
328
-
329
- <p class="radio_section fb_url">
330
- <input name="sfsi_plus_facebookPage_option" <?php echo ($option2['sfsi_plus_facebookPage_option']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
331
-
332
- <label>
333
- <?php _e( 'Visit my Facebook page at:', SFSI_PLUS_DOMAIN); ?>
334
- </label>
335
-
336
- <input class="add" name="sfsi_plus_facebookPage_url" type="url" value="<?php echo ($option2['sfsi_plus_facebookPage_url']!='') ? $option2['sfsi_plus_facebookPage_url'] : '' ;?>" placeholder="E.g https://www.facebook.com/your_page_name" /></p>
337
-
338
- <p class="radio_section fb_url extra_sp">
339
- <input name="sfsi_plus_facebookLike_option" <?php echo ($option2['sfsi_plus_facebookLike_option']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
340
- <label>
341
- <?php _e( 'Like my blog on Facebook (+1)', SFSI_PLUS_DOMAIN); ?>
342
- </label>
343
- </p>
344
-
345
- <p class="radio_section fb_url extra_sp">
346
- <input name="sfsi_plus_facebookShare_option" <?php echo ($option2['sfsi_plus_facebookShare_option']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
347
-
348
- <label>
349
- <?php _e( 'Share my blog with friends (on Facebook)', SFSI_PLUS_DOMAIN); ?>
350
- </label>
351
- </p>
352
- <?php if($option2['sfsi_plus_premium_facebook_box'] =='yes') { ?>
353
- <div class="sfsi_plus_new_prmium_follw">
354
- <p>
355
- <b><?php _e( 'New:', SFSI_PLUS_DOMAIN); ?></b> <?php _e( ' In our Premium Plugin you can also allow users to follow you on Facebook directly from your site (without leaving your page, increasing followers). ', SFSI_PLUS_DOMAIN); ?><a style="cursor:pointer" class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" target="_blank"><?php _e( 'Go premium now', SFSI_PLUS_DOMAIN); ?></a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=direct_follow_facebook&utm_medium=banner" class="sfsi_plus_font_inherit" target="_blank"><?php _e( ' or learn more', SFSI_PLUS_DOMAIN); ?></a>
356
- </p>
357
- </div>
358
- <?php } ?>
359
-
360
- </div>
361
- </div>
362
- <!-- END FACEBOOK ICON -->
363
-
364
- <!-- TWITTER ICON -->
365
- <div class="row sfsiplus_twitter_section">
366
- <h2 class="sfsicls_twt">
367
- Twitter
368
- </h2>
369
- <div class="inr_cont twt_tab_2">
370
- <p>
371
- <?php
372
- _e( 'The Twitter icon can perform several actions. Pick below which ones it should perform. If you select several options, then users can select what they want to do', SFSI_PLUS_DOMAIN);
373
- ?>
374
- <a class="rit_link pop-up" href="javascript:;" data-id="twex-s2">
375
- (<?php _e( 'see an example', SFSI_PLUS_DOMAIN); ?>).
376
- </a>
377
- </p>
378
- <p>
379
- <?php _e( 'The Twitter icon should allow users to...', SFSI_PLUS_DOMAIN); ?>
380
- </p>
381
- <p class="radio_section fb_url">
382
- <input name="sfsi_plus_twitter_page" <?php echo ($option2['sfsi_plus_twitter_page']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
383
- <label>
384
- <?php _e( 'Visit me on Twitter:', SFSI_PLUS_DOMAIN); ?>
385
- </label>
386
- <input name="sfsi_plus_twitter_pageURL" type="url" placeholder="http://" value="<?php echo ($option2['sfsi_plus_twitter_pageURL']!='') ? $option2['sfsi_plus_twitter_pageURL'] : '' ;?>" class="add" />
387
- </p>
388
-
389
- <div class="radio_section fb_url twt_fld">
390
- <input name="sfsi_plus_twitter_followme" <?php echo ($option2['sfsi_plus_twitter_followme']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
391
-
392
- <label>
393
- <?php _e( 'Follow me on Twitter:', SFSI_PLUS_DOMAIN); ?>
394
- </label>
395
-
396
- <input name="sfsi_plus_twitter_followUserName" type="text" value="<?php echo ($option2['sfsi_plus_twitter_followUserName']!='') ? $option2['sfsi_plus_twitter_followUserName'] : '' ;?>" placeholder="my_twitter_name" class="add" />
397
- </div>
398
- <div class="radio_section fb_url twt_fld_2">
399
- <input name="sfsi_plus_twitter_aboutPage" <?php echo ($option2['sfsi_plus_twitter_aboutPage']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
400
- <label>
401
- <?php _e( 'Tweet about my page:', SFSI_PLUS_DOMAIN ); ?>
402
- </label>
403
- <textarea name="sfsi_plus_twitter_aboutPageText" id="sfsi_plus_twitter_aboutPageText" type="text" class="add_txt" placeholder="<?php _e( 'Hey check out this cool site I found', SFSI_PLUS_DOMAIN ) ;?>: www.yourname.com #Topic via@my_twitter_name" /><?php echo ($option2['sfsi_plus_twitter_aboutPageText']!='') ? stripslashes($option2['sfsi_plus_twitter_aboutPageText']) : _e( 'Hey check out this cool site I found', SFSI_PLUS_DOMAIN ) ;?></textarea>
404
- </div>
405
- <?php if($option2['sfsi_plus_premium_twitter_box'] =='yes') { ?>
406
- <div class= "sfsi_plus_new_prmium_follw">
407
- <p>
408
- <b><?php _e( 'New: ', SFSI_PLUS_DOMAIN ); ?></b><?php _e( "Tweeting becomes really fun in the Premium Plugin – you can insert tags to automatically pull the title of the story & link to the story, attach pictures & snippets to the Tweets ( 'Twitter cards') and user Url-shorteners, all leading to more Tweets and traffic for your site!. ", SFSI_PLUS_DOMAIN ); ?><a style="cursor:pointer" class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" target="_blank"><?php _e( 'Go premium now', SFSI_PLUS_DOMAIN); ?></a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=better_tweets&utm_medium=banner" class="sfsi_plus_font_inherit" target="_blank"><?php _e( ' or learn more', SFSI_PLUS_DOMAIN); ?></a>
409
- </p>
410
- </div>
411
- <?php } ?>
412
- </div>
413
- </div>
414
- <!-- END TWITTER ICON -->
415
-
416
-
417
- <!-- YOUTUBE ICON -->
418
- <div class="row sfsiplus_youtube_section">
419
- <h2 class="sfsicls_utube">
420
- Youtube
421
- </h2>
422
- <div class="inr_cont utube_inn">
423
- <p>
424
- <?php _e( 'The Youtube icon can perform several actions. Pick below which ones it should perform. If you select several options, then users can select what they want to do', SFSI_PLUS_DOMAIN ); ?>
425
- <a class="rit_link pop-up" href="javascript:;" data-id="ytex-s2">
426
- (<?php _e( 'see an example', SFSI_PLUS_DOMAIN ); ?>).
427
- </a>
428
- </p>
429
- <p>
430
- <?php _e( 'The youtube icon should allow users to...', SFSI_PLUS_DOMAIN ); ?>
431
- </p>
432
- <p class="radio_section fb_url"><input name="sfsi_plus_youtube_page" <?php echo ($option2['sfsi_plus_youtube_page']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
433
- <label>
434
- <?php _e( 'Visit my Youtube page at:', SFSI_PLUS_DOMAIN ); ?>
435
- </label>
436
- <input name="sfsi_plus_youtube_pageUrl" type="url" placeholder="http://" value="<?php echo ($option2['sfsi_plus_youtube_pageUrl']!='') ? $option2['sfsi_plus_youtube_pageUrl'] : '' ;?>" class="add" />
437
- </p>
438
- <p class="radio_section fb_url"><input name="sfsi_plus_youtube_follow" <?php echo ($option2['sfsi_plus_youtube_follow']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
439
- <label>
440
- <?php _e( 'Subscribe to me on Youtube', SFSI_PLUS_DOMAIN ); ?>
441
- <span>
442
- <?php _e( '(allows people to subscribe to you directly, without leaving your blog)', SFSI_PLUS_DOMAIN ); ?>
443
- </span>
444
- </label>
445
- </p>
446
- <!--Adding Code for Channel Id and Channel Name-->
447
- <?php
448
- if(!isset($option2['sfsi_plus_youtubeusernameorid']))
449
- {
450
- $sfsi_plus_youtubeusernameorid = '';
451
- }
452
- else
453
- {
454
- $sfsi_plus_youtubeusernameorid = $option2['sfsi_plus_youtubeusernameorid'];
455
- }
456
- ?>
457
-
458
- <div class="cstmutbewpr">
459
- <ul class="enough_waffling">
460
- <li onclick="showhideutube(this);"><input name="sfsi_plus_youtubeusernameorid" <?php echo ($sfsi_plus_youtubeusernameorid=='name') ? 'checked="true"' : '' ;?> type="radio" value="name" class="styled" />
461
- <label>
462
- <?php _e( 'User Name', SFSI_PLUS_DOMAIN ); ?>
463
- </label>
464
- </li>
465
- <li onclick="showhideutube(this);"><input name="sfsi_plus_youtubeusernameorid" <?php echo ($sfsi_plus_youtubeusernameorid=='id') ? 'checked="true"' : '' ;?> type="radio" value="id" class="styled" />
466
- <label>
467
- <?php _e( 'Channel Id', SFSI_PLUS_DOMAIN ); ?>
468
- </label></li>
469
- </ul>
470
- <div class="cstmutbtxtwpr">
471
- <div class="cstmutbchnlnmewpr" <?php if($sfsi_plus_youtubeusernameorid != 'id'){echo 'style="display: block;"';}?>>
472
- <p class="extra_pp">
473
- <label><?php _e( 'UserName:', SFSI_PLUS_DOMAIN ); ?></label>
474
- <input name="sfsi_plus_ytube_user" type="url" value="<?php echo (isset($option2['sfsi_plus_ytube_user']) && $option2['sfsi_plus_ytube_user']!='') ? $option2['sfsi_plus_ytube_user'] : '' ;?>" placeholder="Youtube username" class="add" />
475
- </p>
476
- <div class="utbe_instruction">
477
- <?php _e( 'To find your User ID/Channel ID, login to your YouTube account, click the user icon at the top right corner and select "Settings", then click "Advanced" under "Name" and you will find both your "Channel ID" and "User ID" under "Account Information".', SFSI_PLUS_DOMAIN ); ?>
478
- </div>
479
- </div>
480
- <div class="cstmutbchnlidwpr" <?php if($sfsi_plus_youtubeusernameorid == 'id'){echo 'style="display: block"';}?>>
481
- <p class="extra_pp">
482
- <label>
483
- <?php _e( 'Channel Id:', SFSI_PLUS_DOMAIN ); ?>
484
- </label>
485
- <input name="sfsi_plus_ytube_chnlid" type="url" value="<?php echo (isset($option2['sfsi_plus_ytube_chnlid']) && $option2['sfsi_plus_ytube_chnlid']!='') ? $option2['sfsi_plus_ytube_chnlid'] : '' ;?>" placeholder="youtube_channel_id" class="add" />
486
- </p>
487
- <div class="utbe_instruction">
488
- <?php _e( 'To find your User ID/Channel ID, login to your YouTube account, click the user icon at the top right corner and select "Settings", then click "Advanced" under "Name" and you will find both your "Channel ID" and "User ID" under "Account Information".', SFSI_PLUS_DOMAIN ); ?>
489
- </div>
490
- </div>
491
- </div>
492
- </div>
493
-
494
- </div>
495
- </div>
496
- <!-- END YOUTUBE ICON -->
497
-
498
- <!-- PINTEREST ICON -->
499
- <div class="row sfsiplus_pinterest_section">
500
- <h2 class="sfsicls_pinterest">Pinterest</h2>
501
- <div class="inr_cont">
502
- <p>
503
- <?php _e( 'The Pinterest icon can perform several actions. Pick below which ones it should perform. If you select several options, then users can select what they want to do', SFSI_PLUS_DOMAIN ); ?>
504
- <a class="rit_link pop-up" href="javascript:;" data-id="pinex-s2">
505
- (<?php _e( 'see an example', SFSI_PLUS_DOMAIN ); ?>).
506
- </a>
507
- </p>
508
- <p>
509
- <?php _e( 'The Pinterest icon should allow users to...', SFSI_PLUS_DOMAIN ); ?>
510
- </p>
511
- <p class="radio_section fb_url">
512
- <input name="sfsi_plus_pinterest_page" <?php echo ($option2['sfsi_plus_pinterest_page']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
513
- <label>
514
- <?php _e( 'Visit my Pinterest page at:', SFSI_PLUS_DOMAIN ); ?>
515
- </label>
516
- <input name="sfsi_plus_pinterest_pageUrl" type="url" placeholder="http://" value="<?php echo ($option2['sfsi_plus_pinterest_pageUrl']!='') ? $option2['sfsi_plus_pinterest_pageUrl'] : '' ;?>" class="add" />
517
- </p>
518
- <div class="pint_url">
519
- <p class="radio_section fb_url">
520
- <input name="sfsi_plus_pinterest_pingBlog" <?php echo ($option2['sfsi_plus_pinterest_pingBlog']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
521
- <label>
522
- <?php _e( 'Pin my blog on Pinterest (+1)', SFSI_PLUS_DOMAIN); ?>
523
- </label>
524
- </p>
525
- </div>
526
- <div class= "sfsi_plus_new_prmium_follw">
527
- <p>
528
- <b><?php _e( 'New: ', SFSI_PLUS_DOMAIN ); ?></b><?php _e( "The Premium Plugin allows you to show a Pinterest icon if visitors move their mouse over your images. You can define exactly where it should show, and where not. ", SFSI_PLUS_DOMAIN ); ?><a style="cursor:pointer" class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" class="sfisi_plus_font_bold" target="_blank"><?php _e( 'Go premium now', SFSI_PLUS_DOMAIN); ?></a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=pinterest&utm_medium=banner" class="sfsi_plus_font_inherit" target="_blank"><?php _e( ' or learn more', SFSI_PLUS_DOMAIN); ?></a>
529
- </p>
530
- </div>
531
- </div>
532
-
533
- </div>
534
- <!-- END PINTEREST ICON -->
535
-
536
- <!-- INSTAGRAM ICON -->
537
- <div class="row sfsiplus_instagram_section">
538
- <h2 class="sfsicls_instagram">
539
- Instagram
540
- </h2>
541
- <div class="inr_cont">
542
- <p>
543
- <?php _e( 'When clicked on, users will get directed to your Instagram page', SFSI_PLUS_DOMAIN ); ?>.
544
- </p>
545
- <p class="radio_section fb_url cus_link instagram_space" >
546
- <label>
547
- URL
548
- </label>
549
- <input name="sfsi_plus_instagram_pageUrl" type="text" value="<?php echo (isset($option2['sfsi_plus_instagram_pageUrl']) && $option2['sfsi_plus_instagram_pageUrl']!='') ? $option2['sfsi_plus_instagram_pageUrl'] : '' ;?>" placeholder="http://" class="add" />
550
- </p>
551
- </div>
552
- </div>
553
- <!-- END INSTAGRAM ICON -->
554
-
555
- <!-- LINKEDIN ICON -->
556
- <div class="row sfsiplus_linkedin_section">
557
- <h2 class="sfsicls_linkdin">
558
- LinkedIn
559
- </h2>
560
- <div class="inr_cont linked_tab_2 link_in">
561
- <p>
562
- <?php _e( 'The LinkedIn icon can perform several actions. Pick below which ones it should perform. If you select several options, then users can select what they want to do', SFSI_PLUS_DOMAIN ); ?>
563
- <a class="rit_link pop-up" href="javascript:;" data-id="linkex-s2">
564
- (<?php _e( 'see an example', SFSI_PLUS_DOMAIN); ?>).
565
- </a>
566
- </p>
567
- <p>
568
- <?php _e( 'You find your ID in the link of your profile page, e.g. https://www.linkedin.com/profile/view?id=<b>8539887</b>&trk=nav_responsive_tab_profile_pic', SFSI_PLUS_DOMAIN ); ?>
569
- </p>
570
- <p>
571
- <?php _e( 'The LinkedIn icon should allow users to...', SFSI_PLUS_DOMAIN ); ?>
572
- </p>
573
- <div class="radio_section fb_url link_1">
574
- <input name="sfsi_plus_linkedin_page" <?php echo ($option2['sfsi_plus_linkedin_page']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
575
- <label>
576
- <?php _e( 'Visit my Linkedin page at:', SFSI_PLUS_DOMAIN ); ?>
577
- </label>
578
- <input name="sfsi_plus_linkedin_pageURL" type="text" placeholder="http://" value="<?php echo ($option2['sfsi_plus_linkedin_pageURL']!='') ? $option2['sfsi_plus_linkedin_pageURL'] : '' ;?>" class="add" />
579
- </div>
580
-
581
- <div class="radio_section fb_url link_2">
582
- <input name="sfsi_plus_linkedin_follow" <?php echo ($option2['sfsi_plus_linkedin_follow']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
583
-
584
- <label>
585
- <?php _e( 'Follow me on Linkedin:', SFSI_PLUS_DOMAIN ); ?>
586
- </label>
587
-
588
- <input name="sfsi_plus_linkedin_followCompany" type="text" value="<?php echo ($option2['sfsi_plus_linkedin_followCompany']!='') ? $option2['sfsi_plus_linkedin_followCompany'] : '' ;?>" class="add" placeholder="Enter company ID, e.g. 123456" />
589
- </div>
590
-
591
- <div class="radio_section fb_url link_3">
592
- <input name="sfsi_plus_linkedin_SharePage" <?php echo ($option2['sfsi_plus_linkedin_SharePage']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
593
- <label>
594
- <?php _e( 'Share my page on LinkedIn', SFSI_PLUS_DOMAIN ); ?>
595
- </label>
596
- </div>
597
-
598
- <div class="radio_section fb_url link_4">
599
- <input name="sfsi_plus_linkedin_recommendBusines" <?php echo ($option2['sfsi_plus_linkedin_recommendBusines']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
600
- <label class="anthr_labl">
601
- <?php _e( 'Recommend my business or product on Linkedin', SFSI_PLUS_DOMAIN ); ?>
602
- </label>
603
- <input name="sfsi_plus_linkedin_recommendProductId" type="text" value="<?php echo ($option2['sfsi_plus_linkedin_recommendProductId']!='') ? $option2['sfsi_plus_linkedin_recommendProductId'] : '' ;?>" class="add link_dbl" placeholder="Enter Product ID, e.g. 1441" /> <input name="sfsi_plus_linkedin_recommendCompany" type="text" value="<?php echo ($option2['sfsi_plus_linkedin_recommendCompany']!='') ? $option2['sfsi_plus_linkedin_recommendCompany'] : '' ;?>" class="add" placeholder="Enter company name, e.g. Google”" />
604
- </div>
605
- <div class="lnkdin_instruction">
606
- <?php _e( 'To find your Product or Company ID, you can use their ID lookup tool at', SFSI_PLUS_DOMAIN ); ?>
607
- <a target="_blank" href="https://developer.linkedin.com/apply-getting-started#company-lookup">
608
- https://developer.linkedin.com/apply-getting-started#company-lookup
609
- </a>
610
- . <?php _e( 'You need to be logged in to Linkedin to be able to use it.', SFSI_PLUS_DOMAIN ); ?>
611
- </div>
612
- </div>
613
- </div>
614
- <!-- END LINKEDIN ICON -->
615
-
616
- <!-- HOUZZ ICON -->
617
- <div class="row sfsiplus_houzz_section">
618
- <h2 class="sfsicls_houzz">
619
- Houzz
620
- </h2>
621
- <div class="inr_cont">
622
- <p>
623
- <?php _e( 'Please provide the url to your Houzz profile (e.g. http://www.houzz.com/user/your_username).', SFSI_PLUS_DOMAIN ); ?>
624
- </p>
625
- <div class="fb_url link_2">
626
- <label class="sfsiLabel">
627
- <?php _e( 'URL:', SFSI_PLUS_DOMAIN ); ?>
628
- </label>
629
-
630
- <input style="float:none;margin-top:0" name="sfsi_plus_houzz_pageUrl" type="text" value="<?php echo (isset($option2['sfsi_plus_houzz_pageUrl']) && $option2['sfsi_plus_houzz_pageUrl']!='') ? $option2['sfsi_plus_houzz_pageUrl'] : '' ;?>" placeholder="http://" class="add" />
631
- </div>
632
-
633
- </div>
634
- </div>
635
- <!-- HOUZZ INSTAGRAM ICON -->
636
-
637
- <!--MZ CODE START-->
638
-
639
- <!-- Ok ICON -->
640
- <div class="row sfsiplus_ok_section">
641
-
642
- <h2 class="sfsicls_ok"><?php _e( 'OdnoKlassniki', SFSI_PLUS_DOMAIN ); ?></h2>
643
- <div class="inr_cont">
644
- <p>
645
- <?php _e( 'When clicked on, users will get directed to your OK page.', SFSI_PLUS_DOMAIN ); ?>
646
- </p>
647
-
648
- <div class="radio_section fb_url">
649
- <input name="sfsi_plus_okVisit_option" checked="true" type="checkbox" value="yes" style="display:none;" class=""/>
650
-
651
- <label class="sfsiLabel" style="margin-top:10px">
652
- <?php _e( 'Visit my OK page at:', SFSI_PLUS_DOMAIN ); ?>
653
- </label>
654
-
655
- <input name="sfsi_plus_okVisit_url" type="url" placeholder="" value="<?php echo $option2['sfsi_plus_okVisit_url'];?>" class="add" style="margin-top:10px" />
656
- </div>
657
- <div class= "sfsi_plus_new_prmium_follw">
658
- <p>
659
- <b><?php _e( 'New: ', SFSI_PLUS_DOMAIN ); ?></b><?php _e( "In our Premium Plugin you can now give OK icon other functions too, e.g. <b>like your website/blog, subscribe/follow you</b> on OK. ", SFSI_PLUS_DOMAIN ); ?><a style="cursor:pointer" class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" class="sfisi_plus_font_bold" target="_blank"><?php _e( 'Go premium now', SFSI_PLUS_DOMAIN); ?></a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=ok_like_and_subscribe&utm_medium=banner" class="sfsi_plus_font_inherit" target="_blank"><?php _e( ' or learn more', SFSI_PLUS_DOMAIN); ?></a>
660
- </p>
661
- </div>
662
- </div>
663
- </div>
664
- <!-- Ok ICON -->
665
-
666
- <!-- Telegram ICON -->
667
- <div class="row sfsiplus_telegram_section">
668
-
669
- <h2 class="sfsicls_telegram"><?php _e( 'Telegram', SFSI_PLUS_DOMAIN ); ?></h2>
670
-
671
- <div class="inr_cont">
672
- <p>
673
- <?php _e( 'Clicking on this icon will allow users to contact you on Telegram.', SFSI_PLUS_DOMAIN ); ?>
674
- </p>
675
-
676
- <div class="radio_section fb_url ">
677
- <input type="checkbox" name="sfsi_plus_telegramShare_option" value="yes" checked="checked" style="display:none" />
678
-
679
- <label class="sfsiLabel1" >
680
- <?php _e("Pre-filled message:", SFSI_PLUS_DOMAIN);?>
681
- </label>
682
-
683
- <input name="sfsi_plus_telegram_message" type="text" value="<?php echo (isset($option2['sfsi_plus_telegram_message']) && $option2['sfsi_plus_telegram_message']!='') ? $option2['sfsi_plus_telegram_message'] : '' ;?>" placeholder="Hey, I like your website." class="add link_1"/>
684
- </div>
685
-
686
- <div class="radio_section fb_url ">
687
- <label class="sfsiLabel1" >
688
- <?php _e("My Telegram username", SFSI_PLUS_DOMAIN);?>
689
- </label>
690
-
691
- <input name="sfsi_plus_telegram_username" type="text" value="<?php echo (isset($option2['sfsi_plus_telegram_username']) && $option2['sfsi_plus_telegram_username']!='') ? $option2['sfsi_plus_telegram_username'] : '' ;?>" placeholder="" class="add" />
692
- </div>
693
- <div class= "sfsi_plus_new_prmium_follw">
694
- <p>
695
- <b><?php _e( 'New: ', SFSI_PLUS_DOMAIN ); ?></b><?php _e( " In our Premium Plugin you can now give your Telegram icon sharing functionality too, e.g. share your website/blog with friends. ", SFSI_PLUS_DOMAIN ); ?><a style="cursor:pointer" class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" class="sfisi_plus_font_bold" target="_blank"><?php _e( 'Go premium now', SFSI_PLUS_DOMAIN); ?></a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=telegram_sharing&utm_medium=banner" class="sfsi_plus_font_inherit" target="_blank"><?php _e( ' or learn more', SFSI_PLUS_DOMAIN); ?></a>
696
- </p>
697
- </div>
698
- </div>
699
-
700
-
701
- </div>
702
- <!-- Telegram ICON -->
703
-
704
- <!-- VK ICON -->
705
- <div class="row sfsiplus_vk_section">
706
-
707
- <h2 class="sfsicls_vk">
708
- <?php _e( 'VK', SFSI_PLUS_DOMAIN ); ?>
709
- </h2>
710
- <div class="inr_cont">
711
- <p>
712
- <?php _e( 'When clicked on, users will get directed to your Weibo page.', SFSI_PLUS_DOMAIN ); ?>
713
- </p>
714
-
715
- <div class="radio_section fb_url ">
716
- <input type="checkbox" name="sfsi_plus_vkVisit_option" value="yes" checked="checked" style="display:none">
717
-
718
- <label class="sfsiLabel">
719
- <?php _e( 'Visit my VK page at:', SFSI_PLUS_DOMAIN ); ?>
720
- </label>
721
-
722
- <input name="sfsi_plus_vkVisit_url" type="url" placeholder="http://" value="<?php echo $option2['sfsi_plus_vkVisit_url'];?>" class="add" />
723
- </div>
724
- <div class= "sfsi_plus_new_prmium_follw">
725
- <p>
726
- <b><?php _e( 'New: ', SFSI_PLUS_DOMAIN ); ?></b>
727
- <?php _e( "In our Premium Plugin you can now give your VK icon sharing functionality too, e.g. <b>share your website/blog</b> with friends. ", SFSI_PLUS_DOMAIN ); ?><a style="cursor:pointer" class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" target="_blank"><?php _e( 'Go premium now', SFSI_PLUS_DOMAIN); ?></a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=vk_share&utm_medium=banner" class="sfsi_plus_font_inherit" target="_blank"><?php _e( ' or learn more', SFSI_PLUS_DOMAIN); ?></a>
728
- </p>
729
- </div>
730
- </div>
731
- </div>
732
- <!-- VK ICON -->
733
-
734
- <div class="row sfsiplus_wechat_section" style="display: <?php echo isset($option1["sfsi_plus_wechat_display"])&&$option1["sfsi_plus_wechat_display"]=="yes"?'block':'none'; ?>">
735
-
736
- <h2 class="sfsicls_wechat">
737
- <?php _e('WeChat', SFSI_PLUS_DOMAIN ); ?>
738
- </h2>
739
-
740
- <div class="inr_cont">
741
- <p class="sfsiLabel infoLabel">
742
- <?php _e( 'When clicked on, your website/blog will be shared on WeChat.', SFSI_PLUS_DOMAIN ); ?>
743
- </p>
744
- <div class="radio_section fb_url ">
745
- <input type="checkbox" name="sfsi_plus_wechatShare_option" value="yes" checked="checked" style="display:none"/>
746
-
747
- </div>
748
- <div class= "sfsi_plus_new_prmium_follw">
749
- <p>
750
- <b><?php _e( 'New: ', SFSI_PLUS_DOMAIN ); ?></b>
751
- <?php _e( "In our Premium Plugin you can also allow users to <b>follow you</b> on WeChat. ", SFSI_PLUS_DOMAIN ); ?><a style="cursor:pointer" class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" class="sfisi_plus_font_bold" target="_blank"><?php _e( 'Go premium now', SFSI_PLUS_DOMAIN); ?></a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=wechat_sharing&utm_medium=banner" class="sfsi_plus_font_inherit" target="_blank"><?php _e( ' or learn more', SFSI_PLUS_DOMAIN); ?></a>
752
- </p>
753
- </div>
754
- </div>
755
-
756
-
757
-
758
-
759
- </div>
760
- <!-- VK ICON -->
761
-
762
- <!-- Weibo ICON -->
763
- <div class="row sfsiplus_weibo_section">
764
-
765
- <h2 class="sfsicls_weibo">
766
- <?php _e('Sina Weibo', SFSI_PLUS_DOMAIN ); ?>
767
- </h2>
768
- <div class="inr_cont">
769
- <p class="sfsiLabel infoLabel">
770
- <?php _e( 'When clicked on, users will get directed to your Weibo page.', SFSI_PLUS_DOMAIN ); ?>
771
- </p>
772
- <div class="radio_section fb_url ">
773
- <input name="sfsi_plus_weiboVisit_option" checked="checked" placeholder="http://" type="checkbox" value="yes" style="display:none"/>
774
-
775
- <label class="sfsiLabel">
776
- <?php _e( 'Visit my Sina Weibo page at:', SFSI_PLUS_DOMAIN ); ?>
777
- </label>
778
-
779
- <input name="sfsi_plus_weiboVisit_url" type="url" placeholder="" value="<?php echo $option2['sfsi_plus_weiboVisit_url'];?>" class="add" />
780
- </div>
781
- <div class= "sfsi_plus_new_prmium_follw">
782
- <p>
783
- <b><?php _e( 'New: ', SFSI_PLUS_DOMAIN ); ?></b>
784
- <?php _e( " In our Premium Plugin you can now give Weibo icon other functions too, e.g. <b>like your website/blog, share your website/blog</b> on Weibo. ", SFSI_PLUS_DOMAIN ); ?><a style="cursor:pointer" class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" class="sfisi_plus_font_bold" target="_blank"><?php _e( 'Go premium now', SFSI_PLUS_DOMAIN); ?></a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=weibo_like_and_share&utm_medium=banner" class="sfsi_plus_font_inherit" target="_blank"><?php _e( ' or learn more', SFSI_PLUS_DOMAIN); ?></a>
785
- </p>
786
- </div>
787
- </div>
788
-
789
-
790
- </div>
791
- <!-- Weibo ICON -->
792
-
793
- <!--MZ CODE END-->
794
-
795
- <!-- Custom icon section start here -->
796
- <div class="plus_custom-links sfsiplus_custom_section">
797
- <?php
798
- $costom_links = unserialize($option2['sfsi_plus_CustomIcon_links']);
799
-
800
- $bannerDisplay= "display:none;";
801
- $count = 1;
802
- for($i = $first_key; $i <= $endkey; $i++) :
803
- if(!empty( $icons[$i])) :
804
-
805
- $bannerDisplay = "display:block;";
806
- ?>
807
- <div class="row sfsiICON_<?php echo $i; ?> cm_lnk">
808
- <h2 class="custom">
809
- <span class="customstep2-img">
810
- <img src="<?php echo (!empty($icons[$i])) ? esc_url($icons[$i]) : SFSI_PLUS_PLUGURL.'images/custom.png';?>" id="CImg_<?php echo $new_element; ?>" style="border-radius:48%" />
811
- </span>
812
- <span class="sfsiCtxt">
813
- <?php _e( 'Custom', SFSI_PLUS_DOMAIN ); ?>
814
- <?php echo $count; ?>
815
- </span>
816
- </h2>
817
- <div class="inr_cont ">
818
- <p>
819
- <?php _e( 'Where do you want this icon to link to?', SFSI_PLUS_DOMAIN ); ?>
820
- </p>
821
- <p class="radio_section fb_url sfsiplus_custom_section cus_link " >
822
- <label>
823
- <?php _e( 'Link:', SFSI_PLUS_DOMAIN ); ?>
824
- </label>
825
- <input name="sfsi_plus_CustomIcon_links[]" type="text" value="<?php echo (isset($costom_links[$i]) && $costom_links[$i]!='') ? esc_url($costom_links[$i]) : '' ;?>" placeholder="http://" class="add" file-id="<?php echo $i; ?>" />
826
- </p>
827
- </div>
828
- </div>
829
- <?php
830
- $count++;
831
- endif; endfor;
832
- ?>
833
- </div>
834
-
835
- <div class="banner_custom_icon sfsi_plus_new_prmium_follw" style="<?php echo $bannerDisplay;?>">
836
- <p><b><?php _e( 'New:', SFSI_PLUS_DOMAIN); ?></b> <?php _e( ' In the Premium Plugin you can also give custom icons the feature that when people click on it, they can call you, or send you an SMS). ', SFSI_PLUS_DOMAIN); ?><a style="cursor:pointer" class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" class="sfisi_plus_font_bold" target="_blank"><?php _e( 'Go premium now', SFSI_PLUS_DOMAIN); ?></a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=call_or_sms_feature_custom_icons&utm_medium=banner" class="sfsi_plus_font_inherit" target="_blank" style="font-family: inherit !important;"><?php _e( ' or learn more', SFSI_PLUS_DOMAIN); ?></a>
837
- </p>
838
- </div>
839
-
840
- <!-- END Custom icon section here -->
841
-
842
-
843
- <?php sfsi_plus_ask_for_help(2); ?>
844
-
845
-
846
- <!-- SAVE BUTTON SECTION -->
847
- <div class="save_button tab_2_sav">
848
- <img src="<?php echo SFSI_PLUS_PLUGURL; ?>images/ajax-loader.gif" class="loader-img" />
849
-
850
- <?php $nonce = wp_create_nonce("update_plus_step2"); ?>
851
-
852
- <a href="javascript:;" id="sfsi_plus_save2" title="Save" data-nonce="<?php echo $nonce;?>">
853
- <?php _e( 'Save', SFSI_PLUS_DOMAIN ); ?>
854
- </a>
855
- </div>
856
- <!-- END SAVE BUTTON SECTION -->
857
- <a class="sfsiColbtn closeSec" href="javascript:;">
858
- <?php _e( 'Collapse area', SFSI_PLUS_DOMAIN ); ?>
859
- </a>
860
-
861
- <label class="closeSec"></label>
862
-
863
- <!-- ERROR AND SUCCESS MESSAGE AREA-->
864
- <p class="red_txt errorMsg" style="display:none"> </p>
865
- <p class="green_txt sucMsg" style="display:none"> </p>
866
-
867
- </div>
868
- <!-- END Section 2 "What do you want the icons to do?" main div -->
1
+ <?php
2
+ /* unserialize all saved option for second section options */
3
+ $option4= unserialize(get_option('sfsi_plus_section4_options',false));
4
+ $option2= unserialize(get_option('sfsi_plus_section2_options',false));
5
+ /*
6
+ * Sanitize, escape and validate values
7
+ */
8
+ $option2['sfsi_plus_rss_url'] = (isset($option2['sfsi_plus_rss_url']))
9
+ ? esc_url($option2['sfsi_plus_rss_url'])
10
+ : '';
11
+ $option2['sfsi_plus_rss_icons'] = (isset($option2['sfsi_plus_rss_icons']))
12
+ ? sanitize_text_field($option2['sfsi_plus_rss_icons'])
13
+ : '';
14
+ $option2['sfsi_plus_email_url'] = (isset($option2['sfsi_plus_email_url']))
15
+ ? sanitize_text_field( $option2['sfsi_plus_email_url'])
16
+ : '';
17
+
18
+ $option2['sfsi_plus_facebookPage_option'] = (isset($option2['sfsi_plus_facebookPage_option']))
19
+ ? sanitize_text_field($option2['sfsi_plus_facebookPage_option'])
20
+ : '';
21
+ $option2['sfsi_plus_facebookPage_url'] = (isset($option2['sfsi_plus_facebookPage_url']))
22
+ ? esc_url($option2['sfsi_plus_facebookPage_url'])
23
+ : '';
24
+ $option2['sfsi_plus_facebookLike_option'] = (isset($option2['sfsi_plus_facebookLike_option']))
25
+ ? sanitize_text_field($option2['sfsi_plus_facebookLike_option'])
26
+ : ' ';
27
+ $option2['sfsi_plus_facebookShare_option'] = (isset($option2['sfsi_plus_facebookShare_option']))
28
+ ? sanitize_text_field($option2['sfsi_plus_facebookShare_option'])
29
+ : '';
30
+
31
+ $option2['sfsi_plus_twitter_followme'] = (isset($option2['sfsi_plus_twitter_followme']))
32
+ ? sanitize_text_field($option2['sfsi_plus_twitter_followme'])
33
+ : '';
34
+ $option2['sfsi_plus_twitter_followUserName']= (isset($option2['sfsi_plus_twitter_followUserName']))
35
+ ? sanitize_text_field($option2['sfsi_plus_twitter_followUserName'])
36
+ : '';
37
+ $option2['sfsi_plus_twitter_aboutPage'] = (isset($option2['sfsi_plus_twitter_aboutPage']))
38
+ ? sanitize_text_field($option2['sfsi_plus_twitter_aboutPage'])
39
+ : '';
40
+ $option2['sfsi_plus_twitter_page'] = (isset($option2['sfsi_plus_twitter_page']))
41
+ ? sanitize_text_field($option2['sfsi_plus_twitter_page'])
42
+ : '';
43
+ $option2['sfsi_plus_twitter_pageURL'] = (isset($option2['sfsi_plus_twitter_pageURL']))
44
+ ? esc_url($option2['sfsi_plus_twitter_pageURL'])
45
+ : '';
46
+ $option2['sfsi_plus_twitter_aboutPageText'] = (isset($option2['sfsi_plus_twitter_aboutPageText']))
47
+ ? sanitize_text_field($option2['sfsi_plus_twitter_aboutPageText'])
48
+ : '';
49
+ $option2['sfsi_plus_youtube_pageUrl'] = (isset($option2['sfsi_plus_youtube_pageUrl']))
50
+ ? esc_url($option2['sfsi_plus_youtube_pageUrl'])
51
+ : '';
52
+ $option2['sfsi_plus_youtube_page'] = (isset($option2['sfsi_plus_youtube_page']))
53
+ ? sanitize_text_field($option2['sfsi_plus_youtube_page'])
54
+ : '';
55
+ $option2['sfsi_plus_youtube_follow'] = (isset($option2['sfsi_plus_youtube_follow']))
56
+ ? sanitize_text_field($option2['sfsi_plus_youtube_follow'])
57
+ : '';
58
+ $option2['sfsi_plus_ytube_user'] = (isset($option2['sfsi_plus_ytube_user']))
59
+ ? sanitize_text_field($option2['sfsi_plus_ytube_user'])
60
+ : '';
61
+
62
+ $option2['sfsi_plus_pinterest_page'] = (isset($option2['sfsi_plus_pinterest_page']))
63
+ ? sanitize_text_field($option2['sfsi_plus_pinterest_page'])
64
+ : '';
65
+ $option2['sfsi_plus_pinterest_pageUrl'] = (isset($option2['sfsi_plus_pinterest_pageUrl']))
66
+ ? esc_url($option2['sfsi_plus_pinterest_pageUrl'])
67
+ : '';
68
+ $option2['sfsi_plus_pinterest_pingBlog'] = (isset($option2['sfsi_plus_pinterest_pingBlog']))
69
+ ? sanitize_text_field($option2['sfsi_plus_pinterest_pingBlog'])
70
+ : '';
71
+
72
+ $option2['sfsi_plus_instagram_pageUrl'] = (isset($option2['sfsi_plus_instagram_pageUrl']))
73
+ ? esc_url($option2['sfsi_plus_instagram_pageUrl'])
74
+ : '';
75
+
76
+ $option2['sfsi_plus_linkedin_page'] = (isset($option2['sfsi_plus_linkedin_page']))
77
+ ? sanitize_text_field($option2['sfsi_plus_linkedin_page'])
78
+ : '';
79
+ $option2['sfsi_plus_linkedin_pageURL'] = (isset($option2['sfsi_plus_linkedin_pageURL']))
80
+ ? esc_url($option2['sfsi_plus_linkedin_pageURL'])
81
+ : '';
82
+ $option2['sfsi_plus_linkedin_follow'] = (isset($option2['sfsi_plus_linkedin_follow']))
83
+ ? sanitize_text_field($option2['sfsi_plus_linkedin_follow'])
84
+ : '';
85
+ $option2['sfsi_plus_linkedin_followCompany']= (isset($option2['sfsi_plus_linkedin_followCompany']))
86
+ ? intval($option2['sfsi_plus_linkedin_followCompany'])
87
+ : '';
88
+ $option2['sfsi_plus_linkedin_SharePage'] = (isset($option2['sfsi_plus_linkedin_SharePage']))
89
+ ? sanitize_text_field($option2['sfsi_plus_linkedin_SharePage'])
90
+ : '';
91
+ $option2['sfsi_plus_linkedin_recommendBusines'] = (isset($option2['sfsi_plus_linkedin_recommendBusines']))
92
+ ? sanitize_text_field($option2['sfsi_plus_linkedin_recommendBusines'])
93
+ : '';
94
+ $option2['sfsi_plus_linkedin_recommendCompany'] = (isset($option2['sfsi_plus_linkedin_recommendCompany']))
95
+ ? sanitize_text_field($option2['sfsi_plus_linkedin_recommendCompany'])
96
+ : '';
97
+ $option2['sfsi_plus_linkedin_recommendProductId'] = (isset($option2['sfsi_plus_linkedin_recommendProductId']))
98
+ ? intval($option2['sfsi_plus_linkedin_recommendProductId'])
99
+ : '';
100
+
101
+ $option2['sfsi_plus_houzz_pageUrl'] = (isset($option2['sfsi_plus_houzz_pageUrl']))
102
+ ? esc_url($option2['sfsi_plus_houzz_pageUrl'])
103
+ : '';
104
+ $option4['sfsi_plus_youtubeusernameorid'] = (isset($option4['sfsi_plus_youtubeusernameorid']))
105
+ ? sanitize_text_field($option4['sfsi_plus_youtubeusernameorid'])
106
+ : '';
107
+ $option4['sfsi_plus_ytube_chnlid'] = (isset($option4['sfsi_plus_ytube_chnlid']))
108
+ ? strip_tags(trim($option4['sfsi_plus_ytube_chnlid']))
109
+ : '';
110
+ $option2['sfsi_plus_premium_email_box'] = (isset($option2['sfsi_plus_premium_email_box']))
111
+ ? sanitize_text_field($option2['sfsi_plus_premium_email_box'])
112
+ : 'yes';
113
+ $option2['sfsi_plus_premium_facebook_box'] = (isset($option2['sfsi_plus_premium_facebook_box']))
114
+ ? sanitize_text_field($option2['sfsi_plus_premium_facebook_box'])
115
+ : 'yes';
116
+ $option2['sfsi_plus_premium_twitter_box'] = (isset($option2['sfsi_plus_premium_twitter_box']))
117
+ ? sanitize_text_field($option2['sfsi_plus_premium_twitter_box'])
118
+ : 'yes';
119
+ $option2['sfsi_plus_okLike_option'] = (isset($option2['sfsi_plus_okLike_option']))
120
+ ? sanitize_text_field($option2['sfsi_plus_okLike_option'])
121
+ : 'no';
122
+ $option2['sfsi_plus_okVisit_option'] = (isset($option2['sfsi_plus_okVisit_option']))
123
+ ? sanitize_text_field($option2['sfsi_plus_okVisit_option'])
124
+ : 'no';
125
+
126
+ $option2['sfsi_plus_okVisit_url'] = (isset($option2['sfsi_plus_okVisit_url']))
127
+ ? sanitize_text_field($option2['sfsi_plus_okVisit_url'])
128
+ : '';
129
+
130
+ $option2['sfsi_plus_okSubscribe_option'] = (isset($option2['sfsi_plus_okSubscribe_option']))
131
+ ? sanitize_text_field($option2['sfsi_plus_okSubscribe_option'])
132
+ : 'no';
133
+
134
+ $option2['sfsi_plus_okSubscribe_userid'] = (isset($option2['sfsi_plus_okSubscribe_userid']))
135
+ ? sanitize_text_field($option2['sfsi_plus_okSubscribe_userid'])
136
+ : '';
137
+
138
+ $option2['sfsi_plus_telegramShare_option'] = (isset($option2['sfsi_plus_telegramShare_option']))
139
+ ? sanitize_text_field($option2['sfsi_plus_telegramShare_option'])
140
+ : 'no';
141
+ $option2['sfsi_plus_telegramMessage_option'] = (isset($option2['sfsi_plus_telegramMessage_option']))
142
+ ? sanitize_text_field($option2['sfsi_plus_telegramMessage_option'])
143
+ : 'no';
144
+
145
+ $option2['sfsi_plus_telegram_username'] = (isset($option2['sfsi_plus_telegram_username']))
146
+ ? sanitize_text_field($option2['sfsi_plus_telegram_username'])
147
+ : '';
148
+
149
+ $option2['sfsi_plus_telegram_message'] = (isset($option2['sfsi_plus_telegram_message']))
150
+ ? sanitize_text_field($option2['sfsi_plus_telegram_message'])
151
+ : '';
152
+
153
+ $option2['sfsi_plus_vkShare_option'] = (isset($option2['sfsi_plus_vkShare_option']))
154
+ ? sanitize_text_field($option2['sfsi_plus_vkShare_option'])
155
+ : 'no';
156
+ $option2['sfsi_plus_vkVisit_option'] = (isset($option2['sfsi_plus_vkVisit_option']))
157
+ ? sanitize_text_field($option2['sfsi_plus_vkVisit_option'])
158
+ : 'no';
159
+
160
+ $option2['sfsi_plus_vkLike_option'] = (isset($option2['sfsi_plus_vkLike_option']))
161
+ ? sanitize_text_field($option2['sfsi_plus_vkLike_option'])
162
+ : 'no';
163
+ $option2['sfsi_plus_vkFollow_option'] = (isset($option2['sfsi_plus_vkFollow_option']))
164
+ ? sanitize_text_field($option2['sfsi_plus_vkFollow_option'])
165
+ : 'no';
166
+
167
+ $option2['sfsi_plus_vkFollow_url'] = (isset($option2['sfsi_plus_vkFollow_url']))
168
+ ? sanitize_text_field($option2['sfsi_plus_vkFollow_url'])
169
+ : '';
170
+
171
+ $option2['sfsi_plus_vkVisit_url'] = (isset($option2['sfsi_plus_vkVisit_url']))
172
+ ? sanitize_text_field($option2['sfsi_plus_vkVisit_url'])
173
+ : '';
174
+
175
+ $option2['sfsi_plus_weiboVisit_option'] = (isset($option2['sfsi_plus_weiboVisit_option']))
176
+ ? sanitize_text_field($option2['sfsi_plus_weiboVisit_option'])
177
+ : 'no';
178
+ $option2['sfsi_plus_weiboVisit_url'] = (isset($option2['sfsi_plus_weiboVisit_url']))
179
+ ? sanitize_text_field($option2['sfsi_plus_weiboVisit_url'])
180
+ : '';
181
+ $option2['sfsi_plus_weiboShare_option'] = (isset($option2['sfsi_plus_weiboShare_option']))
182
+ ? sanitize_text_field($option2['sfsi_plus_weiboShare_option'])
183
+ : 'no';
184
+
185
+ $option2['sfsi_plus_weiboLike_option'] = (isset($option2['sfsi_plus_weiboLike_option']))
186
+ ? sanitize_text_field($option2['sfsi_plus_weiboLike_option'])
187
+ : 'no';
188
+ ?>
189
+ <!-- Section 2 "What do you want the icons to do?" main div Start -->
190
+ <div class="tab2">
191
+ <!-- RSS ICON -->
192
+ <div class="row bdr_top sfsiplus_rss_section">
193
+ <h2 class="sfsicls_rs_s">
194
+ RSS
195
+ </h2>
196
+ <div class="inr_cont">
197
+ <p>
198
+ <?php _e( 'When clicked on, users can subscribe via RSS', SFSI_PLUS_DOMAIN); ?>
199
+ </p>
200
+ <p class="rss_url_row">
201
+ <label>
202
+ RSS URL
203
+ </label>
204
+ <input name="sfsi_plus_rss_url" style="float: none;margin-left:20px;" id="sfsi_plus_rss_url" class="add" type="url" value="<?php echo ($option2['sfsi_plus_rss_url']!='') ? $option2['sfsi_plus_rss_url'] : '' ;?>" placeholder="E.g http://www.yoursite.com/feed" />
205
+ <span class="sfrsTxt" >
206
+ <?php _e( 'For most blogs it’s http://blogname.com/feed', SFSI_PLUS_DOMAIN); ?>
207
+ </span>
208
+ </p>
209
+ </div>
210
+ </div>
211
+ <!-- END RSS ICON -->
212
+
213
+ <!-- EMAIL ICON -->
214
+ <?php
215
+ $feedId = sanitize_text_field(get_option('sfsi_plus_feed_id',false));
216
+ $connectToFeed = "https://www.specificfeeds.com/?".base64_encode("userprofile=wordpress&feed_id=".$feedId);
217
+
218
+ ?>
219
+ <div class="row sfsiplus_email_section">
220
+ <h2 class="sfsicls_email">
221
+ Email
222
+ </h2>
223
+
224
+ <?php sfsi_plus_curl_error_notification(); ?>
225
+
226
+ <div class="inr_cont">
227
+ <p class="sfsi_plus_specificfeedlink">
228
+ <?php _e('It allows your visitors to subscribe to your site (on ', SFSI_PLUS_DOMAIN ); ?><a href="https://www.specificfeeds.com/widgets/emailSubscribeEncFeed/<?php echo $feedId; ?>/<?php echo base64_encode(8); ?>" target="_new"><?php _e( 'this screen', SFSI_PLUS_DOMAIN); ?></a><?php _e(") and receive new posts automatically by email.", SFSI_PLUS_DOMAIN); ?>
229
+ </p>
230
+ <p><?php _e( 'Please pick which icon type you want to use:', SFSI_PLUS_DOMAIN); ?></p>
231
+ <ul class="tab_2_email_sec">
232
+ <li>
233
+ <div class="sfsiplusicnsdvwrp">
234
+ <input name="sfsi_plus_rss_icons" <?php echo ($option2['sfsi_plus_rss_icons']=='email') ? 'checked="true"' : '' ;?> type="radio" value="email" class="styled" /><span class="email_icn"></span>
235
+ </div>
236
+ <label>
237
+ <?php _e( 'Email icon', SFSI_PLUS_DOMAIN); ?>
238
+ </label>
239
+ </li>
240
+ <li>
241
+ <div class="sfsiplusicnsdvwrp">
242
+ <input name="sfsi_plus_rss_icons" <?php echo ($option2['sfsi_plus_rss_icons']=='subscribe') ? 'checked="true"' : '' ;?> type="radio" value="subscribe" class="styled" /><span class="subscribe_icn"></span>
243
+ </div>
244
+ <label>
245
+ <?php _e( 'Follow icon', SFSI_PLUS_DOMAIN); ?>
246
+ <span class="sfplsdesc">
247
+ (<?php _e( 'increases sign-ups', SFSI_PLUS_DOMAIN); ?>)
248
+ </span>
249
+ </label>
250
+ </li>
251
+ <li>
252
+ <div class="sfsiplusicnsdvwrp">
253
+ <input name="sfsi_plus_rss_icons" <?php echo ($option2['sfsi_plus_rss_icons']=='sfsi') ? 'checked="true"' : '' ;?> type="radio" value="sfsi" class="styled" /><span class="sf_arow"></span>
254
+ </div>
255
+ <label>
256
+ <?php _e( 'SpecificFeeds icon', SFSI_PLUS_DOMAIN); ?>
257
+ <span class="sfplsdesc">
258
+ (<?php _e( 'provider of the service', SFSI_PLUS_DOMAIN); ?>)
259
+ </span>
260
+ </label>
261
+ </li>
262
+ </ul>
263
+ <p><?php _e( 'The service offers many (more) advantages:', SFSI_PLUS_DOMAIN); ?></p>
264
+ <div class='sfsi_plus_service_row'>
265
+ <div class='sfsi_plus_service_column'>
266
+ <ul>
267
+ <li><span><?php _e( 'More people come back', SFSI_PLUS_DOMAIN); ?></span><?php _e( ' to your site', SFSI_PLUS_DOMAIN); ?></li>
268
+ <li><?php _e( 'See your ', SFSI_PLUS_DOMAIN); ?><span><?php _e( 'subscribers’ emails', SFSI_PLUS_DOMAIN); ?></span><?php _e( ' & ', SFSI_PLUS_DOMAIN); ?><span><?php _e( 'interesting statistics', SFSI_PLUS_DOMAIN); ?></span></li>
269
+ <li><?php _e( 'Automatically post on ', SFSI_PLUS_DOMAIN); ?><span><?php _e( 'Facebook & Twitter', SFSI_PLUS_DOMAIN); ?></span></li>
270
+ </ul>
271
+ </div>
272
+ <div class='sfsi_plus_service_column'>
273
+ <ul>
274
+ <li><span><?php _e( 'Get more traffic', SFSI_PLUS_DOMAIN); ?></span><?php _e( ' by being listed in the SF directory', SFSI_PLUS_DOMAIN); ?></li>
275
+ <li><span><?php _e( 'Get alerts', SFSI_PLUS_DOMAIN); ?></span><?php _e( ' when people subscribe or unsubscribe', SFSI_PLUS_DOMAIN); ?></li>
276
+ <li><span><?php _e( 'Tailor the sender name & subject line', SFSI_PLUS_DOMAIN); ?></span><?php _e( ' of the emails', SFSI_PLUS_DOMAIN); ?></li>
277
+ </ul>
278
+ </div>
279
+
280
+ </div>
281
+
282
+ <form id="calimingOptimizationForm" method="get" action="https://www.specificfeeds.com/wpclaimfeeds/getFullAccess" target="_blank">
283
+ <div class="sfsi_plus_inputbtn">
284
+ <input type="hidden" name="feed_id" value="<?php echo sanitize_text_field(get_option('sfsi_plus_feed_id',false)); ?>" />
285
+ <input type="email" name="email" value="<?php echo bloginfo('admin_email'); ?>" />
286
+ </div>
287
+ <div class='sfsi_plus_more_services_link'>
288
+ <a class="pop-up" href="javascript:" id="getMeFullAccess" title="Give me access">
289
+ <?php _e('Click here to benefit from all advantages >', SFSI_PLUS_DOMAIN ); ?>
290
+ </a>
291
+ </div>
292
+ </form>
293
+
294
+ <p class='sfsi_plus_email_last_paragraph'>
295
+ <?php _e( 'This will create your FREE account on SpecificFeeds, using the above email. ', SFSI_PLUS_DOMAIN); ?><br>
296
+ <?php _e( 'All data will be treated highly confidentially, see the', SFSI_PLUS_DOMAIN); ?>
297
+ <a href="https://www.specificfeeds.com/page/privacy-policy" target="_new">
298
+ <?php _e('Privacy Policy.', SFSI_PLUS_DOMAIN ); ?>
299
+ </a>
300
+ </p>
301
+ <?php if($option2['sfsi_plus_premium_email_box'] =='yes') { ?>
302
+ <div class ="sfsi_plus_new_prmium_follw">
303
+ <p>
304
+ <b><?php _e( 'New:', SFSI_PLUS_DOMAIN); ?></b><?php _e( ' In our Premium Plugin you can now give your email icon other functions too, e.g. contact you (email), share by email, and link to a certain page (e.g. your contact form or newsletter sign-up site). ', SFSI_PLUS_DOMAIN); ?><a style="cursor:pointer" class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" target="_blank"><?php _e( 'Go premium now', SFSI_PLUS_DOMAIN); ?></a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=more_functions_email_icon&utm_medium=banner" class="sfsi_plus_font_inherit" target="_blank"><?php _e( ' or learn more', SFSI_PLUS_DOMAIN); ?></a>
305
+ </p>
306
+ </div>
307
+ <?php } ?>
308
+ </div>
309
+ </div>
310
+
311
+ <!-- END EMAIL ICON -->
312
+
313
+ <!-- FACEBOOK ICON -->
314
+ <div class="row sfsiplus_facebook_section">
315
+ <h2 class="sfsicls_facebook">
316
+ Facebook
317
+ </h2>
318
+ <div class="inr_cont">
319
+ <p>
320
+ <?php _e( 'The facebook icon can perform several actions. Pick below which ones it should perform. If you select several options, then users can select what they want to do', SFSI_PLUS_DOMAIN); ?>
321
+ <a class="rit_link pop-up" href="javascript:;" data-id="fbex-s2">
322
+ (<?php _e( 'see an example', SFSI_PLUS_DOMAIN); ?>).
323
+ </a>
324
+ </p>
325
+ <p>
326
+ <?php _e( 'The facebook icon should allow users to...', SFSI_PLUS_DOMAIN); ?>
327
+ </p>
328
+
329
+ <p class="radio_section fb_url">
330
+ <input name="sfsi_plus_facebookPage_option" <?php echo ($option2['sfsi_plus_facebookPage_option']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
331
+
332
+ <label>
333
+ <?php _e( 'Visit my Facebook page at:', SFSI_PLUS_DOMAIN); ?>
334
+ </label>
335
+
336
+ <input class="add" name="sfsi_plus_facebookPage_url" type="url" value="<?php echo ($option2['sfsi_plus_facebookPage_url']!='') ? $option2['sfsi_plus_facebookPage_url'] : '' ;?>" placeholder="E.g https://www.facebook.com/your_page_name" /></p>
337
+
338
+ <p class="radio_section fb_url extra_sp">
339
+ <input name="sfsi_plus_facebookLike_option" <?php echo ($option2['sfsi_plus_facebookLike_option']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
340
+ <label>
341
+ <?php _e( 'Like my blog on Facebook (+1)', SFSI_PLUS_DOMAIN); ?>
342
+ </label>
343
+ </p>
344
+
345
+ <p class="radio_section fb_url extra_sp">
346
+ <input name="sfsi_plus_facebookShare_option" <?php echo ($option2['sfsi_plus_facebookShare_option']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
347
+
348
+ <label>
349
+ <?php _e( 'Share my blog with friends (on Facebook)', SFSI_PLUS_DOMAIN); ?>
350
+ </label>
351
+ </p>
352
+ <?php if($option2['sfsi_plus_premium_facebook_box'] =='yes') { ?>
353
+ <div class="sfsi_plus_new_prmium_follw">
354
+ <p>
355
+ <b><?php _e( 'New:', SFSI_PLUS_DOMAIN); ?></b> <?php _e( ' In our Premium Plugin you can also allow users to follow you on Facebook directly from your site (without leaving your page, increasing followers). ', SFSI_PLUS_DOMAIN); ?><a style="cursor:pointer" class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" target="_blank"><?php _e( 'Go premium now', SFSI_PLUS_DOMAIN); ?></a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=direct_follow_facebook&utm_medium=banner" class="sfsi_plus_font_inherit" target="_blank"><?php _e( ' or learn more', SFSI_PLUS_DOMAIN); ?></a>
356
+ </p>
357
+ </div>
358
+ <?php } ?>
359
+
360
+ </div>
361
+ </div>
362
+ <!-- END FACEBOOK ICON -->
363
+
364
+ <!-- TWITTER ICON -->
365
+ <div class="row sfsiplus_twitter_section">
366
+ <h2 class="sfsicls_twt">
367
+ Twitter
368
+ </h2>
369
+ <div class="inr_cont twt_tab_2">
370
+ <p>
371
+ <?php
372
+ _e( 'The Twitter icon can perform several actions. Pick below which ones it should perform. If you select several options, then users can select what they want to do', SFSI_PLUS_DOMAIN);
373
+ ?>
374
+ <a class="rit_link pop-up" href="javascript:;" data-id="twex-s2">
375
+ (<?php _e( 'see an example', SFSI_PLUS_DOMAIN); ?>).
376
+ </a>
377
+ </p>
378
+ <p>
379
+ <?php _e( 'The Twitter icon should allow users to...', SFSI_PLUS_DOMAIN); ?>
380
+ </p>
381
+ <p class="radio_section fb_url">
382
+ <input name="sfsi_plus_twitter_page" <?php echo ($option2['sfsi_plus_twitter_page']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
383
+ <label>
384
+ <?php _e( 'Visit me on Twitter:', SFSI_PLUS_DOMAIN); ?>
385
+ </label>
386
+ <input name="sfsi_plus_twitter_pageURL" type="url" placeholder="http://" value="<?php echo ($option2['sfsi_plus_twitter_pageURL']!='') ? $option2['sfsi_plus_twitter_pageURL'] : '' ;?>" class="add" />
387
+ </p>
388
+
389
+ <div class="radio_section fb_url twt_fld">
390
+ <input name="sfsi_plus_twitter_followme" <?php echo ($option2['sfsi_plus_twitter_followme']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
391
+
392
+ <label>
393
+ <?php _e( 'Follow me on Twitter:', SFSI_PLUS_DOMAIN); ?>
394
+ </label>
395
+
396
+ <input name="sfsi_plus_twitter_followUserName" type="text" value="<?php echo ($option2['sfsi_plus_twitter_followUserName']!='') ? $option2['sfsi_plus_twitter_followUserName'] : '' ;?>" placeholder="my_twitter_name" class="add" />
397
+ </div>
398
+ <div class="radio_section fb_url twt_fld_2">
399
+ <input name="sfsi_plus_twitter_aboutPage" <?php echo ($option2['sfsi_plus_twitter_aboutPage']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
400
+ <label>
401
+ <?php _e( 'Tweet about my page:', SFSI_PLUS_DOMAIN ); ?>
402
+ </label>
403
+ <textarea name="sfsi_plus_twitter_aboutPageText" id="sfsi_plus_twitter_aboutPageText" type="text" class="add_txt" placeholder="<?php _e( 'Hey check out this cool site I found', SFSI_PLUS_DOMAIN ) ;?>: www.yourname.com #Topic via@my_twitter_name" /><?php echo ($option2['sfsi_plus_twitter_aboutPageText']!='') ? stripslashes($option2['sfsi_plus_twitter_aboutPageText']) : _e( 'Hey check out this cool site I found', SFSI_PLUS_DOMAIN ) ;?></textarea>
404
+ </div>
405
+ <?php if($option2['sfsi_plus_premium_twitter_box'] =='yes') { ?>
406
+ <div class= "sfsi_plus_new_prmium_follw">
407
+ <p>
408
+ <b><?php _e( 'New: ', SFSI_PLUS_DOMAIN ); ?></b><?php _e( "Tweeting becomes really fun in the Premium Plugin – you can insert tags to automatically pull the title of the story & link to the story, attach pictures & snippets to the Tweets ( 'Twitter cards') and user Url-shorteners, all leading to more Tweets and traffic for your site!. ", SFSI_PLUS_DOMAIN ); ?><a style="cursor:pointer" class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" target="_blank"><?php _e( 'Go premium now', SFSI_PLUS_DOMAIN); ?></a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=better_tweets&utm_medium=banner" class="sfsi_plus_font_inherit" target="_blank"><?php _e( ' or learn more', SFSI_PLUS_DOMAIN); ?></a>
409
+ </p>
410
+ </div>
411
+ <?php } ?>
412
+ </div>
413
+ </div>
414
+ <!-- END TWITTER ICON -->
415
+
416
+
417
+ <!-- YOUTUBE ICON -->
418
+ <div class="row sfsiplus_youtube_section">
419
+ <h2 class="sfsicls_utube">
420
+ Youtube
421
+ </h2>
422
+ <div class="inr_cont utube_inn">
423
+ <p>
424
+ <?php _e( 'The Youtube icon can perform several actions. Pick below which ones it should perform. If you select several options, then users can select what they want to do', SFSI_PLUS_DOMAIN ); ?>
425
+ <a class="rit_link pop-up" href="javascript:;" data-id="ytex-s2">
426
+ (<?php _e( 'see an example', SFSI_PLUS_DOMAIN ); ?>).
427
+ </a>
428
+ </p>
429
+ <p>
430
+ <?php _e( 'The youtube icon should allow users to...', SFSI_PLUS_DOMAIN ); ?>
431
+ </p>
432
+ <p class="radio_section fb_url"><input name="sfsi_plus_youtube_page" <?php echo ($option2['sfsi_plus_youtube_page']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
433
+ <label>
434
+ <?php _e( 'Visit my Youtube page at:', SFSI_PLUS_DOMAIN ); ?>
435
+ </label>
436
+ <input name="sfsi_plus_youtube_pageUrl" type="url" placeholder="http://" value="<?php echo ($option2['sfsi_plus_youtube_pageUrl']!='') ? $option2['sfsi_plus_youtube_pageUrl'] : '' ;?>" class="add" />
437
+ </p>
438
+ <p class="radio_section fb_url"><input name="sfsi_plus_youtube_follow" <?php echo ($option2['sfsi_plus_youtube_follow']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
439
+ <label>
440
+ <?php _e( 'Subscribe to me on Youtube', SFSI_PLUS_DOMAIN ); ?>
441
+ <span>
442
+ <?php _e( '(it allows people to subscribe to you directly, without leaving your blog)', SFSI_PLUS_DOMAIN ); ?>
443
+ </span>
444
+ </label>
445
+ </p>
446
+ <!--Adding Code for Channel Id and Channel Name-->
447
+ <?php
448
+ if(!isset($option2['sfsi_plus_youtubeusernameorid']))
449
+ {
450
+ $sfsi_plus_youtubeusernameorid = '';
451
+ }
452
+ else
453
+ {
454
+ $sfsi_plus_youtubeusernameorid = $option2['sfsi_plus_youtubeusernameorid'];
455
+ }
456
+ ?>
457
+
458
+ <div class="cstmutbewpr">
459
+ <ul class="enough_waffling">
460
+ <li onclick="showhideutube(this);"><input name="sfsi_plus_youtubeusernameorid" <?php echo ($sfsi_plus_youtubeusernameorid=='name') ? 'checked="true"' : '' ;?> type="radio" value="name" class="styled" />
461
+ <label>
462
+ <?php _e( 'User Name', SFSI_PLUS_DOMAIN ); ?>
463
+ </label>
464
+ </li>
465
+ <li onclick="showhideutube(this);"><input name="sfsi_plus_youtubeusernameorid" <?php echo ($sfsi_plus_youtubeusernameorid=='id') ? 'checked="true"' : '' ;?> type="radio" value="id" class="styled" />
466
+ <label>
467
+ <?php _e( 'Channel Id', SFSI_PLUS_DOMAIN ); ?>
468
+ </label></li>
469
+ </ul>
470
+ <div class="cstmutbtxtwpr">
471
+ <div class="cstmutbchnlnmewpr" <?php if($sfsi_plus_youtubeusernameorid != 'id'){echo 'style="display: block;"';}?>>
472
+ <p class="extra_pp">
473
+ <label><?php _e( 'UserName:', SFSI_PLUS_DOMAIN ); ?></label>
474
+ <input name="sfsi_plus_ytube_user" type="url" value="<?php echo (isset($option2['sfsi_plus_ytube_user']) && $option2['sfsi_plus_ytube_user']!='') ? $option2['sfsi_plus_ytube_user'] : '' ;?>" placeholder="Youtube username" class="add" />
475
+ </p>
476
+ <div class="utbe_instruction">
477
+ <?php _e( 'To find your User ID/Channel ID, login to your YouTube account, click the user icon at the top right corner and select "Settings", then click "Advanced" under "Name" and you will find both your "Channel ID" and "User ID" under "Account Information".', SFSI_PLUS_DOMAIN ); ?>
478
+ </div>
479
+ </div>
480
+ <div class="cstmutbchnlidwpr" <?php if($sfsi_plus_youtubeusernameorid == 'id'){echo 'style="display: block"';}?>>
481
+ <p class="extra_pp">
482
+ <label>
483
+ <?php _e( 'Channel Id:', SFSI_PLUS_DOMAIN ); ?>
484
+ </label>
485
+ <input name="sfsi_plus_ytube_chnlid" type="url" value="<?php echo (isset($option2['sfsi_plus_ytube_chnlid']) && $option2['sfsi_plus_ytube_chnlid']!='') ? $option2['sfsi_plus_ytube_chnlid'] : '' ;?>" placeholder="youtube_channel_id" class="add" />
486
+ </p>
487
+ <div class="utbe_instruction">
488
+ <?php _e( 'To find your User ID/Channel ID, login to your YouTube account, click the user icon at the top right corner and select "Settings", then click "Advanced" under "Name" and you will find both your "Channel ID" and "User ID" under "Account Information".', SFSI_PLUS_DOMAIN ); ?>
489
+ </div>
490
+ </div>
491
+ </div>
492
+ </div>
493
+
494
+ </div>
495
+ </div>
496
+ <!-- END YOUTUBE ICON -->
497
+
498
+ <!-- PINTEREST ICON -->
499
+ <div class="row sfsiplus_pinterest_section">
500
+ <h2 class="sfsicls_pinterest">Pinterest</h2>
501
+ <div class="inr_cont">
502
+ <p>
503
+ <?php _e( 'The Pinterest icon can perform several actions. Pick below which ones it should perform. If you select several options, then users can select what they want to do', SFSI_PLUS_DOMAIN ); ?>
504
+ <a class="rit_link pop-up" href="javascript:;" data-id="pinex-s2">
505
+ (<?php _e( 'see an example', SFSI_PLUS_DOMAIN ); ?>).
506
+ </a>
507
+ </p>
508
+ <p>
509
+ <?php _e( 'The Pinterest icon should allow users to...', SFSI_PLUS_DOMAIN ); ?>
510
+ </p>
511
+ <p class="radio_section fb_url">
512
+ <input name="sfsi_plus_pinterest_page" <?php echo ($option2['sfsi_plus_pinterest_page']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
513
+ <label>
514
+ <?php _e( 'Visit my Pinterest page at:', SFSI_PLUS_DOMAIN ); ?>
515
+ </label>
516
+ <input name="sfsi_plus_pinterest_pageUrl" type="url" placeholder="http://" value="<?php echo ($option2['sfsi_plus_pinterest_pageUrl']!='') ? $option2['sfsi_plus_pinterest_pageUrl'] : '' ;?>" class="add" />
517
+ </p>
518
+ <div class="pint_url">
519
+ <p class="radio_section fb_url">
520
+ <input name="sfsi_plus_pinterest_pingBlog" <?php echo ($option2['sfsi_plus_pinterest_pingBlog']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
521
+ <label>
522
+ <?php _e( 'Pin my blog on Pinterest (+1)', SFSI_PLUS_DOMAIN); ?>
523
+ </label>
524
+ </p>
525
+ </div>
526
+ <div class= "sfsi_plus_new_prmium_follw">
527
+ <p>
528
+ <b><?php _e( 'New: ', SFSI_PLUS_DOMAIN ); ?></b><?php _e( "The Premium Plugin it allows you to show a Pinterest icon if visitors move their mouse over your images. You can define exactly where it should show, and where not. ", SFSI_PLUS_DOMAIN ); ?><a style="cursor:pointer" class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" class="sfisi_plus_font_bold" target="_blank"><?php _e( 'Go premium now', SFSI_PLUS_DOMAIN); ?></a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=pinterest&utm_medium=banner" class="sfsi_plus_font_inherit" target="_blank"><?php _e( ' or learn more', SFSI_PLUS_DOMAIN); ?></a>
529
+ </p>
530
+ </div>
531
+ </div>
532
+
533
+ </div>
534
+ <!-- END PINTEREST ICON -->
535
+
536
+ <!-- INSTAGRAM ICON -->
537
+ <div class="row sfsiplus_instagram_section">
538
+ <h2 class="sfsicls_instagram">
539
+ Instagram
540
+ </h2>
541
+ <div class="inr_cont">
542
+ <p>
543
+ <?php _e( 'When clicked on, users will get directed to your Instagram page', SFSI_PLUS_DOMAIN ); ?>.
544
+ </p>
545
+ <p class="radio_section fb_url cus_link instagram_space" >
546
+ <label>
547
+ URL
548
+ </label>
549
+ <input name="sfsi_plus_instagram_pageUrl" type="text" value="<?php echo (isset($option2['sfsi_plus_instagram_pageUrl']) && $option2['sfsi_plus_instagram_pageUrl']!='') ? $option2['sfsi_plus_instagram_pageUrl'] : '' ;?>" placeholder="http://" class="add" />
550
+ </p>
551
+ </div>
552
+ </div>
553
+ <!-- END INSTAGRAM ICON -->
554
+
555
+ <!-- LINKEDIN ICON -->
556
+ <div class="row sfsiplus_linkedin_section">
557
+ <h2 class="sfsicls_linkdin">
558
+ LinkedIn
559
+ </h2>
560
+ <div class="inr_cont linked_tab_2 link_in">
561
+ <p>
562
+ <?php _e( 'The LinkedIn icon can perform several actions. Pick below which ones it should perform. If you select several options, then users can select what they want to do', SFSI_PLUS_DOMAIN ); ?>
563
+ <a class="rit_link pop-up" href="javascript:;" data-id="linkex-s2">
564
+ (<?php _e( 'see an example', SFSI_PLUS_DOMAIN); ?>).
565
+ </a>
566
+ </p>
567
+ <p>
568
+ <?php _e( 'You find your ID in the link of your profile page, e.g. https://www.linkedin.com/profile/view?id=<b>8539887</b>&trk=nav_responsive_tab_profile_pic', SFSI_PLUS_DOMAIN ); ?>
569
+ </p>
570
+ <p>
571
+ <?php _e( 'The LinkedIn icon should allow users to...', SFSI_PLUS_DOMAIN ); ?>
572
+ </p>
573
+ <div class="radio_section fb_url link_1">
574
+ <input name="sfsi_plus_linkedin_page" <?php echo ($option2['sfsi_plus_linkedin_page']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
575
+ <label>
576
+ <?php _e( 'Visit my Linkedin page at:', SFSI_PLUS_DOMAIN ); ?>
577
+ </label>
578
+ <input name="sfsi_plus_linkedin_pageURL" type="text" placeholder="http://" value="<?php echo ($option2['sfsi_plus_linkedin_pageURL']!='') ? $option2['sfsi_plus_linkedin_pageURL'] : '' ;?>" class="add" />
579
+ </div>
580
+
581
+ <div class="radio_section fb_url link_2">
582
+ <input name="sfsi_plus_linkedin_follow" <?php echo ($option2['sfsi_plus_linkedin_follow']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
583
+
584
+ <label>
585
+ <?php _e( 'Follow me on Linkedin:', SFSI_PLUS_DOMAIN ); ?>
586
+ </label>
587
+
588
+ <input name="sfsi_plus_linkedin_followCompany" type="text" value="<?php echo ($option2['sfsi_plus_linkedin_followCompany']!='') ? $option2['sfsi_plus_linkedin_followCompany'] : '' ;?>" class="add" placeholder="Enter company ID, e.g. 123456" />
589
+ </div>
590
+
591
+ <div class="radio_section fb_url link_3">
592
+ <input name="sfsi_plus_linkedin_SharePage" <?php echo ($option2['sfsi_plus_linkedin_SharePage']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
593
+ <label>
594
+ <?php _e( 'Share my page on LinkedIn', SFSI_PLUS_DOMAIN ); ?>
595
+ </label>
596
+ </div>
597
+
598
+ <div class="radio_section fb_url link_4">
599
+ <input name="sfsi_plus_linkedin_recommendBusines" <?php echo ($option2['sfsi_plus_linkedin_recommendBusines']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
600
+ <label class="anthr_labl">
601
+ <?php _e( 'Recommend my business or product on Linkedin', SFSI_PLUS_DOMAIN ); ?>
602
+ </label>
603
+ <input name="sfsi_plus_linkedin_recommendProductId" type="text" value="<?php echo ($option2['sfsi_plus_linkedin_recommendProductId']!='') ? $option2['sfsi_plus_linkedin_recommendProductId'] : '' ;?>" class="add link_dbl" placeholder="Enter Product ID, e.g. 1441" /> <input name="sfsi_plus_linkedin_recommendCompany" type="text" value="<?php echo ($option2['sfsi_plus_linkedin_recommendCompany']!='') ? $option2['sfsi_plus_linkedin_recommendCompany'] : '' ;?>" class="add" placeholder="Enter company name, e.g. Google”" />
604
+ </div>
605
+ <div class="lnkdin_instruction">
606
+ <?php _e( 'To find your Product or Company ID, you can use their ID lookup tool at', SFSI_PLUS_DOMAIN ); ?>
607
+ <a target="_blank" href="https://developer.linkedin.com/apply-getting-started#company-lookup">
608
+ https://developer.linkedin.com/apply-getting-started#company-lookup
609
+ </a>
610
+ . <?php _e( 'You need to be logged in to Linkedin to be able to use it.', SFSI_PLUS_DOMAIN ); ?>
611
+ </div>
612
+ </div>
613
+ </div>
614
+ <!-- END LINKEDIN ICON -->
615
+
616
+ <!-- HOUZZ ICON -->
617
+ <div class="row sfsiplus_houzz_section">
618
+ <h2 class="sfsicls_houzz">
619
+ Houzz
620
+ </h2>
621
+ <div class="inr_cont">
622
+ <p>
623
+ <?php _e( 'Please provide the url to your Houzz profile (e.g. http://www.houzz.com/user/your_username).', SFSI_PLUS_DOMAIN ); ?>
624
+ </p>
625
+ <div class="fb_url link_2">
626
+ <label class="sfsiLabel">
627
+ <?php _e( 'URL:', SFSI_PLUS_DOMAIN ); ?>
628
+ </label>
629
+
630
+ <input style="float:none;margin-top:0" name="sfsi_plus_houzz_pageUrl" type="text" value="<?php echo (isset($option2['sfsi_plus_houzz_pageUrl']) && $option2['sfsi_plus_houzz_pageUrl']!='') ? $option2['sfsi_plus_houzz_pageUrl'] : '' ;?>" placeholder="http://" class="add" />
631
+ </div>
632
+
633
+ </div>
634
+ </div>
635
+ <!-- HOUZZ INSTAGRAM ICON -->
636
+
637
+ <!--MZ CODE START-->
638
+
639
+ <!-- Ok ICON -->
640
+ <div class="row sfsiplus_ok_section">
641
+
642
+ <h2 class="sfsicls_ok"><?php _e( 'OdnoKlassniki', SFSI_PLUS_DOMAIN ); ?></h2>
643
+ <div class="inr_cont">
644
+ <p>
645
+ <?php _e( 'When clicked on, users will get directed to your OK page.', SFSI_PLUS_DOMAIN ); ?>
646
+ </p>
647
+
648
+ <div class="radio_section fb_url">
649
+ <input name="sfsi_plus_okVisit_option" checked="true" type="checkbox" value="yes" style="display:none;" class=""/>
650
+
651
+ <label class="sfsiLabel" style="margin-top:10px">
652
+ <?php _e( 'Visit my OK page at:', SFSI_PLUS_DOMAIN ); ?>
653
+ </label>
654
+
655
+ <input name="sfsi_plus_okVisit_url" type="url" placeholder="" value="<?php echo $option2['sfsi_plus_okVisit_url'];?>" class="add" style="margin-top:10px" />
656
+ </div>
657
+ <div class= "sfsi_plus_new_prmium_follw">
658
+ <p>
659
+ <b><?php _e( 'New: ', SFSI_PLUS_DOMAIN ); ?></b><?php _e( "In our Premium Plugin you can now give OK icon other functions too, e.g. <b>like your website/blog, subscribe/follow you</b> on OK. ", SFSI_PLUS_DOMAIN ); ?><a style="cursor:pointer" class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" class="sfisi_plus_font_bold" target="_blank"><?php _e( 'Go premium now', SFSI_PLUS_DOMAIN); ?></a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=ok_like_and_subscribe&utm_medium=banner" class="sfsi_plus_font_inherit" target="_blank"><?php _e( ' or learn more', SFSI_PLUS_DOMAIN); ?></a>
660
+ </p>
661
+ </div>
662
+ </div>
663
+ </div>
664
+ <!-- Ok ICON -->
665
+
666
+ <!-- Telegram ICON -->
667
+ <div class="row sfsiplus_telegram_section">
668
+
669
+ <h2 class="sfsicls_telegram"><?php _e( 'Telegram', SFSI_PLUS_DOMAIN ); ?></h2>
670
+
671
+ <div class="inr_cont">
672
+ <p>
673
+ <?php _e( 'Clicking on this icon will allow users to contact you on Telegram.', SFSI_PLUS_DOMAIN ); ?>
674
+ </p>
675
+
676
+ <div class="radio_section fb_url ">
677
+ <input type="checkbox" name="sfsi_plus_telegramShare_option" value="yes" checked="checked" style="display:none" />
678
+
679
+ <label class="sfsiLabel1" >
680
+ <?php _e("Pre-filled message:", SFSI_PLUS_DOMAIN);?>
681
+ </label>
682
+
683
+ <input name="sfsi_plus_telegram_message" type="text" value="<?php echo (isset($option2['sfsi_plus_telegram_message']) && $option2['sfsi_plus_telegram_message']!='') ? $option2['sfsi_plus_telegram_message'] : '' ;?>" placeholder="Hey, I like your website." class="add link_1"/>
684
+ </div>
685
+
686
+ <div class="radio_section fb_url ">
687
+ <label class="sfsiLabel1" >
688
+ <?php _e("My Telegram username", SFSI_PLUS_DOMAIN);?>
689
+ </label>
690
+
691
+ <input name="sfsi_plus_telegram_username" type="text" value="<?php echo (isset($option2['sfsi_plus_telegram_username']) && $option2['sfsi_plus_telegram_username']!='') ? $option2['sfsi_plus_telegram_username'] : '' ;?>" placeholder="" class="add" />
692
+ </div>
693
+ <div class= "sfsi_plus_new_prmium_follw">
694
+ <p>
695
+ <b><?php _e( 'New: ', SFSI_PLUS_DOMAIN ); ?></b><?php _e( " In our Premium Plugin you can now give your Telegram icon sharing functionality too, e.g. share your website/blog with friends. ", SFSI_PLUS_DOMAIN ); ?><a style="cursor:pointer" class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" class="sfisi_plus_font_bold" target="_blank"><?php _e( 'Go premium now', SFSI_PLUS_DOMAIN); ?></a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=telegram_sharing&utm_medium=banner" class="sfsi_plus_font_inherit" target="_blank"><?php _e( ' or learn more', SFSI_PLUS_DOMAIN); ?></a>
696
+ </p>
697
+ </div>
698
+ </div>
699
+
700
+
701
+ </div>
702
+ <!-- Telegram ICON -->
703
+
704
+ <!-- VK ICON -->
705
+ <div class="row sfsiplus_vk_section">
706
+
707
+ <h2 class="sfsicls_vk">
708
+ <?php _e( 'VK', SFSI_PLUS_DOMAIN ); ?>
709
+ </h2>
710
+ <div class="inr_cont">
711
+ <p>
712
+ <?php _e( 'When clicked on, users will get directed to your Weibo page.', SFSI_PLUS_DOMAIN ); ?>
713
+ </p>
714
+
715
+ <div class="radio_section fb_url ">
716
+ <input type="checkbox" name="sfsi_plus_vkVisit_option" value="yes" checked="checked" style="display:none">
717
+
718
+ <label class="sfsiLabel">
719
+ <?php _e( 'Visit my VK page at:', SFSI_PLUS_DOMAIN ); ?>
720
+ </label>
721
+
722
+ <input name="sfsi_plus_vkVisit_url" type="url" placeholder="http://" value="<?php echo $option2['sfsi_plus_vkVisit_url'];?>" class="add" />
723
+ </div>
724
+ <div class= "sfsi_plus_new_prmium_follw">
725
+ <p>
726
+ <b><?php _e( 'New: ', SFSI_PLUS_DOMAIN ); ?></b>
727
+ <?php _e( "In our Premium Plugin you can now give your VK icon sharing functionality too, e.g. <b>share your website/blog</b> with friends. ", SFSI_PLUS_DOMAIN ); ?><a style="cursor:pointer" class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" target="_blank"><?php _e( 'Go premium now', SFSI_PLUS_DOMAIN); ?></a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=vk_share&utm_medium=banner" class="sfsi_plus_font_inherit" target="_blank"><?php _e( ' or learn more', SFSI_PLUS_DOMAIN); ?></a>
728
+ </p>
729
+ </div>
730
+ </div>
731
+ </div>
732
+ <!-- VK ICON -->
733
+
734
+ <div class="row sfsiplus_wechat_section" style="display: <?php echo isset($option1["sfsi_plus_wechat_display"])&&$option1["sfsi_plus_wechat_display"]=="yes"?'block':'none'; ?>">
735
+
736
+ <h2 class="sfsicls_wechat">
737
+ <?php _e('WeChat', SFSI_PLUS_DOMAIN ); ?>
738
+ </h2>
739
+
740
+ <div class="inr_cont">
741
+ <p class="sfsiLabel infoLabel">
742
+ <?php _e( 'When clicked on, your website/blog will be shared on WeChat.', SFSI_PLUS_DOMAIN ); ?>
743
+ </p>
744
+ <div class="radio_section fb_url ">
745
+ <input type="checkbox" name="sfsi_plus_wechatShare_option" value="yes" checked="checked" style="display:none"/>
746
+
747
+ </div>
748
+ <div class= "sfsi_plus_new_prmium_follw">
749
+ <p>
750
+ <b><?php _e( 'New: ', SFSI_PLUS_DOMAIN ); ?></b>
751
+ <?php _e( "In our Premium Plugin you can also allow users to <b>follow you</b> on WeChat. ", SFSI_PLUS_DOMAIN ); ?><a style="cursor:pointer" class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" class="sfisi_plus_font_bold" target="_blank"><?php _e( 'Go premium now', SFSI_PLUS_DOMAIN); ?></a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=wechat_sharing&utm_medium=banner" class="sfsi_plus_font_inherit" target="_blank"><?php _e( ' or learn more', SFSI_PLUS_DOMAIN); ?></a>
752
+ </p>
753
+ </div>
754
+ </div>
755
+
756
+
757
+
758
+
759
+ </div>
760
+ <!-- VK ICON -->
761
+
762
+ <!-- Weibo ICON -->
763
+ <div class="row sfsiplus_weibo_section">
764
+
765
+ <h2 class="sfsicls_weibo">
766
+ <?php _e('Sina Weibo', SFSI_PLUS_DOMAIN ); ?>
767
+ </h2>
768
+ <div class="inr_cont">
769
+ <p class="sfsiLabel infoLabel">
770
+ <?php _e( 'When clicked on, users will get directed to your Weibo page.', SFSI_PLUS_DOMAIN ); ?>
771
+ </p>
772
+ <div class="radio_section fb_url ">
773
+ <input name="sfsi_plus_weiboVisit_option" checked="checked" placeholder="http://" type="checkbox" value="yes" style="display:none"/>
774
+
775
+ <label class="sfsiLabel">
776
+ <?php _e( 'Visit my Sina Weibo page at:', SFSI_PLUS_DOMAIN ); ?>
777
+ </label>
778
+
779
+ <input name="sfsi_plus_weiboVisit_url" type="url" placeholder="" value="<?php echo $option2['sfsi_plus_weiboVisit_url'];?>" class="add" />
780
+ </div>
781
+ <div class= "sfsi_plus_new_prmium_follw">
782
+ <p>
783
+ <b><?php _e( 'New: ', SFSI_PLUS_DOMAIN ); ?></b>
784
+ <?php _e( " In our Premium Plugin you can now give Weibo icon other functions too, e.g. <b>like your website/blog, share your website/blog</b> on Weibo. ", SFSI_PLUS_DOMAIN ); ?><a style="cursor:pointer" class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" class="sfisi_plus_font_bold" target="_blank"><?php _e( 'Go premium now', SFSI_PLUS_DOMAIN); ?></a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=weibo_like_and_share&utm_medium=banner" class="sfsi_plus_font_inherit" target="_blank"><?php _e( ' or learn more', SFSI_PLUS_DOMAIN); ?></a>
785
+ </p>
786
+ </div>
787
+ </div>
788
+
789
+
790
+ </div>
791
+ <!-- Weibo ICON -->
792
+
793
+ <!--MZ CODE END-->
794
+
795
+ <!-- Custom icon section start here -->
796
+ <div class="plus_custom-links sfsiplus_custom_section">
797
+ <?php
798
+ $costom_links = unserialize($option2['sfsi_plus_CustomIcon_links']);
799
+
800
+ $bannerDisplay= "display:none;";
801
+ $count = 1;
802
+ for($i = $first_key; $i <= $endkey; $i++) :
803
+ if(!empty( $icons[$i])) :
804
+
805
+ $bannerDisplay = "display:block;";
806
+ ?>
807
+ <div class="row sfsiICON_<?php echo $i; ?> cm_lnk">
808
+ <h2 class="custom">
809
+ <span class="customstep2-img">
810
+ <img src="<?php echo (!empty($icons[$i])) ? esc_url($icons[$i]) : SFSI_PLUS_PLUGURL.'images/custom.png';?>" id="CImg_<?php echo $new_element; ?>" style="border-radius:48%" />
811
+ </span>
812
+ <span class="sfsiCtxt">
813
+ <?php _e( 'Custom', SFSI_PLUS_DOMAIN ); ?>
814
+ <?php echo $count; ?>
815
+ </span>
816
+ </h2>
817
+ <div class="inr_cont ">
818
+ <p>
819
+ <?php _e( 'Where do you want this icon to link to?', SFSI_PLUS_DOMAIN ); ?>
820
+ </p>
821
+ <p class="radio_section fb_url sfsiplus_custom_section cus_link " >
822
+ <label>
823
+ <?php _e( 'Link:', SFSI_PLUS_DOMAIN ); ?>
824
+ </label>
825
+ <input name="sfsi_plus_CustomIcon_links[]" type="text" value="<?php echo (isset($costom_links[$i]) && $costom_links[$i]!='') ? esc_url($costom_links[$i]) : '' ;?>" placeholder="http://" class="add" file-id="<?php echo $i; ?>" />
826
+ </p>
827
+ </div>
828
+ </div>
829
+ <?php
830
+ $count++;
831
+ endif; endfor;
832
+ ?>
833
+ </div>
834
+
835
+ <div class="banner_custom_icon sfsi_plus_new_prmium_follw" style="<?php echo $bannerDisplay;?>">
836
+ <p><b><?php _e( 'New:', SFSI_PLUS_DOMAIN); ?></b> <?php _e( ' In the Premium Plugin you can also give custom icons the feature that when people click on it, they can call you, or send you an SMS). ', SFSI_PLUS_DOMAIN); ?><a style="cursor:pointer" class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" class="sfisi_plus_font_bold" target="_blank"><?php _e( 'Go premium now', SFSI_PLUS_DOMAIN); ?></a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=call_or_sms_feature_custom_icons&utm_medium=banner" class="sfsi_plus_font_inherit" target="_blank" style="font-family: inherit !important;"><?php _e( ' or learn more', SFSI_PLUS_DOMAIN); ?></a>
837
+ </p>
838
+ </div>
839
+
840
+ <!-- END Custom icon section here -->
841
+
842
+
843
+ <?php sfsi_plus_ask_for_help(2); ?>
844
+
845
+
846
+ <!-- SAVE BUTTON SECTION -->
847
+ <div class="save_button tab_2_sav">
848
+ <img src="<?php echo SFSI_PLUS_PLUGURL; ?>images/ajax-loader.gif" class="loader-img" />
849
+
850
+ <?php $nonce = wp_create_nonce("update_plus_step2"); ?>
851
+
852
+ <a href="javascript:;" id="sfsi_plus_save2" title="Save" data-nonce="<?php echo $nonce;?>">
853
+ <?php _e( 'Save', SFSI_PLUS_DOMAIN ); ?>
854
+ </a>
855
+ </div>
856
+ <!-- END SAVE BUTTON SECTION -->
857
+ <a class="sfsiColbtn closeSec" href="javascript:;">
858
+ <?php _e( 'Collapse area', SFSI_PLUS_DOMAIN ); ?>
859
+ </a>
860
+
861
+ <label class="closeSec"></label>
862
+
863
+ <!-- ERROR AND SUCCESS MESSAGE AREA-->
864
+ <p class="red_txt errorMsg" style="display:none"> </p>
865
+ <p class="green_txt sucMsg" style="display:none"> </p>
866
+
867
+ </div>
868
+ <!-- END Section 2 "What do you want the icons to do?" main div -->
views/sfsi_option_view3.php CHANGED
@@ -1,422 +1,422 @@
1
- <?php
2
- /* unserialize all saved option for second section options */
3
- $option3= unserialize(get_option('sfsi_plus_section3_options',false));
4
- /*
5
- * Sanitize, escape and validate values
6
- */
7
- $option3['sfsi_plus_actvite_theme'] = (isset($option3['sfsi_plus_actvite_theme']))
8
- ? sanitize_text_field($option3['sfsi_plus_actvite_theme'])
9
- : '';
10
- $option3['sfsi_plus_mouseOver'] = (isset($option3['sfsi_plus_mouseOver']))
11
- ? sanitize_text_field($option3['sfsi_plus_mouseOver'])
12
- : '';
13
- $option3['sfsi_plus_mouseOver_effect'] = (isset($option3['sfsi_plus_mouseOver_effect']))
14
- ? sanitize_text_field($option3['sfsi_plus_mouseOver_effect'])
15
- : '';
16
-
17
- $option3['sfsi_plus_shuffle_Firstload'] = (isset($option3['sfsi_plus_shuffle_Firstload']))
18
- ? sanitize_text_field($option3['sfsi_plus_shuffle_Firstload'])
19
- : '';
20
- $option3['sfsi_plus_shuffle_interval'] = (isset($option3['sfsi_plus_shuffle_interval']))
21
- ? sanitize_text_field($option3['sfsi_plus_shuffle_interval'])
22
- : '';
23
- $option3['sfsi_plus_shuffle_intervalTime'] = (isset($option3['sfsi_plus_shuffle_intervalTime']))
24
- ? intval($option3['sfsi_plus_shuffle_intervalTime'])
25
- : '';
26
- $option3['sfsi_plus_premium_icons_design_box'] = (isset($option3['sfsi_plus_premium_icons_design_box']))
27
- ? intval($option3['sfsi_plus_premium_icons_design_box'])
28
- : 'yes';
29
- $option3['sfsi_plus_mouseOver_effect_type'] = (isset($option3['sfsi_plus_mouseOver_effect_type'])) ? sanitize_text_field($option3['sfsi_plus_mouseOver_effect_type']) : 'same_icons';
30
-
31
- $mouseover_other_icons_transition_effect = (isset($option3['mouseover_other_icons_transition_effect'])) ? sanitize_text_field($option3['mouseover_other_icons_transition_effect']) : 'flip';
32
- ?>
33
- <!-- Section 3 "What design & animation do you want to give your icons?" main div Start -->
34
- <div class="tab3">
35
- <!--Content of 4-->
36
- <div class="row mouse_txt sfsiplusmousetxt tab3">
37
- <p>
38
- <?php _e('A good & well-fitting design is not only nice to look at, but it increases chances that people will subscribe and/or share your site with friends:', SFSI_PLUS_DOMAIN ); ?>
39
- </p>
40
- <ul class="tab_3_list">
41
- <li>
42
- <?php _e( 'It comes across as more professional and gives your site more “credit”', SFSI_PLUS_DOMAIN ); ?>
43
- </li>
44
- <li>
45
- <?php _e( 'A smart automatic animation can make your visitors aware of your icons in an unintrusive manner', SFSI_PLUS_DOMAIN ); ?>
46
- </li>
47
- </ul>
48
-
49
- <p style="padding:0px;">
50
- <?php _e( 'The icons have been compressed by Shortpixel.com for faster loading of your site. Thank you Shortpixel!', SFSI_PLUS_DOMAIN ); ?>
51
- </p>
52
-
53
- <div class="row">
54
- <h3>
55
- <?php _e( 'Theme options', SFSI_PLUS_DOMAIN ); ?>
56
- </h3>
57
- <!--icon themes section start -->
58
- <ul class="sfsiplus_tab_3_icns">
59
- <li>
60
- <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='default') ? 'checked="true"' : '' ;?> type="radio" value="default" class="styled" />
61
- <label>
62
- <?php _e( 'Default', SFSI_PLUS_DOMAIN ); ?>
63
- </label>
64
- <div class="sfsiplus_icns_tab_3">
65
- <span class="sfsiplus_row_1_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_1_2 sfsiplus_email_section"></span><span class="sfsiplus_row_1_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_1_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_1_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_1_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_1_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_1_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_1_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_1_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_1_23 sfsiplus_vk_section"></span><span class="sfsiplus_row_1_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_1_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_1_25 sfsiplus_weibo_section"></span><!--<span class="sfsiplus_row_1_11 sf_section"></span>-->
66
- </div>
67
- </li>
68
-
69
- <li>
70
- <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='flat') ? 'checked="true"' : '' ;?> type="radio" value="flat" class="styled" />
71
- <label>
72
- <?php _e( 'Flat', SFSI_PLUS_DOMAIN ); ?>
73
- </label>
74
- <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_2_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_2_2 sfsiplus_email_section"></span><span class="sfsiplus_row_2_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_2_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_2_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_2_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_2_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_2_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_2_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_2_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_2_23 sfsiplus_vk_section"></span><span class="sfsiplus_row_2_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_2_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_2_25 sfsiplus_weibo_section"></span><!--<span class="sfsiplus_row_2_11 sf_section"></span>-->
75
- </div>
76
- </li>
77
-
78
- <li>
79
- <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='thin') ? 'checked="true"' : '' ;?> type="radio" value="thin" class="styled" />
80
- <label>
81
- <?php _e( 'Thin', SFSI_PLUS_DOMAIN ); ?>
82
- </label>
83
- <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_3_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_3_2 sfsiplus_email_section"></span><span class="sfsiplus_row_3_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_3_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_3_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_3_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_3_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_3_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_3_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_3_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_3_23 sfsiplus_vk_section"></span><span class="sfsiplus_row_3_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_3_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_3_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_3_11 sf_section"></span>-->
84
- </div>
85
- </li>
86
-
87
- <li>
88
- <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='cute') ? 'checked="true"' : '' ;?> type="radio" value="cute" class="styled" />
89
- <label>
90
- <?php _e( 'Cute', SFSI_PLUS_DOMAIN ); ?>
91
- </label>
92
- <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_4_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_4_2 sfsiplus_email_section"></span><span class="sfsiplus_row_4_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_4_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_4_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_4_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_4_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_4_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_4_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_4_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_4_23 sfsiplus_vk_section"></span><span class="sfsiplus_row_4_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_4_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_4_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_4_11 sf_section"></span>-->
93
- </div>
94
- </li>
95
-
96
- <!--------------------start next four------------------------>
97
-
98
- <li>
99
- <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='cubes') ? 'checked="true"' : '' ;?> type="radio" value="cubes" class="styled" />
100
- <label><?php _e( 'Cubes', SFSI_PLUS_DOMAIN ); ?></label>
101
-
102
- <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_5_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_5_2 sfsiplus_email_section"></span><span class="sfsiplus_row_5_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_5_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_5_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_5_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_5_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_5_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_5_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_5_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_5_23 sfsiplus_vk_section"></span><span class="sfsiplus_row_5_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_5_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_5_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_5_11 sf_section"></span>-->
103
- </div>
104
- </li>
105
-
106
- <li>
107
- <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='chrome_blue') ? 'checked="true"' : '' ;?> type="radio" value="chrome_blue" class="styled" />
108
- <label><?php _e( 'Chrome Blue', SFSI_PLUS_DOMAIN ); ?></label>
109
- <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_6_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_6_2 sfsiplus_email_section"></span><span class="sfsiplus_row_6_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_6_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_6_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_6_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_6_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_6_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_6_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_6_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_6_23 sfsiplus_vk_section"></span> <span class="sfsiplus_row_6_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_6_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_6_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_6_11 sf_section"></span>-->
110
- </div>
111
- </li>
112
-
113
- <li>
114
- <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='chrome_grey') ? 'checked="true"' : '' ;?> type="radio" value="chrome_grey" class="styled" />
115
- <label><?php _e( 'Chrome Grey', SFSI_PLUS_DOMAIN ); ?></label>
116
- <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_7_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_7_2 sfsiplus_email_section"></span><span class="sfsiplus_row_7_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_7_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_7_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_7_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_7_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_7_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_7_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_7_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_7_23 sfsiplus_vk_section"></span> <span class="sfsiplus_row_7_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_7_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_7_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_7_11 sf_section"></span>-->
117
- </div>
118
- </li>
119
-
120
- <li>
121
- <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='splash') ? 'checked="true"' : '' ;?> type="radio" value="splash" class="styled" />
122
- <label><?php _e( 'Splash', SFSI_PLUS_DOMAIN ); ?></label>
123
- <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_8_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_8_2 sfsiplus_email_section"></span><span class="sfsiplus_row_8_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_8_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_8_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_8_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_8_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_8_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_8_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_8_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_8_23 sfsiplus_vk_section"></span> <span class="sfsiplus_row_8_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_8_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_8_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_8_11 sf_section"></span>-->
124
- </div>
125
- </li>
126
-
127
-
128
- <!--------------------start second four------------------------>
129
-
130
-
131
- <li>
132
- <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='orange') ? 'checked="true"' : '' ;?> type="radio" value="orange" class="styled" />
133
- <label><?php _e( 'Orange', SFSI_PLUS_DOMAIN ); ?></label>
134
- <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_9_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_9_2 sfsiplus_email_section"></span><span class="sfsiplus_row_9_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_9_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_9_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_9_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_9_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_9_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_9_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_9_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_9_23 sfsiplus_vk_section"></span> <span class="sfsiplus_row_9_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_9_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_9_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_9_11 sf_section"></span>-->
135
- </div>
136
- </li>
137
-
138
- <li>
139
- <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='crystal') ? 'checked="true"' : '' ;?> type="radio" value="crystal" class="styled" />
140
- <label><?php _e( 'Crystal', SFSI_PLUS_DOMAIN ); ?></label>
141
- <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_10_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_10_2 sfsiplus_email_section"></span><span class="sfsiplus_row_10_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_10_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_10_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_10_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_10_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_10_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_10_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_10_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_10_23 sfsiplus_vk_section"></span><span class="sfsiplus_row_10_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_10_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_10_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_10_11 sf_section"></span>-->
142
- </div>
143
- </li>
144
-
145
- <li>
146
- <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='glossy') ? 'checked="true"' : '' ;?> type="radio" value="glossy" class="styled" />
147
- <label><?php _e( 'Glossy', SFSI_PLUS_DOMAIN ); ?></label>
148
- <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_11_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_11_2 sfsiplus_email_section"></span><span class="sfsiplus_row_11_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_11_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_11_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_11_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_11_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_11_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_11_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_11_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_11_23 sfsiplus_vk_section"></span> <span class="sfsiplus_row_11_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_11_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_11_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_11_11 sf_section"></span>-->
149
- </div>
150
- </li>
151
-
152
- <li>
153
- <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='black') ? 'checked="true"' : '' ;?> type="radio" value="black" class="styled" />
154
- <label><?php _e( 'Black', SFSI_PLUS_DOMAIN ); ?></label>
155
- <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_12_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_12_2 sfsiplus_email_section"></span><span class="sfsiplus_row_12_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_12_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_12_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_12_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_12_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_12_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_12_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_12_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_12_23 sfsiplus_vk_section"></span> <span class="sfsiplus_row_12_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_12_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_12_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_12_11 sf_section"></span>-->
156
- </div>
157
- </li>
158
-
159
-
160
- <!--------------------start last four------------------------>
161
-
162
- <li>
163
- <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='silver') ? 'checked="true"' : '' ;?> type="radio" value="silver" class="styled" />
164
- <label><?php _e( 'Silver', SFSI_PLUS_DOMAIN ); ?></label>
165
- <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_13_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_13_2 sfsiplus_email_section"></span><span class="sfsiplus_row_13_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_13_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_13_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_13_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_13_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_13_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_13_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_13_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_13_23 sfsiplus_vk_section"></span><span class="sfsiplus_row_13_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_13_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_13_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_13_11 sf_section"></span>-->
166
- </div>
167
- </li>
168
-
169
- <li>
170
- <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='shaded_dark') ? 'checked="true"' : '' ;?> type="radio" value="shaded_dark" class="styled" />
171
- <label><?php _e( 'Shaded Dark', SFSI_PLUS_DOMAIN ); ?></label>
172
- <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_14_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_14_2 sfsiplus_email_section"></span><span class="sfsiplus_row_14_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_14_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_14_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_14_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_14_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_14_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_14_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_14_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_14_23 sfsiplus_vk_section"></span> <span class="sfsiplus_row_14_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_14_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_14_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_14_11 sf_section"></span>-->
173
- </div>
174
- </li>
175
-
176
- <li>
177
- <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='shaded_light') ? 'checked="true"' : '' ;?> type="radio" value="shaded_light" class="styled" />
178
- <label><?php _e( 'Shaded Light', SFSI_PLUS_DOMAIN ); ?></label>
179
- <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_15_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_15_2 sfsiplus_email_section"></span><span class="sfsiplus_row_15_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_15_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_15_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_15_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_15_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_15_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_15_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_15_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_15_23 sfsiplus_vk_section"></span> <span class="sfsiplus_row_15_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_15_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_15_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_15_11 sf_section"></span>--> </div>
180
- </li>
181
-
182
- <li>
183
- <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='transparent') ? 'checked="true"' : '' ;?> type="radio" value="transparent" class="styled" />
184
- <label style="line-height:20px !important;margin-top:15px; ">
185
- <?php _e( 'Transparent', SFSI_PLUS_DOMAIN ); ?> <br/>
186
- <span style="font-size: 9px;">(<?php _e( 'for dark backgrounds', SFSI_PLUS_DOMAIN )?>)</span>
187
- </label>
188
- <div class="sfsiplus_icns_tab_3 trans_bg" style="padding-left: 6px;"><span class="sfsiplus_row_16_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_16_2 sfsiplus_email_section"></span><span class="sfsiplus_row_16_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_16_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_16_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_16_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_16_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_16_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_16_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_16_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_16_23 sfsiplus_vk_section"></span> <span class="sfsiplus_row_16_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_16_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_16_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_16_11 sf_section"></span>--></div>
189
- </li>
190
-
191
- <?php if(get_option('sfsi_plus_custom_icons') == 'yes'){?>
192
- <!--Custom Icon Support {Monad}-->
193
- <li class="cstomskins_upload">
194
- <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='custom_support') ? 'checked="true"' : '' ;?> type="radio" value="custom_support" class="styled" />
195
- <label style="line-height:20px !important;margin-top:15px; ">
196
- <?php _e( 'Custom Icons', SFSI_PLUS_DOMAIN ); ?>
197
- <br/>
198
- </label>
199
- <div class="sfsiplus_icns_tab_3" style="padding-left: 6px;">
200
- <?php
201
- if(get_option("plus_rss_skin"))
202
- {
203
- $icon = get_option("plus_rss_skin");
204
- echo '<span class="sfsiplus_row_17_1 sfsiplus_rss_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;">
205
- </span>';
206
- }
207
- else
208
- {
209
- echo '<span class="sfsiplus_row_17_1 sfsiplus_rss_section" style="background-position:-1px 0;"></span>';
210
- }
211
-
212
- if(get_option("plus_email_skin"))
213
- {
214
- $icon = get_option("plus_email_skin");
215
- echo '<span class="sfsiplus_row_17_2 sfsiplus_email_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;"></span>';
216
- }
217
- else
218
- {
219
- echo '<span class="sfsiplus_row_17_2 sfsiplus_email_section" style="background-position:-58px 0;"></span>';
220
- }
221
-
222
- if(get_option("plus_facebook_skin"))
223
- {
224
- $icon = get_option("plus_facebook_skin");
225
- echo '<span class="sfsiplus_row_17_3 sfsiplus_facebook_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;"></span>';
226
- }
227
- else
228
- {
229
- echo '<span class="sfsiplus_row_17_3 sfsiplus_facebook_section" style="background-position:-118px 0;"></span>';
230
- }
231
-
232
- if(get_option("plus_twitter_skin"))
233
- {
234
- $icon = get_option("plus_twitter_skin");
235
- echo '<span class="sfsiplus_row_17_5 sfsiplus_twitter_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;"></span>';
236
- }
237
- else
238
- {
239
- echo '<span class="sfsiplus_row_17_5 sfsiplus_twitter_section" style="background-position:-235px 0;"></span>';
240
- }
241
-
242
- if(get_option("plus_youtube_skin"))
243
- {
244
- $icon = get_option("plus_youtube_skin");
245
- echo '<span class="sfsiplus_row_17_7 sfsiplus_youtube_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;"></span>';
246
- }
247
- else
248
- {
249
- echo '<span class="sfsiplus_row_17_7 sfsiplus_youtube_section" style="background-position:-350px 0;"></span>';
250
- }
251
-
252
- if(get_option("plus_pintrest_skin"))
253
- {
254
- $icon = get_option("plus_pintrest_skin");
255
- echo '<span class="sfsiplus_row_17_8 sfsiplus_pinterest_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;"></span>';
256
- }
257
- else
258
- {
259
- echo '<span class="sfsiplus_row_17_8 sfsiplus_pinterest_section" style="background-position:-409px 0;"></span>';
260
- }
261
-
262
- if(get_option("plus_linkedin_skin"))
263
- {
264
- $icon = get_option("plus_linkedin_skin");
265
- echo '<span class="sfsiplus_row_17_9 sfsiplus_linkedin_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;"></span>';
266
- }
267
- else
268
- {
269
- echo '<span class="sfsiplus_row_17_9 sfsiplus_linkedin_section" style="background-position:-467px 0;"></span>';
270
- }
271
-
272
- if(get_option("plus_instagram_skin"))
273
- {
274
- $icon = get_option("plus_instagram_skin");
275
- echo '<span class="sfsiplus_row_17_10 sfsiplus_instagram_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;"></span>';
276
- }
277
- else
278
- {
279
- echo '<span class="sfsiplus_row_17_10 sfsiplus_instagram_section" style="background-position:-526px 0;"></span>';
280
- }
281
- if(get_option("plus_houzz_skin"))
282
- {
283
- $icon = get_option("plus_houzz_skin");
284
- echo '<span class="sfsiplus_row_17_11 sfsiplus_houzz_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;"></span>';
285
- }
286
- else
287
- {
288
- echo '<span class="sfsiplus_row_17_11 sfsiplus_houzz_section" style="background-position:-711px 0;"></span>';
289
- }
290
-
291
- if(get_option("plus_telegram_skin"))
292
- {
293
- $icon = get_option("plus_telegram_skin");
294
- echo '<span class="sfsiplus_row_17_22 sfsiplus_telegram_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;"></span>';
295
- }
296
- else
297
- {
298
- echo '<span class="sfsiplus_row_17_22 sfsiplus_telegram_section" style="background-position:-769px 0;"></span>';
299
- }
300
- if(get_option("plus_vk_skin"))
301
- {
302
- $icon = get_option("plus_vk_skin");
303
- echo '<span class="sfsiplus_row_17_23 sfsiplus_vk_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;margin-top:6px;"></span>';
304
- }
305
- else
306
- {
307
- echo '<span class="sfsiplus_row_17_23 sfsiplus_vk_section" style="background-position:-839px 0;"></span>';
308
- }
309
-
310
- if(get_option("plus_ok_skin"))
311
- {
312
- $icon = get_option("plus_ok_skin");
313
- echo '<span class="sfsiplus_row_17_24 sfsiplus_ok_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;margin-top:6px;"></span>';
314
- }
315
- else
316
- {
317
- echo '<span class="sfsiplus_row_17_24 sfsiplus_ok_section" style="background-position:-909px 0;"></span>';
318
- }
319
-
320
- if(get_option("plus_wechat_skin"))
321
- {
322
- $icon = get_option("plus_wechat_skin");
323
- echo '<span class="sfsiplus_row_17_25 sfsiplus_wechat_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;margin-top:6px;"></span>';
324
- }
325
- else
326
- {
327
- echo '<span class="sfsiplus_row_17_26 sfsiplus_wechat_section" style="background-position:-1045px 0;"></span>';
328
- }
329
- if(get_option("plus_weibo_skin"))
330
- {
331
- $icon = get_option("plus_weibo_skin");
332
- echo '<span class="sfsiplus_row_17_25 sfsiplus_weibo_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;margin-top:6px;"></span>';
333
- }
334
- else
335
- {
336
- echo '<span class="sfsiplus_row_17_25 sfsiplus_weibo_section" style="background-position:-979px 0;"></span>';
337
- }
338
-
339
-
340
- ?>
341
-
342
- </div>
343
- </li>
344
- <?php
345
- }
346
- ?>
347
- <?php if(get_option('sfsi_plus_custom_icons') == 'no'){?>
348
-
349
- <li style="display: flex;align-items: center;">
350
- <a class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" target="_blank" style="display: flex;">
351
-
352
- <input name="sfsi_plus_actvite_theme" type="radio" value="custom_support" class="styled"/>
353
- <label style="line-height:20px !important;margin-top:15px;opacity:0.5;font-weight:normal;">
354
- <?php _e( 'Custom Icons -', SFSI_PLUS_DOMAIN ); ?>
355
- <br/>
356
- </label>
357
- </a>
358
-
359
- <div class="sfsiplus_icns_tab_3" style="padding-left: 6px;">
360
- <p>
361
- <a style="color: #12a252 !important;font-weight: bold; border-bottom:none;text-decoration: none;">
362
- <?php _e('Premium Feature:',SFSI_PLUS_DOMAIN); ?>
363
- </a>
364
- <?php _e('Upload a custom design for the social media platforms implemented in the plugin under question number 1 -', SFSI_PLUS_DOMAIN); ?>
365
- <a class="pop-up" style="cursor:pointer; color: #12a252 !important;border-bottom: 1px solid #12a252;text-decoration: none;" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" target="_blank">
366
- <?php _e('Get it now.',SFSI_PLUS_DOMAIN); ?>
367
- </a>
368
- </p>
369
- </div>
370
- </li>
371
-
372
- <?php
373
- }
374
- ?>
375
- <?php
376
-
377
- if($option3['sfsi_plus_premium_icons_design_box'] =='yes'){ ?>
378
- <li>
379
- <?php include_once(SFSI_PLUS_DOCROOT.'/views/subviews/que4/banner.php'); ?>
380
-
381
- </li>
382
- <?php } ?>
383
-
384
- <li>
385
- <p style="font-weight: bold; margin: 12px 0 0;">
386
- <?php _e("Need icons for another theme? Let us know in the", SFSI_PLUS_DOMAIN); ?>
387
- <a target="_blank" href="https://wordpress.org/support/plugin/ultimate-social-media-plus/#new-topic-0" style="color:#8E81BD; text-decoration:underline;">
388
- <?php _e(" Support Forum", SFSI_PLUS_DOMAIN); ?>
389
- </a>
390
- <?php //_e("to offer your icons here and get a free link (& traffic) back to your site!", SFSI_PLUS_DOMAIN); ?>
391
- </p>
392
- </li>
393
- </ul>
394
- <!--icon themes section start -->
395
-
396
- <?php include_once(SFSI_PLUS_DOCROOT.'/views/subviews/que4/animatethem.php'); ?>
397
-
398
- </div>
399
- </div>
400
- <!--Content of 4-->
401
-
402
-
403
- <?php sfsi_plus_ask_for_help(3); ?>
404
-
405
-
406
- <!-- SAVE BUTTON SECTION -->
407
- <div class="save_button tab_3_sav">
408
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/ajax-loader.gif" class="loader-img" />
409
- <?php $nonce = wp_create_nonce("update_plus_step3"); ?>
410
- <a href="javascript:;" id="sfsi_plus_save3" title="Save" data-nonce="<?php echo $nonce;?>">
411
- <?php _e( 'Save', SFSI_PLUS_DOMAIN ); ?>
412
- </a>
413
- </div> <!-- END SAVE BUTTON SECTION -->
414
-
415
- <a class="sfsiColbtn closeSec" href="javascript:;">
416
- <?php _e( 'Collapse area', SFSI_PLUS_DOMAIN ); ?>
417
- </a>
418
- <label class="closeSec"></label>
419
- <!-- ERROR AND SUCCESS MESSAGE AREA-->
420
- <p class="red_txt errorMsg" style="display:none"> </p>
421
- <p class="green_txt sucMsg" style="display:none"> </p>
422
- </div><!-- END Section 3 "What design & animation do you want to give your icons?" main div -->
1
+ <?php
2
+ /* unserialize all saved option for second section options */
3
+ $option3= unserialize(get_option('sfsi_plus_section3_options',false));
4
+ /*
5
+ * Sanitize, escape and validate values
6
+ */
7
+ $option3['sfsi_plus_actvite_theme'] = (isset($option3['sfsi_plus_actvite_theme']))
8
+ ? sanitize_text_field($option3['sfsi_plus_actvite_theme'])
9
+ : '';
10
+ $option3['sfsi_plus_mouseOver'] = (isset($option3['sfsi_plus_mouseOver']))
11
+ ? sanitize_text_field($option3['sfsi_plus_mouseOver'])
12
+ : '';
13
+ $option3['sfsi_plus_mouseOver_effect'] = (isset($option3['sfsi_plus_mouseOver_effect']))
14
+ ? sanitize_text_field($option3['sfsi_plus_mouseOver_effect'])
15
+ : '';
16
+
17
+ $option3['sfsi_plus_shuffle_Firstload'] = (isset($option3['sfsi_plus_shuffle_Firstload']))
18
+ ? sanitize_text_field($option3['sfsi_plus_shuffle_Firstload'])
19
+ : '';
20
+ $option3['sfsi_plus_shuffle_interval'] = (isset($option3['sfsi_plus_shuffle_interval']))
21
+ ? sanitize_text_field($option3['sfsi_plus_shuffle_interval'])
22
+ : '';
23
+ $option3['sfsi_plus_shuffle_intervalTime'] = (isset($option3['sfsi_plus_shuffle_intervalTime']))
24
+ ? intval($option3['sfsi_plus_shuffle_intervalTime'])
25
+ : '';
26
+ $option3['sfsi_plus_premium_icons_design_box'] = (isset($option3['sfsi_plus_premium_icons_design_box']))
27
+ ? intval($option3['sfsi_plus_premium_icons_design_box'])
28
+ : 'yes';
29
+ $option3['sfsi_plus_mouseOver_effect_type'] = (isset($option3['sfsi_plus_mouseOver_effect_type'])) ? sanitize_text_field($option3['sfsi_plus_mouseOver_effect_type']) : 'same_icons';
30
+
31
+ $mouseover_other_icons_transition_effect = (isset($option3['mouseover_other_icons_transition_effect'])) ? sanitize_text_field($option3['mouseover_other_icons_transition_effect']) : 'flip';
32
+ ?>
33
+ <!-- Section 3 "What design & animation do you want to give your icons?" main div Start -->
34
+ <div class="tab3">
35
+ <!--Content of 4-->
36
+ <div class="row mouse_txt sfsiplusmousetxt tab3">
37
+ <p>
38
+ <?php _e('A good & well-fitting design is not only nice to look at, but it increases the chances that people will subscribe and/or share your site with friends:', SFSI_PLUS_DOMAIN ); ?>
39
+ </p>
40
+ <ul class="tab_3_list">
41
+ <li>
42
+ <?php _e( 'It comes across as more professional and gives your site more “credit”', SFSI_PLUS_DOMAIN ); ?>
43
+ </li>
44
+ <li>
45
+ <?php _e( 'A smart automatic animation can make your visitors aware of your icons in an unintrusive manner', SFSI_PLUS_DOMAIN ); ?>
46
+ </li>
47
+ </ul>
48
+
49
+ <p style="padding:0px;">
50
+ <?php _e( 'The icons have been compressed by Shortpixel.com for faster loading of your site. Thank you Shortpixel!', SFSI_PLUS_DOMAIN ); ?>
51
+ </p>
52
+
53
+ <div class="row">
54
+ <h3>
55
+ <?php _e( 'Theme options', SFSI_PLUS_DOMAIN ); ?>
56
+ </h3>
57
+ <!--icon themes section start -->
58
+ <ul class="sfsiplus_tab_3_icns">
59
+ <li>
60
+ <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='default') ? 'checked="true"' : '' ;?> type="radio" value="default" class="styled" />
61
+ <label>
62
+ <?php _e( 'Default', SFSI_PLUS_DOMAIN ); ?>
63
+ </label>
64
+ <div class="sfsiplus_icns_tab_3">
65
+ <span class="sfsiplus_row_1_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_1_2 sfsiplus_email_section"></span><span class="sfsiplus_row_1_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_1_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_1_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_1_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_1_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_1_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_1_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_1_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_1_23 sfsiplus_vk_section"></span><span class="sfsiplus_row_1_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_1_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_1_25 sfsiplus_weibo_section"></span><!--<span class="sfsiplus_row_1_11 sf_section"></span>-->
66
+ </div>
67
+ </li>
68
+
69
+ <li>
70
+ <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='flat') ? 'checked="true"' : '' ;?> type="radio" value="flat" class="styled" />
71
+ <label>
72
+ <?php _e( 'Flat', SFSI_PLUS_DOMAIN ); ?>
73
+ </label>
74
+ <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_2_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_2_2 sfsiplus_email_section"></span><span class="sfsiplus_row_2_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_2_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_2_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_2_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_2_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_2_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_2_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_2_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_2_23 sfsiplus_vk_section"></span><span class="sfsiplus_row_2_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_2_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_2_25 sfsiplus_weibo_section"></span><!--<span class="sfsiplus_row_2_11 sf_section"></span>-->
75
+ </div>
76
+ </li>
77
+
78
+ <li>
79
+ <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='thin') ? 'checked="true"' : '' ;?> type="radio" value="thin" class="styled" />
80
+ <label>
81
+ <?php _e( 'Thin', SFSI_PLUS_DOMAIN ); ?>
82
+ </label>
83
+ <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_3_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_3_2 sfsiplus_email_section"></span><span class="sfsiplus_row_3_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_3_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_3_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_3_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_3_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_3_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_3_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_3_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_3_23 sfsiplus_vk_section"></span><span class="sfsiplus_row_3_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_3_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_3_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_3_11 sf_section"></span>-->
84
+ </div>
85
+ </li>
86
+
87
+ <li>
88
+ <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='cute') ? 'checked="true"' : '' ;?> type="radio" value="cute" class="styled" />
89
+ <label>
90
+ <?php _e( 'Cute', SFSI_PLUS_DOMAIN ); ?>
91
+ </label>
92
+ <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_4_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_4_2 sfsiplus_email_section"></span><span class="sfsiplus_row_4_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_4_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_4_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_4_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_4_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_4_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_4_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_4_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_4_23 sfsiplus_vk_section"></span><span class="sfsiplus_row_4_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_4_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_4_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_4_11 sf_section"></span>-->
93
+ </div>
94
+ </li>
95
+
96
+ <!--------------------start next four------------------------>
97
+
98
+ <li>
99
+ <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='cubes') ? 'checked="true"' : '' ;?> type="radio" value="cubes" class="styled" />
100
+ <label><?php _e( 'Cubes', SFSI_PLUS_DOMAIN ); ?></label>
101
+
102
+ <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_5_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_5_2 sfsiplus_email_section"></span><span class="sfsiplus_row_5_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_5_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_5_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_5_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_5_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_5_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_5_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_5_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_5_23 sfsiplus_vk_section"></span><span class="sfsiplus_row_5_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_5_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_5_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_5_11 sf_section"></span>-->
103
+ </div>
104
+ </li>
105
+
106
+ <li>
107
+ <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='chrome_blue') ? 'checked="true"' : '' ;?> type="radio" value="chrome_blue" class="styled" />
108
+ <label><?php _e( 'Chrome Blue', SFSI_PLUS_DOMAIN ); ?></label>
109
+ <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_6_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_6_2 sfsiplus_email_section"></span><span class="sfsiplus_row_6_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_6_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_6_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_6_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_6_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_6_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_6_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_6_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_6_23 sfsiplus_vk_section"></span> <span class="sfsiplus_row_6_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_6_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_6_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_6_11 sf_section"></span>-->
110
+ </div>
111
+ </li>
112
+
113
+ <li>
114
+ <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='chrome_grey') ? 'checked="true"' : '' ;?> type="radio" value="chrome_grey" class="styled" />
115
+ <label><?php _e( 'Chrome Grey', SFSI_PLUS_DOMAIN ); ?></label>
116
+ <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_7_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_7_2 sfsiplus_email_section"></span><span class="sfsiplus_row_7_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_7_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_7_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_7_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_7_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_7_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_7_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_7_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_7_23 sfsiplus_vk_section"></span> <span class="sfsiplus_row_7_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_7_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_7_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_7_11 sf_section"></span>-->
117
+ </div>
118
+ </li>
119
+
120
+ <li>
121
+ <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='splash') ? 'checked="true"' : '' ;?> type="radio" value="splash" class="styled" />
122
+ <label><?php _e( 'Splash', SFSI_PLUS_DOMAIN ); ?></label>
123
+ <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_8_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_8_2 sfsiplus_email_section"></span><span class="sfsiplus_row_8_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_8_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_8_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_8_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_8_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_8_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_8_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_8_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_8_23 sfsiplus_vk_section"></span> <span class="sfsiplus_row_8_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_8_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_8_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_8_11 sf_section"></span>-->
124
+ </div>
125
+ </li>
126
+
127
+
128
+ <!--------------------start second four------------------------>
129
+
130
+
131
+ <li>
132
+ <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='orange') ? 'checked="true"' : '' ;?> type="radio" value="orange" class="styled" />
133
+ <label><?php _e( 'Orange', SFSI_PLUS_DOMAIN ); ?></label>
134
+ <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_9_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_9_2 sfsiplus_email_section"></span><span class="sfsiplus_row_9_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_9_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_9_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_9_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_9_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_9_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_9_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_9_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_9_23 sfsiplus_vk_section"></span> <span class="sfsiplus_row_9_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_9_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_9_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_9_11 sf_section"></span>-->
135
+ </div>
136
+ </li>
137
+
138
+ <li>
139
+ <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='crystal') ? 'checked="true"' : '' ;?> type="radio" value="crystal" class="styled" />
140
+ <label><?php _e( 'Crystal', SFSI_PLUS_DOMAIN ); ?></label>
141
+ <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_10_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_10_2 sfsiplus_email_section"></span><span class="sfsiplus_row_10_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_10_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_10_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_10_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_10_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_10_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_10_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_10_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_10_23 sfsiplus_vk_section"></span><span class="sfsiplus_row_10_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_10_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_10_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_10_11 sf_section"></span>-->
142
+ </div>
143
+ </li>
144
+
145
+ <li>
146
+ <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='glossy') ? 'checked="true"' : '' ;?> type="radio" value="glossy" class="styled" />
147
+ <label><?php _e( 'Glossy', SFSI_PLUS_DOMAIN ); ?></label>
148
+ <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_11_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_11_2 sfsiplus_email_section"></span><span class="sfsiplus_row_11_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_11_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_11_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_11_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_11_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_11_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_11_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_11_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_11_23 sfsiplus_vk_section"></span> <span class="sfsiplus_row_11_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_11_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_11_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_11_11 sf_section"></span>-->
149
+ </div>
150
+ </li>
151
+
152
+ <li>
153
+ <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='black') ? 'checked="true"' : '' ;?> type="radio" value="black" class="styled" />
154
+ <label><?php _e( 'Black', SFSI_PLUS_DOMAIN ); ?></label>
155
+ <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_12_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_12_2 sfsiplus_email_section"></span><span class="sfsiplus_row_12_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_12_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_12_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_12_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_12_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_12_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_12_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_12_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_12_23 sfsiplus_vk_section"></span> <span class="sfsiplus_row_12_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_12_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_12_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_12_11 sf_section"></span>-->
156
+ </div>
157
+ </li>
158
+
159
+
160
+ <!--------------------start last four------------------------>
161
+
162
+ <li>
163
+ <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='silver') ? 'checked="true"' : '' ;?> type="radio" value="silver" class="styled" />
164
+ <label><?php _e( 'Silver', SFSI_PLUS_DOMAIN ); ?></label>
165
+ <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_13_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_13_2 sfsiplus_email_section"></span><span class="sfsiplus_row_13_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_13_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_13_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_13_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_13_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_13_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_13_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_13_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_13_23 sfsiplus_vk_section"></span><span class="sfsiplus_row_13_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_13_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_13_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_13_11 sf_section"></span>-->
166
+ </div>
167
+ </li>
168
+
169
+ <li>
170
+ <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='shaded_dark') ? 'checked="true"' : '' ;?> type="radio" value="shaded_dark" class="styled" />
171
+ <label><?php _e( 'Shaded Dark', SFSI_PLUS_DOMAIN ); ?></label>
172
+ <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_14_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_14_2 sfsiplus_email_section"></span><span class="sfsiplus_row_14_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_14_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_14_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_14_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_14_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_14_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_14_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_14_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_14_23 sfsiplus_vk_section"></span> <span class="sfsiplus_row_14_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_14_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_14_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_14_11 sf_section"></span>-->
173
+ </div>
174
+ </li>
175
+
176
+ <li>
177
+ <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='shaded_light') ? 'checked="true"' : '' ;?> type="radio" value="shaded_light" class="styled" />
178
+ <label><?php _e( 'Shaded Light', SFSI_PLUS_DOMAIN ); ?></label>
179
+ <div class="sfsiplus_icns_tab_3"><span class="sfsiplus_row_15_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_15_2 sfsiplus_email_section"></span><span class="sfsiplus_row_15_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_15_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_15_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_15_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_15_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_15_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_15_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_15_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_15_23 sfsiplus_vk_section"></span> <span class="sfsiplus_row_15_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_15_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_15_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_15_11 sf_section"></span>--> </div>
180
+ </li>
181
+
182
+ <li>
183
+ <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='transparent') ? 'checked="true"' : '' ;?> type="radio" value="transparent" class="styled" />
184
+ <label style="line-height:20px !important;margin-top:15px; ">
185
+ <?php _e( 'Transparent', SFSI_PLUS_DOMAIN ); ?> <br/>
186
+ <span style="font-size: 9px;">(<?php _e( 'for dark backgrounds', SFSI_PLUS_DOMAIN )?>)</span>
187
+ </label>
188
+ <div class="sfsiplus_icns_tab_3 trans_bg" style="padding-left: 6px;"><span class="sfsiplus_row_16_1 sfsiplus_rss_section"></span><span class="sfsiplus_row_16_2 sfsiplus_email_section"></span><span class="sfsiplus_row_16_3 sfsiplus_facebook_section"></span><span class="sfsiplus_row_16_5 sfsiplus_twitter_section"></span><span class="sfsiplus_row_16_7 sfsiplus_youtube_section"></span><span class="sfsiplus_row_16_8 sfsiplus_pinterest_section"></span><span class="sfsiplus_row_16_9 sfsiplus_linkedin_section"></span><span class="sfsiplus_row_16_10 sfsiplus_instagram_section"></span><span class="sfsiplus_row_16_11 sfsiplus_houzz_section"></span><span class="sfsiplus_row_16_22 sfsiplus_telegram_section"></span><span class="sfsiplus_row_16_23 sfsiplus_vk_section"></span> <span class="sfsiplus_row_16_24 sfsiplus_ok_section"></span><span class="sfsiplus_row_16_26 sfsiplus_wechat_section"></span><span class="sfsiplus_row_16_25 sfsiplus_weibo_section"></span> <!--<span class="sfsiplus_row_16_11 sf_section"></span>--></div>
189
+ </li>
190
+
191
+ <?php if(get_option('sfsi_plus_custom_icons') == 'yes'){?>
192
+ <!--Custom Icon Support {Monad}-->
193
+ <li class="cstomskins_upload">
194
+ <input name="sfsi_plus_actvite_theme" <?php echo ( $option3['sfsi_plus_actvite_theme']=='custom_support') ? 'checked="true"' : '' ;?> type="radio" value="custom_support" class="styled" />
195
+ <label style="line-height:20px !important;margin-top:15px; ">
196
+ <?php _e( 'Custom Icons', SFSI_PLUS_DOMAIN ); ?>
197
+ <br/>
198
+ </label>
199
+ <div class="sfsiplus_icns_tab_3" style="padding-left: 6px;">
200
+ <?php
201
+ if(get_option("plus_rss_skin"))
202
+ {
203
+ $icon = get_option("plus_rss_skin");
204
+ echo '<span class="sfsiplus_row_17_1 sfsiplus_rss_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;">
205
+ </span>';
206
+ }
207
+ else
208
+ {
209
+ echo '<span class="sfsiplus_row_17_1 sfsiplus_rss_section" style="background-position:-1px 0;"></span>';
210
+ }
211
+
212
+ if(get_option("plus_email_skin"))
213
+ {
214
+ $icon = get_option("plus_email_skin");
215
+ echo '<span class="sfsiplus_row_17_2 sfsiplus_email_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;"></span>';
216
+ }
217
+ else
218
+ {
219
+ echo '<span class="sfsiplus_row_17_2 sfsiplus_email_section" style="background-position:-58px 0;"></span>';
220
+ }
221
+
222
+ if(get_option("plus_facebook_skin"))
223
+ {
224
+ $icon = get_option("plus_facebook_skin");
225
+ echo '<span class="sfsiplus_row_17_3 sfsiplus_facebook_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;"></span>';
226
+ }
227
+ else
228
+ {
229
+ echo '<span class="sfsiplus_row_17_3 sfsiplus_facebook_section" style="background-position:-118px 0;"></span>';
230
+ }
231
+
232
+ if(get_option("plus_twitter_skin"))
233
+ {
234
+ $icon = get_option("plus_twitter_skin");
235
+ echo '<span class="sfsiplus_row_17_5 sfsiplus_twitter_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;"></span>';
236
+ }
237
+ else
238
+ {
239
+ echo '<span class="sfsiplus_row_17_5 sfsiplus_twitter_section" style="background-position:-235px 0;"></span>';
240
+ }
241
+
242
+ if(get_option("plus_youtube_skin"))
243
+ {
244
+ $icon = get_option("plus_youtube_skin");
245
+ echo '<span class="sfsiplus_row_17_7 sfsiplus_youtube_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;"></span>';
246
+ }
247
+ else
248
+ {
249
+ echo '<span class="sfsiplus_row_17_7 sfsiplus_youtube_section" style="background-position:-350px 0;"></span>';
250
+ }
251
+
252
+ if(get_option("plus_pintrest_skin"))
253
+ {
254
+ $icon = get_option("plus_pintrest_skin");
255
+ echo '<span class="sfsiplus_row_17_8 sfsiplus_pinterest_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;"></span>';
256
+ }
257
+ else
258
+ {
259
+ echo '<span class="sfsiplus_row_17_8 sfsiplus_pinterest_section" style="background-position:-409px 0;"></span>';
260
+ }
261
+
262
+ if(get_option("plus_linkedin_skin"))
263
+ {
264
+ $icon = get_option("plus_linkedin_skin");
265
+ echo '<span class="sfsiplus_row_17_9 sfsiplus_linkedin_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;"></span>';
266
+ }
267
+ else
268
+ {
269
+ echo '<span class="sfsiplus_row_17_9 sfsiplus_linkedin_section" style="background-position:-467px 0;"></span>';
270
+ }
271
+
272
+ if(get_option("plus_instagram_skin"))
273
+ {
274
+ $icon = get_option("plus_instagram_skin");
275
+ echo '<span class="sfsiplus_row_17_10 sfsiplus_instagram_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;"></span>';
276
+ }
277
+ else
278
+ {
279
+ echo '<span class="sfsiplus_row_17_10 sfsiplus_instagram_section" style="background-position:-526px 0;"></span>';
280
+ }
281
+ if(get_option("plus_houzz_skin"))
282
+ {
283
+ $icon = get_option("plus_houzz_skin");
284
+ echo '<span class="sfsiplus_row_17_11 sfsiplus_houzz_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;"></span>';
285
+ }
286
+ else
287
+ {
288
+ echo '<span class="sfsiplus_row_17_11 sfsiplus_houzz_section" style="background-position:-711px 0;"></span>';
289
+ }
290
+
291
+ if(get_option("plus_telegram_skin"))
292
+ {
293
+ $icon = get_option("plus_telegram_skin");
294
+ echo '<span class="sfsiplus_row_17_22 sfsiplus_telegram_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;"></span>';
295
+ }
296
+ else
297
+ {
298
+ echo '<span class="sfsiplus_row_17_22 sfsiplus_telegram_section" style="background-position:-769px 0;"></span>';
299
+ }
300
+ if(get_option("plus_vk_skin"))
301
+ {
302
+ $icon = get_option("plus_vk_skin");
303
+ echo '<span class="sfsiplus_row_17_23 sfsiplus_vk_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;margin-top:6px;"></span>';
304
+ }
305
+ else
306
+ {
307
+ echo '<span class="sfsiplus_row_17_23 sfsiplus_vk_section" style="background-position:-839px 0;"></span>';
308
+ }
309
+
310
+ if(get_option("plus_ok_skin"))
311
+ {
312
+ $icon = get_option("plus_ok_skin");
313
+ echo '<span class="sfsiplus_row_17_24 sfsiplus_ok_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;margin-top:6px;"></span>';
314
+ }
315
+ else
316
+ {
317
+ echo '<span class="sfsiplus_row_17_24 sfsiplus_ok_section" style="background-position:-909px 0;"></span>';
318
+ }
319
+
320
+ if(get_option("plus_wechat_skin"))
321
+ {
322
+ $icon = get_option("plus_wechat_skin");
323
+ echo '<span class="sfsiplus_row_17_25 sfsiplus_wechat_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;margin-top:6px;"></span>';
324
+ }
325
+ else
326
+ {
327
+ echo '<span class="sfsiplus_row_17_26 sfsiplus_wechat_section" style="background-position:-1045px 0;"></span>';
328
+ }
329
+ if(get_option("plus_weibo_skin"))
330
+ {
331
+ $icon = get_option("plus_weibo_skin");
332
+ echo '<span class="sfsiplus_row_17_25 sfsiplus_weibo_section sfsi_plus-bgimage" style="background: url('.$icon.') no-repeat;margin-top:6px;"></span>';
333
+ }
334
+ else
335
+ {
336
+ echo '<span class="sfsiplus_row_17_25 sfsiplus_weibo_section" style="background-position:-979px 0;"></span>';
337
+ }
338
+
339
+
340
+ ?>
341
+
342
+ </div>
343
+ </li>
344
+ <?php
345
+ }
346
+ ?>
347
+ <?php if(get_option('sfsi_plus_custom_icons') == 'no'){?>
348
+
349
+ <li style="display: flex;align-items: center;">
350
+ <a class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" target="_blank" style="display: flex;">
351
+
352
+ <input name="sfsi_plus_actvite_theme" type="radio" value="custom_support" class="styled"/>
353
+ <label style="line-height:20px !important;margin-top:15px;opacity:0.5;font-weight:normal;">
354
+ <?php _e( 'Custom Icons -', SFSI_PLUS_DOMAIN ); ?>
355
+ <br/>
356
+ </label>
357
+ </a>
358
+
359
+ <div class="sfsiplus_icns_tab_3" style="padding-left: 6px;">
360
+ <p>
361
+ <a style="color: #12a252 !important;font-weight: bold; border-bottom:none;text-decoration: none;">
362
+ <?php _e('Premium Feature:',SFSI_PLUS_DOMAIN); ?>
363
+ </a>
364
+ <?php _e('Upload a custom design for the social media platforms implemented in the plugin under question number 1 -', SFSI_PLUS_DOMAIN); ?>
365
+ <a class="pop-up" style="cursor:pointer; color: #12a252 !important;border-bottom: 1px solid #12a252;text-decoration: none;" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" target="_blank">
366
+ <?php _e('Get it now.',SFSI_PLUS_DOMAIN); ?>
367
+ </a>
368
+ </p>
369
+ </div>
370
+ </li>
371
+
372
+ <?php
373
+ }
374
+ ?>
375
+ <?php
376
+
377
+ if($option3['sfsi_plus_premium_icons_design_box'] =='yes'){ ?>
378
+ <li>
379
+ <?php include_once(SFSI_PLUS_DOCROOT.'/views/subviews/que4/banner.php'); ?>
380
+
381
+ </li>
382
+ <?php } ?>
383
+
384
+ <li>
385
+ <p style="font-weight: bold; margin: 12px 0 0;">
386
+ <?php _e("Need icons for another theme? Let us know in the", SFSI_PLUS_DOMAIN); ?>
387
+ <a target="_blank" href="https://wordpress.org/support/plugin/ultimate-social-media-plus/#new-topic-0" style="color:#8E81BD; text-decoration:underline;">
388
+ <?php _e(" Support Forum", SFSI_PLUS_DOMAIN); ?>
389
+ </a>
390
+ <?php //_e("to offer your icons here and get a free link (& traffic) back to your site!", SFSI_PLUS_DOMAIN); ?>
391
+ </p>
392
+ </li>
393
+ </ul>
394
+ <!--icon themes section start -->
395
+
396
+ <?php include_once(SFSI_PLUS_DOCROOT.'/views/subviews/que4/animatethem.php'); ?>
397
+
398
+ </div>
399
+ </div>
400
+ <!--Content of 4-->
401
+
402
+
403
+ <?php sfsi_plus_ask_for_help(3); ?>
404
+
405
+
406
+ <!-- SAVE BUTTON SECTION -->
407
+ <div class="save_button tab_3_sav">
408
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/ajax-loader.gif" class="loader-img" />
409
+ <?php $nonce = wp_create_nonce("update_plus_step3"); ?>
410
+ <a href="javascript:;" id="sfsi_plus_save3" title="Save" data-nonce="<?php echo $nonce;?>">
411
+ <?php _e( 'Save', SFSI_PLUS_DOMAIN ); ?>
412
+ </a>
413
+ </div> <!-- END SAVE BUTTON SECTION -->
414
+
415
+ <a class="sfsiColbtn closeSec" href="javascript:;">
416
+ <?php _e( 'Collapse area', SFSI_PLUS_DOMAIN ); ?>
417
+ </a>
418
+ <label class="closeSec"></label>
419
+ <!-- ERROR AND SUCCESS MESSAGE AREA-->
420
+ <p class="red_txt errorMsg" style="display:none"> </p>
421
+ <p class="green_txt sucMsg" style="display:none"> </p>
422
+ </div><!-- END Section 3 "What design & animation do you want to give your icons?" main div -->
views/sfsi_option_view4.php CHANGED
@@ -1,898 +1,898 @@
1
- <?php
2
- /* unserialize all saved option for section 4 options */
3
- $option2 = unserialize(get_option('sfsi_plus_section2_options',false));
4
- $option4 = unserialize(get_option('sfsi_plus_section4_options',false));
5
- if(!isset($option4['sfsi_plus_facebook_mypageCounts']))
6
- {
7
- $option4['sfsi_plus_facebook_mypageCounts'] = '';
8
- }
9
-
10
- /*
11
- * Sanitize, escape and validate values
12
- */
13
- $option4['sfsi_plus_display_counts'] = (isset($option4['sfsi_plus_display_counts']))
14
- ? sanitize_text_field($option4['sfsi_plus_display_counts'])
15
- : '';
16
- $option4['sfsi_plus_email_countsFrom'] = (isset($option4['sfsi_plus_email_countsFrom']))
17
- ? sanitize_text_field($option4['sfsi_plus_email_countsFrom'])
18
- : '';
19
- $option4['sfsi_plus_email_manualCounts'] = (isset($option4['sfsi_plus_email_manualCounts']))
20
- ? intval($option4['sfsi_plus_email_manualCounts'])
21
- : '';
22
- $option4['sfsi_plus_rss_countsDisplay'] = (isset($option4['sfsi_plus_rss_countsDisplay']))
23
- ? sanitize_text_field($option4['sfsi_plus_rss_countsDisplay'])
24
- : '';
25
- $option4['sfsi_plus_rss_manualCounts'] = (isset($option4['sfsi_plus_rss_manualCounts']))
26
- ? intval($option4['sfsi_plus_rss_manualCounts'])
27
- : '';
28
- $option4['sfsi_plus_email_countsDisplay'] = (isset($option4['sfsi_plus_email_countsDisplay']))
29
- ? sanitize_text_field($option4['sfsi_plus_email_countsDisplay'])
30
- : '';
31
-
32
- $option4['sfsi_plus_facebook_countsDisplay'] = (isset($option4['sfsi_plus_facebook_countsDisplay']))
33
- ? sanitize_text_field($option4['sfsi_plus_facebook_countsDisplay'])
34
- : '';
35
- $option4['sfsi_plus_facebook_countsFrom'] = (isset($option4['sfsi_plus_facebook_countsFrom']))
36
- ? sanitize_text_field($option4['sfsi_plus_facebook_countsFrom'])
37
- : '';
38
- $option4['sfsi_plus_facebook_mypageCounts'] = (isset($option4['sfsi_plus_facebook_mypageCounts']))
39
- ? sfsi_plus_sanitize_field($option4['sfsi_plus_facebook_mypageCounts'])
40
- : '';
41
- $option4['sfsi_plus_facebook_manualCounts'] = (isset($option4['sfsi_plus_facebook_manualCounts']))
42
- ? intval($option4['sfsi_plus_facebook_manualCounts'])
43
- : '';
44
-
45
-
46
- $option4['sfsi_plus_twitter_countsDisplay'] = (isset($option4['sfsi_plus_twitter_countsDisplay']))
47
- ? sanitize_text_field($option4['sfsi_plus_twitter_countsDisplay'])
48
- : '';
49
- $option4['sfsi_plus_twitter_countsFrom'] = (isset($option4['sfsi_plus_twitter_countsFrom']))
50
- ? sanitize_text_field($option4['sfsi_plus_twitter_countsFrom'])
51
- : '';
52
- $option4['sfsi_plus_twitter_manualCounts'] = (isset($option4['sfsi_plus_twitter_manualCounts']))
53
- ? intval($option4['sfsi_plus_twitter_manualCounts'])
54
- : '';
55
- $option4['sfsiplus_tw_consumer_key'] = (isset($option4['sfsiplus_tw_consumer_key']))
56
- ? sfsi_plus_sanitize_field($option4['sfsiplus_tw_consumer_key'])
57
- : '';
58
- $option4['sfsiplus_tw_consumer_secret'] = (isset($option4['sfsiplus_tw_consumer_secret']))
59
- ? sfsi_plus_sanitize_field($option4['sfsiplus_tw_consumer_secret'])
60
- : '';
61
- $option4['sfsiplus_tw_oauth_access_token'] = (isset($option4['sfsiplus_tw_oauth_access_token']))
62
- ? sfsi_plus_sanitize_field($option4['sfsiplus_tw_oauth_access_token'])
63
- : '';
64
- $option4['sfsiplus_tw_oauth_access_token_secret']= (isset($option4['sfsiplus_tw_oauth_access_token_secret']))
65
- ? sfsi_plus_sanitize_field($option4['sfsiplus_tw_oauth_access_token_secret'])
66
- : '';
67
- $option4['sfsi_plus_youtube_countsDisplay'] = (isset($option4['sfsi_plus_youtube_countsDisplay']))
68
- ? sanitize_text_field($option4['sfsi_plus_youtube_countsDisplay'])
69
- : '';
70
- $option4['sfsi_plus_youtube_countsFrom'] = (isset($option4['sfsi_plus_youtube_countsFrom']))
71
- ? sanitize_text_field($option4['sfsi_plus_youtube_countsFrom'])
72
- : '';
73
- $option4['sfsi_plus_youtubeusernameorid'] = (isset($option4['sfsi_plus_youtubeusernameorid']))
74
- ? sanitize_text_field($option4['sfsi_plus_youtubeusernameorid'])
75
- : '';
76
- $option4['sfsi_plus_youtube_manualCounts'] = (isset($option4['sfsi_plus_youtube_manualCounts']))
77
- ? intval($option4['sfsi_plus_youtube_manualCounts'])
78
- : '';
79
- $option4['sfsi_plus_youtube_user'] = (isset($option4['sfsi_plus_youtube_user']))
80
- ? sfsi_plus_sanitize_field($option4['sfsi_plus_youtube_user'])
81
- : '';
82
- $option4['sfsi_plus_youtube_channelId'] = (isset($option4['sfsi_plus_youtube_channelId']))
83
- ? sfsi_plus_sanitize_field($option4['sfsi_plus_youtube_channelId'])
84
- : '';
85
-
86
- $option4['sfsi_plus_instagram_manualCounts'] = (isset($option4['sfsi_plus_instagram_manualCounts']))
87
- ? intval($option4['sfsi_plus_instagram_manualCounts'])
88
- : '';
89
- $option4['sfsi_plus_instagram_User'] = (isset($option4['sfsi_plus_instagram_User']))
90
- ? sfsi_plus_sanitize_field($option4['sfsi_plus_instagram_User'])
91
- : '';
92
- $option4['sfsi_plus_instagram_clientid'] = (isset($option4['sfsi_plus_instagram_clientid']))
93
- ? sfsi_plus_sanitize_field($option4['sfsi_plus_instagram_clientid'])
94
- : '';
95
- $option4['sfsi_plus_instagram_appurl'] = (isset($option4['sfsi_plus_instagram_appurl']))
96
- ? sfsi_plus_sanitize_field($option4['sfsi_plus_instagram_appurl'])
97
- : '';
98
- $option4['sfsi_plus_instagram_token'] = (isset($option4['sfsi_plus_instagram_token']))
99
- ? sfsi_plus_sanitize_field($option4['sfsi_plus_instagram_token'])
100
- : '';
101
- $option4['sfsi_plus_instagram_countsFrom'] = (isset($option4['sfsi_plus_instagram_countsFrom']))
102
- ? sanitize_text_field($option4['sfsi_plus_instagram_countsFrom'])
103
- : '';
104
- $option4['sfsi_plus_instagram_countsDisplay'] = (isset($option4['sfsi_plus_instagram_countsDisplay']))
105
- ? sanitize_text_field($option4['sfsi_plus_instagram_countsDisplay'])
106
- : '';
107
-
108
- $option4['sfsi_plus_linkedIn_manualCounts'] = (isset($option4['sfsi_plus_linkedIn_manualCounts']))
109
- ? intval($option4['sfsi_plus_linkedIn_manualCounts'])
110
- : '';
111
- $option4['sfsi_plus_houzz_manualCounts'] = (isset($option4['sfsi_plus_houzz_manualCounts']))
112
- ? intval($option4['sfsi_plus_houzz_manualCounts'])
113
- : '';
114
- $option4['sfsi_plus_pinterest_manualCounts'] = (isset($option4['sfsi_plus_pinterest_manualCounts']))
115
- ? intval($option4['sfsi_plus_pinterest_manualCounts'])
116
- : '';
117
- $option4['sfsi_plus_premium_count_box'] = (isset($option4['sfsi_plus_premium_count_box']))
118
- ? sanitize_text_field($option4['sfsi_plus_premium_count_box'])
119
- : 'yes';
120
- $option4['sfsi_plus_telegram_countsDisplay'] = (isset($option4['sfsi_plus_telegram_countsDisplay']))
121
- ? sanitize_text_field($option4['sfsi_plus_telegram_countsDisplay'])
122
- : '';
123
- $option4['sfsi_plus_telegram_manualCounts'] = (isset($option4['sfsi_plus_telegram_manualCounts']))
124
- ? intval($option4['sfsi_plus_telegram_manualCounts'])
125
- : '';
126
- $option4['sfsi_plus_vk_countsDisplay'] = (isset($option4['sfsi_plus_vk_countsDisplay']))
127
- ? sanitize_text_field($option4['sfsi_plus_vk_countsDisplay'])
128
- : '';
129
- $option4['sfsi_plus_vk_manualCounts'] = (isset($option4['sfsi_plus_vk_manualCounts']))
130
- ? intval($option4['sfsi_plus_vk_manualCounts'])
131
- : '';
132
-
133
- $option4['sfsi_plus_ok_countsDisplay'] = (isset($option4['sfsi_plus_ok_countsDisplay']))
134
- ? sanitize_text_field($option4['sfsi_plus_ok_countsDisplay'])
135
- : '';
136
- $option4['sfsi_plus_ok_manualCounts'] = (isset($option4['sfsi_plus_ok_manualCounts']))
137
- ? intval($option4['sfsi_plus_ok_manualCounts'])
138
- : '';
139
-
140
- $option4['sfsi_plus_weibo_countsDisplay'] = (isset($option4['sfsi_plus_weibo_countsDisplay']))
141
- ? sanitize_text_field($option4['sfsi_plus_weibo_countsDisplay'])
142
- : '';
143
- $option4['sfsi_plus_weibo_manualCounts'] = (isset($option4['sfsi_plus_weibo_manualCounts']))
144
- ? intval($option4['sfsi_plus_weibo_manualCounts'])
145
- : '';
146
-
147
- $option4['sfsi_plus_wechat_countsDisplay'] = (isset($option4['sfsi_plus_wechat_countsDisplay']))
148
- ? sanitize_text_field($option4['sfsi_plus_wechat_countsDisplay'])
149
- : '';
150
- $option4['sfsi_plus_wechat_manualCounts'] = (isset($option4['sfsi_plus_wechat_manualCounts']))
151
- ? intval($option4['sfsi_plus_wechat_manualCounts'])
152
- : '';
153
- $counts = sfsi_plus_getCounts();
154
- /* fetch counts for admin sections */
155
-
156
- /* check for email icon display */
157
- $email_image="email.png";
158
- if($option2['sfsi_plus_rss_icons']=="sfsi")
159
- {
160
- $email_image="sf_arow_icn.png";
161
- }
162
- elseif($option2['sfsi_plus_rss_icons']=="email")
163
- {
164
- $email_image="email.png";
165
- }
166
- else
167
- {
168
- $email_image = "subscribe.png";
169
- }
170
- $hide="display:none;";
171
- ?>
172
- <!-- Section 4 "Do you want to display "counts" next to your icons?" main div Start -->
173
- <div class="tab4">
174
-
175
- <div class="sfsi_plus_versionNotification">
176
- <?php sfsi_plus_curl_error_notification(); ?>
177
- </div>
178
-
179
- <p>
180
- <?php _e('It’s a psychological fact that people like to follow other people, so when they see that your site has already a good number of Facebook likes, it’s more likely that they will subscribe/like/share your site than if it had 0.', SFSI_PLUS_DOMAIN ); ?>
181
- </p>
182
- <p>
183
- <?php _e( 'Therefore, you can select to display the count next to your icons which will look like this:', SFSI_PLUS_DOMAIN ); ?>
184
- </p>
185
-
186
- <!-- sample icons -->
187
- <ul class="like_icon">
188
- <li class="sfsiplus_rss_section">
189
- <a href="#" title="RSS">
190
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/rss.png" alt="RSS" />
191
- </a><span>12k</span>
192
- </li>
193
- <li class="sfsiplus_email_section">
194
- <a href="#" title="Email">
195
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/<?php echo $email_image; ?>" alt="Email" class="icon_img" />
196
- </a><span>12k</span>
197
- </li>
198
- <li class="sfsiplus_facebook_section">
199
- <a href="#" title="Facebook">
200
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/fb.png" alt="Facebook" />
201
- </a><span>12k</span>
202
- </li>
203
- <li class="sfsiplus_twitter_section">
204
- <a href="#" title="Twitter">
205
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/twitter.png" alt="Twitter" />
206
- </a><span>12k</span>
207
- </li>
208
- <li class="sfsiplus_youtube_section">
209
- <a href="#" title="YouTube">
210
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/youtube.png" alt="YouTube" />
211
- </a><span>12k</span>
212
- </li>
213
- <li class="sfsiplus_pinterest_section">
214
- <a href="#" title="Pinterest">
215
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/pinterest.png" alt="Pinterest" />
216
- </a><span>12k</span>
217
- </li>
218
- <li class="sfsiplus_linkedin_section">
219
- <a href="#" title="Linked In">
220
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/linked_in.png" alt="Linked In" />
221
- </a><span>12k</span>
222
- </li>
223
- <li class="sfsiplus_instagram_section">
224
- <a href="#" title="Instagram">
225
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/instagram.png" alt="instagram" />
226
- </a><span>12k</span>
227
- </li>
228
- <li class="sfsiplus_houzz_section">
229
- <a href="#" title="Houzz">
230
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/houzz.png" alt="instagram" />
231
- </a><span>12k</span>
232
- </li>
233
- <!--MZ CODE START-->
234
- <li class="sfsiplus_telegram_section">
235
- <a href="#" title="Telegram">
236
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/telegram.png" alt="Telegram" />
237
- </a><span>12k</span>
238
- </li>
239
-
240
- <li class="sfsiplus_vk_section">
241
- <a href="#" title="Vk">
242
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/vk.png" alt="Telegram" />
243
- </a><span>12k</span>
244
- </li>
245
- <li class="sfsiplus_ok_section">
246
- <a href="#" title="Ok">
247
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/icons_theme/default/default_ok.png" alt="Ok" width="50px" height="50px" />
248
- </a><span>12k</span>
249
- </li>
250
- <li class="sfsiplus_weibo_section">
251
- <a href="#" title="Weibo">
252
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/weibo.png" alt="Weibo" width="50px" height="50px" />
253
- </a><span>12k</span>
254
- </li>
255
- <li class="sfsiplus_wechat_section">
256
- <a href="#" title="Wechat">
257
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/wechat.png" alt="Weibo" width="50px" height="50px" />
258
- </a><span>12k</span>
259
- </li>
260
-
261
-
262
-
263
- </ul> <!-- END sample icons -->
264
- <p>
265
- <?php _e( 'Of course, if you start at 0, you shoot yourself in the foot with that. So we suggest that you only turn this feature on once you have a good number of followers/likes/shares (min. of 20 – no worries if it’s not too many, it should just not be 0).', SFSI_PLUS_DOMAIN ); ?>
266
- </p>
267
- <h4>
268
- <?php _e( 'Enough waffling. So do you want to display counts?', SFSI_PLUS_DOMAIN ); ?>
269
- </h4>
270
- <!-- show/hide counts for icons section START -->
271
- <ul class="enough_waffling">
272
- <li>
273
- <input name="sfsi_plus_display_counts" <?php echo ($option4['sfsi_plus_display_counts']=='yes') ? 'checked="true"' : '' ;?> type="radio" value="yes" class="styled" />
274
- <label>
275
- <?php _e( 'Yes', SFSI_PLUS_DOMAIN ); ?>
276
- </label>
277
- </li>
278
- <li>
279
- <input name="sfsi_plus_display_counts" <?php echo ($option4['sfsi_plus_display_counts']=='no') ? 'checked="true"' : '' ;?> type="radio" value="no" class="styled" />
280
- <label>
281
- <?php _e( 'No', SFSI_PLUS_DOMAIN ); ?>
282
- </label>
283
- </li>
284
- </ul>
285
- <!-- END show/hide counts for icons section -->
286
- <!-- show/hide counts for all icons section START -->
287
- <div class="sfsiplus_count_sections" style="display:none">
288
- <h4>
289
- <?php _e( 'Please specify which counts should be shown:', SFSI_PLUS_DOMAIN ); ?>
290
- </h4>
291
-
292
- <!-- RSS ICON COUNT SECTION-->
293
- <div class="sfsiplus_specify_counts sfsiplus_rss_section">
294
- <div class="radio_section">
295
- <input name="sfsi_plus_rss_countsDisplay" <?php echo ($option4['sfsi_plus_rss_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
296
- </div>
297
- <div class="social_icon_like">
298
- <ul class="like_icon">
299
- <li>
300
- <a title="RSS">
301
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/rss.png" alt="RSS" />
302
- <span><?php echo $counts['rss_count']; ?></span>
303
- </a>
304
- </li>
305
- </ul>
306
- </div>
307
- <div class="listing">
308
- <ul>
309
- <li>
310
- <?php
311
- _e('We cannot track this. So enter the figure here:',SFSI_PLUS_DOMAIN); ?>
312
- <input name="sfsi_plus_rss_manualCounts" type="text" class="input" value="<?php echo ($option4['sfsi_plus_rss_manualCounts']!='') ? $option4['sfsi_plus_rss_manualCounts'] : '' ;?>" />
313
- </li>
314
- </ul>
315
- </div>
316
- </div>
317
- <!-- END RSS ICON COUNT SECTION-->
318
-
319
- <!-- EMAIL ICON COUNT SECTION-->
320
- <div class="sfsiplus_specify_counts sfsiplus_email_section">
321
- <div class="radio_section">
322
- <input name="sfsi_plus_email_countsDisplay" <?php echo ($option4['sfsi_plus_email_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
323
- </div>
324
- <div class="social_icon_like">
325
- <ul class="like_icon">
326
- <li>
327
- <a title="Email">
328
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/<?php echo $email_image; ?>" alt="Email" />
329
- <span><?php echo $counts['email_count']; ?></span>
330
- </a>
331
- </li>
332
- </ul>
333
- </div>
334
- <div class="listing">
335
- <ul>
336
- <li>
337
- <input name="sfsi_plus_email_countsFrom" <?php echo ($option4['sfsi_plus_email_countsFrom']=='source') ? 'checked="true"' : '' ;?> type="radio" value="source" class="styled" />
338
- <?php
339
- _e('Retrieve the number of subscribers automatically', SFSI_PLUS_DOMAIN); ?>
340
- </li>
341
- <li>
342
- <input name="sfsi_plus_email_countsFrom" <?php echo ($option4['sfsi_plus_email_countsFrom']=='manual') ? 'checked="true"' : '' ;?> type="radio" value="manual" class="styled" />
343
- <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
344
- <input name="sfsi_plus_email_manualCounts" type="text" class="input" value="<?php echo ($option4['sfsi_plus_email_manualCounts']!='') ? $option4['sfsi_plus_email_manualCounts'] : '' ;?>" style="<?php echo ($option4['sfsi_plus_email_countsFrom']=='source') ? 'display:none;' : '' ;?>" />
345
- </li>
346
- </ul>
347
- </div>
348
- </div>
349
- <!--END EMAIL ICON COUNT SECTION-->
350
-
351
- <!-- FACEBOOK ICON COUNT SECTION-->
352
- <div class="sfsiplus_specify_counts sfsiplus_facebook_section">
353
- <div class="radio_section">
354
- <input name="sfsi_plus_facebook_countsDisplay" <?php echo ($option4['sfsi_plus_facebook_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
355
- </div>
356
- <div class="social_icon_like">
357
- <ul class="like_icon">
358
- <li>
359
- <a title="Facebook">
360
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/fb.png" alt="Facebook" />
361
- <span><?php echo $counts['fb_count']; ?></span>
362
- </a>
363
- </li>
364
- </ul>
365
- </div>
366
- <div class="listing">
367
- <ul class="sfsi_plus_fb_popup_contain">
368
- <li>
369
- <input name="sfsi_plus_facebook_countsFrom" <?php echo ($option4['sfsi_plus_facebook_countsFrom']=='likes') ? 'checked="true"' : '' ;?> type="radio" value="likes" class="styled" />
370
- <?php _e( 'Retrieve the number of likes of your blog', SFSI_PLUS_DOMAIN ); ?>
371
- </li>
372
- <li>
373
- <input name="sfsi_plus_facebook_countsFrom" <?php echo ($option4['sfsi_plus_facebook_countsFrom']=='mypage') ? 'checked="true"' : '' ;?> type="radio" value="mypage" class="styled" />
374
- <?php _e( 'Retrieve the number of likes of your facebook page', SFSI_PLUS_DOMAIN ); ?>
375
- <br>
376
- <div class="sfsiplus_fbpgiddesc sfsi_plus_fbpaget">
377
- <div class="sfsiplus_fbpgidwpr sfsi_plus_count" style="<?php echo ($option4['sfsi_plus_facebook_countsFrom']=='likes' || $option4['sfsi_plus_facebook_countsFrom']=='followers' || $option4['sfsi_plus_facebook_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
378
- Facebook <?php _e( 'page ID:', SFSI_PLUS_DOMAIN ); ?>
379
- </div>
380
- <input name="sfsi_plus_facebook_mypageCounts" type="text" class="input mypginpt" value="<?php echo ($option4['sfsi_plus_facebook_mypageCounts']!='') ? $option4['sfsi_plus_facebook_mypageCounts'] : '' ;?>" style="<?php echo ($option4['sfsi_plus_facebook_countsFrom']=='likes' || $option4['sfsi_plus_facebook_countsFrom']=='followers' || $option4['sfsi_plus_facebook_countsFrom']=='manual') ? 'display:none;' : '' ;?>" />
381
- </div>
382
- <div class="sfsiplus_fbpgidwpr sfsiplus_fbpgiddesc sfsi_plus_facebook_count" style="<?php echo ($option4['sfsi_plus_facebook_countsFrom']=='likes' || $option4['sfsi_plus_facebook_countsFrom']=='followers' || $option4['sfsi_plus_facebook_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
383
- (<?php _e( "You'll find it at the bottom of the << About >> -tab on your facebook page", SFSI_PLUS_DOMAIN ); ?>)
384
- </div>
385
- </li>
386
- <li>
387
- <input name="sfsi_plus_facebook_countsFrom" <?php echo ($option4['sfsi_plus_facebook_countsFrom']=='manual') ? 'checked="true"' : '' ;?> type="radio" value="manual" class="styled" />
388
- <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
389
- <input name="sfsi_plus_facebook_manualCounts" type="text" class="input" value="<?php echo ($option4['sfsi_plus_facebook_manualCounts']!='') ? $option4['sfsi_plus_facebook_manualCounts'] : '' ;?>" style="<?php echo ($option4['sfsi_plus_facebook_countsFrom']=='likes' || $option4['sfsi_plus_facebook_countsFrom']=='followers' || $option4['sfsi_plus_facebook_countsFrom']=='mypage') ? 'display:none;' : '' ;?>" />
390
- </li>
391
- </ul>
392
- <?php if($option4['sfsi_plus_premium_count_box'] =='yes') { ?>
393
- <div class="sfsi_plus_facebook_pagedeasc" style="<?php echo (isset($option4['sfsi_plus_facebook_countsFrom']) && $option4['sfsi_plus_facebook_countsFrom'] =='manual') ? 'display:none;' : '' ;?>">
394
- <p class="sfsi_plus_shared_premium">
395
- <b><?php _e( 'Note: ', SFSI_PLUS_DOMAIN ); ?></b><?php _e( 'This plugin uses one API shared by all users of this plugin. There is a limit (set by Facebook) how often this API can get the counts per day, so it may happen that it returns “0 counts” later in the day.', SFSI_PLUS_DOMAIN ); ?><br><br><?php _e( 'Therefore we implemented a solution as part of our Premium Plugin where you can easily set up your own API in a few steps, which will fix this problem.', SFSI_PLUS_DOMAIN ); ?><br><br><a class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" class="sfisi_plus_font_bold" style="cursor:pointer;border-bottom: 1px solid #12a252;color: #12a252 !important;" target="_blank">Go premium now</a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=facebook_counts&utm_medium=banner" class="sfsi_plus_font_inherit" style="color: #12a252 !important" target="_blank"> or learn more</a>
396
- </p>
397
- </div>
398
- <?php } ?>
399
- </div>
400
- </div>
401
- <!-- END FACEBOOK ICON COUNT SECTION-->
402
-
403
- <!-- TWITTER ICON COUNT SECTION-->
404
- <div class="sfsiplus_specify_counts sfsiplus_twitter_section">
405
- <div class="radio_section">
406
- <input name="sfsi_plus_twitter_countsDisplay" <?php echo ($option4['sfsi_plus_twitter_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
407
- </div>
408
- <div class="social_icon_like">
409
- <ul class="like_icon">
410
- <li>
411
- <a title="Twitter">
412
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/twitter.png" alt="Twitter" />
413
- <span><?php echo $counts['twitter_count']; ?></span>
414
- </a>
415
- </li>
416
- </ul>
417
- </div>
418
- <div class="listing">
419
- <ul>
420
- <li>
421
- <input name="sfsi_plus_twitter_countsFrom" <?php echo ($option4['sfsi_plus_twitter_countsFrom']=='source') ? 'checked="true"' : '' ;?> type="radio" value="source" class="styled" />
422
- <?php _e( 'Retrieve the number of Twitter followers', SFSI_PLUS_DOMAIN ); ?>
423
- </li>
424
- <li class="SFSI_tglli">
425
- <ul class="SFSI_lsngfrm">
426
- <li class="tw_follow_options" style="<?php echo ($option4['sfsi_plus_twitter_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
427
- <label>
428
- <?php _e( 'Enter Consumer Key', SFSI_PLUS_DOMAIN ); ?>
429
- </label>
430
- <input name="sfsiplus_tw_consumer_key" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsiplus_tw_consumer_key']) && $option4['sfsiplus_tw_consumer_key']!='') ? $option4['sfsiplus_tw_consumer_key'] : '' ;?>" />
431
- </li>
432
- <li class="tw_follow_options" style="<?php echo ($option4['sfsi_plus_twitter_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
433
- <label>
434
- <?php _e( 'Enter Consumer Secret', SFSI_PLUS_DOMAIN ); ?>
435
- </label>
436
- <input name="sfsiplus_tw_consumer_secret" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsiplus_tw_consumer_secret']) && $option4['sfsiplus_tw_consumer_secret']!='') ? $option4['sfsiplus_tw_consumer_secret'] : '' ;?>" />
437
- </li>
438
- <li class="tw_follow_options" style="<?php echo ($option4['sfsi_plus_twitter_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
439
- <label>
440
- <?php _e( 'Enter Access Token', SFSI_PLUS_DOMAIN ); ?>
441
- </label>
442
- <input name="sfsiplus_tw_oauth_access_token" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsiplus_tw_oauth_access_token']) && $option4['sfsiplus_tw_oauth_access_token']!='') ? $option4['sfsiplus_tw_oauth_access_token'] : '' ;?>" />
443
- </li>
444
- <li class="tw_follow_options" style="<?php echo ($option4['sfsi_plus_twitter_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
445
- <label>
446
- <?php _e( 'Enter Access Token Secret', SFSI_PLUS_DOMAIN ); ?>
447
- </label>
448
- <input name="sfsiplus_tw_oauth_access_token_secret" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsiplus_tw_oauth_access_token_secret']) && $option4['sfsiplus_tw_oauth_access_token_secret']!='') ? $option4['sfsiplus_tw_oauth_access_token_secret'] : '' ;?>" />
449
- </li>
450
- </ul>
451
- <ul class="SFSI_instructions">
452
- <li class="tw_follow_options" style="<?php echo ($option4['sfsi_plus_twitter_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
453
- <?php _e( 'Please make sure you have entered the Username for "Follow me on Twitter:" in twitter settings under question number 2.', SFSI_PLUS_DOMAIN ); ?>
454
- </li>
455
- <li class="tw_follow_options" style="<?php echo ($option4['sfsi_plus_twitter_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
456
- <h3>
457
- <?php _e( 'To get this information:', SFSI_PLUS_DOMAIN ); ?>
458
- </h3>
459
- </li>
460
- <li class="tw_follow_options" style="<?php echo ($option4['sfsi_plus_twitter_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
461
- 1: <?php _e( 'Go to', SFSI_PLUS_DOMAIN ); ?>
462
- <a href="https://apps.twitter.com" target="_blank">
463
- apps.twitter.com
464
- </a>
465
- </li>
466
- <li class="tw_follow_options" style="<?php echo ($option4['sfsi_plus_twitter_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
467
- 2: <?php _e( 'Click on "Create new app"', SFSI_PLUS_DOMAIN ); ?>
468
- </li>
469
- <li class="tw_follow_options" style="<?php echo ($option4['sfsi_plus_twitter_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
470
- 3: <?php _e( 'Enter a random Name, Description and Website URL (including the "http://", e.g. http://dummysitename.com)', SFSI_PLUS_DOMAIN ); ?>
471
- </li>
472
- <li class="tw_follow_options" style="<?php echo ($option4['sfsi_plus_twitter_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
473
- 4: <?php _e( 'Go to "Keys and Access Tokens" tab and click on "Generate Token" in the "Token actions" section at the bottom', SFSI_PLUS_DOMAIN ); ?>
474
- </li>
475
- <li class="tw_follow_options" style="<?php echo ($option4['sfsi_plus_twitter_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
476
- 5: <?php _e('Then click on "Test OAuth" at the top right and you will see the 4 token key',SFSI_PLUS_DOMAIN ); ?>
477
- </li>
478
- </ul>
479
- </li>
480
- <li>
481
- <input name="sfsi_plus_twitter_countsFrom" <?php echo ($option4['sfsi_plus_twitter_countsFrom']=='manual') ? 'checked="true"' : '' ;?> type="radio" value="manual" class="styled" />
482
- <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
483
- <input name="sfsi_plus_twitter_manualCounts" type="text" class="input" value="<?php echo ($option4['sfsi_plus_twitter_manualCounts']!='') ? $option4['sfsi_plus_twitter_manualCounts'] : '' ;?>" style="<?php echo ($option4['sfsi_plus_twitter_countsFrom']=='source') ? 'display:none;' : '' ;?>" />
484
- </li>
485
- </ul>
486
- </div>
487
- </div>
488
- <!--END TWITTER ICON COUNT SECTION-->
489
-
490
- <!-- LINKEDIN ICON COUNT SECTION-->
491
- <div class="sfsiplus_specify_counts sfsiplus_linkedin_section">
492
- <div class="radio_section">
493
- <input name="sfsi_plus_linkedIn_countsDisplay" <?php echo ($option4['sfsi_plus_linkedIn_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
494
- </div>
495
- <div class="social_icon_like">
496
- <ul class="like_icon">
497
- <li>
498
- <a title="Linked in">
499
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/linked_in.png" alt="Linked in" />
500
- <span><?php echo $counts['linkedIn_count']; ?></span>
501
- </a>
502
- </li>
503
- </ul>
504
- </div>
505
-
506
- <div class="listing">
507
- <ul>
508
- <?php /*?><li><input name="sfsi_plus_linkedIn_countsFrom" <?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='follower') ? 'checked="true"' : '' ;?> type="radio" value="follower" class="styled" />Retrieve the number of Linkedin followers</li>
509
- <li class="SFSI_tglli">
510
- <ul class="SFSI_lsngfrm">
511
- <li class="linkedIn_options" style="<?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='manual') ? 'display:none;' : '' ;?>"><label>Enter Company Name </label><input name="sfsi_plus_ln_company" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsi_plus_ln_company']) && $option4['sfsi_plus_ln_company']!='') ? $option4['sfsi_plus_ln_company'] : '' ;?>" /> </li>
512
- <li class="linkedIn_options" style="<?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='manual') ? 'display:none;' : '' ;?>"><label>Enter API Key </label><input name="sfsi_plus_ln_api_key" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsi_plus_ln_api_key']) && $option4['sfsi_plus_ln_api_key']!='') ? $option4['sfsi_plus_ln_api_key'] : '' ;?>" /> </li>
513
- <li class="linkedIn_options" style="<?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='manual') ? 'display:none;' : '' ;?>"><label>Enter Secret Key </label><input name="sfsi_plus_ln_secret_key" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsi_plus_ln_secret_key']) && $option4['sfsi_plus_ln_secret_key']!='') ? $option4['sfsi_plus_ln_secret_key'] : '' ;?>" /> </li>
514
- <li class="linkedIn_options" style="<?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='manual') ? 'display:none;' : '' ;?>" ><label>Enter OAuth User Token</label> <input name="sfsi_plus_ln_oAuth_user_token" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsi_plus_ln_oAuth_user_token']) && $option4['sfsi_plus_ln_oAuth_user_token']!='') ? $option4['sfsi_plus_ln_oAuth_user_token'] : '' ;?>" /> </li>
515
- </ul>
516
- <ul class="SFSI_instructions">
517
- <li class="linkedIn_options" style="<?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='manual') ? 'display:none;' : '' ;?>"><h3>To get the API key for LinkedIn:</h3></li>
518
- <li class="linkedIn_options" style="<?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='manual') ? 'display:none;' : '' ;?>">1: Go to <a href="https://developer.linkedin.com/" target="_blank">www.developer.linkedin.com</a>, mouse over “Support” and select “API keys”</li>
519
- <li class="linkedIn_options" style="<?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='manual') ? 'display:none;' : '' ;?>">2: Then login with your Linkedin account and create a new application</li>
520
- <li class="linkedIn_options" style="<?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='manual') ? 'display:none;' : '' ;?>">3: Fill the required boxes in the form with random data, accept the Terms and add the application</li>
521
- <li class="linkedIn_options" style="<?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='manual') ? 'display:none;' : '' ;?>">4: In the next step you will see the required API information</li>
522
- <li class="linkedIn_options" style="<?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='manual') ? 'display:none;' : '' ;?>">When you enter this key into the plugin for the first time, it may take some time until the correct follower count is displayed on your website.</li>
523
- </ul>
524
- </li><?php */?>
525
- <li>
526
- <input name="sfsi_plus_linkedIn_countsFrom" <?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='manual' || $option4['sfsi_plus_linkedIn_countsFrom']=='follower') ? 'checked="true"' : '' ;?> type="radio" value="manual" class="styled" />
527
- <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
528
- <input name="sfsi_plus_linkedIn_manualCounts" type="text" class="input" value="<?php echo ($option4['sfsi_plus_linkedIn_manualCounts']!='') ? $option4['sfsi_plus_linkedIn_manualCounts'] : '' ;?>" style="<?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='follower') ? 'display:none;' : '' ;?>" />
529
- </li>
530
- </ul>
531
- </div>
532
- </div>
533
- <!-- END LINKEDIN ICON COUNT SECTION-->
534
-
535
- <!-- YOUTUBE ICON COUNT SECTION-->
536
- <div class="sfsiplus_specify_counts sfsiplus_youtube_section">
537
- <div class="radio_section">
538
- <input name="sfsi_plus_youtube_countsDisplay" <?php echo ($option4['sfsi_plus_youtube_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
539
- </div>
540
- <div class="social_icon_like">
541
- <ul class="like_icon">
542
- <li>
543
- <a title="YouTube">
544
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/youtube.png" alt="YouTube" />
545
- <span><?php echo $counts['youtube_count']; ?></span>
546
- </a>
547
- </li>
548
- </ul>
549
- </div>
550
- <div class="listing">
551
- <ul>
552
- <li>
553
- <input name="sfsi_plus_youtube_countsFrom" type="radio" value="subscriber" <?php echo ($option4['sfsi_plus_youtube_countsFrom']=='subscriber') ? 'checked="true"' : '' ;?> class="styled" />
554
- <?php _e( 'Retrieve the number of Subscribers', SFSI_PLUS_DOMAIN ); ?>
555
- </li>
556
- <li class="youtube_options" style="<?php echo ($option4['sfsi_plus_youtube_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
557
- <div>
558
- <label>
559
- <?php _e( 'Enter Youtube User name', SFSI_PLUS_DOMAIN ); ?>
560
- </label>
561
- <input name="sfsi_plus_youtube_user" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsi_plus_youtube_user']) && $option4['sfsi_plus_youtube_user']!='') ? $option4['sfsi_plus_youtube_user'] : '' ;?>"/>
562
- </div>
563
-
564
- <div>
565
- <label>
566
- <?php _e( 'Enter Youtube Channel id', SFSI_PLUS_DOMAIN ); ?>
567
- </label>
568
- <input name="sfsi_plus_youtube_channelId" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsi_plus_youtube_channelId']) && $option4['sfsi_plus_youtube_channelId']!='') ? $option4['sfsi_plus_youtube_channelId'] : '' ;?>"/>
569
- </div>
570
- </li>
571
- <li>
572
- <input name="sfsi_plus_youtube_countsFrom" type="radio" value="manual" <?php echo ($option4['sfsi_plus_youtube_countsFrom']=='manual') ? 'checked="true"' : '' ;?> class="styled" />
573
- <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
574
- <input name="sfsi_plus_youtube_manualCounts" type="text" class="input" value="<?php echo ($option4['sfsi_plus_youtube_manualCounts']!='') ? $option4['sfsi_plus_youtube_manualCounts'] : '' ;?>" style="<?php echo ($option4['sfsi_plus_youtube_countsFrom']=='subscriber') ? 'display:none;' : '' ;?>" />
575
- </li>
576
- </ul>
577
- </div>
578
- </div>
579
- <!-- END YOUTUBE ICON COUNT SECTION-->
580
-
581
- <!-- PINIT ICON COUNT SECTION-->
582
- <div class="sfsiplus_specify_counts sfsiplus_pinterest_section">
583
- <div class="radio_section">
584
- <input name="sfsi_plus_pinterest_countsDisplay" <?php echo ($option4['sfsi_plus_pinterest_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
585
- </div>
586
- <div class="social_icon_like">
587
- <ul class="like_icon">
588
- <li>
589
- <a title="Pinterest">
590
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/pinterest.png" alt="Pinterest" />
591
- <span><?php echo $counts['pin_count']; ?></span>
592
- </a>
593
- </li>
594
- </ul>
595
- </div>
596
- <div class="listing">
597
- <ul>
598
- <li>
599
- <input name="sfsi_plus_pinterest_countsFrom" <?php echo ($option4['sfsi_plus_pinterest_countsFrom']=='pins') ? 'checked="true"' : '' ;?> type="radio" value="pins" class="styled" />
600
- <?php _e( 'Retrieve the number of Pins', SFSI_PLUS_DOMAIN ); ?>
601
- </li>
602
- <li>
603
- <input name="sfsi_plus_pinterest_countsFrom" <?php echo ($option4['sfsi_plus_pinterest_countsFrom']=='manual') ? 'checked="true"' : '' ;?> type="radio" value="manual" class="styled" />
604
- <label class="high_prb">
605
- <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
606
- </label>
607
- <input name="sfsi_plus_pinterest_manualCounts" type="text" class="input" value="<?php echo ($option4['sfsi_plus_pinterest_manualCounts']!='') ? $option4['sfsi_plus_pinterest_manualCounts'] : '' ;?>" style="<?php echo ($option4['sfsi_plus_pinterest_countsFrom']=='pins') ? 'display:none;' : '' ;?>" />
608
- </li>
609
- </ul>
610
- </div>
611
-
612
- <div class="sfsi_plus_new_prmium_follw">
613
- <p>
614
- <b>New: </b>In the Premium Plugin you can also automatically show the number of PINs from your Pinterest account, or of a specific board, or the number of your Pinterest followers. <a style="cursor:pointer" class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" class="sfisi_plus_font_bold" target="_blank"><?php _e( 'Go premium now', SFSI_PLUS_DOMAIN); ?></a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=more_pinterest_counts&utm_medium=banner" class="sfsi_plus_font_inherit" target="_blank"><?php _e( ' or learn more', SFSI_PLUS_DOMAIN); ?></a>
615
- </p>
616
- </div>
617
- </div>
618
- <!-- END PINIT ICON COUNT SECTION-->
619
-
620
- <!-- INSTAGRAM ICON COUNT SECTION-->
621
- <div class="sfsiplus_specify_counts sfsiplus_instagram_section">
622
- <div class="radio_section">
623
- <input name="sfsi_plus_instagram_countsDisplay" <?php echo ($option4['sfsi_plus_instagram_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
624
- </div>
625
- <div class="social_icon_like">
626
- <ul class="like_icon">
627
- <li>
628
- <a title="Instagram">
629
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/instagram.png" alt="instagram" />
630
- <span><?php echo $counts['instagram_count']; ?></span>
631
- </a>
632
- </li>
633
- </ul>
634
- </div>
635
- <div class="listing">
636
- <ul>
637
- <li>
638
- <input name="sfsi_plus_instagram_countsFrom" <?php echo ($option4['sfsi_plus_instagram_countsFrom']=='followers') ? 'checked="true"' : '' ;?> type="radio" value="followers" class="styled" />
639
- <?php _e( 'Retrieve the number of Instagram followers', SFSI_PLUS_DOMAIN ); ?>
640
- </li>
641
- <li class="instagram_userLi" style="<?php echo ($option4['sfsi_plus_instagram_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
642
- <div class='sfsi_instagram_follower'>
643
- <div>
644
- <label>
645
- <?php _e( 'Enter Instagram User name', SFSI_PLUS_DOMAIN ); ?>
646
- </label>
647
- <input name="sfsi_plus_instagram_User" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsi_plus_instagram_User']) && $option4['sfsi_plus_instagram_User']!='') ? $option4['sfsi_plus_instagram_User'] : '' ;?>" />
648
- </div>
649
- <div>
650
- <label>
651
- <?php _e( 'Enter Instagram Client Id', SFSI_PLUS_DOMAIN ); ?>
652
- </label>
653
- <input name="sfsi_plus_instagram_clientid" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsi_plus_instagram_clientid']))? $option4['sfsi_plus_instagram_clientid']:'';?>"/>
654
- </div>
655
- <div>
656
- <label>
657
- <?php _e( 'Enter Instagram Redirect Url', SFSI_PLUS_DOMAIN ); ?>
658
- </label>
659
- <input name="sfsi_plus_instagram_appurl" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsi_plus_instagram_appurl'])) ? $option4['sfsi_plus_instagram_appurl'] : '';?>"/>
660
- </div>
661
- <div class="sfsi_plus_tokenGenerateButton">
662
- <p>For generate your app token you need to enter your "Client Id" and "Redirect Url".</p>
663
- <a href="javascript:">
664
- <?php _e("Generate Token", SFSI_PLUS_DOMAIN);?>
665
- </a>
666
- </div>
667
- <div>
668
- <label>
669
- <?php _e( 'Enter Instagram Token', SFSI_PLUS_DOMAIN ); ?>
670
- </label>
671
- <input name="sfsi_plus_instagram_token" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsi_plus_instagram_token'])) ? $option4['sfsi_plus_instagram_token'] : '';?>"/>
672
- </div>
673
- </div>
674
- <div class="sfsi_plus_instagramInstruction">
675
- <p>To complete the process please follow these steps:</p>
676
- <ul>
677
- <li>Go to <a href="https://www.instagram.com/developer" target="_blank">https://www.instagram.com/developer</a></li>
678
- <li><?php _e('Login and then click on “Register Your Application” to get to the “Manage Clients” section. On there click on the “Register a new client” button', SFSI_PLUS_DOMAIN ); ?>.</li>
679
- <li><?php _e('Fill out the form and make sure that the “Redirect url” is valid and uncheck the “Disable Implicit oAuth” under the security tab', SFSI_PLUS_DOMAIN ); ?>.</li>
680
- <li><?php _e('Then click on “Register” button', SFSI_PLUS_DOMAIN ); ?>.</li>
681
- <li><?php _e('Copy the “Client id” and “Redirect url” you entered into the plugin. Also enter your Instagram User name. After that click on the “Generate token” button', SFSI_PLUS_DOMAIN ); ?>.</li>
682
- <li><?php _e('Authorize your app to access your account info by clicking the “Authorize” button', SFSI_PLUS_DOMAIN ); ?>.</li>
683
- <li><?php _e('Now you will be redirected to the redirect url (which you entered during app creation) and find your access token at the end of this url', SFSI_PLUS_DOMAIN ); ?> (For example: http://your-website.com/#access_token=< your access token >)</li>
684
- <li><?php _e('Copy the access token, paste it into the plugin and click on “Save”', SFSI_PLUS_DOMAIN ); ?>.</li>
685
- </ul>
686
- </div>
687
- </li>
688
- <li>
689
- <input name="sfsi_plus_instagram_countsFrom" <?php echo ($option4['sfsi_plus_instagram_countsFrom']=='manual') ? 'checked="true"' : '' ;?> type="radio" value="manual" class="styled" />
690
- <label class="high_prb">
691
- <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
692
- </label>
693
- <input name="sfsi_plus_instagram_manualCounts" type="text" class="input" value="<?php echo ($option4['sfsi_plus_instagram_manualCounts']!='') ? $option4['sfsi_plus_instagram_manualCounts'] : '' ;?>" style="<?php echo ($option4['sfsi_plus_instagram_countsFrom']=='followers') ? 'display:none;' : '' ;?>" />
694
- </li>
695
- </ul>
696
- </div>
697
- </div>
698
- <!-- END INSTAGRAM ICON COUNT SECTION-->
699
-
700
- <!-- HOUZZ ICON COUNT SECTION-->
701
- <div class="sfsiplus_specify_counts sfsiplus_houzz_section">
702
- <div class="radio_section">
703
- <input name="sfsi_plus_houzz_countsDisplay" <?php echo (isset($option4['sfsi_plus_houzz_countsDisplay']) && $option4['sfsi_plus_houzz_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
704
- </div>
705
- <div class="social_icon_like">
706
- <ul class="like_icon">
707
- <li>
708
- <a title="Houzz">
709
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/houzz.png" alt="Houzz" />
710
- <span><?php echo isset($counts['houzz_count'])?$counts['houzz_count']:0; ?></span>
711
- </a>
712
- </li>
713
- </ul>
714
- </div>
715
- <div class="listing">
716
- <ul>
717
- <li>
718
- <input name="sfsi_plus_houzz_countsFrom" checked="true" type="radio" value="manual" class="styled" />
719
- <label class="high_prb">
720
- <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
721
- </label>
722
- <input name="sfsi_plus_houzz_manualCounts" type="text" class="input" value="<?php echo (isset($option4['sfsi_plus_houzz_manualCounts']) && $option4['sfsi_plus_houzz_manualCounts']!='') ? $option4['sfsi_plus_houzz_manualCounts'] : '20' ;?>" />
723
- </li>
724
- </ul>
725
- </div>
726
- </div>
727
- <!-- END HOUZZ ICON COUNT SECTION-->
728
-
729
- <!-- TELEGRAM ICON COUNT SECTION-->
730
- <div class="sfsiplus_specify_counts sfsiplus_telegram_section">
731
- <div class="radio_section">
732
- <input name="sfsi_plus_telegram_countsDisplay" <?php echo (isset($option4['sfsi_plus_telegram_countsDisplay']) && $option4['sfsi_plus_telegram_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
733
- </div>
734
- <div class="social_icon_like">
735
- <ul class="like_icon">
736
- <li>
737
- <a title="Telegram">
738
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/telegram.png" alt="Telegram" />
739
- <span><?php echo isset($counts['telegram_count'])?$counts['telegram_count']:0; ?></span>
740
- </a>
741
- </li>
742
- </ul>
743
- </div>
744
- <div class="listing">
745
- <ul>
746
- <li>
747
- <input name="sfsi_plus_telegram_countsFrom" checked="true" type="radio" value="manual" class="styled" />
748
- <label class="high_prb">
749
- <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
750
- </label>
751
- <input name="sfsi_plus_telegram_manualCounts" type="text" class="input" value="<?php echo (isset($option4['sfsi_plus_telegram_manualCounts']) && $option4['sfsi_plus_telegram_manualCounts']!='') ? $option4['sfsi_plus_telegram_manualCounts'] : '20' ;?>" />
752
- </li>
753
- </ul>
754
- </div>
755
- </div>
756
- <!-- END TELEGRAM ICON COUNT SECTION-->
757
-
758
- <!-- VK ICON COUNT SECTION-->
759
- <div class="sfsiplus_specify_counts sfsiplus_vk_section">
760
- <div class="radio_section">
761
- <input name="sfsi_plus_vk_countsDisplay" <?php echo (isset($option4['sfsi_plus_vk_countsDisplay']) && $option4['sfsi_plus_vk_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
762
- </div>
763
- <div class="social_icon_like">
764
- <ul class="like_icon">
765
- <li>
766
- <a title="VK">
767
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/vk.png" alt="VK" />
768
- <span><?php echo isset($counts['vk_count'])?$counts['vk_count']:0; ?></span>
769
- </a>
770
- </li>
771
- </ul>
772
- </div>
773
- <div class="listing">
774
- <ul>
775
- <li>
776
- <input name="sfsi_plus_vk_countsFrom" checked="true" type="radio" value="manual" class="styled" />
777
- <label class="high_prb">
778
- <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
779
- </label>
780
- <input name="sfsi_plus_vk_manualCounts" type="text" class="input" value="<?php echo (isset($option4['sfsi_plus_vk_manualCounts']) && $option4['sfsi_plus_vk_manualCounts']!='') ? $option4['sfsi_plus_vk_manualCounts'] : '20' ;?>" />
781
- </li>
782
- </ul>
783
- </div>
784
- </div>
785
- <!-- END VK ICON COUNT SECTION-->
786
-
787
- <!-- OK ICON COUNT SECTION-->
788
- <div class="sfsiplus_specify_counts sfsiplus_ok_section">
789
- <div class="radio_section">
790
- <input name="sfsi_plus_ok_countsDisplay" <?php echo (isset($option4['sfsi_plus_ok_countsDisplay']) && $option4['sfsi_plus_ok_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
791
- </div>
792
- <div class="social_icon_like">
793
- <ul class="like_icon">
794
- <li>
795
- <a title="OK">
796
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/ok.png" alt="OK" />
797
- <span><?php echo isset($counts['ok_count'])?$counts['ok_count']:0; ?></span>
798
- </a>
799
- </li>
800
- </ul>
801
- </div>
802
- <div class="listing">
803
- <ul>
804
- <li>
805
- <input name="sfsi_plus_ok_countsFrom" checked="true" type="radio" value="manual" class="styled" />
806
- <label class="high_prb">
807
- <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
808
- </label>
809
- <input name="sfsi_plus_ok_manualCounts" type="text" class="input" value="<?php echo (isset($option4['sfsi_plus_ok_manualCounts']) && $option4['sfsi_plus_ok_manualCounts']!='') ? $option4['sfsi_plus_ok_manualCounts'] : '20' ;?>" />
810
- </li>
811
- </ul>
812
- </div>
813
- </div>
814
- <!-- END OK ICON COUNT SECTION-->
815
-
816
- <!-- WEIBO ICON COUNT SECTION-->
817
- <div class="sfsiplus_specify_counts sfsiplus_weibo_section">
818
- <div class="radio_section">
819
- <input name="sfsi_plus_weibo_countsDisplay" <?php echo (isset($option4['sfsi_plus_weibo_countsDisplay']) && $option4['sfsi_plus_weibo_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
820
- </div>
821
- <div class="social_icon_like">
822
- <ul class="like_icon">
823
- <li>
824
- <a title="Weibo">
825
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/weibo.png" alt="Weibo" />
826
- <span><?php echo isset($counts['weibo_count'])?$counts['weibo_count']:0; ?></span>
827
- </a>
828
- </li>
829
- </ul>
830
- </div>
831
- <div class="listing">
832
- <ul>
833
- <li>
834
- <input name="sfsi_plus_weibo_countsFrom" checked="true" type="radio" value="manual" class="styled" />
835
- <label class="high_prb">
836
- <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
837
- </label>
838
- <input name="sfsi_plus_weibo_manualCounts" type="text" class="input" value="<?php echo (isset($option4['sfsi_plus_weibo_manualCounts']) && $option4['sfsi_plus_weibo_manualCounts']!='') ? $option4['sfsi_plus_weibo_manualCounts'] : '20' ;?>" />
839
- </li>
840
- </ul>
841
- </div>
842
- </div>
843
- <!-- END WEIBO ICON COUNT SECTION-->
844
-
845
- <!-- WECHAT ICON COUNT SECTION-->
846
- <div class="sfsiplus_specify_counts sfsiplus_wechat_section">
847
- <div class="radio_section">
848
- <input name="sfsi_plus_wechat_countsDisplay" <?php echo (isset($option4['sfsi_plus_wechat_countsDisplay']) && $option4['sfsi_plus_wechat_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
849
- </div>
850
- <div class="social_icon_like">
851
- <ul class="like_icon">
852
- <li>
853
- <a title="Wechat">
854
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/wechat.png" alt="Wechat" />
855
- <span><?php echo isset($counts['wechat_count'])?$counts['wechat_count']:0; ?></span>
856
- </a>
857
- </li>
858
- </ul>
859
- </div>
860
- <div class="listing">
861
- <ul>
862
- <li>
863
- <input name="sfsi_plus_wechat_countsFrom" checked="true" type="radio" value="manual" class="styled" />
864
- <label class="high_prb">
865
- <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
866
- </label>
867
- <input name="sfsi_plus_wechat_manualCounts" type="text" class="input" value="<?php echo (isset($option4['sfsi_plus_wechat_manualCounts']) && $option4['sfsi_plus_wechat_manualCounts']!='') ? $option4['sfsi_plus_wechat_manualCounts'] : '20' ;?>" />
868
- </li>
869
- </ul>
870
- </div>
871
- </div>
872
- <!-- END WECHAT ICON COUNT SECTION-->
873
-
874
-
875
- </div>
876
- <!-- END show/hide counts for all icons section -->
877
-
878
- <?php sfsi_plus_ask_for_help(4); ?>
879
-
880
- <!-- SAVE BUTTON SECTION -->
881
- <div class="save_button">
882
- <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/ajax-loader.gif" class="loader-img" />
883
- <?php $nonce = wp_create_nonce("update_plus_step4"); ?>
884
- <a href="javascript:;" id="sfsi_plus_save4" title="Save" data-nonce="<?php echo $nonce;?>">
885
- <?php _e( 'Save', SFSI_PLUS_DOMAIN ); ?>
886
- </a>
887
- </div>
888
- <!-- END SAVE BUTTON SECTION -->
889
- <a class="sfsiColbtn closeSec" href="javascript:;">
890
- <?php _e( 'Collapse area', SFSI_PLUS_DOMAIN ); ?>
891
- </a>
892
- <label class="closeSec"></label>
893
- <!-- ERROR AND SUCCESS MESSAGE AREA-->
894
- <p class="red_txt errorMsg" style="display:none"> </p>
895
- <p class="green_txt sucMsg" style="display:none"> </p>
896
- <div class="clear"></div>
897
- </div>
898
- <!-- END Section 4 "Do you want to display "counts" next to your icons?" -->
1
+ <?php
2
+ /* unserialize all saved option for section 4 options */
3
+ $option2 = unserialize(get_option('sfsi_plus_section2_options',false));
4
+ $option4 = unserialize(get_option('sfsi_plus_section4_options',false));
5
+ if(!isset($option4['sfsi_plus_facebook_mypageCounts']))
6
+ {
7
+ $option4['sfsi_plus_facebook_mypageCounts'] = '';
8
+ }
9
+
10
+ /*
11
+ * Sanitize, escape and validate values
12
+ */
13
+ $option4['sfsi_plus_display_counts'] = (isset($option4['sfsi_plus_display_counts']))
14
+ ? sanitize_text_field($option4['sfsi_plus_display_counts'])
15
+ : '';
16
+ $option4['sfsi_plus_email_countsFrom'] = (isset($option4['sfsi_plus_email_countsFrom']))
17
+ ? sanitize_text_field($option4['sfsi_plus_email_countsFrom'])
18
+ : '';
19
+ $option4['sfsi_plus_email_manualCounts'] = (isset($option4['sfsi_plus_email_manualCounts']))
20
+ ? intval($option4['sfsi_plus_email_manualCounts'])
21
+ : '';
22
+ $option4['sfsi_plus_rss_countsDisplay'] = (isset($option4['sfsi_plus_rss_countsDisplay']))
23
+ ? sanitize_text_field($option4['sfsi_plus_rss_countsDisplay'])
24
+ : '';
25
+ $option4['sfsi_plus_rss_manualCounts'] = (isset($option4['sfsi_plus_rss_manualCounts']))
26
+ ? intval($option4['sfsi_plus_rss_manualCounts'])
27
+ : '';
28
+ $option4['sfsi_plus_email_countsDisplay'] = (isset($option4['sfsi_plus_email_countsDisplay']))
29
+ ? sanitize_text_field($option4['sfsi_plus_email_countsDisplay'])
30
+ : '';
31
+
32
+ $option4['sfsi_plus_facebook_countsDisplay'] = (isset($option4['sfsi_plus_facebook_countsDisplay']))
33
+ ? sanitize_text_field($option4['sfsi_plus_facebook_countsDisplay'])
34
+ : '';
35
+ $option4['sfsi_plus_facebook_countsFrom'] = (isset($option4['sfsi_plus_facebook_countsFrom']))
36
+ ? sanitize_text_field($option4['sfsi_plus_facebook_countsFrom'])
37
+ : '';
38
+ $option4['sfsi_plus_facebook_mypageCounts'] = (isset($option4['sfsi_plus_facebook_mypageCounts']))
39
+ ? sfsi_plus_sanitize_field($option4['sfsi_plus_facebook_mypageCounts'])
40
+ : '';
41
+ $option4['sfsi_plus_facebook_manualCounts'] = (isset($option4['sfsi_plus_facebook_manualCounts']))
42
+ ? intval($option4['sfsi_plus_facebook_manualCounts'])
43
+ : '';
44
+
45
+
46
+ $option4['sfsi_plus_twitter_countsDisplay'] = (isset($option4['sfsi_plus_twitter_countsDisplay']))
47
+ ? sanitize_text_field($option4['sfsi_plus_twitter_countsDisplay'])
48
+ : '';
49
+ $option4['sfsi_plus_twitter_countsFrom'] = (isset($option4['sfsi_plus_twitter_countsFrom']))
50
+ ? sanitize_text_field($option4['sfsi_plus_twitter_countsFrom'])
51
+ : '';
52
+ $option4['sfsi_plus_twitter_manualCounts'] = (isset($option4['sfsi_plus_twitter_manualCounts']))
53
+ ? intval($option4['sfsi_plus_twitter_manualCounts'])
54
+ : '';
55
+ $option4['sfsiplus_tw_consumer_key'] = (isset($option4['sfsiplus_tw_consumer_key']))
56
+ ? sfsi_plus_sanitize_field($option4['sfsiplus_tw_consumer_key'])
57
+ : '';
58
+ $option4['sfsiplus_tw_consumer_secret'] = (isset($option4['sfsiplus_tw_consumer_secret']))
59
+ ? sfsi_plus_sanitize_field($option4['sfsiplus_tw_consumer_secret'])
60
+ : '';
61
+ $option4['sfsiplus_tw_oauth_access_token'] = (isset($option4['sfsiplus_tw_oauth_access_token']))
62
+ ? sfsi_plus_sanitize_field($option4['sfsiplus_tw_oauth_access_token'])
63
+ : '';
64
+ $option4['sfsiplus_tw_oauth_access_token_secret']= (isset($option4['sfsiplus_tw_oauth_access_token_secret']))
65
+ ? sfsi_plus_sanitize_field($option4['sfsiplus_tw_oauth_access_token_secret'])
66
+ : '';
67
+ $option4['sfsi_plus_youtube_countsDisplay'] = (isset($option4['sfsi_plus_youtube_countsDisplay']))
68
+ ? sanitize_text_field($option4['sfsi_plus_youtube_countsDisplay'])
69
+ : '';
70
+ $option4['sfsi_plus_youtube_countsFrom'] = (isset($option4['sfsi_plus_youtube_countsFrom']))
71
+ ? sanitize_text_field($option4['sfsi_plus_youtube_countsFrom'])
72
+ : '';
73
+ $option4['sfsi_plus_youtubeusernameorid'] = (isset($option4['sfsi_plus_youtubeusernameorid']))
74
+ ? sanitize_text_field($option4['sfsi_plus_youtubeusernameorid'])
75
+ : '';
76
+ $option4['sfsi_plus_youtube_manualCounts'] = (isset($option4['sfsi_plus_youtube_manualCounts']))
77
+ ? intval($option4['sfsi_plus_youtube_manualCounts'])
78
+ : '';
79
+ $option4['sfsi_plus_youtube_user'] = (isset($option4['sfsi_plus_youtube_user']))
80
+ ? sfsi_plus_sanitize_field($option4['sfsi_plus_youtube_user'])
81
+ : '';
82
+ $option4['sfsi_plus_youtube_channelId'] = (isset($option4['sfsi_plus_youtube_channelId']))
83
+ ? sfsi_plus_sanitize_field($option4['sfsi_plus_youtube_channelId'])
84
+ : '';
85
+
86
+ $option4['sfsi_plus_instagram_manualCounts'] = (isset($option4['sfsi_plus_instagram_manualCounts']))
87
+ ? intval($option4['sfsi_plus_instagram_manualCounts'])
88
+ : '';
89
+ $option4['sfsi_plus_instagram_User'] = (isset($option4['sfsi_plus_instagram_User']))
90
+ ? sfsi_plus_sanitize_field($option4['sfsi_plus_instagram_User'])
91
+ : '';
92
+ $option4['sfsi_plus_instagram_clientid'] = (isset($option4['sfsi_plus_instagram_clientid']))
93
+ ? sfsi_plus_sanitize_field($option4['sfsi_plus_instagram_clientid'])
94
+ : '';
95
+ $option4['sfsi_plus_instagram_appurl'] = (isset($option4['sfsi_plus_instagram_appurl']))
96
+ ? sfsi_plus_sanitize_field($option4['sfsi_plus_instagram_appurl'])
97
+ : '';
98
+ $option4['sfsi_plus_instagram_token'] = (isset($option4['sfsi_plus_instagram_token']))
99
+ ? sfsi_plus_sanitize_field($option4['sfsi_plus_instagram_token'])
100
+ : '';
101
+ $option4['sfsi_plus_instagram_countsFrom'] = (isset($option4['sfsi_plus_instagram_countsFrom']))
102
+ ? sanitize_text_field($option4['sfsi_plus_instagram_countsFrom'])
103
+ : '';
104
+ $option4['sfsi_plus_instagram_countsDisplay'] = (isset($option4['sfsi_plus_instagram_countsDisplay']))
105
+ ? sanitize_text_field($option4['sfsi_plus_instagram_countsDisplay'])
106
+ : '';
107
+
108
+ $option4['sfsi_plus_linkedIn_manualCounts'] = (isset($option4['sfsi_plus_linkedIn_manualCounts']))
109
+ ? intval($option4['sfsi_plus_linkedIn_manualCounts'])
110
+ : '';
111
+ $option4['sfsi_plus_houzz_manualCounts'] = (isset($option4['sfsi_plus_houzz_manualCounts']))
112
+ ? intval($option4['sfsi_plus_houzz_manualCounts'])
113
+ : '';
114
+ $option4['sfsi_plus_pinterest_manualCounts'] = (isset($option4['sfsi_plus_pinterest_manualCounts']))
115
+ ? intval($option4['sfsi_plus_pinterest_manualCounts'])
116
+ : '';
117
+ $option4['sfsi_plus_premium_count_box'] = (isset($option4['sfsi_plus_premium_count_box']))
118
+ ? sanitize_text_field($option4['sfsi_plus_premium_count_box'])
119
+ : 'yes';
120
+ $option4['sfsi_plus_telegram_countsDisplay'] = (isset($option4['sfsi_plus_telegram_countsDisplay']))
121
+ ? sanitize_text_field($option4['sfsi_plus_telegram_countsDisplay'])
122
+ : '';
123
+ $option4['sfsi_plus_telegram_manualCounts'] = (isset($option4['sfsi_plus_telegram_manualCounts']))
124
+ ? intval($option4['sfsi_plus_telegram_manualCounts'])
125
+ : '';
126
+ $option4['sfsi_plus_vk_countsDisplay'] = (isset($option4['sfsi_plus_vk_countsDisplay']))
127
+ ? sanitize_text_field($option4['sfsi_plus_vk_countsDisplay'])
128
+ : '';
129
+ $option4['sfsi_plus_vk_manualCounts'] = (isset($option4['sfsi_plus_vk_manualCounts']))
130
+ ? intval($option4['sfsi_plus_vk_manualCounts'])
131
+ : '';
132
+
133
+ $option4['sfsi_plus_ok_countsDisplay'] = (isset($option4['sfsi_plus_ok_countsDisplay']))
134
+ ? sanitize_text_field($option4['sfsi_plus_ok_countsDisplay'])
135
+ : '';
136
+ $option4['sfsi_plus_ok_manualCounts'] = (isset($option4['sfsi_plus_ok_manualCounts']))
137
+ ? intval($option4['sfsi_plus_ok_manualCounts'])
138
+ : '';
139
+
140
+ $option4['sfsi_plus_weibo_countsDisplay'] = (isset($option4['sfsi_plus_weibo_countsDisplay']))
141
+ ? sanitize_text_field($option4['sfsi_plus_weibo_countsDisplay'])
142
+ : '';
143
+ $option4['sfsi_plus_weibo_manualCounts'] = (isset($option4['sfsi_plus_weibo_manualCounts']))
144
+ ? intval($option4['sfsi_plus_weibo_manualCounts'])
145
+ : '';
146
+
147
+ $option4['sfsi_plus_wechat_countsDisplay'] = (isset($option4['sfsi_plus_wechat_countsDisplay']))
148
+ ? sanitize_text_field($option4['sfsi_plus_wechat_countsDisplay'])
149
+ : '';
150
+ $option4['sfsi_plus_wechat_manualCounts'] = (isset($option4['sfsi_plus_wechat_manualCounts']))
151
+ ? intval($option4['sfsi_plus_wechat_manualCounts'])
152
+ : '';
153
+ $counts = sfsi_plus_getCounts();
154
+ /* fetch counts for admin sections */
155
+
156
+ /* check for email icon display */
157
+ $email_image="email.png";
158
+ if($option2['sfsi_plus_rss_icons']=="sfsi")
159
+ {
160
+ $email_image="sf_arow_icn.png";
161
+ }
162
+ elseif($option2['sfsi_plus_rss_icons']=="email")
163
+ {
164
+ $email_image="email.png";
165
+ }
166
+ else
167
+ {
168
+ $email_image = "subscribe.png";
169
+ }
170
+ $hide="display:none;";
171
+ ?>
172
+ <!-- Section 4 "Do you want to display "counts" next to your icons?" main div Start -->
173
+ <div class="tab4">
174
+
175
+ <div class="sfsi_plus_versionNotification">
176
+ <?php sfsi_plus_curl_error_notification(); ?>
177
+ </div>
178
+
179
+ <p>
180
+ <?php _e('It’s a psychological fact that people like to follow other people, so when they see that your site has already a good number of Facebook likes, it’s more likely that they will subscribe/like/share your site than if it had 0.', SFSI_PLUS_DOMAIN ); ?>
181
+ </p>
182
+ <p>
183
+ <?php _e( 'Therefore, you can select to display the count next to your icons which will look like this:', SFSI_PLUS_DOMAIN ); ?>
184
+ </p>
185
+
186
+ <!-- sample icons -->
187
+ <ul class="like_icon">
188
+ <li class="sfsiplus_rss_section">
189
+ <a href="#" title="RSS">
190
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/rss.png" alt="RSS" />
191
+ </a><span>12k</span>
192
+ </li>
193
+ <li class="sfsiplus_email_section">
194
+ <a href="#" title="Email">
195
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/<?php echo $email_image; ?>" alt="Email" class="icon_img" />
196
+ </a><span>12k</span>
197
+ </li>
198
+ <li class="sfsiplus_facebook_section">
199
+ <a href="#" title="Facebook">
200
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/fb.png" alt="Facebook" />
201
+ </a><span>12k</span>
202
+ </li>
203
+ <li class="sfsiplus_twitter_section">
204
+ <a href="#" title="Twitter">
205
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/twitter.png" alt="Twitter" />
206
+ </a><span>12k</span>
207
+ </li>
208
+ <li class="sfsiplus_youtube_section">
209
+ <a href="#" title="YouTube">
210
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/youtube.png" alt="YouTube" />
211
+ </a><span>12k</span>
212
+ </li>
213
+ <li class="sfsiplus_pinterest_section">
214
+ <a href="#" title="Pinterest">
215
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/pinterest.png" alt="Pinterest" />
216
+ </a><span>12k</span>
217
+ </li>
218
+ <li class="sfsiplus_linkedin_section">
219
+ <a href="#" title="Linked In">
220
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/linked_in.png" alt="Linked In" />
221
+ </a><span>12k</span>
222
+ </li>
223
+ <li class="sfsiplus_instagram_section">
224
+ <a href="#" title="Instagram">
225
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/instagram.png" alt="instagram" />
226
+ </a><span>12k</span>
227
+ </li>
228
+ <li class="sfsiplus_houzz_section">
229
+ <a href="#" title="Houzz">
230
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/houzz.png" alt="instagram" />
231
+ </a><span>12k</span>
232
+ </li>
233
+ <!--MZ CODE START-->
234
+ <li class="sfsiplus_telegram_section">
235
+ <a href="#" title="Telegram">
236
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/telegram.png" alt="Telegram" />
237
+ </a><span>12k</span>
238
+ </li>
239
+
240
+ <li class="sfsiplus_vk_section">
241
+ <a href="#" title="Vk">
242
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/vk.png" alt="Telegram" />
243
+ </a><span>12k</span>
244
+ </li>
245
+ <li class="sfsiplus_ok_section">
246
+ <a href="#" title="Ok">
247
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/icons_theme/default/default_ok.png" alt="Ok" width="50px" height="50px" />
248
+ </a><span>12k</span>
249
+ </li>
250
+ <li class="sfsiplus_weibo_section">
251
+ <a href="#" title="Weibo">
252
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/weibo.png" alt="Weibo" width="50px" height="50px" />
253
+ </a><span>12k</span>
254
+ </li>
255
+ <li class="sfsiplus_wechat_section">
256
+ <a href="#" title="Wechat">
257
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/wechat.png" alt="Weibo" width="50px" height="50px" />
258
+ </a><span>12k</span>
259
+ </li>
260
+
261
+
262
+
263
+ </ul> <!-- END sample icons -->
264
+ <p>
265
+ <?php _e( 'Of course, if you start at 0, you shoot yourself in the foot with that. So we suggest that you only turn this feature on once you have a good number of followers/likes/shares (min. of 20 – no worries if it’s not too many, it should just not be 0).', SFSI_PLUS_DOMAIN ); ?>
266
+ </p>
267
+ <h4>
268
+ <?php _e( 'Enough waffling. So do you want to display counts?', SFSI_PLUS_DOMAIN ); ?>
269
+ </h4>
270
+ <!-- show/hide counts for icons section START -->
271
+ <ul class="enough_waffling">
272
+ <li>
273
+ <input name="sfsi_plus_display_counts" <?php echo ($option4['sfsi_plus_display_counts']=='yes') ? 'checked="true"' : '' ;?> type="radio" value="yes" class="styled" />
274
+ <label>
275
+ <?php _e( 'Yes', SFSI_PLUS_DOMAIN ); ?>
276
+ </label>
277
+ </li>
278
+ <li>
279
+ <input name="sfsi_plus_display_counts" <?php echo ($option4['sfsi_plus_display_counts']=='no') ? 'checked="true"' : '' ;?> type="radio" value="no" class="styled" />
280
+ <label>
281
+ <?php _e( 'No', SFSI_PLUS_DOMAIN ); ?>
282
+ </label>
283
+ </li>
284
+ </ul>
285
+ <!-- END show/hide counts for icons section -->
286
+ <!-- show/hide counts for all icons section START -->
287
+ <div class="sfsiplus_count_sections" style="display:none">
288
+ <h4>
289
+ <?php _e( 'Please specify which counts should be shown:', SFSI_PLUS_DOMAIN ); ?>
290
+ </h4>
291
+
292
+ <!-- RSS ICON COUNT SECTION-->
293
+ <div class="sfsiplus_specify_counts sfsiplus_rss_section">
294
+ <div class="radio_section">
295
+ <input name="sfsi_plus_rss_countsDisplay" <?php echo ($option4['sfsi_plus_rss_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
296
+ </div>
297
+ <div class="social_icon_like">
298
+ <ul class="like_icon">
299
+ <li>
300
+ <a title="RSS">
301
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/rss.png" alt="RSS" />
302
+ <span><?php echo $counts['rss_count']; ?></span>
303
+ </a>
304
+ </li>
305
+ </ul>
306
+ </div>
307
+ <div class="listing">
308
+ <ul>
309
+ <li>
310
+ <?php
311
+ _e('We cannot track this. So enter the figure here:',SFSI_PLUS_DOMAIN); ?>
312
+ <input name="sfsi_plus_rss_manualCounts" type="text" class="input" value="<?php echo ($option4['sfsi_plus_rss_manualCounts']!='') ? $option4['sfsi_plus_rss_manualCounts'] : '' ;?>" />
313
+ </li>
314
+ </ul>
315
+ </div>
316
+ </div>
317
+ <!-- END RSS ICON COUNT SECTION-->
318
+
319
+ <!-- EMAIL ICON COUNT SECTION-->
320
+ <div class="sfsiplus_specify_counts sfsiplus_email_section">
321
+ <div class="radio_section">
322
+ <input name="sfsi_plus_email_countsDisplay" <?php echo ($option4['sfsi_plus_email_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
323
+ </div>
324
+ <div class="social_icon_like">
325
+ <ul class="like_icon">
326
+ <li>
327
+ <a title="Email">
328
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/<?php echo $email_image; ?>" alt="Email" />
329
+ <span><?php echo $counts['email_count']; ?></span>
330
+ </a>
331
+ </li>
332
+ </ul>
333
+ </div>
334
+ <div class="listing">
335
+ <ul>
336
+ <li>
337
+ <input name="sfsi_plus_email_countsFrom" <?php echo ($option4['sfsi_plus_email_countsFrom']=='source') ? 'checked="true"' : '' ;?> type="radio" value="source" class="styled" />
338
+ <?php
339
+ _e('Retrieve the number of subscribers automatically', SFSI_PLUS_DOMAIN); ?>
340
+ </li>
341
+ <li>
342
+ <input name="sfsi_plus_email_countsFrom" <?php echo ($option4['sfsi_plus_email_countsFrom']=='manual') ? 'checked="true"' : '' ;?> type="radio" value="manual" class="styled" />
343
+ <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
344
+ <input name="sfsi_plus_email_manualCounts" type="text" class="input" value="<?php echo ($option4['sfsi_plus_email_manualCounts']!='') ? $option4['sfsi_plus_email_manualCounts'] : '' ;?>" style="<?php echo ($option4['sfsi_plus_email_countsFrom']=='source') ? 'display:none;' : '' ;?>" />
345
+ </li>
346
+ </ul>
347
+ </div>
348
+ </div>
349
+ <!--END EMAIL ICON COUNT SECTION-->
350
+
351
+ <!-- FACEBOOK ICON COUNT SECTION-->
352
+ <div class="sfsiplus_specify_counts sfsiplus_facebook_section">
353
+ <div class="radio_section">
354
+ <input name="sfsi_plus_facebook_countsDisplay" <?php echo ($option4['sfsi_plus_facebook_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
355
+ </div>
356
+ <div class="social_icon_like">
357
+ <ul class="like_icon">
358
+ <li>
359
+ <a title="Facebook">
360
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/fb.png" alt="Facebook" />
361
+ <span><?php echo $counts['fb_count']; ?></span>
362
+ </a>
363
+ </li>
364
+ </ul>
365
+ </div>
366
+ <div class="listing">
367
+ <ul class="sfsi_plus_fb_popup_contain">
368
+ <li>
369
+ <input name="sfsi_plus_facebook_countsFrom" <?php echo ($option4['sfsi_plus_facebook_countsFrom']=='likes') ? 'checked="true"' : '' ;?> type="radio" value="likes" class="styled" />
370
+ <?php _e( 'Retrieve the number of likes of your blog', SFSI_PLUS_DOMAIN ); ?>
371
+ </li>
372
+ <li>
373
+ <input name="sfsi_plus_facebook_countsFrom" <?php echo ($option4['sfsi_plus_facebook_countsFrom']=='mypage') ? 'checked="true"' : '' ;?> type="radio" value="mypage" class="styled" />
374
+ <?php _e( 'Retrieve the number of likes of your Facebook page', SFSI_PLUS_DOMAIN ); ?>
375
+ <br>
376
+ <div class="sfsiplus_fbpgiddesc sfsi_plus_fbpaget">
377
+ <div class="sfsiplus_fbpgidwpr sfsi_plus_count" style="<?php echo ($option4['sfsi_plus_facebook_countsFrom']=='likes' || $option4['sfsi_plus_facebook_countsFrom']=='followers' || $option4['sfsi_plus_facebook_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
378
+ Facebook <?php _e( 'page ID:', SFSI_PLUS_DOMAIN ); ?>
379
+ </div>
380
+ <input name="sfsi_plus_facebook_mypageCounts" type="text" class="input mypginpt" value="<?php echo ($option4['sfsi_plus_facebook_mypageCounts']!='') ? $option4['sfsi_plus_facebook_mypageCounts'] : '' ;?>" style="<?php echo ($option4['sfsi_plus_facebook_countsFrom']=='likes' || $option4['sfsi_plus_facebook_countsFrom']=='followers' || $option4['sfsi_plus_facebook_countsFrom']=='manual') ? 'display:none;' : '' ;?>" />
381
+ </div>
382
+ <div class="sfsiplus_fbpgidwpr sfsiplus_fbpgiddesc sfsi_plus_facebook_count" style="<?php echo ($option4['sfsi_plus_facebook_countsFrom']=='likes' || $option4['sfsi_plus_facebook_countsFrom']=='followers' || $option4['sfsi_plus_facebook_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
383
+ (<?php _e( "You'll find it at the bottom of the << About >> -tab on your Facebook page", SFSI_PLUS_DOMAIN ); ?>)
384
+ </div>
385
+ </li>
386
+ <li>
387
+ <input name="sfsi_plus_facebook_countsFrom" <?php echo ($option4['sfsi_plus_facebook_countsFrom']=='manual') ? 'checked="true"' : '' ;?> type="radio" value="manual" class="styled" />
388
+ <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
389
+ <input name="sfsi_plus_facebook_manualCounts" type="text" class="input" value="<?php echo ($option4['sfsi_plus_facebook_manualCounts']!='') ? $option4['sfsi_plus_facebook_manualCounts'] : '' ;?>" style="<?php echo ($option4['sfsi_plus_facebook_countsFrom']=='likes' || $option4['sfsi_plus_facebook_countsFrom']=='followers' || $option4['sfsi_plus_facebook_countsFrom']=='mypage') ? 'display:none;' : '' ;?>" />
390
+ </li>
391
+ </ul>
392
+ <?php if($option4['sfsi_plus_premium_count_box'] =='yes') { ?>
393
+ <div class="sfsi_plus_facebook_pagedeasc" style="<?php echo (isset($option4['sfsi_plus_facebook_countsFrom']) && $option4['sfsi_plus_facebook_countsFrom'] =='manual') ? 'display:none;' : '' ;?>">
394
+ <p class="sfsi_plus_shared_premium">
395
+ <b><?php _e( 'Note: ', SFSI_PLUS_DOMAIN ); ?></b><?php _e( 'This plugin uses one API shared by all users of this plugin. There is a limit (set by Facebook) how often this API can get the counts per day, so it may happen that it returns “0 counts” later in the day.', SFSI_PLUS_DOMAIN ); ?><br><br><?php _e( 'Therefore we implemented a solution as part of our Premium Plugin where you can easily set up your own API in a few steps, which will fix this problem.', SFSI_PLUS_DOMAIN ); ?><br><br><a class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" class="sfisi_plus_font_bold" style="cursor:pointer;border-bottom: 1px solid #12a252;color: #12a252 !important;" target="_blank">Go premium now</a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=facebook_counts&utm_medium=banner" class="sfsi_plus_font_inherit" style="color: #12a252 !important" target="_blank"> or learn more</a>
396
+ </p>
397
+ </div>
398
+ <?php } ?>
399
+ </div>
400
+ </div>
401
+ <!-- END FACEBOOK ICON COUNT SECTION-->
402
+
403
+ <!-- TWITTER ICON COUNT SECTION-->
404
+ <div class="sfsiplus_specify_counts sfsiplus_twitter_section">
405
+ <div class="radio_section">
406
+ <input name="sfsi_plus_twitter_countsDisplay" <?php echo ($option4['sfsi_plus_twitter_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
407
+ </div>
408
+ <div class="social_icon_like">
409
+ <ul class="like_icon">
410
+ <li>
411
+ <a title="Twitter">
412
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/twitter.png" alt="Twitter" />
413
+ <span><?php echo $counts['twitter_count']; ?></span>
414
+ </a>
415
+ </li>
416
+ </ul>
417
+ </div>
418
+ <div class="listing">
419
+ <ul>
420
+ <li>
421
+ <input name="sfsi_plus_twitter_countsFrom" <?php echo ($option4['sfsi_plus_twitter_countsFrom']=='source') ? 'checked="true"' : '' ;?> type="radio" value="source" class="styled" />
422
+ <?php _e( 'Retrieve the number of Twitter followers', SFSI_PLUS_DOMAIN ); ?>
423
+ </li>
424
+ <li class="SFSI_tglli">
425
+ <ul class="SFSI_lsngfrm">
426
+ <li class="tw_follow_options" style="<?php echo ($option4['sfsi_plus_twitter_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
427
+ <label>
428
+ <?php _e( 'Enter Consumer Key', SFSI_PLUS_DOMAIN ); ?>
429
+ </label>
430
+ <input name="sfsiplus_tw_consumer_key" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsiplus_tw_consumer_key']) && $option4['sfsiplus_tw_consumer_key']!='') ? $option4['sfsiplus_tw_consumer_key'] : '' ;?>" />
431
+ </li>
432
+ <li class="tw_follow_options" style="<?php echo ($option4['sfsi_plus_twitter_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
433
+ <label>
434
+ <?php _e( 'Enter Consumer Secret', SFSI_PLUS_DOMAIN ); ?>
435
+ </label>
436
+ <input name="sfsiplus_tw_consumer_secret" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsiplus_tw_consumer_secret']) && $option4['sfsiplus_tw_consumer_secret']!='') ? $option4['sfsiplus_tw_consumer_secret'] : '' ;?>" />
437
+ </li>
438
+ <li class="tw_follow_options" style="<?php echo ($option4['sfsi_plus_twitter_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
439
+ <label>
440
+ <?php _e( 'Enter Access Token', SFSI_PLUS_DOMAIN ); ?>
441
+ </label>
442
+ <input name="sfsiplus_tw_oauth_access_token" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsiplus_tw_oauth_access_token']) && $option4['sfsiplus_tw_oauth_access_token']!='') ? $option4['sfsiplus_tw_oauth_access_token'] : '' ;?>" />
443
+ </li>
444
+ <li class="tw_follow_options" style="<?php echo ($option4['sfsi_plus_twitter_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
445
+ <label>
446
+ <?php _e( 'Enter Access Token Secret', SFSI_PLUS_DOMAIN ); ?>
447
+ </label>
448
+ <input name="sfsiplus_tw_oauth_access_token_secret" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsiplus_tw_oauth_access_token_secret']) && $option4['sfsiplus_tw_oauth_access_token_secret']!='') ? $option4['sfsiplus_tw_oauth_access_token_secret'] : '' ;?>" />
449
+ </li>
450
+ </ul>
451
+ <ul class="SFSI_instructions">
452
+ <li class="tw_follow_options" style="<?php echo ($option4['sfsi_plus_twitter_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
453
+ <?php _e( 'Please make sure you have entered the Username for "Follow me on Twitter:" in twitter settings under question number 2.', SFSI_PLUS_DOMAIN ); ?>
454
+ </li>
455
+ <li class="tw_follow_options" style="<?php echo ($option4['sfsi_plus_twitter_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
456
+ <h3>
457
+ <?php _e( 'To get this information:', SFSI_PLUS_DOMAIN ); ?>
458
+ </h3>
459
+ </li>
460
+ <li class="tw_follow_options" style="<?php echo ($option4['sfsi_plus_twitter_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
461
+ 1: <?php _e( 'Go to', SFSI_PLUS_DOMAIN ); ?>
462
+ <a href="https://apps.twitter.com" target="_blank">
463
+ apps.twitter.com
464
+ </a>
465
+ </li>
466
+ <li class="tw_follow_options" style="<?php echo ($option4['sfsi_plus_twitter_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
467
+ 2: <?php _e( 'Click on "Create new app"', SFSI_PLUS_DOMAIN ); ?>
468
+ </li>
469
+ <li class="tw_follow_options" style="<?php echo ($option4['sfsi_plus_twitter_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
470
+ 3: <?php _e( 'Enter a random Name, Description and Website URL (including the "http://", e.g. http://dummysitename.com)', SFSI_PLUS_DOMAIN ); ?>
471
+ </li>
472
+ <li class="tw_follow_options" style="<?php echo ($option4['sfsi_plus_twitter_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
473
+ 4: <?php _e( 'Go to "Keys and Access Tokens" tab and click on "Generate Token" in the "Token actions" section at the bottom', SFSI_PLUS_DOMAIN ); ?>
474
+ </li>
475
+ <li class="tw_follow_options" style="<?php echo ($option4['sfsi_plus_twitter_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
476
+ 5: <?php _e('Then click on "Test OAuth" at the top right and you will see the 4 token key',SFSI_PLUS_DOMAIN ); ?>
477
+ </li>
478
+ </ul>
479
+ </li>
480
+ <li>
481
+ <input name="sfsi_plus_twitter_countsFrom" <?php echo ($option4['sfsi_plus_twitter_countsFrom']=='manual') ? 'checked="true"' : '' ;?> type="radio" value="manual" class="styled" />
482
+ <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
483
+ <input name="sfsi_plus_twitter_manualCounts" type="text" class="input" value="<?php echo ($option4['sfsi_plus_twitter_manualCounts']!='') ? $option4['sfsi_plus_twitter_manualCounts'] : '' ;?>" style="<?php echo ($option4['sfsi_plus_twitter_countsFrom']=='source') ? 'display:none;' : '' ;?>" />
484
+ </li>
485
+ </ul>
486
+ </div>
487
+ </div>
488
+ <!--END TWITTER ICON COUNT SECTION-->
489
+
490
+ <!-- LINKEDIN ICON COUNT SECTION-->
491
+ <div class="sfsiplus_specify_counts sfsiplus_linkedin_section">
492
+ <div class="radio_section">
493
+ <input name="sfsi_plus_linkedIn_countsDisplay" <?php echo ($option4['sfsi_plus_linkedIn_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
494
+ </div>
495
+ <div class="social_icon_like">
496
+ <ul class="like_icon">
497
+ <li>
498
+ <a title="Linked in">
499
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/linked_in.png" alt="Linked in" />
500
+ <span><?php echo $counts['linkedIn_count']; ?></span>
501
+ </a>
502
+ </li>
503
+ </ul>
504
+ </div>
505
+
506
+ <div class="listing">
507
+ <ul>
508
+ <?php /*?><li><input name="sfsi_plus_linkedIn_countsFrom" <?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='follower') ? 'checked="true"' : '' ;?> type="radio" value="follower" class="styled" />Retrieve the number of Linkedin followers</li>
509
+ <li class="SFSI_tglli">
510
+ <ul class="SFSI_lsngfrm">
511
+ <li class="linkedIn_options" style="<?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='manual') ? 'display:none;' : '' ;?>"><label>Enter Company Name </label><input name="sfsi_plus_ln_company" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsi_plus_ln_company']) && $option4['sfsi_plus_ln_company']!='') ? $option4['sfsi_plus_ln_company'] : '' ;?>" /> </li>
512
+ <li class="linkedIn_options" style="<?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='manual') ? 'display:none;' : '' ;?>"><label>Enter API Key </label><input name="sfsi_plus_ln_api_key" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsi_plus_ln_api_key']) && $option4['sfsi_plus_ln_api_key']!='') ? $option4['sfsi_plus_ln_api_key'] : '' ;?>" /> </li>
513
+ <li class="linkedIn_options" style="<?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='manual') ? 'display:none;' : '' ;?>"><label>Enter Secret Key </label><input name="sfsi_plus_ln_secret_key" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsi_plus_ln_secret_key']) && $option4['sfsi_plus_ln_secret_key']!='') ? $option4['sfsi_plus_ln_secret_key'] : '' ;?>" /> </li>
514
+ <li class="linkedIn_options" style="<?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='manual') ? 'display:none;' : '' ;?>" ><label>Enter OAuth User Token</label> <input name="sfsi_plus_ln_oAuth_user_token" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsi_plus_ln_oAuth_user_token']) && $option4['sfsi_plus_ln_oAuth_user_token']!='') ? $option4['sfsi_plus_ln_oAuth_user_token'] : '' ;?>" /> </li>
515
+ </ul>
516
+ <ul class="SFSI_instructions">
517
+ <li class="linkedIn_options" style="<?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='manual') ? 'display:none;' : '' ;?>"><h3>To get the API key for LinkedIn:</h3></li>
518
+ <li class="linkedIn_options" style="<?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='manual') ? 'display:none;' : '' ;?>">1: Go to <a href="https://developer.linkedin.com/" target="_blank">www.developer.linkedin.com</a>, mouse over “Support” and select “API keys”</li>
519
+ <li class="linkedIn_options" style="<?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='manual') ? 'display:none;' : '' ;?>">2: Then login with your Linkedin account and create a new application</li>
520
+ <li class="linkedIn_options" style="<?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='manual') ? 'display:none;' : '' ;?>">3: Fill the required boxes in the form with random data, accept the Terms and add the application</li>
521
+ <li class="linkedIn_options" style="<?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='manual') ? 'display:none;' : '' ;?>">4: In the next step you will see the required API information</li>
522
+ <li class="linkedIn_options" style="<?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='manual') ? 'display:none;' : '' ;?>">When you enter this key into the plugin for the first time, it may take some time until the correct follower count is displayed on your website.</li>
523
+ </ul>
524
+ </li><?php */?>
525
+ <li>
526
+ <input name="sfsi_plus_linkedIn_countsFrom" <?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='manual' || $option4['sfsi_plus_linkedIn_countsFrom']=='follower') ? 'checked="true"' : '' ;?> type="radio" value="manual" class="styled" />
527
+ <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
528
+ <input name="sfsi_plus_linkedIn_manualCounts" type="text" class="input" value="<?php echo ($option4['sfsi_plus_linkedIn_manualCounts']!='') ? $option4['sfsi_plus_linkedIn_manualCounts'] : '' ;?>" style="<?php echo ($option4['sfsi_plus_linkedIn_countsFrom']=='follower') ? 'display:none;' : '' ;?>" />
529
+ </li>
530
+ </ul>
531
+ </div>
532
+ </div>
533
+ <!-- END LINKEDIN ICON COUNT SECTION-->
534
+
535
+ <!-- YOUTUBE ICON COUNT SECTION-->
536
+ <div class="sfsiplus_specify_counts sfsiplus_youtube_section">
537
+ <div class="radio_section">
538
+ <input name="sfsi_plus_youtube_countsDisplay" <?php echo ($option4['sfsi_plus_youtube_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
539
+ </div>
540
+ <div class="social_icon_like">
541
+ <ul class="like_icon">
542
+ <li>
543
+ <a title="YouTube">
544
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/youtube.png" alt="YouTube" />
545
+ <span><?php echo $counts['youtube_count']; ?></span>
546
+ </a>
547
+ </li>
548
+ </ul>
549
+ </div>
550
+ <div class="listing">
551
+ <ul>
552
+ <li>
553
+ <input name="sfsi_plus_youtube_countsFrom" type="radio" value="subscriber" <?php echo ($option4['sfsi_plus_youtube_countsFrom']=='subscriber') ? 'checked="true"' : '' ;?> class="styled" />
554
+ <?php _e( 'Retrieve the number of Subscribers', SFSI_PLUS_DOMAIN ); ?>
555
+ </li>
556
+ <li class="youtube_options" style="<?php echo ($option4['sfsi_plus_youtube_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
557
+ <div>
558
+ <label>
559
+ <?php _e( 'Enter Youtube User name', SFSI_PLUS_DOMAIN ); ?>
560
+ </label>
561
+ <input name="sfsi_plus_youtube_user" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsi_plus_youtube_user']) && $option4['sfsi_plus_youtube_user']!='') ? $option4['sfsi_plus_youtube_user'] : '' ;?>"/>
562
+ </div>
563
+
564
+ <div>
565
+ <label>
566
+ <?php _e( 'Enter Youtube Channel id', SFSI_PLUS_DOMAIN ); ?>
567
+ </label>
568
+ <input name="sfsi_plus_youtube_channelId" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsi_plus_youtube_channelId']) && $option4['sfsi_plus_youtube_channelId']!='') ? $option4['sfsi_plus_youtube_channelId'] : '' ;?>"/>
569
+ </div>
570
+ </li>
571
+ <li>
572
+ <input name="sfsi_plus_youtube_countsFrom" type="radio" value="manual" <?php echo ($option4['sfsi_plus_youtube_countsFrom']=='manual') ? 'checked="true"' : '' ;?> class="styled" />
573
+ <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
574
+ <input name="sfsi_plus_youtube_manualCounts" type="text" class="input" value="<?php echo ($option4['sfsi_plus_youtube_manualCounts']!='') ? $option4['sfsi_plus_youtube_manualCounts'] : '' ;?>" style="<?php echo ($option4['sfsi_plus_youtube_countsFrom']=='subscriber') ? 'display:none;' : '' ;?>" />
575
+ </li>
576
+ </ul>
577
+ </div>
578
+ </div>
579
+ <!-- END YOUTUBE ICON COUNT SECTION-->
580
+
581
+ <!-- PINIT ICON COUNT SECTION-->
582
+ <div class="sfsiplus_specify_counts sfsiplus_pinterest_section">
583
+ <div class="radio_section">
584
+ <input name="sfsi_plus_pinterest_countsDisplay" <?php echo ($option4['sfsi_plus_pinterest_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
585
+ </div>
586
+ <div class="social_icon_like">
587
+ <ul class="like_icon">
588
+ <li>
589
+ <a title="Pinterest">
590
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/pinterest.png" alt="Pinterest" />
591
+ <span><?php echo $counts['pin_count']; ?></span>
592
+ </a>
593
+ </li>
594
+ </ul>
595
+ </div>
596
+ <div class="listing">
597
+ <ul>
598
+ <li>
599
+ <input name="sfsi_plus_pinterest_countsFrom" <?php echo ($option4['sfsi_plus_pinterest_countsFrom']=='pins') ? 'checked="true"' : '' ;?> type="radio" value="pins" class="styled" />
600
+ <?php _e( 'Retrieve the number of Pins', SFSI_PLUS_DOMAIN ); ?>
601
+ </li>
602
+ <li>
603
+ <input name="sfsi_plus_pinterest_countsFrom" <?php echo ($option4['sfsi_plus_pinterest_countsFrom']=='manual') ? 'checked="true"' : '' ;?> type="radio" value="manual" class="styled" />
604
+ <label class="high_prb">
605
+ <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
606
+ </label>
607
+ <input name="sfsi_plus_pinterest_manualCounts" type="text" class="input" value="<?php echo ($option4['sfsi_plus_pinterest_manualCounts']!='') ? $option4['sfsi_plus_pinterest_manualCounts'] : '' ;?>" style="<?php echo ($option4['sfsi_plus_pinterest_countsFrom']=='pins') ? 'display:none;' : '' ;?>" />
608
+ </li>
609
+ </ul>
610
+ </div>
611
+
612
+ <div class="sfsi_plus_new_prmium_follw">
613
+ <p>
614
+ <b>New: </b>In the Premium Plugin you can also automatically show the number of PINs from your Pinterest account, or of a specific board, or the number of your Pinterest followers. <a style="cursor:pointer" class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" class="sfisi_plus_font_bold" target="_blank"><?php _e( 'Go premium now', SFSI_PLUS_DOMAIN); ?></a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=more_pinterest_counts&utm_medium=banner" class="sfsi_plus_font_inherit" target="_blank"><?php _e( ' or learn more', SFSI_PLUS_DOMAIN); ?></a>
615
+ </p>
616
+ </div>
617
+ </div>
618
+ <!-- END PINIT ICON COUNT SECTION-->
619
+
620
+ <!-- INSTAGRAM ICON COUNT SECTION-->
621
+ <div class="sfsiplus_specify_counts sfsiplus_instagram_section">
622
+ <div class="radio_section">
623
+ <input name="sfsi_plus_instagram_countsDisplay" <?php echo ($option4['sfsi_plus_instagram_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
624
+ </div>
625
+ <div class="social_icon_like">
626
+ <ul class="like_icon">
627
+ <li>
628
+ <a title="Instagram">
629
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/instagram.png" alt="instagram" />
630
+ <span><?php echo $counts['instagram_count']; ?></span>
631
+ </a>
632
+ </li>
633
+ </ul>
634
+ </div>
635
+ <div class="listing">
636
+ <ul>
637
+ <li>
638
+ <input name="sfsi_plus_instagram_countsFrom" <?php echo ($option4['sfsi_plus_instagram_countsFrom']=='followers') ? 'checked="true"' : '' ;?> type="radio" value="followers" class="styled" />
639
+ <?php _e( 'Retrieve the number of Instagram followers', SFSI_PLUS_DOMAIN ); ?>
640
+ </li>
641
+ <li class="instagram_userLi" style="<?php echo ($option4['sfsi_plus_instagram_countsFrom']=='manual') ? 'display:none;' : '' ;?>">
642
+ <div class='sfsi_instagram_follower'>
643
+ <div>
644
+ <label>
645
+ <?php _e( 'Enter Instagram User name', SFSI_PLUS_DOMAIN ); ?>
646
+ </label>
647
+ <input name="sfsi_plus_instagram_User" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsi_plus_instagram_User']) && $option4['sfsi_plus_instagram_User']!='') ? $option4['sfsi_plus_instagram_User'] : '' ;?>" />
648
+ </div>
649
+ <div>
650
+ <label>
651
+ <?php _e( 'Enter Instagram Client Id', SFSI_PLUS_DOMAIN ); ?>
652
+ </label>
653
+ <input name="sfsi_plus_instagram_clientid" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsi_plus_instagram_clientid']))? $option4['sfsi_plus_instagram_clientid']:'';?>"/>
654
+ </div>
655
+ <div>
656
+ <label>
657
+ <?php _e( 'Enter Instagram Redirect Url', SFSI_PLUS_DOMAIN ); ?>
658
+ </label>
659
+ <input name="sfsi_plus_instagram_appurl" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsi_plus_instagram_appurl'])) ? $option4['sfsi_plus_instagram_appurl'] : '';?>"/>
660
+ </div>
661
+ <div class="sfsi_plus_tokenGenerateButton">
662
+ <p>For generate your app token you need to enter your "Client Id" and "Redirect Url".</p>
663
+ <a href="javascript:">
664
+ <?php _e("Generate Token", SFSI_PLUS_DOMAIN);?>
665
+ </a>
666
+ </div>
667
+ <div>
668
+ <label>
669
+ <?php _e( 'Enter Instagram Token', SFSI_PLUS_DOMAIN ); ?>
670
+ </label>
671
+ <input name="sfsi_plus_instagram_token" class="input_facebook" type="text" value="<?php echo (isset($option4['sfsi_plus_instagram_token'])) ? $option4['sfsi_plus_instagram_token'] : '';?>"/>
672
+ </div>
673
+ </div>
674
+ <div class="sfsi_plus_instagramInstruction">
675
+ <p>To complete the process please follow these steps:</p>
676
+ <ul>
677
+ <li>Go to <a href="https://www.instagram.com/developer" target="_blank">https://www.instagram.com/developer</a></li>
678
+ <li><?php _e('Login and then click on “Register Your Application” to get to the “Manage Clients” section. On there click on the “Register a new client” button', SFSI_PLUS_DOMAIN ); ?>.</li>
679
+ <li><?php _e('Fill out the form and make sure that the “Redirect url” is valid and uncheck the “Disable Implicit oAuth” under the security tab', SFSI_PLUS_DOMAIN ); ?>.</li>
680
+ <li><?php _e('Then click on “Register” button', SFSI_PLUS_DOMAIN ); ?>.</li>
681
+ <li><?php _e('Copy the “Client id” and “Redirect url” you entered into the plugin. Also enter your Instagram User name. After that click on the “Generate token” button', SFSI_PLUS_DOMAIN ); ?>.</li>
682
+ <li><?php _e('Authorize your app to access your account info by clicking the “Authorize” button', SFSI_PLUS_DOMAIN ); ?>.</li>
683
+ <li><?php _e('Now you will be redirected to the redirect url (which you entered during app creation) and find your access token at the end of this url', SFSI_PLUS_DOMAIN ); ?> (For example: http://your-website.com/#access_token=< your access token >)</li>
684
+ <li><?php _e('Copy the access token, paste it into the plugin and click on “Save”', SFSI_PLUS_DOMAIN ); ?>.</li>
685
+ </ul>
686
+ </div>
687
+ </li>
688
+ <li>
689
+ <input name="sfsi_plus_instagram_countsFrom" <?php echo ($option4['sfsi_plus_instagram_countsFrom']=='manual') ? 'checked="true"' : '' ;?> type="radio" value="manual" class="styled" />
690
+ <label class="high_prb">
691
+ <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
692
+ </label>
693
+ <input name="sfsi_plus_instagram_manualCounts" type="text" class="input" value="<?php echo ($option4['sfsi_plus_instagram_manualCounts']!='') ? $option4['sfsi_plus_instagram_manualCounts'] : '' ;?>" style="<?php echo ($option4['sfsi_plus_instagram_countsFrom']=='followers') ? 'display:none;' : '' ;?>" />
694
+ </li>
695
+ </ul>
696
+ </div>
697
+ </div>
698
+ <!-- END INSTAGRAM ICON COUNT SECTION-->
699
+
700
+ <!-- HOUZZ ICON COUNT SECTION-->
701
+ <div class="sfsiplus_specify_counts sfsiplus_houzz_section">
702
+ <div class="radio_section">
703
+ <input name="sfsi_plus_houzz_countsDisplay" <?php echo (isset($option4['sfsi_plus_houzz_countsDisplay']) && $option4['sfsi_plus_houzz_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
704
+ </div>
705
+ <div class="social_icon_like">
706
+ <ul class="like_icon">
707
+ <li>
708
+ <a title="Houzz">
709
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/houzz.png" alt="Houzz" />
710
+ <span><?php echo isset($counts['houzz_count'])?$counts['houzz_count']:0; ?></span>
711
+ </a>
712
+ </li>
713
+ </ul>
714
+ </div>
715
+ <div class="listing">
716
+ <ul>
717
+ <li>
718
+ <input name="sfsi_plus_houzz_countsFrom" checked="true" type="radio" value="manual" class="styled" />
719
+ <label class="high_prb">
720
+ <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
721
+ </label>
722
+ <input name="sfsi_plus_houzz_manualCounts" type="text" class="input" value="<?php echo (isset($option4['sfsi_plus_houzz_manualCounts']) && $option4['sfsi_plus_houzz_manualCounts']!='') ? $option4['sfsi_plus_houzz_manualCounts'] : '20' ;?>" />
723
+ </li>
724
+ </ul>
725
+ </div>
726
+ </div>
727
+ <!-- END HOUZZ ICON COUNT SECTION-->
728
+
729
+ <!-- TELEGRAM ICON COUNT SECTION-->
730
+ <div class="sfsiplus_specify_counts sfsiplus_telegram_section">
731
+ <div class="radio_section">
732
+ <input name="sfsi_plus_telegram_countsDisplay" <?php echo (isset($option4['sfsi_plus_telegram_countsDisplay']) && $option4['sfsi_plus_telegram_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
733
+ </div>
734
+ <div class="social_icon_like">
735
+ <ul class="like_icon">
736
+ <li>
737
+ <a title="Telegram">
738
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/telegram.png" alt="Telegram" />
739
+ <span><?php echo isset($counts['telegram_count'])?$counts['telegram_count']:0; ?></span>
740
+ </a>
741
+ </li>
742
+ </ul>
743
+ </div>
744
+ <div class="listing">
745
+ <ul>
746
+ <li>
747
+ <input name="sfsi_plus_telegram_countsFrom" checked="true" type="radio" value="manual" class="styled" />
748
+ <label class="high_prb">
749
+ <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
750
+ </label>
751
+ <input name="sfsi_plus_telegram_manualCounts" type="text" class="input" value="<?php echo (isset($option4['sfsi_plus_telegram_manualCounts']) && $option4['sfsi_plus_telegram_manualCounts']!='') ? $option4['sfsi_plus_telegram_manualCounts'] : '20' ;?>" />
752
+ </li>
753
+ </ul>
754
+ </div>
755
+ </div>
756
+ <!-- END TELEGRAM ICON COUNT SECTION-->
757
+
758
+ <!-- VK ICON COUNT SECTION-->
759
+ <div class="sfsiplus_specify_counts sfsiplus_vk_section">
760
+ <div class="radio_section">
761
+ <input name="sfsi_plus_vk_countsDisplay" <?php echo (isset($option4['sfsi_plus_vk_countsDisplay']) && $option4['sfsi_plus_vk_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
762
+ </div>
763
+ <div class="social_icon_like">
764
+ <ul class="like_icon">
765
+ <li>
766
+ <a title="VK">
767
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/vk.png" alt="VK" />
768
+ <span><?php echo isset($counts['vk_count'])?$counts['vk_count']:0; ?></span>
769
+ </a>
770
+ </li>
771
+ </ul>
772
+ </div>
773
+ <div class="listing">
774
+ <ul>
775
+ <li>
776
+ <input name="sfsi_plus_vk_countsFrom" checked="true" type="radio" value="manual" class="styled" />
777
+ <label class="high_prb">
778
+ <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
779
+ </label>
780
+ <input name="sfsi_plus_vk_manualCounts" type="text" class="input" value="<?php echo (isset($option4['sfsi_plus_vk_manualCounts']) && $option4['sfsi_plus_vk_manualCounts']!='') ? $option4['sfsi_plus_vk_manualCounts'] : '20' ;?>" />
781
+ </li>
782
+ </ul>
783
+ </div>
784
+ </div>
785
+ <!-- END VK ICON COUNT SECTION-->
786
+
787
+ <!-- OK ICON COUNT SECTION-->
788
+ <div class="sfsiplus_specify_counts sfsiplus_ok_section">
789
+ <div class="radio_section">
790
+ <input name="sfsi_plus_ok_countsDisplay" <?php echo (isset($option4['sfsi_plus_ok_countsDisplay']) && $option4['sfsi_plus_ok_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
791
+ </div>
792
+ <div class="social_icon_like">
793
+ <ul class="like_icon">
794
+ <li>
795
+ <a title="OK">
796
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/ok.png" alt="OK" />
797
+ <span><?php echo isset($counts['ok_count'])?$counts['ok_count']:0; ?></span>
798
+ </a>
799
+ </li>
800
+ </ul>
801
+ </div>
802
+ <div class="listing">
803
+ <ul>
804
+ <li>
805
+ <input name="sfsi_plus_ok_countsFrom" checked="true" type="radio" value="manual" class="styled" />
806
+ <label class="high_prb">
807
+ <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
808
+ </label>
809
+ <input name="sfsi_plus_ok_manualCounts" type="text" class="input" value="<?php echo (isset($option4['sfsi_plus_ok_manualCounts']) && $option4['sfsi_plus_ok_manualCounts']!='') ? $option4['sfsi_plus_ok_manualCounts'] : '20' ;?>" />
810
+ </li>
811
+ </ul>
812
+ </div>
813
+ </div>
814
+ <!-- END OK ICON COUNT SECTION-->
815
+
816
+ <!-- WEIBO ICON COUNT SECTION-->
817
+ <div class="sfsiplus_specify_counts sfsiplus_weibo_section">
818
+ <div class="radio_section">
819
+ <input name="sfsi_plus_weibo_countsDisplay" <?php echo (isset($option4['sfsi_plus_weibo_countsDisplay']) && $option4['sfsi_plus_weibo_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
820
+ </div>
821
+ <div class="social_icon_like">
822
+ <ul class="like_icon">
823
+ <li>
824
+ <a title="Weibo">
825
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/weibo.png" alt="Weibo" />
826
+ <span><?php echo isset($counts['weibo_count'])?$counts['weibo_count']:0; ?></span>
827
+ </a>
828
+ </li>
829
+ </ul>
830
+ </div>
831
+ <div class="listing">
832
+ <ul>
833
+ <li>
834
+ <input name="sfsi_plus_weibo_countsFrom" checked="true" type="radio" value="manual" class="styled" />
835
+ <label class="high_prb">
836
+ <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
837
+ </label>
838
+ <input name="sfsi_plus_weibo_manualCounts" type="text" class="input" value="<?php echo (isset($option4['sfsi_plus_weibo_manualCounts']) && $option4['sfsi_plus_weibo_manualCounts']!='') ? $option4['sfsi_plus_weibo_manualCounts'] : '20' ;?>" />
839
+ </li>
840
+ </ul>
841
+ </div>
842
+ </div>
843
+ <!-- END WEIBO ICON COUNT SECTION-->
844
+
845
+ <!-- WECHAT ICON COUNT SECTION-->
846
+ <div class="sfsiplus_specify_counts sfsiplus_wechat_section">
847
+ <div class="radio_section">
848
+ <input name="sfsi_plus_wechat_countsDisplay" <?php echo (isset($option4['sfsi_plus_wechat_countsDisplay']) && $option4['sfsi_plus_wechat_countsDisplay']=='yes') ? 'checked="true"' : '' ;?> type="checkbox" value="yes" class="styled" />
849
+ </div>
850
+ <div class="social_icon_like">
851
+ <ul class="like_icon">
852
+ <li>
853
+ <a title="Wechat">
854
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/wechat.png" alt="Wechat" />
855
+ <span><?php echo isset($counts['wechat_count'])?$counts['wechat_count']:0; ?></span>
856
+ </a>
857
+ </li>
858
+ </ul>
859
+ </div>
860
+ <div class="listing">
861
+ <ul>
862
+ <li>
863
+ <input name="sfsi_plus_wechat_countsFrom" checked="true" type="radio" value="manual" class="styled" />
864
+ <label class="high_prb">
865
+ <?php _e( 'Enter the figure manually', SFSI_PLUS_DOMAIN ); ?>
866
+ </label>
867
+ <input name="sfsi_plus_wechat_manualCounts" type="text" class="input" value="<?php echo (isset($option4['sfsi_plus_wechat_manualCounts']) && $option4['sfsi_plus_wechat_manualCounts']!='') ? $option4['sfsi_plus_wechat_manualCounts'] : '20' ;?>" />
868
+ </li>
869
+ </ul>
870
+ </div>
871
+ </div>
872
+ <!-- END WECHAT ICON COUNT SECTION-->
873
+
874
+
875
+ </div>
876
+ <!-- END show/hide counts for all icons section -->
877
+
878
+ <?php sfsi_plus_ask_for_help(4); ?>
879
+
880
+ <!-- SAVE BUTTON SECTION -->
881
+ <div class="save_button">
882
+ <img src="<?php echo SFSI_PLUS_PLUGURL ?>images/ajax-loader.gif" class="loader-img" />
883
+ <?php $nonce = wp_create_nonce("update_plus_step4"); ?>
884
+ <a href="javascript:;" id="sfsi_plus_save4" title="Save" data-nonce="<?php echo $nonce;?>">
885
+ <?php _e( 'Save', SFSI_PLUS_DOMAIN ); ?>
886
+ </a>
887
+ </div>
888
+ <!-- END SAVE BUTTON SECTION -->
889
+ <a class="sfsiColbtn closeSec" href="javascript:;">
890
+ <?php _e( 'Collapse area', SFSI_PLUS_DOMAIN ); ?>
891
+ </a>
892
+ <label class="closeSec"></label>
893
+ <!-- ERROR AND SUCCESS MESSAGE AREA-->
894
+ <p class="red_txt errorMsg" style="display:none"> </p>
895
+ <p class="green_txt sucMsg" style="display:none"> </p>
896
+ <div class="clear"></div>
897
+ </div>
898
+ <!-- END Section 4 "Do you want to display "counts" next to your icons?" -->
views/sfsi_option_view5.php CHANGED
@@ -1,1139 +1,1139 @@
1
- <?php
2
-
3
- /* unserialize all saved option for section 5 options */
4
- $icons = (isset($option1['sfsi_custom_files']) && ""!==$option1['sfsi_custom_files']) ? unserialize($option1['sfsi_custom_files']) : array() ;
5
- $option3 = unserialize(get_option('sfsi_plus_section3_options',false));
6
-
7
- $option5 = unserialize(get_option('sfsi_plus_section5_options',false));
8
-
9
- $custom_icons_order = unserialize($option5['sfsi_plus_CustomIcons_order']);
10
- $icons_order = array(
11
- $option5['sfsi_plus_rssIcon_order'] =>'rss',
12
- $option5['sfsi_plus_emailIcon_order'] =>'email',
13
- $option5['sfsi_plus_facebookIcon_order'] =>'facebook',
14
- $option5['sfsi_plus_twitterIcon_order'] =>'twitter',
15
- $option5['sfsi_plus_youtubeIcon_order'] =>'youtube',
16
- $option5['sfsi_plus_linkedinIcon_order'] =>'linkedin',
17
- $option5['sfsi_plus_pinterestIcon_order'] =>'pinterest',
18
- $option5['sfsi_plus_instagramIcon_order'] =>'instagram',
19
-
20
- (isset($option5['sfsi_plus_houzzIcon_order']))
21
- ? $option5['sfsi_plus_houzzIcon_order']
22
- : 11 => 'houzz',
23
- (isset($option5['sfsi_plus_okIcon_order']))
24
- ? $option5['sfsi_plus_okIcon_order']
25
- : 22 => 'ok',
26
- (isset($option5['sfsi_plus_telegramIcon_order']))
27
- ? $option5['sfsi_plus_telegramIcon_order']
28
- : 23 => 'telegram',
29
- (isset($option5['sfsi_plus_vkIcon_order']))
30
- ? $option5['sfsi_plus_vkIcon_order']
31
- : 24 => 'vk',
32
- (isset($option5['sfsi_plus_wechatIcon_order']))
33
- ? $option5['sfsi_plus_wechatIcon_order']
34
- : 26 => 'wechat',
35
- (isset($option5['sfsi_plus_weiboIcon_order']))
36
- ? $option5['sfsi_plus_weiboIcon_order']
37
- : 25 => 'weibo'
38
- );
39
-
40
- /*
41
- * Sanitize, escape and validate values
42
- */
43
- $option5['sfsi_plus_icons_size'] = (isset($option5['sfsi_plus_icons_size']))
44
- ? intval($option5['sfsi_plus_icons_size'])
45
- : '';
46
- $option5['sfsi_plus_icons_spacing'] = (isset($option5['sfsi_plus_icons_spacing']))
47
- ? intval($option5['sfsi_plus_icons_spacing'])
48
- : '';
49
- $option5['sfsi_plus_icons_Alignment'] = (isset($option5['sfsi_plus_icons_Alignment']))
50
- ? sanitize_text_field($option5['sfsi_plus_icons_Alignment'])
51
- : '';
52
- $option5['sfsi_plus_icons_perRow'] = (isset($option5['sfsi_plus_icons_perRow']))
53
- ? intval($option5['sfsi_plus_icons_perRow'])
54
- : '';
55
- $option5['sfsi_plus_follow_icons_language'] = (isset($option5['sfsi_plus_follow_icons_language']))
56
- ? sanitize_text_field($option5['sfsi_plus_follow_icons_language'])
57
- : '';
58
- $option5['sfsi_plus_facebook_icons_language']= (isset($option5['sfsi_plus_facebook_icons_language']))
59
- ? sanitize_text_field($option5['sfsi_plus_facebook_icons_language'])
60
- : '';
61
- $option5['sfsi_plus_twitter_icons_language']= (isset($option5['sfsi_plus_twitter_icons_language']))
62
- ? sanitize_text_field($option5['sfsi_plus_twitter_icons_language'])
63
- : '';
64
- $option5['sfsi_plus_icons_ClickPageOpen'] = (isset($option5['sfsi_plus_icons_ClickPageOpen']))
65
- ? sanitize_text_field($option5['sfsi_plus_icons_ClickPageOpen'])
66
- : '';
67
- $option5['sfsi_plus_disable_floaticons'] = (isset($option5['sfsi_plus_disable_floaticons']))
68
- ? sanitize_text_field($option5['sfsi_plus_disable_floaticons'])
69
- : '';
70
- $option5['sfsi_plus_icons_stick'] = (isset($option5['sfsi_plus_icons_stick']))
71
- ? sanitize_text_field($option5['sfsi_plus_icons_stick'])
72
- : '';
73
-
74
- $option5['sfsi_plus_rss_MouseOverText'] = (isset($option5['sfsi_plus_rss_MouseOverText']))
75
- ? sanitize_text_field($option5['sfsi_plus_rss_MouseOverText'])
76
- : '';
77
- $option5['sfsi_plus_email_MouseOverText'] = (isset($option5['sfsi_plus_email_MouseOverText']))
78
- ? sanitize_text_field($option5['sfsi_plus_email_MouseOverText'])
79
- : '';
80
- $option5['sfsi_plus_twitter_MouseOverText'] = (isset($option5['sfsi_plus_twitter_MouseOverText']))
81
- ? sanitize_text_field($option5['sfsi_plus_twitter_MouseOverText'])
82
- : '';
83
- $option5['sfsi_plus_facebook_MouseOverText']= (isset($option5['sfsi_plus_facebook_MouseOverText']))
84
- ? sanitize_text_field($option5['sfsi_plus_facebook_MouseOverText'])
85
- : '';
86
- $option5['sfsi_plus_linkedIn_MouseOverText']= (isset($option5['sfsi_plus_linkedIn_MouseOverText']))
87
- ? sanitize_text_field($option5['sfsi_plus_linkedIn_MouseOverText'])
88
- : '';
89
- $option5['sfsi_plus_pinterest_MouseOverText']= (isset($option5['sfsi_plus_pinterest_MouseOverText']))
90
- ? sanitize_text_field($option5['sfsi_plus_pinterest_MouseOverText'])
91
- : '';
92
- $option5['sfsi_plus_youtube_MouseOverText'] = (isset($option5['sfsi_plus_youtube_MouseOverText']))
93
- ? sanitize_text_field($option5['sfsi_plus_youtube_MouseOverText'])
94
- : '';
95
- $option5['sfsi_plus_instagram_MouseOverText']= (isset($option5['sfsi_plus_instagram_MouseOverText']))
96
- ? sanitize_text_field($option5['sfsi_plus_instagram_MouseOverText'])
97
- : '';
98
- //MZ CODE START
99
- $option5['sfsi_plus_telegram_MouseOverText']= (isset($option5['sfsi_plus_telegram_MouseOverText']))
100
- ? sanitize_text_field($option5['sfsi_plus_telegram_MouseOverText'])
101
- : '';
102
- $option5['sfsi_plus_vk_MouseOverText']= (isset($option5['sfsi_plus_vk_MouseOverText']))
103
- ? sanitize_text_field($option5['sfsi_plus_vk_MouseOverText'])
104
- : '';
105
- $option5['sfsi_plus_ok_MouseOverText']= (isset($option5['sfsi_plus_ok_MouseOverText']))
106
- ? sanitize_text_field($option5['sfsi_plus_ok_MouseOverText'])
107
- : '';
108
- $option5['sfsi_plus_weibo_MouseOverText']= (isset($option5['sfsi_plus_weibo_MouseOverText']))
109
- ? sanitize_text_field($option5['sfsi_plus_weibo_MouseOverText'])
110
- : '';
111
- $option5['sfsi_plus_wechat_MouseOverText']= (isset($option5['sfsi_plus_wechat_MouseOverText']))
112
- ? sanitize_text_field($option5['sfsi_plus_wechat_MouseOverText'])
113
- : '';
114
-
115
- //MZ CODE END
116
- $option5['sfsi_plus_houzz_MouseOverText'] = (isset($option5['sfsi_plus_houzz_MouseOverText']))
117
- ? sanitize_text_field($option5['sfsi_plus_houzz_MouseOverText'])
118
- : '';
119
- $option5['sfsi_plus_premium_size_box'] = (isset($option5['sfsi_plus_premium_size_box']))
120
- ? sanitize_text_field($option5['sfsi_plus_premium_size_box'])
121
- : 'yes';
122
-
123
- $sfsi_icons_suppress_errors = (isset($option5['sfsi_pplus_icons_suppress_errors']))
124
- ? sanitize_text_field($option5['sfsi_pplus_icons_suppress_errors'])
125
- : 'no';
126
-
127
- $visit_iconsUrl = SFSI_PLUS_PLUGURL."images/visit_icons/";
128
- if(!is_array($custom_icons_order)){
129
- $custom_icons_order = array();
130
- }
131
-
132
- foreach($icons as $index=>$icon){
133
- //find icon;
134
- if(false===array_search($index, array_column($custom_icons_order, 'ele'))){
135
- array_push($custom_icons_order,array('order'=>max(array_keys($icons_order))+count($custom_icons_order),'ele'=>$index));
136
- }
137
- }
138
- if(is_array($custom_icons_order) )
139
- {
140
- foreach($custom_icons_order as $data)
141
- {
142
- $icons_order[$data['order']] = $data;
143
- }
144
- }
145
-
146
- ksort($icons_order);
147
- // var_dump($icons_order,$custom_icons_order);die();
148
-
149
- if(isset($option5['sfsi_plus_disable_viewport']))
150
- {
151
- $sfsi_plus_disable_viewport = $option5['sfsi_plus_disable_viewport'];
152
- }
153
- else
154
- {
155
- $sfsi_plus_disable_viewport = 'no';
156
- }
157
-
158
- function selectoption($name, $follow, $visitme)
159
- {
160
- $visit_iconsUrl = SFSI_PLUS_PLUGURL."images/visit_icons/";
161
- if($name == "sfsi_plus_follow_icons_language")
162
- {
163
- $visit_icon = $visit_iconsUrl."Follow";
164
- }
165
- elseif($name == "sfsi_plus_facebook_icons_language")
166
- {
167
- $visit_icon = $visit_iconsUrl."Visit_us_fb";
168
- }
169
- elseif($name == "sfsi_plus_twitter_icons_language")
170
- {
171
- $visit_icon = $visit_iconsUrl."Visit_us_twitter";
172
- }
173
- $option5 = unserialize(get_option('sfsi_plus_section5_options',false));
174
-
175
- ?>
176
- <select name="<?php echo $name; ?>" id="<?php echo $name; ?>" data-iconUrl="<?php echo $visit_icon; ?>" class="<?php echo $name; ?>-preview lanOnchange" data-nonce="<?php echo wp_create_nonce('plus_getIconPreview');?>" >
177
- <option value="<?php echo $follow; ?>_ar" <?php echo ($option5[$name]== $follow.'_ar') ? 'selected="selected"' : '' ; ?>>
178
- العربية<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
179
- </option>
180
- <option value="<?php echo $visitme; ?>_ar" <?php echo ($option5[$name]== $visitme.'_ar') ? 'selected="selected"' : '' ; ?>>
181
- العربية<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
182
- </option>
183
-
184
- <option value="<?php echo $follow; ?>_bg_BG" <?php echo ($option5[$name]== $follow.'_bg_BG') ? 'selected="selected"' : '' ; ?>>
185
- Български<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
186
- </option>
187
- <option value="<?php echo $visitme; ?>_bg_BG" <?php echo ($option5[$name]== $visitme.'_bg_BG') ? 'selected="selected"' : '' ; ?>>
188
- Български<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
189
- </option>
190
-
191
- <option value="<?php echo $follow; ?>_zh_CN" <?php echo ($option5[$name]== $follow.'_zh_CN') ? 'selected="selected"' : '' ; ?>>
192
- 简体中文<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
193
- </option>
194
- <option value="<?php echo $visitme; ?>_zh_CN" <?php echo ($option5[$name]== $visitme.'_zh_CN') ? 'selected="selected"' : '' ; ?>>
195
- 简体中文<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
196
- </option>
197
-
198
- <option value="<?php echo $follow; ?>_cs_CZ" <?php echo ($option5[$name]== $follow.'_cs_CZ') ? 'selected="selected"' : '' ; ?>>
199
- Čeština‎<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
200
- </option>
201
- <option value="<?php echo $visitme; ?>_cs_CZ" <?php echo ($option5[$name]== $visitme.'_cs_CZ') ? 'selected="selected"' : '' ; ?>>
202
- Čeština‎<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
203
- </option>
204
-
205
- <option value="<?php echo $follow; ?>_da_DK" <?php echo ($option5[$name]== $follow.'_da_DK') ? 'selected="selected"' : '' ; ?>>
206
- Dansk<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
207
- </option>
208
- <option value="<?php echo $visitme; ?>_da_DK" <?php echo ($option5[$name]== $visitme.'_da_DK') ? 'selected="selected"' : '' ; ?>>
209
- Dansk<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
210
- </option>
211
-
212
- <option value="<?php echo $follow; ?>_nl_NL" <?php echo ($option5[$name]== $follow.'_nl_NL') ? 'selected="selected"' : '' ; ?>>
213
- Nederlands<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
214
- </option>
215
- <option value="<?php echo $visitme; ?>_nl_NL" <?php echo ($option5[$name]== $visitme.'_nl_NL') ? 'selected="selected"' : '' ; ?>>
216
- Nederlands<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
217
- </option>
218
-
219
- <option value="<?php echo $follow; ?>_fi" <?php echo ($option5[$name]== $follow.'_fi') ? 'selected="selected"' : '' ; ?>>
220
- Suomi<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
221
- </option>
222
- <option value="<?php echo $visitme; ?>_fi" <?php echo ($option5[$name]== $visitme.'_fi') ? 'selected="selected"' : '' ; ?>>
223
- Suomi<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
224
- </option>
225
-
226
- <option value="<?php echo $follow; ?>_fr_FR" <?php echo ($option5[$name]== $follow.'_fr_FR') ? 'selected="selected"' : '' ; ?>>
227
- Français<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
228
- </option>
229
- <option value="<?php echo $visitme; ?>_fr_FR" <?php echo ($option5[$name]== $visitme.'_fr_FR') ? 'selected="selected"' : '' ; ?>>
230
- Français<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
231
- </option>
232
-
233
- <option value="<?php echo $follow; ?>_de_DE" <?php echo ($option5[$name]== $follow.'_de_DE') ? 'selected="selected"' : '' ; ?>>
234
- Deutsch<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
235
- </option>
236
- <option value="<?php echo $visitme; ?>_de_DE" <?php echo ($option5[$name]== $visitme.'_de_DE') ? 'selected="selected"' : '' ; ?>>
237
- Deutsch<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
238
- </option>
239
-
240
- <option value="<?php echo $follow; ?>_en_US" <?php echo ($option5[$name]== $follow.'_en_US') ? 'selected="selected"' : '' ; ?>>
241
- English<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
242
- </option>
243
- <option value="<?php echo $visitme; ?>_en_US" <?php echo ($option5[$name]== $visitme.'_en_US') ? 'selected="selected"' : '' ; ?>>
244
- English<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
245
- </option>
246
-
247
- <option value="<?php echo $follow; ?>_el" <?php echo ($option5[$name]== $follow.'_el') ? 'selected="selected"' : '' ; ?>>
248
- Ελληνικά<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
249
- </option>
250
- <option value="<?php echo $visitme; ?>_el" <?php echo ($option5[$name]== $visitme.'_el') ? 'selected="selected"' : '' ; ?>>
251
- Ελληνικά<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
252
- </option>
253
-
254
- <option value="<?php echo $follow; ?>_hu_HU" <?php echo ($option5[$name]==$follow.'_hu_HU') ? 'selected="selected"' : '' ; ?>>
255
- Magyar<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
256
- </option>
257
- <option value="<?php echo $visitme; ?>_hu_HU" <?php echo ($option5[$name]== $visitme.'_hu_HU') ? 'selected="selected"' : '' ; ?>>
258
- Magyar<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
259
- </option>
260
-
261
- <option value="<?php echo $follow; ?>_id_ID" <?php echo ($option5[$name]== $follow.'_id_ID') ? 'selected="selected"' : '' ; ?>>
262
- Bahasa Indonesia<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
263
- </option>
264
- <option value="<?php echo $visitme; ?>_id_ID" <?php echo ($option5[$name]== $visitme.'_id_ID') ? 'selected="selected"' : '' ; ?>>
265
- Bahasa Indonesia<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
266
- </option>
267
-
268
- <option value="<?php echo $follow; ?>_it_IT" <?php echo ($option5[$name]== $follow.'_it_IT') ? 'selected="selected"' : '' ; ?>>
269
- Italiano<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
270
- </option>
271
- <option value="<?php echo $visitme; ?>_it_IT" <?php echo ($option5[$name]== $visitme.'_it_IT') ? 'selected="selected"' : '' ; ?>>
272
- Italiano<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
273
- </option>
274
-
275
- <option value="<?php echo $follow; ?>_ja" <?php echo ($option5[$name]== $follow.'_ja') ? 'selected="selected"' : '' ; ?>>
276
- 日本語<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
277
- </option>
278
- <option value="<?php echo $visitme; ?>_ja" <?php echo ($option5[$name]== $visitme.'_ja') ? 'selected="selected"' : '' ; ?>>
279
- 日本語<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
280
- </option>
281
-
282
- <option value="<?php echo $follow; ?>_ko_KR" <?php echo ($option5[$name]== $follow.'_ko_KR') ? 'selected="selected"' : '' ; ?>>
283
- 한국어<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
284
- </option>
285
- <option value="<?php echo $visitme; ?>_ko_KR" <?php echo ($option5[$name]== $visitme.'_ko_KR') ? 'selected="selected"' : '' ; ?>>
286
- 한국어<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
287
- </option>
288
-
289
- <option value="<?php echo $follow; ?>_nb_NO" <?php echo ($option5[$name]== $follow.'_nb_NO') ? 'selected="selected"' : '' ; ?>>
290
- Norsk bokmål<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
291
- </option>
292
- <option value="<?php echo $visitme; ?>_nb_NO" <?php echo ($option5[$name]== $visitme.'_nb_NO') ? 'selected="selected"' : '' ; ?>>
293
- Norsk bokmål<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
294
- </option>
295
-
296
- <option value="<?php echo $follow; ?>_fa_IR" <?php echo ($option5[$name]== $follow.'_fa_IR') ? 'selected="selected"' : '' ; ?>>
297
- فارسی<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
298
- </option>
299
- <option value="<?php echo $visitme; ?>_fa_IR" <?php echo ($option5[$name]== $visitme.'_fa_IR') ? 'selected="selected"' : '' ; ?>>
300
- فارسی<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
301
- </option>
302
-
303
- <option value="<?php echo $follow; ?>_pl_PL" <?php echo ($option5[$name]== $follow.'_pl_PL') ? 'selected="selected"' : '' ; ?>>
304
- Polski<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
305
- </option>
306
- <option value="<?php echo $visitme; ?>_pl_PL" <?php echo ($option5[$name]== $visitme.'_pl_PL') ? 'selected="selected"' : '' ; ?>>
307
- Polski<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
308
- </option>
309
-
310
- <option value="<?php echo $follow; ?>_pt_PT" <?php echo ($option5[$name]== $follow.'_pt_PT') ? 'selected="selected"' : '' ; ?>>
311
- Português<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
312
- </option>
313
- <option value="<?php echo $visitme; ?>_pt_PT" <?php echo ($option5[$name]== $visitme.'_pt_PT') ? 'selected="selected"' : '' ; ?>>
314
- Português<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
315
- </option>
316
-
317
- <option value="<?php echo $follow; ?>_ro_RO" <?php echo ($option5[$name]== $follow.'_ro_RO') ? 'selected="selected"' : '' ; ?>>
318
- Română<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
319
- </option>
320
- <option value="<?php echo $visitme; ?>_ro_RO" <?php echo ($option5[$name]== $visitme.'_ro_RO') ? 'selected="selected"' : '' ; ?>>
321
- Română<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
322
- </option>
323
-
324
- <option value="<?php echo $follow; ?>_ru_RU" <?php echo ($option5[$name]== $follow.'_ru_RU') ? 'selected="selected"' : '' ; ?>>
325
- Русский<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
326
- </option>
327
- <option value="<?php echo $visitme; ?>_ru_RU" <?php echo ($option5[$name]== $visitme.'_ru_RU') ? 'selected="selected"' : '' ; ?>>
328
- Русский<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
329
- </option>
330
-
331
- <option value="<?php echo $follow; ?>_sk_SK" <?php echo ($option5[$name]== $follow.'_sk_SK') ? 'selected="selected"' : '' ; ?>>
332
- Slovenčina<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
333
- </option>
334
- <option value="<?php echo $visitme; ?>_sk_SK" <?php echo ($option5[$name]== $visitme.'_sk_SK') ? 'selected="selected"' : '' ; ?>>
335
- Slovenčina<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
336
- </option>
337
-
338
- <option value="<?php echo $follow; ?>_es_ES" <?php echo ($option5[$name]== $follow.'_es_ES') ? 'selected="selected"' : '' ; ?>>
339
- Español<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
340
- </option>
341
- <option value="<?php echo $visitme; ?>_es_ES" <?php echo ($option5[$name]== $visitme.'_es_ES') ? 'selected="selected"' : '' ; ?>>
342
- Español<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
343
- </option>
344
-
345
- <option value="<?php echo $follow; ?>_sv_SE" <?php echo ($option5[$name]== $follow.'_sv_SE') ? 'selected="selected"' : '' ; ?>>
346
- Svenska<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
347
- </option>
348
- <option value="<?php echo $visitme; ?>_sv_SE" <?php echo ($option5[$name]== $visitme.'_sv_SE') ? 'selected="selected"' : '' ; ?>>
349
- Svenska<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
350
- </option>
351
-
352
- <option value="<?php echo $follow; ?>_th" <?php echo ($option5[$name]== $follow.'_th') ? 'selected="selected"' : '' ; ?>>
353
- ไทย<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
354
- </option>
355
- <option value="<?php echo $visitme; ?>_th" <?php echo ($option5[$name]== $visitme.'_th') ? 'selected="selected"' : '' ; ?>>
356
- ไทย<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
357
- </option>
358
-
359
- <option value="<?php echo $follow; ?>_tr_TR" <?php echo ($option5[$name]== $follow.'_tr_TR') ? 'selected="selected"' : '' ; ?>>
360
- Türkçe<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
361
- </option>
362
- <option value="<?php echo $visitme; ?>_tr_TR" <?php echo ($option5[$name]== $visitme.'_tr_TR') ? 'selected="selected"' : '' ; ?>>
363
- Türkçe<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
364
- </option>
365
-
366
- <option value="<?php echo $follow; ?>_vi" <?php echo ($option5[$name]== $follow.'_vi') ? 'selected="selected"' : '' ; ?>>
367
- Tiếng Việt<span> - << </span><span><?php echo $follow ?></span><span> >> </span>
368
- </option>
369
- <option value="<?php echo $visitme; ?>_vi" <?php echo ($option5[$name]== $visitme.'_vi') ? 'selected="selected"' : '' ; ?>>
370
- Tiếng Việt<span> - << </span><span><?php echo $visitme ?></span><span> >> </span>
371
- </option>
372
- </select>
373
- <?php
374
- }
375
- ?>
376
-
377
-
378
- <!-- Section 5 "Any other wishes for your main icons?" main div Start -->
379
- <div class="tab5">
380
- <h4>
381
- <?php _e( 'Order of your icons', SFSI_PLUS_DOMAIN ); ?>
382
- </h4>
383
-
384
-
385
- <!-- icon drag drop section start here -->
386
- <ul class="plus_share_icon_order" >
387
- <?php
388
- $ctn = 0;
389
- foreach($icons_order as $index=>$icn) :
390
- switch ($icn) :
391
- case 'rss' :?>
392
- <li class="sfsiplus_rss_section" data-index="<?php echo $index; ?>" id="sfsi_plus_rssIcon_order">
393
- <a href="#" title="RSS"><img src="<?php echo SFSI_PLUS_PLUGURL; ?>images/rss.png" alt="RSS" /></a>
394
- </li>
395
- <?php break; ?>
396
-
397
- <?php case 'email' :?>
398
- <li class="sfsiplus_email_section " data-index="<?php echo $index; ?>" id="sfsi_plus_emailIcon_order">
399
- <a href="#" title="Email"><img src="<?php echo SFSI_PLUS_PLUGURL; ?>images/<?php echo $email_image; ?>" alt="Email" class="icon_img" /></a>
400
- </li>
401
- <?php break; ?>
402
-
403
- <?php case 'facebook' :?>
404
- <li class="sfsiplus_facebook_section " data-index="<?php echo $index; ?>" id="sfsi_plus_facebookIcon_order">
405
- <a href="#" title="Facebook"><img src="<?php echo SFSI_PLUS_PLUGURL; ?>images/fb.png" alt="Facebook" /></a>
406
- </li>
407
- <?php break; ?>
408
-
409
- <?php case 'twitter' :?>
410
- <li class="sfsiplus_twitter_section " data-index="<?php echo $index; ?>" id="sfsi_plus_twitterIcon_order">
411
- <a href="#" title="Twitter" ><img src="<?php echo SFSI_PLUS_PLUGURL; ?>images/twitter.png" alt="Twitter" /></a>
412
- </li>
413
- <?php break; ?>
414
-
415
- <?php case 'youtube' :?>
416
- <li class="sfsiplus_youtube_section " data-index="<?php echo $index; ?>" id="sfsi_plus_youtubeIcon_order">
417
- <a href="#" title="YouTube" ><img src="<?php echo SFSI_PLUS_PLUGURL; ?>images/youtube.png" alt="YouTube" /></a>
418
- </li>
419
- <?php break; ?>
420
-
421
- <?php case 'pinterest' :?>
422
- <li class="sfsiplus_pinterest_section " data-index="<?php echo $index; ?>" id="sfsi_plus_pinterestIcon_order">
423
- <a href="#" title="Pinterest" ><img src="<?php echo SFSI_PLUS_PLUGURL; ?>images/pinterest.png" alt="Pinterest" /></a>
424
- </li>
425
- <?php break; ?>
426
-
427
- <?php case 'linkedin' :?>
428
- <li class="sfsiplus_linkedin_section " data-index="<?php echo $index; ?>" id="sfsi_plus_linkedinIcon_order">
429
- <a href="#" title="Linked In" ><img src="<?php echo SFSI_PLUS_PLUGURL; ?>images/linked_in.png" alt="Linked In" /></a>
430
- </li>
431
- <?php break; ?>
432
-
433
- <?php case 'instagram' :?>
434
- <li class="sfsiplus_instagram_section " data-index="<?php echo $index; ?>" id="sfsi_plus_instagramIcon_order">
435
- <a href="#" title="Instagram" ><img src="<?php echo SFSI_PLUS_PLUGURL; ?>images/instagram.png" alt="Instagram" /></a>
436
- </li>
437
- <?php break; ?>
438
-
439
- <?php case 'houzz' :?>
440
- <li class="sfsiplus_houzz_section " data-index="<?php echo $index; ?>" id="sfsi_plus_houzzIcon_order">
441
- <a href="#" title="Houzz" ><img src="<?php echo SFSI_PLUS_PLUGURL; ?>images/houzz.png" alt="Houzz" /></a>
442
- </li>
443
- <?php break; ?>
444
- <!--MZ CODE START-->
445
-
446
- <?php case 'ok' :?>
447
- <li class="sfsiplus_ok_section " data-index="<?php echo $index; ?>" id="sfsi_plus_okIcon_order">
448
- <a href="#" title="OK" ><img src="<?php echo SFSI_PLUS_PLUGURL; ?>images/ok.png" alt="OK" width="50px" height="50px" /></a>
449
- </li>
450
- <?php break; ?>
451
-
452
- <?php case 'telegram' :?>
453
- <li class="sfsiplus_telegram_section " data-index="<?php echo $index; ?>" id="sfsi_plus_telegramIcon_order">
454
- <a href="#" title="Telegram" ><img src="<?php echo SFSI_PLUS_PLUGURL; ?>images/telegram.png" alt="Telegram" /></a>
455
- </li>
456
- <?php break; ?>
457
-
458
- <?php case 'vk' :?>
459
- <li class="sfsiplus_vk_section " data-index="<?php echo $index; ?>" id="sfsi_plus_vkIcon_order">
460
- <a href="#" title="Vk" ><img src="<?php echo SFSI_PLUS_PLUGURL; ?>images/vk.png" alt="Vk" /></a>
461
- </li>
462
- <?php break; ?>
463
-
464
-
465
- <?php case 'weibo' :?>
466
- <li class="sfsiplus_weibo_section " data-index="<?php echo $index; ?>" id="sfsi_plus_weiboIcon_order">
467
- <a href="#" title="WEIBO" ><img src="<?php echo SFSI_PLUS_PLUGURL; ?>images/weibo.png" alt="Weibo" width="50px" height="50px" /></a>
468
- </li>
469
- <?php break; ?>
470
-
471
- <?php case 'wechat' :?>
472
- <li class="sfsiplus_wechat_section " data-index="<?php echo $index; ?>" id="sfsi_plus_wechatIcon_order">
473
- <a href="#" title="WECHAT" ><img src="<?php echo SFSI_PLUS_PLUGURL; ?>images/wechat.png" alt="Wechat" width="50px" height="50px" /></a>
474
- </li>
475
- <?php break; ?>
476
-
477
- <!--MZ CODE END-->
478
-
479
- <?php default :?>
480
-
481
- <?php if(isset($icons[$icn['ele']]) && !empty($icons[$icn['ele']]) && filter_var($icons[$icn['ele']], FILTER_VALIDATE_URL) ): ?>
482
- <li class="sfsiplus_custom_iconOrder sfsiICON_<?php echo $icn['ele']; ?>" data-index="<?php echo $index; ?>" element-id="<?php echo $icn['ele']; ?>" >
483
- <a href="#" title="Custom Icon" ><img src="<?php echo $icons[$icn['ele']]; ?>" alt="Linked In" class="sfcm" /></a>
484
- </li>
485
- <?php endif; ?>
486
- <?php break; ?>
487
-
488
- <?php endswitch; ?>
489
- <?php endforeach; ?>
490
-
491
- </ul> <!-- END icon drag drop section start here -->
492
-
493
- <span class="drag_drp">
494
- (<?php _e( 'Drag and Drop', SFSI_PLUS_DOMAIN); ?>)
495
- </span>
496
- <!-- icon's size and spacing section start here -->
497
- <div class="row">
498
- <h4>
499
- <?php _e( 'Size and spacing of your icons', SFSI_PLUS_DOMAIN ); ?>
500
- </h4>
501
- <div class="icons_size">
502
- <span>
503
- <?php _e( 'Size:', SFSI_PLUS_DOMAIN ); ?>
504
- </span>
505
- <input name="sfsi_plus_icons_size" value="<?php echo ($option5['sfsi_plus_icons_size']!='') ? $option5['sfsi_plus_icons_size'] : '' ;?>" type="text" />
506
- <ins>
507
- <?php _e( 'pixels wide and tall', SFSI_PLUS_DOMAIN ); ?>
508
- </ins>
509
- <span class="last">
510
- <?php _e( 'Spacing between icons:', SFSI_PLUS_DOMAIN ); ?>
511
- </span>
512
- <input name="sfsi_plus_icons_spacing" type="text" value="<?php echo ($option5['sfsi_plus_icons_spacing']!='') ? $option5['sfsi_plus_icons_spacing'] : '' ;?>" />
513
- <ins>
514
- <?php _e( 'Pixels', SFSI_PLUS_DOMAIN ); ?>
515
- </ins>
516
- </div>
517
-
518
- <?php if($option5['sfsi_plus_premium_size_box'] == 'yes') { ?>
519
-
520
- <!-- <div class="sfsi_plus_icons_prem_disc">
521
- <p class="sfsi_plus_prem_plu_desc">
522
- <b><?php _e( 'New: ', SFSI_PLUS_DOMAIN ); ?></b><?php _e( 'The Premium Plugin also allows you to define the vertical distance between the icons (and set this differently for mobile vs. desktop): ', SFSI_PLUS_DOMAIN ); ?><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=more_spacings&utm_medium=banner" target="_blank"><?php _e( 'Check it out', SFSI_PLUS_DOMAIN ); ?></a>
523
- </p>
524
- </div> -->
525
-
526
- <div class="sfsi_plus_new_prmium_follw">
527
- <p>
528
- <b><?php _e( 'New: ', SFSI_PLUS_DOMAIN ); ?></b><?php _e( 'The Premium Plugin also allows you to define the vertical distance between the icons (and set this differently for mobile vs. desktop): ', SFSI_PLUS_DOMAIN ); ?><a style="cursor:pointer" class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" class="sfisi_plus_font_bold" target="_blank"><?php _e( 'Go premium now', SFSI_PLUS_DOMAIN); ?></a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=more_spacings&utm_medium=banner" class="sfsi_plus_font_inherit" target="_blank"><?php _e( ' or learn more', SFSI_PLUS_DOMAIN); ?></a>
529
- </p>
530
- </div>
531
-
532
- <?php } ?>
533
- </div>
534
-
535
- <div class="row">
536
- <h4>
537
- <?php _e( 'Alignments', SFSI_PLUS_DOMAIN ); ?>
538
- </h4>
539
- <div class="icons_size">
540
- <div style="width: 210px;float: left;position: relative;">
541
- <span>
542
- <?php _e( 'Alignment of icons:', SFSI_PLUS_DOMAIN ); ?>
543
- </span>
544
- <ins class="sfsi_plus_icons_align_other" style="position: absolute;bottom: -22px;left: 0;width: 200px;color: rgb(128,136,145);">
545
- <?php _e( '(with respect to each other)', SFSI_PLUS_DOMAIN ); ?>
546
- </ins>
547
- </div>
548
- <div class="field">
549
- <select name="sfsi_plus_icons_Alignment" id="sfsi_plus_icons_Alignment" class="styled">
550
- <option value="center" <?php echo ($option5['sfsi_plus_icons_Alignment']=='center') ? 'selected="selected"' : '' ;?>>
551
- <?php _e( 'Centered', SFSI_PLUS_DOMAIN ); ?>
552
- </option>
553
- <option value="right" <?php echo ($option5['sfsi_plus_icons_Alignment']=='right') ? 'selected="selected"' : '' ;?>>
554
- <?php _e( 'Right', SFSI_PLUS_DOMAIN ); ?>
555
- </option>
556
- <option value="left" <?php echo ($option5['sfsi_plus_icons_Alignment']=='left') ? 'selected="selected"' : '' ;?>>
557
- <?php _e( 'Left', SFSI_PLUS_DOMAIN ); ?>
558
- </option>
559
- </select>
560
- </div>
561
- <span>
562
- <?php _e( 'Icons per row:', SFSI_PLUS_DOMAIN ); ?>
563
- </span>
564
- <input name="sfsi_plus_icons_perRow" type="text" value="<?php echo ($option5['sfsi_plus_icons_perRow']!='') ? $option5['sfsi_plus_icons_perRow'] : '' ;?>" />
565
- <ins>
566
- <?php _e( 'Leave empty if you dont want to define this', SFSI_PLUS_DOMAIN ); ?>
567
- </ins>
568
- </div>
569
- <?php if($option5['sfsi_plus_premium_size_box'] == 'yes') { ?>
570
- <div class ="sfsi_plus_new_prmium_follw">
571
- <p>
572
- <b><?php _e( 'New: ', SFSI_PLUS_DOMAIN ); ?></b><?php _e( 'The Premium Plugin gives several more alignment options:', SFSI_PLUS_DOMAIN ); ?><br>- &nbsp;&nbsp;<?php _e( ' Show icons vertically', SFSI_PLUS_DOMAIN ); ?><br>- &nbsp;&nbsp;<?php _e( ' Align icons within a widget (left, right, centered)', SFSI_PLUS_DOMAIN ); ?><br>- &nbsp;&nbsp;<?php _e( ' Align icons within the «container» where you place them via shortcode (left, right, centered) ', SFSI_PLUS_DOMAIN ); ?>
573
- <br>
574
- <a style="cursor:pointer" class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" class="sfisi_plus_font_bold" target="_blank"><?php _e( 'Go premium now', SFSI_PLUS_DOMAIN); ?></a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=more_alignment_options&utm_medium=banner" class="sfsi_plus_font_inherit" target="_blank"><?php _e( ' or learn more', SFSI_PLUS_DOMAIN); ?></a>
575
- </p>
576
- </div>
577
- <?php } ?>
578
- </div>
579
-
580
- <!--******************************************************* Sharing texts & pictures section STARTS *********************************************************************-->
581
-
582
- <div class="row sfsi_custom_social_data_setting" id="custom_social_data_setting">
583
-
584
- <h4><?php _e("Sharing texts & pictures?",SFSI_PLUS_DOMAIN); ?></h4>
585
- <p><?php _e("On the pages where you edit your posts / pages you’ll see a (new) section where you can define which pictures & text should be shared. This extra section is displayed on the following:",SFSI_PLUS_DOMAIN); ?></p>
586
-
587
- <?php
588
- $checkedS = (isset($option5['sfsi_plus_custom_social_hide']) && $option5['sfsi_plus_custom_social_hide']=="yes") ? 'checked="checked"': '';
589
- $checked = (isset($option5['sfsi_plus_custom_social_hide']) && $option5['sfsi_plus_custom_social_hide']=="yes") ? '': 'checked="checked"';
590
- $checkedVal = (isset($option5['sfsi_plus_custom_social_hide'])) ? $option5['sfsi_plus_custom_social_hide']: 'no';
591
- ?>
592
- <div class="social_data_post_types">
593
- <ul class="socialPostTypesUl">
594
- <li>
595
- <div class="radio_section tb_4_ck">
596
- <input type="checkbox" <?php echo $checked; ?> value="page" class="styled" />
597
- <label class="cstmdsplsub"><?php _e("Page",SFSI_PLUS_DOMAIN); ?></label>
598
- </div>
599
- </li>
600
- <li>
601
- <div class="radio_section tb_4_ck">
602
- <input type="checkbox" <?php echo $checked; ?> value="post" class="styled" />
603
- <label class="cstmdsplsub"><?php _e("Post",SFSI_PLUS_DOMAIN); ?></label>
604
- </div>
605
- </li>
606
- </ul>
607
-
608
- <ul class="sfsi_show_hide_section">
609
- <li>
610
- <div class="radio_section tb_4_ck">
611
- <input name="sfsi_plus_custom_social_hide" type="checkbox" <?php echo $checkedS; ?> value="<?php echo $checkedVal; ?>" class="styled" />
612
- <label class="cstmdsplsub"><?php _e("Hide section for all",SFSI_PLUS_DOMAIN); ?></label>
613
- </div>
614
- </li>
615
- </ul>
616
- </div>
617
-
618
- <div class="sfsi_plus_new_prmium_follw sfsi_social_sharing" style="margin-bottom: 15px;">
619
- <p><?php _e("Note: This feature is currently only available in the Premium Plugin.",SFSI_PLUS_DOMAIN); ?> <a style="cursor:pointer" class="pop-up" data-id="sfsi_plus_quickpay-overlay" onclick="sfsi_plus_open_quick_checkout(event)" class="sfisi_plus_font_bold" target="_blank"><?php _e( 'Go premium now', SFSI_PLUS_DOMAIN); ?></a><a href="https://www.ultimatelysocial.com/usm-premium/?utm_source=usmplus_settings_page&utm_campaign=define_pic_and_text&utm_medium=banner" class="sfsi_plus_font_inherit" target="_blank"><?php _e( ' or learn more', SFSI_PLUS_DOMAIN); ?></a>
620
- </p>
621
- </div>
622
- </div>
623
-
624
- <!--************************************* Sharing texts & pictures section CLOSES *******************************************************************-->
625
-
626
- <!-- icon's select language optins start here -->
627
- <div class="row">
628
- <h4>
629
- <?php _e( 'Language & Button-text', SFSI_PLUS_DOMAIN ); ?>
630
- </h4>
631
- <!-- Follow button start here -->
632
- <div class="icons_size">
633
- <div class="follows-btn">
634
- <span><?php _e( 'Follow-button:', SFSI_PLUS_DOMAIN ); ?></span>
635
- </div>
636
- <div class="field language-field">
637
- <?php selectoption("sfsi_plus_follow_icons_language" , "Follow" , "Subscribe"); ?>
638
- </div>
639
- <div class="preview-btn">
640
- <span><?php _e( 'Preview:', SFSI_PLUS_DOMAIN ); ?></span>
641
- </div>
642
- <?php
643
- $follow_icons = $option5['sfsi_plus_follow_icons_language'];
644
- $visit_icon = SFSI_PLUS_PLUGURL."images/visit_icons/Follow/icon_".$follow_icons.".png";
645
- if(isset($follow_icons) && !empty($follow_icons))
646
- {
647
- ?>
648
- <div class="social-img-link"><img src="<?php echo $visit_icon; ?>" alt="" /></div>
649
- <?php } ?>
650
- </div>
651
-
652
- <!-- Facebook «Visit»-icon start here -->
653
- <div class="icons_size">
654
- <div class="follows-btn">
655
- <span><?php _e( 'Facebook «Visit»-icon:', SFSI_PLUS_DOMAIN ); ?></span>
656
- </div>
657
- <div class="field language-field">
658
- <?php selectoption("sfsi_plus_facebook_icons_language" , "Visit_us" , "Visit_me"); ?>
659
- </div>
660
- <div class="preview-btn">
661
- <span><?php _e( 'Preview:', SFSI_PLUS_DOMAIN ); ?></span>
662
- </div>
663
- <?php
664
- $facebook_icons_lang = $option5['sfsi_plus_facebook_icons_language'];
665
- $visit_icon = $visit_iconsUrl."Visit_us_fb/icon_".$facebook_icons_lang.".png";
666
- if(isset($facebook_icons_lang) && !empty($facebook_icons_lang))
667
- {
668
- ?>
669
- <div class="social-img-link"><img src="<?php echo $visit_icon; ?>" alt="" /></div>
670
- <?php } ?>
671
- </div>
672
-
673
- <!-- Twitter «Visit»-icon start here -->
674
- <div class="icons_size">
675
- <div class="follows-btn">
676
- <span><?php _e( 'Twitter «Visit»-icon:', SFSI_PLUS_DOMAIN ); ?></span>
677
- </div>
678
- <div class="field language-field">
679
- <?php selectoption("sfsi_plus_twitter_icons_language" , "Visit_us" , "Visit_me"); ?>
680
- </div>
681
- <div class="preview-btn">
682
- <span><?php _e( 'Preview:', SFSI_PLUS_DOMAIN ); ?></span>
683
- </div>
684
- <?php
685
- $twitter_icons_lang = $option5['sfsi_plus_twitter_icons_language'];
686
- $visit_icon = $visit_iconsUrl."Visit_us_twitter/icon_".$twitter_icons_lang.".png";
687
- if(isset($twitter_icons_lang) && !empty($twitter_icons_lang))
688
- {
689
- ?>
690
- <div class="social-img-link"><img src="<?php echo $visit_icon; ?>" alt="" /></div>
691
- <?php } ?>
692
- </div>
693
-
694
- <!-- Like & Share buttons (Facebook, Twitter) start here -->
695
- <div class="icons_size">
696
- <span>
697
- <?php _e( 'Language for Like & Share buttons (Facebook, Twitter):', SFSI_PLUS_DOMAIN ); ?>
698
- </span>
699
- <div class="language_field">
700
- <select name="sfsi_plus_icons_language" id="sfsi_plus_icons_language" class="language">
701
- <option value="ar_AR" <?php echo ($option5['sfsi_plus_icons_language']=='ar_AR') ? 'selected="selected"' : '' ;?>>
702
- العربية
703
- </option>
704
- <option value="az_AZ" <?php echo ($option5['sfsi_plus_icons_language']=='az_AZ') ? 'selected="selected"' : '' ;?>>
705
- Azərbaycan dili
706
- </option>
707
- <option value="af_ZA" <?php echo ($option5['sfsi_plus_icons_language']=='af_ZA') ? 'selected="selected"' : '' ;?>>
708
- Afrikaans
709
- <option value="bg_BG" <?php echo ($option5['sfsi_plus_icons_language']=='bg_BG') ? 'selected="selected"' : '' ;?>>
710
- Български
711
- </option>
712
- <option value="ms_MY" <?php echo ($option5['sfsi_plus_icons_language']=='ms_MY') ? 'selected="selected"' : '' ;?>>
713
- Bahasa Melayu‎
714
- </option>
715
- <option value="bn_IN" <?php echo ($option5['sfsi_plus_icons_language']=='bn_IN') ? 'selected="selected"' : '' ;?>>
716
- বাংলা
717
- </option>
718
- <option value="bs_BA" <?php echo ($option5['sfsi_plus_icons_language']=='bs_BA') ? 'selected="selected"' : '' ;?>>
719
- Bosanski
720
- </option>
721
- <option value="ca_ES" <?php echo ($option5['sfsi_plus_icons_language']=='ca_ES') ? 'selected="selected"' : '' ;?>>
722
- Català
723
- </option>
724
- <option value="cy_GB" <?php echo ($option5['sfsi_plus_icons_language']=='cy_GB') ? 'selected="selected"' : '' ;?>>
725
- Cymraeg
726
- </option>
727
- <option value="da_DK" <?php echo ($option5['sfsi_plus_icons_language']=='da_DK') ? 'selected="selected"' : '' ;?>>
728
- Dansk
729
- </option>
730
- <option value="de_DE" <?php echo ($option5['sfsi_plus_icons_language']=='de_DE') ? 'selected="selected"' : '' ;?>>
731
- Deutsch
732
- </option>
733
- <option value="en_US" <?php echo ($option5['sfsi_plus_icons_language']=='en_US') ? 'selected="selected"' : '' ;?>>
734
- English (United States)
735
- </option>
736
- <option value="el_GR" <?php echo ($option5['sfsi_plus_icons_language']=='el_GR') ? 'selected="selected"' : '' ;?>>
737
- Ελληνικά
738
- </option>
739
- <option value="eo_EO" <?php echo ($option5['sfsi_plus_icons_language']=='eo_EO') ? 'selected="selected"' : '' ;?>>
740
- Esperanto
741
- </option>
742
- <option value="es_ES" <?php echo ($option5['sfsi_plus_icons_language']=='es_ES') ? 'selected="selected"' : '' ;?>>
743
- Español
744
- </option>
745
- <option value="et_EE" <?php echo ($option5['sfsi_plus_icons_language']=='et_EE') ? 'selected="selected"' : '' ;?>>
746
- Eesti
747
- </option>
748
- <option value="eu_ES" <?php echo ($option5['sfsi_plus_icons_language']=='eu_ES') ? 'selected="selected"' : '' ;?>>
749
- Euskara
750
- </option>
751
- <option value="fa_IR" <?php echo ($option5['sfsi_plus_icons_language']=='fa_IR') ? 'selected="selected"' : '' ;?>>
752
- فارسی
753
- </option>
754
- <option value="fi_FI" <?php echo ($option5['sfsi_plus_icons_language']=='fi_FI') ? 'selected="selected"' : '' ;?>>
755
- Suomi
756
- </option>
757
- <option value="fr_FR" <?php echo ($option5['sfsi_plus_icons_language']=='fr_FR') ? 'selected="selected"' : '' ;?>>
758
- Français
759
- </option>
760
- <option value="gl_ES" <?php echo ($option5['sfsi_plus_icons_language']=='gl_ES') ? 'selected="selected"' : '' ;?>>
761
- Galego
762
- </option>
763
- <option value="he_IL" <?php echo ($option5['sfsi_plus_icons_language']=='he_IL') ? 'selected="selected"' : '' ;?>>
764
- עִבְרִית
765
- </option>
766
- <option value="hi_IN" <?php echo ($option5['sfsi_plus_icons_language']=='hi_IN') ? 'selected="selected"' : '' ;?>>
767
- हिन्दी
768
- </option>
769
- <option value="hr_HR" <?php echo ($option5['sfsi_plus_icons_language']=='hr_HR') ? 'selected="selected"' : '' ;?>>
770
- Hrvatski
771
- </option>
772
- <option value="hu_HU" <?php echo ($option5['sfsi_plus_icons_language']=='hu_HU') ? 'selected="selected"' : '' ;?>>
773
- Magyar
774
- </option>
775
- <option value="hy_AM" <?php echo ($option5['sfsi_plus_icons_language']=='hy_AM') ? 'selected="selected"' : '' ;?>>
776
- Հայերեն
777
- </option>
778
- <option value="id_ID" <?php echo ($option5['sfsi_plus_icons_language']=='id_ID') ? 'selected="selected"' : '' ;?>>
779
- Bahasa Indonesia
780
- </option>
781
- <option value="is_IS" <?php echo ($option5['sfsi_plus_icons_language']=='is_IS') ? 'selected="selected"' : '' ;?>>
782
- Íslenska
783
- </option>
784
- <option value="it_IT" <?php echo ($option5['sfsi_plus_icons_language']=='it_IT') ? 'selected="selected"' : '' ;?>>
785
- Italiano
786
- </option>
787
- <option value="ja_JP" <?php echo ($option5['sfsi_plus_icons_language']=='ja_JP') ? 'selected="selected"' : '' ;?>>
788
- 日本語
789
- </option>
790
- <option value="ko_KR" <?php echo ($option5['sfsi_plus_icons_language']=='ko_KR') ? 'selected="selected"' : '' ;?>>
791
- 한국어
792
- </option>
793
- <option value="lt_LT" <?php echo ($option5['sfsi_plus_icons_language']=='lt_LT') ? 'selected="selected"' : '' ;?>>
794
- Lietuvių kalba
795
- </option>
796
- <option value="my_MM" <?php echo ($option5['sfsi_plus_icons_language']=='my_MM') ? 'selected="selected"' : '' ;?>>
797
- ဗမာစာ
798
- </option>
799
- <option value="nl_NL" <?php echo ($option5['sfsi_plus_icons_language']=='nl_NL') ? 'selected="selected"' : '' ;?>>
800
- Nederlands
801
- </option>
802
- <option value="nn_NO" <?php echo ($option5['sfsi_plus_icons_language']=='nn_NO') ? 'selected="selected"' : '' ;?>>
803
- Norsk nynorsk
804
- </option>
805
- <option value="pl_PL" <?php echo ($option5['sfsi_plus_icons_language']=='pl_PL') ? 'selected="selected"' : '' ;?>>
806
- Polski
807
- </option>
808
- <option value="ps_AF" <?php echo ($option5['sfsi_plus_icons_language']=='ps_AF') ? 'selected="selected"' : '' ;?>>
809
- پښتو
810
- </option>
811
- <option value="pt_BR" <?php echo ($option5['sfsi_plus_icons_language']=='pt_BR') ? 'selected="selected"' : '' ;?>>
812
- Português do Brasil
813
- </option>
814
- <option value="ro_RO" <?php echo ($option5['sfsi_plus_icons_language']=='ro_RO') ? 'selected="selected"' : '' ;?>>
815
- Română
816
- </option>
817
- <option value="ru_RU" <?php echo ($option5['sfsi_plus_icons_language']=='ru_RU') ? 'selected="selected"' : '' ;?>>
818
- Русский
819
- </option>
820
- <option value="sk_SK" <?php echo ($option5['sfsi_plus_icons_language']=='sk_SK') ? 'selected="selected"' : '' ;?>>
821
- Slovenčina
822
- </option>
823
- <option value="sl_SI" <?php echo ($option5['sfsi_plus_icons_language']=='sl_SI') ? 'selected="selected"' : '' ;?>>
824
- Slovenščina
825
- </option>
826
- <option value="sq_AL" <?php echo ($option5['sfsi_plus_icons_language']=='sq_AL') ? 'selected="selected"' : '' ;?>>
827
- Shqip
828
- </option>
829
- <option value="sr_RS" <?php echo ($option5['sfsi_plus_icons_language']=='sr_RS') ? 'selected="selected"' : '' ;?>>
830
- Српски језик
831
- </option>
832
- <option value="sv_SE" <?php echo ($option5['sfsi_plus_icons_language']=='sv_SE') ? 'selected="selected"' : '' ;?>>
833
- Svenska
834
- </option>
835
- <option value="th_TH" <?php echo ($option5['sfsi_plus_icons_language']=='th_TH') ? 'selected="selected"' : '' ;?>>
836
- ไทย
837
- </option>
838
- <option value="tl_PH" <?php echo ($option5['sfsi_plus_icons_language']=='tl_PH') ? 'selected="selected"' : '' ;?>>
839
- Tagalog
840
- </option>
841
- <option value="tr_TR" <?php echo ($option5['sfsi_plus_icons_language']=='tr_TR') ? 'selected="selected"' : '' ;?>>
842
- Türkçe
843
- </option>
844
- <option value="ug_CN" <?php echo ($option5['sfsi_plus_icons_language']=='ug_CN') ? 'selected="selected"' : '' ;?>>
845
- Uyƣurqə
846
- </option>
847
- <option value="uk_UA" <?php echo ($option5['sfsi_plus_icons_language']=='uk_UA') ? 'selected="selected"' : '' ;?>>
848
- Українська
849
- </option>
850
- <option value="vi_VN" <?php echo ($option5['sfsi_plus_icons_language']=='vi_VN') ? 'selected="selected"' : '' ;?>>
851
- Tiếng Việt
852
- </option>
853
- <option value="zh_CN" <?php echo ($option5['sfsi_plus_icons_language']=='zh_CN') ? 'selected="selected"' : '' ;?>>
854
- 简体中文
855
- </option>
856
- <option value="cs_CZ" <?php echo ($option5['sfsi_plus_icons_language']=='cs_CZ') ? 'selected="selected"' : '' ;?>>
857
- Čeština
858
- </option>
859
- <option value="ur_PK" <?php echo ($option5['sfsi_plus_icons_language']=='ur_PK') ? 'selected="selected"' : '' ;?>>
860
- اردو‎
861
- </option>
862
- </select>
863
- </div>
864
- </div>
865
- </div>
866
- <div class="row new_wind">
867
- <h4>
868
- <?php _e( 'New window', SFSI_PLUS_DOMAIN ); ?>
869
- </h4>
870
- <div class="sfsiplus_row_onl">
871
- <p>
872
- <?php
873
- _e( 'If user clicks on your icons, do you want to open the page in a new window?',SFSI_PLUS_DOMAIN ); ?>
874
- </p>
875
- <ul class="enough_waffling">
876
- <li>
877
- <input name="sfsi_plus_icons_ClickPageOpen" <?php echo ($option5['sfsi_plus_icons_ClickPageOpen']=='yes') ? 'checked="true"' : '' ;?> type="radio" value="yes" class="styled" />
878
- <label>
879
- <?php _e( 'Yes', SFSI_PLUS_DOMAIN ); ?>
880
- </label>
881
- </li>
882
- <li>
883
- <input name="sfsi_plus_icons_ClickPageOpen" <?php echo ($option5['sfsi_plus_icons_ClickPageOpen']=='no') ? 'checked="true"' : '' ;?> type="radio" value="no" class="styled" />
884
- <label>
885
- <?php _e( 'No', SFSI_PLUS_DOMAIN ); ?>
886
- </label>
887
- </li>
888
- </ul>
889
- </div>
890
- </div>
891
- <!-- END icon's size and spacing section -->
892
-
893
- <!-- icon's floating and stick section start here -->
894
- <div class="row sticking">
895
- <h4>
896
- <?php _e( 'Sticking & Disable on mobile', SFSI_PLUS_DOMAIN ); ?>
897
- </h4>
898
- <p>
899
- <?php _e( 'If you decided to show your icons via a widget, you can add the effect that when the user scrolls down, the icons will stick at the top of the screen so that they are still displayed even if the user scrolled all the way down. Do you want to do that?', SFSI_PLUS_DOMAIN ); ?>
900
- </p>
901
- <div class="space">
902
- <!--<p class="list">Make icons stick?</p>-->
903
- <ul class="enough_waffling">
904
- <li>
905
- <input name="sfsi_plus_icons_stick" <?php echo ($option5['sfsi_plus_icons_stick']=='yes') ? 'checked="true"' : '' ;?> type="radio" value="yes" class="styled" />
906
- <label>
907
- <?php _e( 'Yes', SFSI_PLUS_DOMAIN ); ?>
908
- </label>
909
- </li>
910
- <li>
911
- <input name="sfsi_plus_icons_stick" <?php echo ($option5['sfsi_plus_icons_stick']=='no') ? 'checked="true"' : '' ;?> type="radio" value="no" class="styled" />
912
- <label>
913
- <?php _e( 'No', SFSI_PLUS_DOMAIN ); ?>
914
- </label>
915
- </li>
916
- </ul>
917
- </div>
918
-
919
- <!--disable float icons-->
920
- <div class="space disblfltonmbl">
921
- <p class="list">
922
- <?php _e( 'Disable float icons on mobile devices', SFSI_PLUS_DOMAIN ); ?>
923
- </p>
924
- <ul class="enough_waffling">
925
- <li>
926
- <input name="sfsi_plus_disable_floaticons" <?php echo ($option5['sfsi_plus_disable_floaticons']=='yes') ? 'checked="true"' : '' ;?> type="radio" value="yes" class="styled" />
927
- <label>
928
- <?php _e( 'Yes', SFSI_PLUS_DOMAIN ); ?>
929
- </label>
930
- </li>
931
- <li>
932
- <input name="sfsi_plus_disable_floaticons" <?php echo ($option5['sfsi_plus_disable_floaticons']=='no') ? 'checked="true"' : '' ;?> type="radio" value="no" class="styled" />
933
- <label>
934
- <?php _e( 'No', SFSI_PLUS_DOMAIN ); ?>
935
- </label>
936
- </li>
937
- </ul>
938
- </div>
939
- <!--disable float icons-->
940
-
941
- <!--disabling view port meta tag-->
942
- <div class="space disblfltonmbl">
943
- <p class="list">
944
- <?php _e( 'Disable auto-scaling feature for mobile devices ("viewport" meta tag)', SFSI_PLUS_DOMAIN ); ?>
945
- </p>
946
- <ul class="enough_waffling">
947
- <li>
948
- <input name="sfsi_plus_disable_viewport" <?php echo ($sfsi_plus_disable_viewport=='yes') ? 'checked="true"' : '' ;?> type="radio" value="yes" class="styled" />
949
- <label>
950
- <?php _e( 'Yes', SFSI_PLUS_DOMAIN ); ?>
951
- </label>
952
- </li>
953
- <li>
954
- <input name="sfsi_plus_disable_viewport" <?php echo ($sfsi_plus_disable_viewport=='no') ? 'checked="true"' : '' ;?> type="radio" value="no" class="styled"