WP to Twitter - Version 3.1.9

Version Description

  • CSS update in Twitter feed for new iframe generated follow button
  • Include target URL in information deleted when a post's Tweet History cleared
  • Minor design changes
  • Updated manual
  • Updated text
Download this release

Release Info

Developer joedolson
Plugin Icon 128x128 WP to Twitter
Version 3.1.9
Comparing to
See all releases

Code changes from version 3.1.0 to 3.1.9

css/post-styles.css CHANGED
@@ -5,13 +5,14 @@
5
 
6
  #wp2t .jtw textarea {
7
  font-size: 1.2em;
 
8
  }
9
 
10
  #wp2t .counter {
11
  position: absolute;
12
  right: 4%;
13
- bottom: 0;
14
- font-size: 1.3em;
15
  font-weight: 700;
16
  color: #666;
17
  }
@@ -34,11 +35,21 @@
34
  width: 66.666666%;
35
  }
36
 
37
- #wp2t .disabled {
38
  font-weight: 700;
39
  background: #ffc;
40
- padding: 5px;
41
  font-size: 1.2em;
 
 
 
 
 
 
 
 
 
 
42
  }
43
 
44
  #side-sortables #wp2t .jtw {
@@ -106,15 +117,6 @@
106
  display: none;
107
  }
108
 
109
- #wp2t .disabled {
110
- color: #888;
111
- border: 1px solid #ddd;
112
- background: #eee;
113
- border-bottom: none;
114
- padding: 2px;
115
- border-radius: 4px 4px 0 0;
116
- }
117
-
118
  #side-sortables #wp2t .tabs {
119
  display: block;
120
  }
5
 
6
  #wp2t .jtw textarea {
7
  font-size: 1.2em;
8
+ width: 100%;
9
  }
10
 
11
  #wp2t .counter {
12
  position: absolute;
13
  right: 4%;
14
+ bottom: 2px;
15
+ font-size: 1.2em;
16
  font-weight: 700;
17
  color: #666;
18
  }
35
  width: 66.666666%;
36
  }
37
 
38
+ #wp2t p.disabled {
39
  font-weight: 700;
40
  background: #ffc;
41
+ padding: 5px 12px;
42
  font-size: 1.2em;
43
+ margin: -10px -12px .5em;
44
+ }
45
+
46
+ #wp2t .wpt-options .disabled {
47
+ color: #888;
48
+ border: 1px solid #ddd;
49
+ background: #eee;
50
+ border-bottom: none;
51
+ padding: 2px;
52
+ border-radius: 4px 4px 0 0;
53
  }
54
 
55
  #side-sortables #wp2t .jtw {
117
  display: none;
118
  }
119
 
 
 
 
 
 
 
 
 
 
120
  #side-sortables #wp2t .tabs {
121
  display: block;
122
  }
css/styles.css CHANGED
@@ -17,8 +17,6 @@
17
  }
18
 
19
  #wp-to-twitter .resources {
20
- background: url(../images/logo.png) 50% 5px no-repeat;
21
- padding-top: 70px;
22
  text-align: center;
23
  }
24
 
@@ -113,7 +111,7 @@ label[for="wpt_license_key"] {
113
  }
114
 
115
  #wp-to-twitter .wpt-upgrade {
116
- background: crimson;
117
  color: #fff;
118
  text-shadow: #000 0 1px 0;
119
  border-radius: 2px 2px 0 0;
@@ -161,6 +159,16 @@ label[for="wpt_license_key"] {
161
  border: 1px solid #ccc;
162
  }
163
 
 
 
 
 
 
 
 
 
 
 
164
  #wpt_settings_page input[type=text] {
165
  font-size: 1.3em;
166
  padding: 4px;
@@ -246,6 +254,45 @@ label[for='wpt_prepend_rt'], label[for='wpt_prepend_rt2'], label[for='wpt_prepen
246
  background: #233c7f;
247
  }
248
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
249
  @media (max-width: 782px) {
250
  .jcd-narrow {
251
  width: 100%;
17
  }
18
 
19
  #wp-to-twitter .resources {
 
 
20
  text-align: center;
21
  }
22
 
111
  }
112
 
113
  #wp-to-twitter .wpt-upgrade {
114
+ background: #e25822;
115
  color: #fff;
116
  text-shadow: #000 0 1px 0;
117
  border-radius: 2px 2px 0 0;
159
  border: 1px solid #ccc;
160
  }
161
 
162
+ #wp-to-twitter .wpt-pro-tab {
163
+ background: #213e7f;
164
+ color: #fff;
165
+ }
166
+
167
+ #wp-to-twitter .wpt-pro-tab:hover, #wp-to-twitter .wpt-pro-tab:focus {
168
+ background: #fff;
169
+ color: #213e7f;
170
+ }
171
+
172
  #wpt_settings_page input[type=text] {
173
  font-size: 1.3em;
174
  padding: 4px;
254
  background: #233c7f;
255
  }
256
 
257
+ .jcd-narrow .free .postbox, .jcd-narrow .free .postbox a, .jcd-narrow .free .postbox h3 {
258
+ background: #233c7f;
259
+ color: #fff;
260
+ }
261
+
262
+ .jcd-narrow .free .postbox .cta a {
263
+ font-size: 1.4em;
264
+ padding: .5em;
265
+ }
266
+
267
+ .jcd-narrow .postbox a:hover, .jcd-narrow .postbox a:focus {
268
+ text-decoration: none;
269
+ }
270
+
271
+ .jcd-narrow .free .postbox h3 {
272
+ background: #007eb3;
273
+ color: #fff;
274
+ text-shadow: 0 0 1px #000;
275
+ font-size: 1.1em;
276
+ }
277
+
278
+ .wpt-support-me p {
279
+ font-size: 1.6em;
280
+ font-weight: 600;
281
+ background: #007eb3;
282
+ text-shadow: 1px 1px rgb( 35, 60, 127 );
283
+ padding: 1em;
284
+ text-align: center;
285
+ margin: 0 0 1em;
286
+ }
287
+
288
+ .wpt-support-me p, .wpt-support-me a {
289
+ color: #fff;
290
+ }
291
+
292
+ .wpt-support-me a:hover, .wpt-support-me a:focus {
293
+ text-decoration: none;
294
+ }
295
+
296
  @media (max-width: 782px) {
297
  .jcd-narrow {
298
  width: 100%;
css/twitter-feed.css CHANGED
@@ -1,3 +1,7 @@
 
 
 
 
1
  .wpt-left {
2
  float: left;
3
  margin-right: 10px;
1
+ .wpt-header iframe {
2
+ float: right;
3
+ }
4
+
5
  .wpt-left {
6
  float: left;
7
  margin-right: 10px;
js/jquery.charcount.js CHANGED
@@ -31,12 +31,17 @@
31
  function calculate(obj) {
32
  var count = $(obj).val().length;
33
  // supported shortcodes
34
- var urlcount = $(obj).val().indexOf('#url#') > -1 ? 18 : 0;
35
- var titlecount = $(obj).val().indexOf('#title#') > -1 ? ($('#title').val().length - 7) : 0;
36
- var namecount = $(obj).val().indexOf('#blog#') > -1 ? ($('#wp-admin-bar-site-name').val().length - 6) : 0;
37
- var imgcount = ( $('#wpt_image_yes:checked').length && $( '#remove-post-thumbnail' ).length ) ? 22 : 0;
 
 
 
 
 
38
 
39
- var available = options.allowed - ( count + urlcount + titlecount + namecount + imgcount );
40
 
41
  if (available <= options.warning && available >= 0) {
42
  $(obj).next().addClass(options.cssWarning);
31
  function calculate(obj) {
32
  var count = $(obj).val().length;
33
  // supported shortcodes
34
+ var urlcount = $(obj).val().indexOf('#url#') > -1 ? 18 : 0;
35
+ var longurlcount = $(obj).val().indexOf('#longurl#') > -1 ? 14 : 0;
36
+ if ( $( '#title' ).length ) {
37
+ var titlecount = $(obj).val().indexOf('#title#') > -1 ? ( $('#title').val().length - 7 ) : 0;
38
+ } else {
39
+ var titlecount = 0;
40
+ }
41
+ var namecount = $(obj).val().indexOf('#blog#') > -1 ? ($('#wp-admin-bar-site-name a').val().length - 6) : 0;
42
+ var imgcount = ( $('#wpt_image_yes:checked').length && $( '#remove-post-thumbnail' ).length ) ? 22 : 0;
43
 
44
+ var available = options.allowed - ( count + urlcount + longurlcount + titlecount + namecount + imgcount );
45
 
46
  if (available <= options.warning && available >= 0) {
47
  $(obj).next().addClass(options.cssWarning);
lang/wp-to-twitter-en_AU.mo ADDED
Binary file
lang/wp-to-twitter-nl_NL.mo CHANGED
Binary file
lang/wp-to-twitter.pot CHANGED
@@ -1,1487 +1,1558 @@
1
- # Copyright (C) 2014 WP to Twitter
2
  # This file is distributed under the same license as the WP to Twitter package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: WP to Twitter 2.8.0\n"
6
- "Report-Msgid-Bugs-To: http://wordpress.org/tag/wp-to-twitter\n"
7
- "POT-Creation-Date: 2014-01-06 23:23:26+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
- "PO-Revision-Date: 2014-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
15
- #: wp-to-twitter-manager.php:41
16
- msgid "No error information is available for your shortener."
17
  msgstr ""
18
 
19
- #: wp-to-twitter-manager.php:43
20
- msgid ""
21
- "<li class=\"error\"><strong>WP to Twitter was unable to contact your "
22
- "selected URL shortening service.</strong></li>"
23
  msgstr ""
24
 
25
- #: wp-to-twitter-manager.php:46
26
- msgid ""
27
- "<li><strong>WP to Twitter successfully contacted your selected URL "
28
- "shortening service.</strong> The following link should point to your blog "
29
- "homepage:"
30
  msgstr ""
31
 
32
- #: wp-to-twitter-manager.php:54
33
- msgid ""
34
- "<li><strong>WP to Twitter successfully submitted a status update to Twitter."
35
- "</strong></li>"
36
- msgstr ""
37
-
38
- #: wp-to-twitter-manager.php:57
39
- msgid ""
40
- "<li class=\"error\"><strong>WP to Twitter failed to submit an update to "
41
- "Twitter.</strong></li>"
42
- msgstr ""
43
-
44
- #: wp-to-twitter-manager.php:61
45
- msgid "You have not connected WordPress to Twitter."
46
  msgstr ""
47
 
48
- #: wp-to-twitter-manager.php:65
49
- msgid ""
50
- "<li class=\"error\"><strong>Your server does not appear to support the "
51
- "required methods for WP to Twitter to function.</strong> You can try it "
52
- "anyway - these tests aren't perfect.</li>"
53
  msgstr ""
54
 
55
- #: wp-to-twitter-manager.php:69
56
  msgid ""
57
- "<li><strong>Your server should run WP to Twitter successfully.</strong></li>"
58
- msgstr ""
59
-
60
- #: wp-to-twitter-manager.php:88
61
- msgid "WP to Twitter Errors Cleared"
62
  msgstr ""
63
 
64
- #: wp-to-twitter-manager.php:170
65
- msgid "WP to Twitter is now connected with Twitter."
66
  msgstr ""
67
 
68
- #: wp-to-twitter-manager.php:177
69
  msgid ""
70
- "WP to Twitter failed to connect with Twitter. Try <a href=\"#wpt_http"
71
- "\">switching to an HTTP connection</a>."
 
 
72
  msgstr ""
73
 
74
- #: wp-to-twitter-manager.php:178
75
- msgid "Error:"
76
  msgstr ""
77
 
78
- #: wp-to-twitter-manager.php:185
79
- msgid "OAuth Authentication Data Cleared."
80
  msgstr ""
81
 
82
- #: wp-to-twitter-manager.php:192
83
  msgid ""
84
- "OAuth Authentication Failed. Your server time is not in sync with the "
85
- "Twitter servers. Talk to your hosting service to see what can be done."
86
  msgstr ""
87
 
88
- #: wp-to-twitter-manager.php:199
89
- msgid "OAuth Authentication response not understood."
90
  msgstr ""
91
 
92
- #: wp-to-twitter-manager.php:374
93
- msgid "WP to Twitter Advanced Options Updated"
94
  msgstr ""
95
 
96
- #: wp-to-twitter-manager.php:393
97
- msgid "WP to Twitter Options Updated"
 
 
 
 
 
98
  msgstr ""
99
 
100
- #: wp-to-twitter-manager.php:414
101
- msgid ""
102
- "<p>One or more of your last posts has failed to send a status update to "
103
- "Twitter. The Tweet has been saved, and you can re-Tweet it at your leisure.</"
104
- "p>"
105
  msgstr ""
106
 
107
- #: wp-to-twitter-manager.php:420
108
- msgid ""
109
- "Sorry! I couldn't get in touch with the Twitter servers to post your "
110
- "<strong>new link</strong>! You'll have to post it manually, I'm afraid. "
111
  msgstr ""
112
 
113
- #: wp-to-twitter-manager.php:423
114
  msgid ""
115
- "<p>The query to the URL shortener API failed, and your URL was not shrunk. "
116
- "The full post URL was attached to your Tweet. Check with your URL shortening "
117
- "provider to see if there are any known issues.</p>"
 
118
  msgstr ""
119
 
120
- #: wp-to-twitter-manager.php:429
121
- msgid "Clear 'WP to Twitter' Error Messages"
122
  msgstr ""
123
 
124
- #: wp-to-twitter-manager.php:435
125
- msgid "WP to Twitter Options"
126
  msgstr ""
127
 
128
- #: wp-to-twitter-manager.php:457
129
  msgid "Status Update Templates"
130
  msgstr ""
131
 
132
- #: wp-to-twitter-manager.php:462 wp-to-twitter-manager.php:545
133
- msgid "Save WP to Twitter Options"
134
- msgstr ""
135
-
136
- #: wp-to-twitter-manager.php:477 wp-to-twitter-manager.php:533
137
  msgid "Links"
138
  msgstr ""
139
 
140
- #: wp-to-twitter-manager.php:497
141
  msgid ""
142
  "These categories are currently <strong>excluded</strong> by the deprecated "
143
  "WP to Twitter category filters."
144
  msgstr ""
145
 
146
- #: wp-to-twitter-manager.php:499
147
  msgid ""
148
  "These categories are currently <strong>allowed</strong> by the deprecated WP "
149
  "to Twitter category filters."
150
  msgstr ""
151
 
152
- #: wp-to-twitter-manager.php:508
153
  msgid ""
154
  "<a href=\"%s\">Upgrade to WP Tweets PRO</a> to filter posts in all custom "
155
  "post types on any taxonomy."
156
  msgstr ""
157
 
158
- #: wp-to-twitter-manager.php:510
159
  msgid ""
160
  "Updating the WP Tweets PRO taxonomy filters will overwrite your old category "
161
  "filters."
162
  msgstr ""
163
 
164
- #: wp-to-twitter-manager.php:518
165
  msgid "Update when %1$s %2$s is published"
166
  msgstr ""
167
 
168
- #: wp-to-twitter-manager.php:518
169
  msgid "Template for new %1$s updates"
170
  msgstr ""
171
 
172
- #: wp-to-twitter-manager.php:522
173
  msgid "Update when %1$s %2$s is edited"
174
  msgstr ""
175
 
176
- #: wp-to-twitter-manager.php:522
177
  msgid "Template for %1$s editing updates"
178
  msgstr ""
179
 
180
- #: wp-to-twitter-manager.php:536
181
  msgid "Update Twitter when you post a Blogroll link"
182
  msgstr ""
183
 
184
- #: wp-to-twitter-manager.php:537
185
  msgid "Text for new link updates:"
186
  msgstr ""
187
 
188
- #: wp-to-twitter-manager.php:537
189
  msgid ""
190
  "Available shortcodes: <code>#url#</code>, <code>#title#</code>, and "
191
  "<code>#description#</code>."
192
  msgstr ""
193
 
194
- #: wp-to-twitter-manager.php:557
195
- msgid "Advanced Settings"
196
- msgstr ""
197
-
198
- #: wp-to-twitter-manager.php:562 wp-to-twitter-manager.php:726
199
- msgid "Save Advanced WP to Twitter Options"
200
  msgstr ""
201
 
202
- #: wp-to-twitter-manager.php:565
203
- msgid "Tags"
204
  msgstr ""
205
 
206
- #: wp-to-twitter-manager.php:567
207
- msgid "Strip nonalphanumeric characters from tags"
208
  msgstr ""
209
 
210
- #: wp-to-twitter-manager.php:570
211
- msgid "Use tag slug as hashtag value"
212
  msgstr ""
213
 
214
- #: wp-to-twitter-manager.php:573
215
- msgid "Spaces in tags replaced with:"
216
  msgstr ""
217
 
218
- #: wp-to-twitter-manager.php:576
219
- msgid "Maximum number of tags to include:"
220
  msgstr ""
221
 
222
- #: wp-to-twitter-manager.php:577
223
- msgid "Maximum length in characters for included tags:"
 
224
  msgstr ""
225
 
226
- #: wp-to-twitter-manager.php:581
227
- msgid "Template Tag Settings"
228
  msgstr ""
229
 
230
- #: wp-to-twitter-manager.php:583
231
- msgid "Length of post excerpt (in characters):"
232
  msgstr ""
233
 
234
- #: wp-to-twitter-manager.php:583
235
- msgid ""
236
- "Extracted from the post. If you use the 'Excerpt' field, it will be used "
237
- "instead."
238
  msgstr ""
239
 
240
- #: wp-to-twitter-manager.php:586
241
- msgid "WP to Twitter Date Formatting:"
242
  msgstr ""
243
 
244
- #: wp-to-twitter-manager.php:586
245
  msgid ""
246
- "Default is from your general settings. <a href='http://codex.wordpress.org/"
247
- "Formatting_Date_and_Time'>Date Formatting Documentation</a>."
248
  msgstr ""
249
 
250
- #: wp-to-twitter-manager.php:590
251
- msgid "Custom text before all Tweets:"
252
  msgstr ""
253
 
254
- #: wp-to-twitter-manager.php:593
255
- msgid "Custom text after all Tweets:"
 
 
256
  msgstr ""
257
 
258
- #: wp-to-twitter-manager.php:596
259
- msgid "Custom field for an alternate URL to be shortened and Tweeted:"
 
260
  msgstr ""
261
 
262
- #: wp-to-twitter-manager.php:626
263
- msgid "Template tag priority order"
 
 
264
  msgstr ""
265
 
266
- #: wp-to-twitter-manager.php:627
267
  msgid ""
268
- "The order in which items will be abbreviated or removed from your Tweet if "
269
- "the Tweet is too long to send to Twitter."
 
270
  msgstr ""
271
 
272
- #: wp-to-twitter-manager.php:633
273
- msgid "Special Cases when WordPress should send a Tweet"
 
 
274
  msgstr ""
275
 
276
- #: wp-to-twitter-manager.php:636
277
- msgid "Do not post Tweets by default"
278
  msgstr ""
279
 
280
- #: wp-to-twitter-manager.php:638
281
- msgid "Do not post Tweets by default (editing only)"
282
  msgstr ""
283
 
284
- #: wp-to-twitter-manager.php:640
285
- msgid "Allow status updates from Quick Edit"
286
  msgstr ""
287
 
288
- #: wp-to-twitter-manager.php:644
289
- msgid "Google Analytics Settings"
290
  msgstr ""
291
 
292
- #: wp-to-twitter-manager.php:645
293
- msgid ""
294
- "You can track the response from Twitter using Google Analytics by defining a "
295
- "campaign identifier here. You can either define a static identifier or a "
296
- "dynamic identifier. Static identifiers don't change from post to post; "
297
- "dynamic identifiers are derived from information relevant to the specific "
298
- "post. Dynamic identifiers will allow you to break down your statistics by an "
299
- "additional variable."
300
  msgstr ""
301
 
302
- #: wp-to-twitter-manager.php:648
303
- msgid "Use a Static Identifier with WP-to-Twitter"
304
  msgstr ""
305
 
306
- #: wp-to-twitter-manager.php:649
307
- msgid "Static Campaign identifier for Google Analytics:"
308
  msgstr ""
309
 
310
- #: wp-to-twitter-manager.php:653
311
- msgid "Use a dynamic identifier with Google Analytics and WP-to-Twitter"
312
  msgstr ""
313
 
314
- #: wp-to-twitter-manager.php:654
315
- msgid "What dynamic identifier would you like to use?"
316
  msgstr ""
317
 
318
- #: wp-to-twitter-manager.php:656
319
- msgid "Category"
320
  msgstr ""
321
 
322
- #: wp-to-twitter-manager.php:657
323
- msgid "Post ID"
324
  msgstr ""
325
 
326
- #: wp-to-twitter-manager.php:658
327
- msgid "Post Title"
328
  msgstr ""
329
 
330
- #: wp-to-twitter-manager.php:659
331
- msgid "Author"
332
  msgstr ""
333
 
334
- #: wp-to-twitter-manager.php:663
335
- msgid "No Analytics"
336
  msgstr ""
337
 
338
- #: wp-to-twitter-manager.php:667
339
- msgid "Author Settings"
340
  msgstr ""
341
 
342
- #: wp-to-twitter-manager.php:670
343
- msgid "Authors have individual Twitter accounts"
344
  msgstr ""
345
 
346
- #: wp-to-twitter-manager.php:672
347
  msgid ""
348
- "Authors can add their username in their user profile. With the free edition "
349
- "of WP to Twitter, it adds an @reference to the author. The @reference is "
350
- "placed using the <code>#account#</code> shortcode, which will pick up the "
351
- "main account if the user account isn't configured."
352
  msgstr ""
353
 
354
- #: wp-to-twitter-manager.php:676
355
- msgid "Permissions"
356
  msgstr ""
357
 
358
- #: wp-to-twitter-manager.php:692
359
- msgid "The lowest user group that can add their Twitter information"
360
  msgstr ""
361
 
362
- #: wp-to-twitter-manager.php:697
363
- msgid ""
364
- "The lowest user group that can see the Custom Tweet options when posting"
365
  msgstr ""
366
 
367
- #: wp-to-twitter-manager.php:702
368
- msgid "The lowest user group that can toggle the Tweet/Don't Tweet option"
369
  msgstr ""
370
 
371
- #: wp-to-twitter-manager.php:707
372
- msgid "The lowest user group that can send Twitter updates"
373
  msgstr ""
374
 
375
- #: wp-to-twitter-manager.php:711
376
- msgid "Error Messages and Debugging"
377
  msgstr ""
378
 
379
- #: wp-to-twitter-manager.php:713
380
- msgid "Disable global URL shortener error messages."
381
  msgstr ""
382
 
383
- #: wp-to-twitter-manager.php:714
384
- msgid "Disable global Twitter API error messages."
385
  msgstr ""
386
 
387
- #: wp-to-twitter-manager.php:716
388
- msgid "Get Debugging Data for OAuth Connection"
389
  msgstr ""
390
 
391
- #: wp-to-twitter-manager.php:718
392
- msgid "Switch to <code>http</code> connection. (Default is https)"
393
  msgstr ""
394
 
395
- #: wp-to-twitter-manager.php:720
396
- msgid "I made a donation, so stop whinging at me, please."
397
  msgstr ""
398
 
399
- #: wp-to-twitter-manager.php:735
400
- msgid "Get Plug-in Support"
401
- msgstr ""
402
-
403
- #: wp-to-twitter-manager.php:746
404
- msgid "Check Support"
405
  msgstr ""
406
 
407
- #: wp-to-twitter-manager.php:746
408
- msgid ""
409
- "Check whether your server supports <a href=\"http://www.joedolson.com/"
410
- "articles/wp-to-twitter/\">WP to Twitter's</a> queries to the Twitter and URL "
411
- "shortening APIs. This test will send a status update to Twitter and shorten "
412
- "a URL using your selected methods."
413
  msgstr ""
414
 
415
- #: wp-to-twitter-manager.php:765
416
- msgid "Support WP to Twitter"
417
  msgstr ""
418
 
419
- #: wp-to-twitter-manager.php:767
420
- msgid "WP to Twitter Support"
421
  msgstr ""
422
 
423
- #: wp-to-twitter-manager.php:775 wp-to-twitter.php:1143 wp-to-twitter.php:1145
424
- msgid "Get Support"
425
  msgstr ""
426
 
427
- #: wp-to-twitter-manager.php:777
428
- msgid ""
429
- "<a href=\"http://www.joedolson.com/donate.php\">Make a donation today!</"
430
- "a><br />Every donation matters - donate $5, $20, or $100 today!"
431
  msgstr ""
432
 
433
- #: wp-to-twitter-manager.php:797
434
- msgid "Upgrade Now!"
435
  msgstr ""
436
 
437
- #: wp-to-twitter-manager.php:799
438
- msgid "Upgrade to <strong>WP Tweets PRO</strong>!"
439
  msgstr ""
440
 
441
- #: wp-to-twitter-manager.php:800
442
- msgid "Bonuses in the PRO upgrade:"
443
  msgstr ""
444
 
445
- #: wp-to-twitter-manager.php:802
446
- msgid "Authors can post to their own Twitter accounts"
447
  msgstr ""
448
 
449
- #: wp-to-twitter-manager.php:803
450
- msgid "Delay Tweets minutes or hours after you publish"
451
  msgstr ""
452
 
453
- #: wp-to-twitter-manager.php:804
454
- msgid "Automatically schedule Tweets to post again later"
455
  msgstr ""
456
 
457
- #: wp-to-twitter-manager.php:805
458
- msgid "Send Tweets for approved comments"
459
  msgstr ""
460
 
461
- #: wp-to-twitter-manager.php:806
462
- msgid "Filter Tweets by category, tag, or custom taxonomy"
463
  msgstr ""
464
 
465
- #: wp-to-twitter-manager.php:821
466
- msgid "Shortcodes"
467
  msgstr ""
468
 
469
- #: wp-to-twitter-manager.php:823
470
- msgid "Available in post update templates:"
471
  msgstr ""
472
 
473
- #: wp-to-twitter-manager.php:825
474
- msgid "<code>#title#</code>: the title of your blog post"
475
  msgstr ""
476
 
477
- #: wp-to-twitter-manager.php:826
478
- msgid "<code>#blog#</code>: the title of your blog"
479
  msgstr ""
480
 
481
- #: wp-to-twitter-manager.php:827
482
- msgid "<code>#post#</code>: a short excerpt of the post content"
483
  msgstr ""
484
 
485
- #: wp-to-twitter-manager.php:828
486
- msgid "<code>#category#</code>: the first selected category for the post"
487
  msgstr ""
488
 
489
- #: wp-to-twitter-manager.php:829
490
  msgid ""
491
- "<code>#cat_desc#</code>: custom value from the category description field"
492
- msgstr ""
493
-
494
- #: wp-to-twitter-manager.php:830
495
- msgid "<code>#date#</code>: the post date"
496
  msgstr ""
497
 
498
- #: wp-to-twitter-manager.php:831
499
- msgid "<code>#modified#</code>: the post modified date"
500
  msgstr ""
501
 
502
- #: wp-to-twitter-manager.php:832
503
- msgid "<code>#url#</code>: the post URL"
504
  msgstr ""
505
 
506
- #: wp-to-twitter-manager.php:833
507
- msgid ""
508
- "<code>#author#</code>: the post author (@reference if available, otherwise "
509
- "display name)"
510
  msgstr ""
511
 
512
- #: wp-to-twitter-manager.php:834
513
- msgid "<code>#displayname#</code>: post author's display name"
514
  msgstr ""
515
 
516
- #: wp-to-twitter-manager.php:835
517
- msgid ""
518
- "<code>#account#</code>: the twitter @reference for the account (or the "
519
- "author, if author settings are enabled and set.)"
520
  msgstr ""
521
 
522
- #: wp-to-twitter-manager.php:836
523
  msgid ""
524
- "<code>#@#</code>: the twitter @reference for the author or blank, if not set"
 
525
  msgstr ""
526
 
527
- #: wp-to-twitter-manager.php:837
528
- msgid ""
529
- "<code>#tags#</code>: your tags modified into hashtags. See options in the "
530
- "Advanced Settings section, below."
531
  msgstr ""
532
 
533
- #: wp-to-twitter-manager.php:839
534
- msgid ""
535
- "<code>#reference#</code>: Used only in co-tweeting. @reference to main "
536
- "account when posted to author account, @reference to author account in post "
537
- "to main account."
538
  msgstr ""
539
 
540
- #: wp-to-twitter-manager.php:842
541
  msgid ""
542
- "You can also create custom shortcodes to access WordPress custom fields. Use "
543
- "doubled square brackets surrounding the name of your custom field to add the "
544
- "value of that custom field to your status update. Example: <code>"
545
- "[[custom_field]]</code></p>"
546
  msgstr ""
547
 
548
- #: wp-to-twitter-oauth.php:115
549
- msgid "WP to Twitter was unable to establish a connection to Twitter."
550
  msgstr ""
551
 
552
- #: wp-to-twitter-oauth.php:186
553
- msgid ""
554
- "Connection Problems? Try <a href='#wpt_http'>switching to <code>http</code> "
555
- "queries</a>."
556
  msgstr ""
557
 
558
- #: wp-to-twitter-oauth.php:187
559
- msgid "There was an error querying Twitter's servers"
560
  msgstr ""
561
 
562
- #: wp-to-twitter-oauth.php:202
563
- msgid ""
564
- "Twitter requires authentication by OAuth. You will need to <a "
565
- "href='%s'>update your settings</a> to complete installation of WP to Twitter."
566
  msgstr ""
567
 
568
- #: wp-to-twitter-oauth.php:211 wp-to-twitter-oauth.php:214
569
- msgid "Connect to Twitter"
570
  msgstr ""
571
 
572
- #: wp-to-twitter-oauth.php:217
573
- msgid "WP to Twitter Set-up"
574
  msgstr ""
575
 
576
- #: wp-to-twitter-oauth.php:218 wp-to-twitter-oauth.php:310
577
- #: wp-to-twitter-oauth.php:315
578
- msgid "Your server time:"
579
  msgstr ""
580
 
581
- #: wp-to-twitter-oauth.php:218
582
- msgid "Twitter's time:"
 
 
583
  msgstr ""
584
 
585
- #: wp-to-twitter-oauth.php:218
586
- msgid ""
587
- "If these timestamps are not within 5 minutes of each other, your server will "
588
- "not connect to Twitter."
589
  msgstr ""
590
 
591
- #: wp-to-twitter-oauth.php:220
592
- msgid "Your server timezone (should be UTC,GMT,Europe/London or equivalent):"
593
  msgstr ""
594
 
595
- #: wp-to-twitter-oauth.php:224
596
  msgid "1. Register this site as an application on "
597
  msgstr ""
598
 
599
- #: wp-to-twitter-oauth.php:224
600
  msgid "Twitter's application registration page"
601
  msgstr ""
602
 
603
- #: wp-to-twitter-oauth.php:226
604
  msgid ""
605
  "If you're not currently logged in to Twitter, log-in to the account you want "
606
  "associated with this site"
607
  msgstr ""
608
 
609
- #: wp-to-twitter-oauth.php:227
610
  msgid "Your application name cannot include the word \"Twitter.\""
611
  msgstr ""
612
 
613
- #: wp-to-twitter-oauth.php:228
614
  msgid "Your Application Description can be anything."
615
  msgstr ""
616
 
617
- #: wp-to-twitter-oauth.php:229
618
  msgid "The WebSite and Callback URL should be "
619
  msgstr ""
620
 
621
- #: wp-to-twitter-oauth.php:231
622
- msgid "Agree to the Developer Rules of the Road and continue."
623
- msgstr ""
624
-
625
- #: wp-to-twitter-oauth.php:232
626
- msgid "2. Switch to the \"Settings\" tab in Twitter apps"
627
  msgstr ""
628
 
629
- #: wp-to-twitter-oauth.php:232
630
- msgid "<em>Do NOT create your access token yet.</em>"
631
  msgstr ""
632
 
633
- #: wp-to-twitter-oauth.php:234
634
  msgid "Select \"Read and Write\" for the Application Type"
635
  msgstr ""
636
 
637
- #: wp-to-twitter-oauth.php:235
638
  msgid "Update the application settings"
639
  msgstr ""
640
 
641
- #: wp-to-twitter-oauth.php:236
642
- msgid "Return to the Details tab and create your access token."
 
 
643
  msgstr ""
644
 
645
- #: wp-to-twitter-oauth.php:238
646
  msgid ""
647
- "Once you have registered your site as an application, you will be provided "
648
- "with four keys."
649
  msgstr ""
650
 
651
- #: wp-to-twitter-oauth.php:239
652
  msgid ""
653
- "3. Copy and paste your consumer key and consumer secret into the fields below"
 
654
  msgstr ""
655
 
656
- #: wp-to-twitter-oauth.php:242
657
- msgid "Twitter Consumer Key"
658
  msgstr ""
659
 
660
- #: wp-to-twitter-oauth.php:246
661
- msgid "Twitter Consumer Secret"
662
  msgstr ""
663
 
664
- #: wp-to-twitter-oauth.php:250
665
  msgid ""
666
  "4. Copy and paste your Access Token and Access Token Secret into the fields "
667
  "below"
668
  msgstr ""
669
 
670
- #: wp-to-twitter-oauth.php:251
671
  msgid ""
672
- "If the Access level for your Access Token is not \"<em>Read and write</em>"
673
  "\", you must return to step 2 and generate a new Access Token."
674
  msgstr ""
675
 
676
- #: wp-to-twitter-oauth.php:254
677
  msgid "Access Token"
678
  msgstr ""
679
 
680
- #: wp-to-twitter-oauth.php:258
681
  msgid "Access Token Secret"
682
  msgstr ""
683
 
684
- #: wp-to-twitter-oauth.php:277
685
- msgid "Disconnect Your WordPress and Twitter Account"
686
- msgstr ""
687
-
688
- #: wp-to-twitter-oauth.php:281
689
  msgid "Disconnect your WordPress and Twitter Account"
690
  msgstr ""
691
 
692
- #: wp-to-twitter-oauth.php:283
693
- msgid ""
694
- "<strong>Troubleshooting tip:</strong> Connected, but getting a error that "
695
- "your Authentication credentials are missing or incorrect? Check that your "
696
- "Access token has read and write permission. If not, you'll need to create a "
697
- "new token. <a href=\"http://www.joedolson.com/articles/wp-to-twitter/"
698
- "support-2/#q1\">Read the FAQ</a>"
699
- msgstr ""
700
-
701
- #: wp-to-twitter-oauth.php:285
702
- msgid ""
703
- "Your time stamps are more than 5 minutes apart. Your server could lose its "
704
- "connection with Twitter."
705
- msgstr ""
706
-
707
- #: wp-to-twitter-oauth.php:287
708
- msgid ""
709
- "WP to Twitter could not contact Twitter's remote server. Here is the error "
710
- "triggered: "
711
- msgstr ""
712
-
713
- #: wp-to-twitter-oauth.php:292
714
  msgid "Disconnect from Twitter"
715
  msgstr ""
716
 
717
- #: wp-to-twitter-oauth.php:298
718
  msgid "Twitter Username "
719
  msgstr ""
720
 
721
- #: wp-to-twitter-oauth.php:299
722
- msgid "Consumer Key "
723
  msgstr ""
724
 
725
- #: wp-to-twitter-oauth.php:300
726
- msgid "Consumer Secret "
727
  msgstr ""
728
 
729
- #: wp-to-twitter-oauth.php:301
730
  msgid "Access Token "
731
  msgstr ""
732
 
733
- #: wp-to-twitter-oauth.php:302
734
  msgid "Access Token Secret "
735
  msgstr ""
736
 
737
- #: wp-to-twitter-oauth.php:310 wp-to-twitter-oauth.php:316
738
- msgid "Twitter's server time: "
739
  msgstr ""
740
 
741
- #: wp-to-twitter-shorteners.php:295
742
  msgid ""
743
  "<abbr title=\"Uniform Resource Locator\">URL</abbr> Shortener Account "
744
  "Settings"
745
  msgstr ""
746
 
747
- #: wp-to-twitter-shorteners.php:299
748
  msgid "Your Su.pr account details"
749
  msgstr ""
750
 
751
- #: wp-to-twitter-shorteners.php:299
752
  msgid "(optional)"
753
  msgstr ""
754
 
755
- #: wp-to-twitter-shorteners.php:304
756
  msgid "Your Su.pr Username:"
757
  msgstr ""
758
 
759
- #: wp-to-twitter-shorteners.php:308
760
  msgid ""
761
  "Your Su.pr <abbr title='application programming interface'>API</abbr> Key:"
762
  msgstr ""
763
 
764
- #: wp-to-twitter-shorteners.php:315
 
 
 
 
 
 
 
 
765
  msgid ""
766
- "Don't have a Su.pr account or API key? <a href='http://su.pr/'>Get one here</"
767
- "a>!<br />You'll need an API key in order to associate the URLs you create "
768
- "with your Su.pr account."
769
  msgstr ""
770
 
771
- #: wp-to-twitter-shorteners.php:321
772
  msgid "Your Bit.ly account details"
773
  msgstr ""
774
 
775
- #: wp-to-twitter-shorteners.php:326
776
  msgid "Your Bit.ly username:"
777
  msgstr ""
778
 
779
- #: wp-to-twitter-shorteners.php:330
780
  msgid ""
781
  "Your Bit.ly <abbr title='application programming interface'>API</abbr> Key:"
782
  msgstr ""
783
 
784
- #: wp-to-twitter-shorteners.php:333
785
  msgid "View your Bit.ly username and API key"
786
  msgstr ""
787
 
788
- #: wp-to-twitter-shorteners.php:338
789
  msgid "Save Bit.ly API Key"
790
  msgstr ""
791
 
792
- #: wp-to-twitter-shorteners.php:338
793
  msgid "Clear Bit.ly API Key"
794
  msgstr ""
795
 
796
- #: wp-to-twitter-shorteners.php:338
797
- msgid ""
798
- "A Bit.ly API key and username is required to shorten URLs via the Bit.ly API "
799
- "and WP to Twitter."
800
- msgstr ""
801
-
802
- #: wp-to-twitter-shorteners.php:344
803
  msgid "Your YOURLS account details"
804
  msgstr ""
805
 
806
- #: wp-to-twitter-shorteners.php:349
807
  msgid "Path to your YOURLS config file (Local installations)"
808
  msgstr ""
809
 
810
- #: wp-to-twitter-shorteners.php:350 wp-to-twitter-shorteners.php:354
811
  msgid "Example:"
812
  msgstr ""
813
 
814
- #: wp-to-twitter-shorteners.php:353
815
  msgid "URI to the YOURLS API (Remote installations)"
816
  msgstr ""
817
 
818
- #: wp-to-twitter-shorteners.php:357
819
- msgid "Your YOURLS username:"
820
  msgstr ""
821
 
822
- #: wp-to-twitter-shorteners.php:361
823
- msgid "Your YOURLS password:"
824
- msgstr ""
825
-
826
- #: wp-to-twitter-shorteners.php:361
827
- msgid "<em>Saved</em>"
828
  msgstr ""
829
 
830
- #: wp-to-twitter-shorteners.php:365
831
  msgid "Post ID for YOURLS url slug."
832
  msgstr ""
833
 
834
- #: wp-to-twitter-shorteners.php:366
835
  msgid "Custom keyword for YOURLS url slug."
836
  msgstr ""
837
 
838
- #: wp-to-twitter-shorteners.php:367
839
  msgid "Default: sequential URL numbering."
840
  msgstr ""
841
 
842
- #: wp-to-twitter-shorteners.php:373
843
- msgid "Save YOURLS Account Info"
844
- msgstr ""
845
-
846
- #: wp-to-twitter-shorteners.php:373
847
- msgid "Clear YOURLS password"
848
  msgstr ""
849
 
850
- #: wp-to-twitter-shorteners.php:373
851
- msgid ""
852
- "A YOURLS password and username is required to shorten URLs via the remote "
853
- "YOURLS API and WP to Twitter."
854
  msgstr ""
855
 
856
- #: wp-to-twitter-shorteners.php:379
857
  msgid "Your jotURL account details"
858
  msgstr ""
859
 
860
- #: wp-to-twitter-shorteners.php:383
861
  msgid ""
862
  "Your jotURL public <abbr title='application programming interface'>API</"
863
  "abbr> key:"
864
  msgstr ""
865
 
866
- #: wp-to-twitter-shorteners.php:384
867
  msgid ""
868
  "Your jotURL private <abbr title='application programming interface'>API</"
869
  "abbr> key:"
870
  msgstr ""
871
 
872
- #: wp-to-twitter-shorteners.php:385
873
  msgid "Parameters to add to the long URL (before shortening):"
874
  msgstr ""
875
 
876
- #: wp-to-twitter-shorteners.php:385
877
  msgid "Parameters to add to the short URL (after shortening):"
878
  msgstr ""
879
 
880
- #: wp-to-twitter-shorteners.php:386
881
  msgid "View your jotURL public and private API key"
882
  msgstr ""
883
 
884
- #: wp-to-twitter-shorteners.php:389
885
  msgid "Save jotURL settings"
886
  msgstr ""
887
 
888
- #: wp-to-twitter-shorteners.php:389
889
  msgid "Clear jotURL settings"
890
  msgstr ""
891
 
892
- #: wp-to-twitter-shorteners.php:390
893
- msgid ""
894
- "A jotURL public and private API key is required to shorten URLs via the "
895
- "jotURL API and WP to Twitter."
896
- msgstr ""
897
-
898
- #: wp-to-twitter-shorteners.php:395
899
  msgid "Your shortener does not require any account settings."
900
  msgstr ""
901
 
902
- #: wp-to-twitter-shorteners.php:407
903
- msgid "YOURLS password updated. "
904
  msgstr ""
905
 
906
- #: wp-to-twitter-shorteners.php:410
907
- msgid ""
908
- "YOURLS password deleted. You will be unable to use your remote YOURLS "
909
- "account to create short URLS."
910
- msgstr ""
911
-
912
- #: wp-to-twitter-shorteners.php:412
913
- msgid "Failed to save your YOURLS password! "
914
- msgstr ""
915
-
916
- #: wp-to-twitter-shorteners.php:416
917
- msgid "YOURLS username added. "
918
- msgstr ""
919
-
920
- #: wp-to-twitter-shorteners.php:420
921
- msgid "YOURLS API url added. "
922
- msgstr ""
923
-
924
- #: wp-to-twitter-shorteners.php:423
925
- msgid "YOURLS API url removed. "
926
- msgstr ""
927
-
928
- #: wp-to-twitter-shorteners.php:428
929
  msgid "YOURLS local server path added. "
930
  msgstr ""
931
 
932
- #: wp-to-twitter-shorteners.php:430
933
  msgid "The path to your YOURLS installation is not correct. "
934
  msgstr ""
935
 
936
- #: wp-to-twitter-shorteners.php:434
937
- msgid "YOURLS local server path removed. "
938
- msgstr ""
939
-
940
- #: wp-to-twitter-shorteners.php:439
941
  msgid "YOURLS will use Post ID for short URL slug."
942
  msgstr ""
943
 
944
- #: wp-to-twitter-shorteners.php:441
945
  msgid "YOURLS will use your custom keyword for short URL slug."
946
  msgstr ""
947
 
948
- #: wp-to-twitter-shorteners.php:445
949
- msgid "YOURLS will not use Post ID for the short URL slug."
950
  msgstr ""
951
 
952
- #: wp-to-twitter-shorteners.php:453
953
  msgid "Su.pr API Key and Username Updated"
954
  msgstr ""
955
 
956
- #: wp-to-twitter-shorteners.php:457
957
  msgid ""
958
  "Su.pr API Key and username deleted. Su.pr URLs created by WP to Twitter will "
959
  "no longer be associated with your account. "
960
  msgstr ""
961
 
962
- #: wp-to-twitter-shorteners.php:459
963
  msgid "Su.pr API Key not added - <a href='http://su.pr/'>get one here</a>! "
964
  msgstr ""
965
 
966
- #: wp-to-twitter-shorteners.php:465
967
  msgid "Bit.ly API Key Updated."
968
  msgstr ""
969
 
970
- #: wp-to-twitter-shorteners.php:468
971
  msgid ""
972
  "Bit.ly API Key deleted. You cannot use the Bit.ly API without an API key. "
973
  msgstr ""
974
 
975
- #: wp-to-twitter-shorteners.php:470
976
  msgid ""
977
  "Bit.ly API Key not added - <a href='http://bit.ly/account/'>get one here</"
978
  "a>! An API key is required to use the Bit.ly URL shortening service."
979
  msgstr ""
980
 
981
- #: wp-to-twitter-shorteners.php:474
982
  msgid " Bit.ly User Login Updated."
983
  msgstr ""
984
 
985
- #: wp-to-twitter-shorteners.php:477
986
  msgid ""
987
  "Bit.ly User Login deleted. You cannot use the Bit.ly API without providing "
988
  "your username. "
989
  msgstr ""
990
 
991
- #: wp-to-twitter-shorteners.php:479
992
  msgid ""
993
  "Bit.ly Login not added - <a href='http://bit.ly/account/'>get one here</a>! "
994
  msgstr ""
995
 
996
- #: wp-to-twitter-shorteners.php:485
997
  msgid "jotURL private API Key Updated. "
998
  msgstr ""
999
 
1000
- #: wp-to-twitter-shorteners.php:488
1001
  msgid ""
1002
  "jotURL private API Key deleted. You cannot use the jotURL API without a "
1003
  "private API key. "
1004
  msgstr ""
1005
 
1006
- #: wp-to-twitter-shorteners.php:490
1007
  msgid ""
1008
  "jotURL private API Key not added - <a href='https://www.joturl.com/reserved/"
1009
  "api.html'>get one here</a>! A private API key is required to use the jotURL "
1010
  "URL shortening service. "
1011
  msgstr ""
1012
 
1013
- #: wp-to-twitter-shorteners.php:494
1014
  msgid "jotURL public API Key Updated. "
1015
  msgstr ""
1016
 
1017
- #: wp-to-twitter-shorteners.php:497
1018
  msgid ""
1019
  "jotURL public API Key deleted. You cannot use the jotURL API without "
1020
  "providing your public API Key. "
1021
  msgstr ""
1022
 
1023
- #: wp-to-twitter-shorteners.php:499
1024
  msgid ""
1025
  "jotURL public API Key not added - <a href='https://www.joturl.com/reserved/"
1026
  "api.html'>get one here</a>! "
1027
  msgstr ""
1028
 
1029
- #: wp-to-twitter-shorteners.php:505
1030
  msgid "Long URL parameters added. "
1031
  msgstr ""
1032
 
1033
- #: wp-to-twitter-shorteners.php:508
1034
  msgid "Long URL parameters deleted. "
1035
  msgstr ""
1036
 
1037
- #: wp-to-twitter-shorteners.php:514
1038
  msgid "Short URL parameters added. "
1039
  msgstr ""
1040
 
1041
- #: wp-to-twitter-shorteners.php:517
1042
  msgid "Short URL parameters deleted. "
1043
  msgstr ""
1044
 
1045
- #: wp-to-twitter-shorteners.php:527
1046
  msgid ""
1047
  "You must add your Bit.ly login and API key in order to shorten URLs with Bit."
1048
  "ly."
1049
  msgstr ""
1050
 
1051
- #: wp-to-twitter-shorteners.php:531
1052
  msgid ""
1053
  "You must add your jotURL public and private API key in order to shorten URLs "
1054
  "with jotURL."
1055
  msgstr ""
1056
 
1057
- #: wp-to-twitter-shorteners.php:535
1058
  msgid ""
1059
  "You must add your YOURLS remote URL, login, and password in order to shorten "
1060
  "URLs with a remote installation of YOURLS."
1061
  msgstr ""
1062
 
1063
- #: wp-to-twitter-shorteners.php:539
1064
  msgid ""
1065
  "You must add your YOURLS server path in order to shorten URLs with a remote "
1066
  "installation of YOURLS."
1067
  msgstr ""
1068
 
1069
- #: wp-to-twitter-shorteners.php:549
1070
  msgid "Choose a short URL service (account settings below)"
1071
  msgstr ""
1072
 
1073
- #: wp-to-twitter-shorteners.php:551
1074
  msgid "Don't shorten URLs."
1075
  msgstr ""
1076
 
1077
- #: wp-to-twitter-shorteners.php:555
1078
  msgid "YOURLS (on this server)"
1079
  msgstr ""
1080
 
1081
- #: wp-to-twitter-shorteners.php:556
1082
  msgid "YOURLS (on a remote server)"
1083
  msgstr ""
1084
 
1085
- #: wp-to-twitter-shorteners.php:559
1086
  msgid "Use Twitter Friendly Links."
1087
  msgstr ""
1088
 
1089
- #: wp-to-twitter.php:70
1090
- msgid ""
1091
- "The current version of WP Tweets PRO is <strong>%s</strong>. <a href="
1092
- "\"http://www.joedolson.com/articles/account/\">Upgrade for best "
1093
- "compatibility!</a>"
1094
  msgstr ""
1095
 
1096
- #: wp-to-twitter.php:82
1097
- msgid ""
1098
- "Tweeting of comments has been moved to <a href=\"%1$s\">WP Tweets PRO</a>. "
1099
- "You will need to upgrade in order to Tweet comments. <a href=\"%2$s"
1100
- "\">Dismiss</a>"
1101
  msgstr ""
1102
 
1103
- #: wp-to-twitter.php:255
1104
- msgid "This account is not authorized to post to Twitter."
1105
  msgstr ""
1106
 
1107
- #: wp-to-twitter.php:264
1108
- msgid "This tweet is identical to another Tweet recently sent to this account."
1109
  msgstr ""
1110
 
1111
- #: wp-to-twitter.php:270
1112
- msgid "This tweet was blank and could not be sent to Twitter."
1113
  msgstr ""
1114
 
1115
- #: wp-to-twitter.php:305
1116
  msgid ""
1117
  "Your Twitter application does not have read and write permissions. Go to <a "
1118
  "href=\"%s\">your Twitter apps</a> to modify these settings."
1119
  msgstr ""
1120
 
1121
- #: wp-to-twitter.php:310
 
 
 
 
 
 
1122
  msgid "200 OK: Success!"
1123
  msgstr ""
1124
 
1125
- #: wp-to-twitter.php:314
1126
  msgid "304 Not Modified: There was no new data to return"
1127
  msgstr ""
1128
 
1129
- #: wp-to-twitter.php:317
1130
  msgid ""
1131
  "400 Bad Request: The request was invalid. This is the status code returned "
1132
  "during rate limiting."
1133
  msgstr ""
1134
 
1135
- #: wp-to-twitter.php:320
1136
  msgid "401 Unauthorized: Authentication credentials were missing or incorrect."
1137
  msgstr ""
1138
 
1139
- #: wp-to-twitter.php:324
1140
  msgid ""
1141
  "403 Forbidden: The request is understood, but has been refused by Twitter. "
1142
  "Possible reasons: too many Tweets, same Tweet submitted twice, Tweet longer "
1143
- "than 140 characters. Not an error from WP to Twitter."
1144
  msgstr ""
1145
 
1146
- #: wp-to-twitter.php:327
1147
  msgid ""
1148
  "404 Not Found: The URI requested is invalid or the resource requested does "
1149
  "not exist."
1150
  msgstr ""
1151
 
1152
- #: wp-to-twitter.php:330
1153
  msgid "406 Not Acceptable: Invalid Format Specified."
1154
  msgstr ""
1155
 
1156
- #: wp-to-twitter.php:333
1157
  msgid "422 Unprocessable Entity: The image uploaded could not be processed.."
1158
  msgstr ""
1159
 
1160
- #: wp-to-twitter.php:336
1161
  msgid "429 Too Many Requests: You have exceeded your rate limits."
1162
  msgstr ""
1163
 
1164
- #: wp-to-twitter.php:339
1165
  msgid "500 Internal Server Error: Something is broken at Twitter."
1166
  msgstr ""
1167
 
1168
- #: wp-to-twitter.php:342
1169
  msgid "502 Bad Gateway: Twitter is down or being upgraded."
1170
  msgstr ""
1171
 
1172
- #: wp-to-twitter.php:345
1173
  msgid ""
1174
  "503 Service Unavailable: The Twitter servers are up, but overloaded with "
1175
  "requests - Please try again later."
1176
  msgstr ""
1177
 
1178
- #: wp-to-twitter.php:348
1179
  msgid ""
1180
  "504 Gateway Timeout: The Twitter servers are up, but the request couldn't be "
1181
  "serviced due to some failure within our stack. Try again later."
1182
  msgstr ""
1183
 
1184
- #: wp-to-twitter.php:385
 
 
 
 
1185
  msgid "No Twitter OAuth connection found."
1186
  msgstr ""
1187
 
1188
- #: wp-to-twitter.php:1031
1189
  msgid "Tweeting %s edits is disabled."
1190
  msgstr ""
1191
 
1192
- #: wp-to-twitter.php:1044
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1193
  msgid "Custom Twitter Post"
1194
  msgstr ""
1195
 
1196
- #: wp-to-twitter.php:1049
1197
  msgid "Your prepended Tweet text; not part of your template."
1198
  msgstr ""
1199
 
1200
- #: wp-to-twitter.php:1052
1201
  msgid "Your appended Tweet text; not part of your template."
1202
  msgstr ""
1203
 
1204
- #: wp-to-twitter.php:1055
1205
  msgid "Your template:"
1206
  msgstr ""
1207
 
1208
- #: wp-to-twitter.php:1059
1209
  msgid "YOURLS Custom Keyword"
1210
  msgstr ""
1211
 
1212
- #: wp-to-twitter.php:1070
1213
- msgid "Don't Tweet this post."
 
 
 
 
 
 
 
 
 
 
 
 
1214
  msgstr ""
1215
 
1216
- #: wp-to-twitter.php:1070
1217
- msgid "Tweet this post."
1218
  msgstr ""
1219
 
1220
- #: wp-to-twitter.php:1099
1221
  msgid ""
1222
  "WP Tweets PRO 1.5.2+ allows you to select Twitter accounts. <a href=\"%s"
1223
  "\">Log in and download now!</a>"
1224
  msgstr ""
1225
 
1226
- #: wp-to-twitter.php:1101
1227
  msgid ""
1228
  "Upgrade to WP Tweets PRO to select Twitter accounts! <a href=\"%s\">Upgrade "
1229
  "now!</a>"
1230
  msgstr ""
1231
 
1232
- #: wp-to-twitter.php:1121
 
 
 
 
 
 
1233
  msgid ""
1234
  "Access to customizing WP to Twitter values is not allowed for your user role."
1235
  msgstr ""
1236
 
1237
- #: wp-to-twitter.php:1133
1238
  msgid ""
1239
  "Tweets must be less than 140 characters; Twitter counts URLs as 22 or 23 "
1240
  "characters. Template Tags: <code>#url#</code>, <code>#title#</code>, "
1241
  "<code>#post#</code>, <code>#category#</code>, <code>#date#</code>, "
1242
  "<code>#modified#</code>, <code>#author#</code>, <code>#account#</code>, "
1243
- "<code>#tags#</code>, or <code>#blog#</code>."
1244
  msgstr ""
1245
 
1246
- #: wp-to-twitter.php:1143
1247
- msgid "Upgrade to WP Tweets Pro"
1248
  msgstr ""
1249
 
1250
- #: wp-to-twitter.php:1152
1251
  msgid "Your role does not have the ability to Post Tweets from this site."
1252
  msgstr ""
1253
 
1254
- #: wp-to-twitter.php:1160
 
 
 
 
1255
  msgid "Previous Tweets"
1256
  msgstr ""
1257
 
1258
- #: wp-to-twitter.php:1176
1259
  msgid "Failed Tweets"
1260
  msgstr ""
1261
 
1262
- #: wp-to-twitter.php:1191
1263
- msgid "No failed tweets on this post."
1264
  msgstr ""
1265
 
1266
- #: wp-to-twitter.php:1197
1267
- msgid "Delete Tweet History"
1268
  msgstr ""
1269
 
1270
- #: wp-to-twitter.php:1232
1271
  msgid "Characters left: "
1272
  msgstr ""
1273
 
1274
- #: wp-to-twitter.php:1301
1275
  msgid "WP Tweets User Settings"
1276
  msgstr ""
1277
 
1278
- #: wp-to-twitter.php:1305
1279
  msgid "Use My Twitter Username"
1280
  msgstr ""
1281
 
1282
- #: wp-to-twitter.php:1306
1283
  msgid "Tweet my posts with an @ reference to my username."
1284
  msgstr ""
1285
 
1286
- #: wp-to-twitter.php:1307
1287
  msgid ""
1288
  "Tweet my posts with an @ reference to both my username and to the main site "
1289
  "username."
1290
  msgstr ""
1291
 
1292
- #: wp-to-twitter.php:1311
1293
  msgid "Your Twitter Username"
1294
  msgstr ""
1295
 
1296
- #: wp-to-twitter.php:1312
1297
  msgid "Enter your own Twitter username."
1298
  msgstr ""
1299
 
1300
- #: wp-to-twitter.php:1315
1301
  msgid "Hide account name in Tweets"
1302
  msgstr ""
1303
 
1304
- #: wp-to-twitter.php:1316
1305
  msgid "Do not display my account in the #account# template tag."
1306
  msgstr ""
1307
 
1308
- #: wp-to-twitter.php:1380
1309
- msgid "Settings"
1310
- msgstr ""
1311
-
1312
- #: wp-to-twitter.php:1381
1313
- msgid "Upgrade"
1314
  msgstr ""
1315
 
1316
- #: wp-to-twitter.php:1418
1317
  msgid ""
1318
  "<br /><strong>Note:</strong> Please review the <a class=\"thickbox\" href="
1319
  "\"%1$s\">changelog</a> before upgrading."
1320
  msgstr ""
1321
 
1322
- #: wp-to-twitter.php:1501
1323
  msgid ""
1324
  "I hope you've enjoyed <strong>WP to Twitter</strong>! Take a look at <a "
1325
  "href='%s'>upgrading to WP Tweets PRO</a> for advanced Tweeting with "
1326
  "WordPress! <a href='%s'>Dismiss</a>"
1327
  msgstr ""
1328
 
1329
- #: wpt-feed.php:164
 
 
 
 
 
 
 
 
1330
  msgid "Twitter returned an invalid response. It is probably down."
1331
  msgstr ""
1332
 
1333
- #: wpt-functions.php:342
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1334
  msgid ""
1335
  "Please read the FAQ and other Help documents before making a support request."
1336
  msgstr ""
1337
 
1338
- #: wpt-functions.php:344
 
 
 
 
1339
  msgid "Please describe your problem. I'm not psychic."
1340
  msgstr ""
1341
 
1342
- #: wpt-functions.php:348
1343
  msgid ""
1344
- "Thank you for supporting the continuing development of this plug-in! I'll "
1345
- "get back to you as soon as I can. Please ensure that you can receive email "
1346
- "at <code>%s</code>."
1347
  msgstr ""
1348
 
1349
- #: wpt-functions.php:350
1350
  msgid ""
1351
  "Thanks for using WP to Twitter. Please ensure that you can receive email at "
1352
  "<code>%s</code>."
1353
  msgstr ""
1354
 
1355
- #: wpt-functions.php:364
1356
- msgid ""
1357
- "<strong>Please note</strong>: I do keep records of those who have donated, "
1358
- "but if your donation came from somebody other than your account at this web "
1359
- "site, you must note this in your message."
1360
  msgstr ""
1361
 
1362
- #: wpt-functions.php:368
 
 
 
 
1363
  msgid ""
1364
  "If you're having trouble with WP to Twitter, please try to answer these "
1365
  "questions in your message:"
1366
  msgstr ""
1367
 
1368
- #: wpt-functions.php:371
1369
- msgid "Did this error happen only once, or repeatedly?"
1370
- msgstr ""
1371
-
1372
- #: wpt-functions.php:372
1373
- msgid "What was the Tweet, or an example Tweet, that produced this error?"
1374
  msgstr ""
1375
 
1376
- #: wpt-functions.php:373
1377
- msgid "If there was an error message from WP to Twitter, what was it?"
1378
  msgstr ""
1379
 
1380
- #: wpt-functions.php:374
1381
- msgid "What is the template you're using for your Tweets?"
1382
  msgstr ""
1383
 
1384
- #: wpt-functions.php:379
1385
- msgid "Reply to:"
1386
  msgstr ""
1387
 
1388
- #: wpt-functions.php:382
1389
  msgid ""
1390
  "I have read <a href=\"%1$s\">the FAQ for this plug-in</a> <span>(required)</"
1391
  "span>"
1392
  msgstr ""
1393
 
1394
- #: wpt-functions.php:385
1395
  msgid ""
1396
  "I have <a href=\"%1$s\">made a donation to help support this plug-in</a>"
1397
  msgstr ""
1398
 
1399
- #: wpt-functions.php:388
1400
  msgid "Support Request:"
1401
  msgstr ""
1402
 
1403
- #: wpt-functions.php:391
1404
  msgid "Send Support Request"
1405
  msgstr ""
1406
 
1407
- #: wpt-functions.php:394
1408
  msgid ""
1409
  "The following additional information will be sent with your support request:"
1410
  msgstr ""
1411
 
1412
- #: wpt-widget.php:52
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1413
  msgid "Error: "
1414
  msgstr ""
1415
 
1416
- #: wpt-widget.php:89
1417
  msgid "<a href=\"%3$s\">about %1$s ago</a> via %2$s"
1418
  msgstr ""
1419
 
1420
- #: wpt-widget.php:91
1421
  msgid "<a href=\"%2$s\">about %1$s ago</a>"
1422
  msgstr ""
1423
 
1424
- #: wpt-widget.php:142
1425
  msgid "Display a list of your latest tweets."
1426
  msgstr ""
1427
 
1428
- #: wpt-widget.php:150
1429
  msgid "WP to Twitter - Latest Tweets"
1430
  msgstr ""
1431
 
1432
- #: wpt-widget.php:206
1433
  msgid "Title"
1434
  msgstr ""
1435
 
1436
- #: wpt-widget.php:211
1437
  msgid "Twitter Username"
1438
  msgstr ""
1439
 
1440
- #: wpt-widget.php:216
 
 
 
 
1441
  msgid "Number of Tweets to Show"
1442
  msgstr ""
1443
 
1444
- #: wpt-widget.php:222
1445
  msgid "Hide @ Replies"
1446
  msgstr ""
1447
 
1448
- #: wpt-widget.php:227
1449
  msgid "Include Retweets"
1450
  msgstr ""
1451
 
1452
- #: wpt-widget.php:232
1453
  msgid "Parse links"
1454
  msgstr ""
1455
 
1456
- #: wpt-widget.php:237
1457
  msgid "Parse @mentions"
1458
  msgstr ""
1459
 
1460
- #: wpt-widget.php:242
 
 
 
 
1461
  msgid "Parse #hashtags"
1462
  msgstr ""
1463
 
1464
- #: wpt-widget.php:247
1465
  msgid "Include Reply/Retweet/Favorite Links"
1466
  msgstr ""
1467
 
1468
- #: wpt-widget.php:252
1469
  msgid "Include Tweet source"
1470
  msgstr ""
1471
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1472
  #. Plugin Name of the plugin/theme
1473
  msgid "WP to Twitter"
1474
  msgstr ""
1475
 
1476
  #. Plugin URI of the plugin/theme
1477
- msgid "http://www.joedolson.com/articles/wp-to-twitter/"
1478
  msgstr ""
1479
 
1480
  #. Description of the plugin/theme
1481
  msgid ""
1482
- "Posts a Tweet when you update your WordPress blog or post to your blogroll, "
1483
- "using your URL shortening service. Rich in features for customizing and "
1484
- "promoting your Tweets."
1485
  msgstr ""
1486
 
1487
  #. Author of the plugin/theme
1
+ # Copyright (C) 2015 WP to Twitter
2
  # This file is distributed under the same license as the WP to Twitter package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: WP to Twitter 3.1.5\n"
6
+ "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-to-twitter\n"
7
+ "POT-Creation-Date: 2015-08-27 17:15:12+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2015-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
15
+ #: wp-to-twitter-manager.php:31
16
+ msgid "WP to Twitter is now connected with Twitter."
17
  msgstr ""
18
 
19
+ #: wp-to-twitter-manager.php:31
20
+ msgid "Configure your Tweet templates"
 
 
21
  msgstr ""
22
 
23
+ #: wp-to-twitter-manager.php:37
24
+ msgid "WP to Twitter failed to connect with Twitter."
 
 
 
25
  msgstr ""
26
 
27
+ #: wp-to-twitter-manager.php:37
28
+ msgid "Error:"
 
 
 
 
 
 
 
 
 
 
 
 
29
  msgstr ""
30
 
31
+ #: wp-to-twitter-manager.php:43
32
+ msgid "OAuth Authentication Data Cleared."
 
 
 
33
  msgstr ""
34
 
35
+ #: wp-to-twitter-manager.php:49
36
  msgid ""
37
+ "OAuth Authentication Failed. Your server time is not in sync with the "
38
+ "Twitter servers. Talk to your hosting service to see what can be done."
 
 
 
39
  msgstr ""
40
 
41
+ #: wp-to-twitter-manager.php:55
42
+ msgid "OAuth Authentication response not understood."
43
  msgstr ""
44
 
45
+ #: wp-to-twitter-manager.php:66
46
  msgid ""
47
+ "Rate Limiting is enabled. Default rate limits are set at 10 posts per "
48
+ "category/term per hour. <a href=\"#special_cases\">Edit global default</a> "
49
+ "or edit individual terms to customize limits for each category or taxonomy "
50
+ "term."
51
  msgstr ""
52
 
53
+ #: wp-to-twitter-manager.php:136
54
+ msgid "WP to Twitter Advanced Options Updated"
55
  msgstr ""
56
 
57
+ #: wp-to-twitter-manager.php:155
58
+ msgid "WP to Twitter Options Updated"
59
  msgstr ""
60
 
61
+ #: wp-to-twitter-manager.php:178
62
  msgid ""
63
+ "WP to Twitter is in staging mode. Tweets will be reported as if successfully "
64
+ "sent to Twitter but will not be sent."
65
  msgstr ""
66
 
67
+ #: wp-to-twitter-manager.php:186
68
+ msgid "WP to Twitter Options"
69
  msgstr ""
70
 
71
+ #: wp-to-twitter-manager.php:212
72
+ msgid "Upgrade Now!"
73
  msgstr ""
74
 
75
+ #: wp-to-twitter-manager.php:218
76
+ msgid ""
77
+ "<strong>What can WP Tweets PRO do for you?</strong> It takes the great "
78
+ "Tweeting abilities from WP to Twitter and puts them in high gear: publish to "
79
+ "unique Twitter accounts for every site author; schedule up to 3 re-posts of "
80
+ "Tweets at an interval of your choice; and, with a delay between publishing "
81
+ "and Tweeting, verify your tweets before you share them with your followers."
82
  msgstr ""
83
 
84
+ #: wp-to-twitter-manager.php:222
85
+ msgid "Upgrade to <strong>WP Tweets PRO</strong>!"
 
 
 
86
  msgstr ""
87
 
88
+ #: wp-to-twitter-manager.php:225
89
+ msgid "What does WP Tweets PRO do?"
 
 
90
  msgstr ""
91
 
92
+ #: wp-to-twitter-manager.php:228
93
  msgid ""
94
+ "WP Tweets PRO is packed with features to help you increase engagement with "
95
+ "your Twitter followers. Upload images, support for Twitter Cards, and "
96
+ "automated re-posting of your Tweets are just a few of the features available "
97
+ "in the premium add-on to WP to Twitter."
98
  msgstr ""
99
 
100
+ #: wp-to-twitter-manager.php:231
101
+ msgid "Guy Kawasaki recommends WP to Twitter"
102
  msgstr ""
103
 
104
+ #: wp-to-twitter-manager.php:237
105
+ msgid "Buy WP Tweets PRO today!"
106
  msgstr ""
107
 
108
+ #: wp-to-twitter-manager.php:251
109
  msgid "Status Update Templates"
110
  msgstr ""
111
 
112
+ #: wp-to-twitter-manager.php:271 wp-to-twitter-manager.php:364
 
 
 
 
113
  msgid "Links"
114
  msgstr ""
115
 
116
+ #: wp-to-twitter-manager.php:299
117
  msgid ""
118
  "These categories are currently <strong>excluded</strong> by the deprecated "
119
  "WP to Twitter category filters."
120
  msgstr ""
121
 
122
+ #: wp-to-twitter-manager.php:301
123
  msgid ""
124
  "These categories are currently <strong>allowed</strong> by the deprecated WP "
125
  "to Twitter category filters."
126
  msgstr ""
127
 
128
+ #: wp-to-twitter-manager.php:312
129
  msgid ""
130
  "<a href=\"%s\">Upgrade to WP Tweets PRO</a> to filter posts in all custom "
131
  "post types on any taxonomy."
132
  msgstr ""
133
 
134
+ #: wp-to-twitter-manager.php:314
135
  msgid ""
136
  "Updating the WP Tweets PRO taxonomy filters will overwrite your old category "
137
  "filters."
138
  msgstr ""
139
 
140
+ #: wp-to-twitter-manager.php:326
141
  msgid "Update when %1$s %2$s is published"
142
  msgstr ""
143
 
144
+ #: wp-to-twitter-manager.php:328
145
  msgid "Template for new %1$s updates"
146
  msgstr ""
147
 
148
+ #: wp-to-twitter-manager.php:344
149
  msgid "Update when %1$s %2$s is edited"
150
  msgstr ""
151
 
152
+ #: wp-to-twitter-manager.php:345
153
  msgid "Template for %1$s editing updates"
154
  msgstr ""
155
 
156
+ #: wp-to-twitter-manager.php:369
157
  msgid "Update Twitter when you post a Blogroll link"
158
  msgstr ""
159
 
160
+ #: wp-to-twitter-manager.php:371
161
  msgid "Text for new link updates:"
162
  msgstr ""
163
 
164
+ #: wp-to-twitter-manager.php:376
165
  msgid ""
166
  "Available shortcodes: <code>#url#</code>, <code>#title#</code>, and "
167
  "<code>#description#</code>."
168
  msgstr ""
169
 
170
+ #: wp-to-twitter-manager.php:386
171
+ msgid "Save WP to Twitter Options"
 
 
 
 
172
  msgstr ""
173
 
174
+ #: wp-to-twitter-manager.php:396
175
+ msgid "Tweet Template Tags"
176
  msgstr ""
177
 
178
+ #: wp-to-twitter-manager.php:400
179
+ msgid "<code>#title#</code>: the title of your blog post"
180
  msgstr ""
181
 
182
+ #: wp-to-twitter-manager.php:401
183
+ msgid "<code>#blog#</code>: the title of your blog"
184
  msgstr ""
185
 
186
+ #: wp-to-twitter-manager.php:402
187
+ msgid "<code>#post#</code>: a short excerpt of the post content"
188
  msgstr ""
189
 
190
+ #: wp-to-twitter-manager.php:403
191
+ msgid "<code>#category#</code>: the first selected category for the post"
192
  msgstr ""
193
 
194
+ #: wp-to-twitter-manager.php:404
195
+ msgid ""
196
+ "<code>#cat_desc#</code>: custom value from the category description field"
197
  msgstr ""
198
 
199
+ #: wp-to-twitter-manager.php:405
200
+ msgid "<code>#date#</code>: the post date"
201
  msgstr ""
202
 
203
+ #: wp-to-twitter-manager.php:406
204
+ msgid "<code>#modified#</code>: the post modified date"
205
  msgstr ""
206
 
207
+ #: wp-to-twitter-manager.php:407
208
+ msgid "<code>#url#</code>: the post URL"
 
 
209
  msgstr ""
210
 
211
+ #: wp-to-twitter-manager.php:408
212
+ msgid "<code>#longurl#</code>: the unshortened post URL"
213
  msgstr ""
214
 
215
+ #: wp-to-twitter-manager.php:409
216
  msgid ""
217
+ "<code>#author#</code>: the post author (@reference if available, otherwise "
218
+ "display name)"
219
  msgstr ""
220
 
221
+ #: wp-to-twitter-manager.php:410
222
+ msgid "<code>#displayname#</code>: post author's display name"
223
  msgstr ""
224
 
225
+ #: wp-to-twitter-manager.php:411
226
+ msgid ""
227
+ "<code>#account#</code>: the twitter @reference for the account (or the "
228
+ "author, if author settings are enabled and set.)"
229
  msgstr ""
230
 
231
+ #: wp-to-twitter-manager.php:412
232
+ msgid ""
233
+ "<code>#@#</code>: the twitter @reference for the author or blank, if not set"
234
  msgstr ""
235
 
236
+ #: wp-to-twitter-manager.php:413
237
+ msgid ""
238
+ "<code>#tags#</code>: your tags modified into hashtags. See options in the "
239
+ "Advanced Settings section, below."
240
  msgstr ""
241
 
242
+ #: wp-to-twitter-manager.php:415
243
  msgid ""
244
+ "<code>#reference#</code>: Used only in co-tweeting. @reference to main "
245
+ "account when posted to author account, @reference to author account in post "
246
+ "to main account."
247
  msgstr ""
248
 
249
+ #: wp-to-twitter-manager.php:420
250
+ msgid ""
251
+ "Create custom shortcodes and access WordPress custom fields by using square "
252
+ "brackets and the name of your custom field."
253
  msgstr ""
254
 
255
+ #: wp-to-twitter-manager.php:424
256
+ msgid "<strong>Example:</strong> <code>[[custom_field]]</code>"
257
  msgstr ""
258
 
259
+ #: wp-to-twitter-manager.php:439 wpt-functions.php:111
260
+ msgid "Advanced Settings"
261
  msgstr ""
262
 
263
+ #: wp-to-twitter-manager.php:450
264
+ msgid "Tags"
265
  msgstr ""
266
 
267
+ #: wp-to-twitter-manager.php:454
268
+ msgid "Strip nonalphanumeric characters from tags"
269
  msgstr ""
270
 
271
+ #: wp-to-twitter-manager.php:461
272
+ msgid "Use tag slug as hashtag value"
 
 
 
 
 
 
273
  msgstr ""
274
 
275
+ #: wp-to-twitter-manager.php:466
276
+ msgid "Spaces in tags replaced with:"
277
  msgstr ""
278
 
279
+ #: wp-to-twitter-manager.php:474
280
+ msgid "Maximum number of tags to include:"
281
  msgstr ""
282
 
283
+ #: wp-to-twitter-manager.php:479
284
+ msgid "Maximum length in characters for included tags:"
285
  msgstr ""
286
 
287
+ #: wp-to-twitter-manager.php:485
288
+ msgid "Template Tag Settings"
289
  msgstr ""
290
 
291
+ #: wp-to-twitter-manager.php:488
292
+ msgid "Length of post excerpt (in characters):"
293
  msgstr ""
294
 
295
+ #: wp-to-twitter-manager.php:494
296
+ msgid "WP to Twitter Date Formatting:"
297
  msgstr ""
298
 
299
+ #: wp-to-twitter-manager.php:506
300
+ msgid "Date Formatting"
301
  msgstr ""
302
 
303
+ #: wp-to-twitter-manager.php:511
304
+ msgid "Custom text before all Tweets:"
305
  msgstr ""
306
 
307
+ #: wp-to-twitter-manager.php:518
308
+ msgid "Custom text after all Tweets:"
309
  msgstr ""
310
 
311
+ #: wp-to-twitter-manager.php:525
312
+ msgid "Custom field for an alternate URL to be shortened and Tweeted:"
313
  msgstr ""
314
 
315
+ #: wp-to-twitter-manager.php:562
316
+ msgid "Template tag priority order"
317
  msgstr ""
318
 
319
+ #: wp-to-twitter-manager.php:563
320
  msgid ""
321
+ "The order in which items will be abbreviated or removed from your Tweet if "
322
+ "the Tweet is too long to send to Twitter."
 
 
323
  msgstr ""
324
 
325
+ #: wp-to-twitter-manager.php:563
326
+ msgid "Tags with lower values will be modified first."
327
  msgstr ""
328
 
329
+ #: wp-to-twitter-manager.php:569
330
+ msgid "Special Cases"
331
  msgstr ""
332
 
333
+ #: wp-to-twitter-manager.php:574
334
+ msgid "Do not post Tweets by default"
 
335
  msgstr ""
336
 
337
+ #: wp-to-twitter-manager.php:578
338
+ msgid "Do not post Tweets by default (editing only)"
339
  msgstr ""
340
 
341
+ #: wp-to-twitter-manager.php:582
342
+ msgid "Allow status updates from Quick Edit"
343
  msgstr ""
344
 
345
+ #: wp-to-twitter-manager.php:586
346
+ msgid "Enable Rate Limiting"
347
  msgstr ""
348
 
349
+ #: wp-to-twitter-manager.php:593
350
+ msgid "Default Rate Limit per category per hour"
351
  msgstr ""
352
 
353
+ #: wp-to-twitter-manager.php:600
354
+ msgid "Google Analytics Settings"
355
  msgstr ""
356
 
357
+ #: wp-to-twitter-manager.php:606
358
+ msgid "Use a Static Identifier"
359
  msgstr ""
360
 
361
+ #: wp-to-twitter-manager.php:608
362
+ msgid "Static Campaign identifier"
363
  msgstr ""
364
 
365
+ #: wp-to-twitter-manager.php:618
366
+ msgid "Use a dynamic identifier"
367
  msgstr ""
368
 
369
+ #: wp-to-twitter-manager.php:620
370
+ msgid "What dynamic identifier would you like to use?"
 
 
 
 
371
  msgstr ""
372
 
373
+ #: wp-to-twitter-manager.php:623
374
+ msgid "Category"
 
 
 
 
375
  msgstr ""
376
 
377
+ #: wp-to-twitter-manager.php:625
378
+ msgid "Post ID"
379
  msgstr ""
380
 
381
+ #: wp-to-twitter-manager.php:627
382
+ msgid "Post Title"
383
  msgstr ""
384
 
385
+ #: wp-to-twitter-manager.php:629
386
+ msgid "Author"
387
  msgstr ""
388
 
389
+ #: wp-to-twitter-manager.php:635
390
+ msgid "No Analytics"
 
 
391
  msgstr ""
392
 
393
+ #: wp-to-twitter-manager.php:639
394
+ msgid "Author Settings"
395
  msgstr ""
396
 
397
+ #: wp-to-twitter-manager.php:644
398
+ msgid "Authors have individual Twitter accounts"
399
  msgstr ""
400
 
401
+ #: wp-to-twitter-manager.php:650
402
+ msgid "Permissions"
403
  msgstr ""
404
 
405
+ #: wp-to-twitter-manager.php:655
406
+ msgid "Can send Tweets"
407
  msgstr ""
408
 
409
+ #: wp-to-twitter-manager.php:656
410
+ msgid "See Custom Tweet Field when creating a Post"
411
  msgstr ""
412
 
413
+ #: wp-to-twitter-manager.php:657
414
+ msgid "Toggle the Tweet/Don't Tweet option"
415
  msgstr ""
416
 
417
+ #: wp-to-twitter-manager.php:658
418
+ msgid "Can see Tweet Now button"
419
  msgstr ""
420
 
421
+ #: wp-to-twitter-manager.php:659
422
+ msgid "Add Twitter Information to User Profile"
423
  msgstr ""
424
 
425
+ #: wp-to-twitter-manager.php:685
426
+ msgid "Error Messages and Debugging"
427
  msgstr ""
428
 
429
+ #: wp-to-twitter-manager.php:690
430
+ msgid "Disable Twitter Feed Stylesheet"
431
  msgstr ""
432
 
433
+ #: wp-to-twitter-manager.php:694
434
+ msgid "Get Debugging Data for OAuth Connection"
435
  msgstr ""
436
 
437
+ #: wp-to-twitter-manager.php:698
438
+ msgid "I made a donation, so stop whinging at me, please."
439
  msgstr ""
440
 
441
+ #: wp-to-twitter-manager.php:706
442
+ msgid "Save Advanced WP to Twitter Options"
443
  msgstr ""
444
 
445
+ #: wp-to-twitter-manager.php:717
446
+ msgid "Get Plug-in Support"
447
  msgstr ""
448
 
449
+ #: wp-to-twitter-manager.php:725
450
  msgid ""
451
+ "Check whether WP to Twitter is setup correctly for Twitter and your URL "
452
+ "Shortener. The test sends a status update to Twitter and shortens a URL "
453
+ "using your chosen shortener."
 
 
454
  msgstr ""
455
 
456
+ #: wp-to-twitter-manager.php:733
457
+ msgid "Test WP to Twitter"
458
  msgstr ""
459
 
460
+ #: wp-to-twitter-manager.php:753
461
+ msgid "Support WP to Twitter"
462
  msgstr ""
463
 
464
+ #: wp-to-twitter-manager.php:756
465
+ msgid "WP to Twitter Support"
 
 
466
  msgstr ""
467
 
468
+ #: wp-to-twitter-manager.php:777 wp-to-twitter.php:1342 wp-to-twitter.php:1346
469
+ msgid "Get Support"
470
  msgstr ""
471
 
472
+ #: wp-to-twitter-manager.php:778
473
+ msgid "Read the Manual"
 
 
474
  msgstr ""
475
 
476
+ #: wp-to-twitter-manager.php:780
477
  msgid ""
478
+ "<a href=\"https://www.joedolson.com/wp-tweets-pro/\">Get WP Tweets Pro</a> "
479
+ "or <a href=\"http://www.joedolson.com/donate.php\">Make a donation</a> today!"
480
  msgstr ""
481
 
482
+ #: wp-to-twitter-manager.php:803
483
+ msgid "Twitter Time Check"
 
 
484
  msgstr ""
485
 
486
+ #: wp-to-twitter-manager.php:814
487
+ msgid "Monitor Rate Limiting"
 
 
 
488
  msgstr ""
489
 
490
+ #: wp-to-twitter-manager.php:852
491
  msgid ""
492
+ "Your time stamps are more than 5 minutes apart. Your server could lose its "
493
+ "connection with Twitter."
 
 
494
  msgstr ""
495
 
496
+ #: wp-to-twitter-manager.php:854
497
+ msgid "Your time stamp matches the Twitter server time"
498
  msgstr ""
499
 
500
+ #: wp-to-twitter-manager.php:858
501
+ msgid "WP to Twitter could not contact Twitter's remote server."
 
 
502
  msgstr ""
503
 
504
+ #: wp-to-twitter-manager.php:861
505
+ msgid "Your server timezone:"
506
  msgstr ""
507
 
508
+ #: wp-to-twitter-manager.php:871
509
+ msgid "Your server time:"
 
 
510
  msgstr ""
511
 
512
+ #: wp-to-twitter-manager.php:872
513
+ msgid "Twitter's server time: "
514
  msgstr ""
515
 
516
+ #: wp-to-twitter-manager.php:881
517
+ msgid "Test again"
518
  msgstr ""
519
 
520
+ #: wp-to-twitter-oauth.php:121
521
+ msgid "WP to Twitter was unable to establish a connection to Twitter."
 
522
  msgstr ""
523
 
524
+ #: wp-to-twitter-oauth.php:194
525
+ msgid ""
526
+ "Twitter requires authentication by OAuth. You will need to <a "
527
+ "href='%s'>update your settings</a> to complete installation of WP to Twitter."
528
  msgstr ""
529
 
530
+ #: wp-to-twitter-oauth.php:203 wp-to-twitter-oauth.php:205
531
+ msgid "Connect to Twitter"
 
 
532
  msgstr ""
533
 
534
+ #: wp-to-twitter-oauth.php:208
535
+ msgid "WP to Twitter Set-up"
536
  msgstr ""
537
 
538
+ #: wp-to-twitter-oauth.php:210
539
  msgid "1. Register this site as an application on "
540
  msgstr ""
541
 
542
+ #: wp-to-twitter-oauth.php:210
543
  msgid "Twitter's application registration page"
544
  msgstr ""
545
 
546
+ #: wp-to-twitter-oauth.php:212
547
  msgid ""
548
  "If you're not currently logged in to Twitter, log-in to the account you want "
549
  "associated with this site"
550
  msgstr ""
551
 
552
+ #: wp-to-twitter-oauth.php:213
553
  msgid "Your application name cannot include the word \"Twitter.\""
554
  msgstr ""
555
 
556
+ #: wp-to-twitter-oauth.php:214
557
  msgid "Your Application Description can be anything."
558
  msgstr ""
559
 
560
+ #: wp-to-twitter-oauth.php:215
561
  msgid "The WebSite and Callback URL should be "
562
  msgstr ""
563
 
564
+ #: wp-to-twitter-oauth.php:217
565
+ msgid "Agree to the Twitter Developer Agreement and continue."
 
 
 
 
566
  msgstr ""
567
 
568
+ #: wp-to-twitter-oauth.php:218
569
+ msgid "2. Switch to the \"Permissions\" tab in Twitter apps"
570
  msgstr ""
571
 
572
+ #: wp-to-twitter-oauth.php:220
573
  msgid "Select \"Read and Write\" for the Application Type"
574
  msgstr ""
575
 
576
+ #: wp-to-twitter-oauth.php:221
577
  msgid "Update the application settings"
578
  msgstr ""
579
 
580
+ #: wp-to-twitter-oauth.php:223
581
+ msgid ""
582
+ "3. Switch to the Keys and Access Tokens tab and regenerate your consumer key "
583
+ "and secret, then create your access token."
584
  msgstr ""
585
 
586
+ #: wp-to-twitter-oauth.php:225
587
  msgid ""
588
+ "Copy your API key and API secret from the \"Application Settings\" section."
 
589
  msgstr ""
590
 
591
+ #: wp-to-twitter-oauth.php:226
592
  msgid ""
593
+ "Copy your Access token and Access token secret from the \"Your Access Token"
594
+ "\" section."
595
  msgstr ""
596
 
597
+ #: wp-to-twitter-oauth.php:232
598
+ msgid "API Key"
599
  msgstr ""
600
 
601
+ #: wp-to-twitter-oauth.php:236
602
+ msgid "API Secret"
603
  msgstr ""
604
 
605
+ #: wp-to-twitter-oauth.php:240
606
  msgid ""
607
  "4. Copy and paste your Access Token and Access Token Secret into the fields "
608
  "below"
609
  msgstr ""
610
 
611
+ #: wp-to-twitter-oauth.php:241
612
  msgid ""
613
+ "If the Access Level for your Access Token is not \"<em>Read and write</em>"
614
  "\", you must return to step 2 and generate a new Access Token."
615
  msgstr ""
616
 
617
+ #: wp-to-twitter-oauth.php:244
618
  msgid "Access Token"
619
  msgstr ""
620
 
621
+ #: wp-to-twitter-oauth.php:248
622
  msgid "Access Token Secret"
623
  msgstr ""
624
 
625
+ #: wp-to-twitter-oauth.php:267 wp-to-twitter-oauth.php:271
 
 
 
 
626
  msgid "Disconnect your WordPress and Twitter Account"
627
  msgstr ""
628
 
629
+ #: wp-to-twitter-oauth.php:275
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
630
  msgid "Disconnect from Twitter"
631
  msgstr ""
632
 
633
+ #: wp-to-twitter-oauth.php:281
634
  msgid "Twitter Username "
635
  msgstr ""
636
 
637
+ #: wp-to-twitter-oauth.php:282
638
+ msgid "API Key "
639
  msgstr ""
640
 
641
+ #: wp-to-twitter-oauth.php:283
642
+ msgid "API Secret "
643
  msgstr ""
644
 
645
+ #: wp-to-twitter-oauth.php:284
646
  msgid "Access Token "
647
  msgstr ""
648
 
649
+ #: wp-to-twitter-oauth.php:285
650
  msgid "Access Token Secret "
651
  msgstr ""
652
 
653
+ #: wp-to-twitter-shorteners.php:167
654
+ msgid "Su.pr query returned invalid data."
655
  msgstr ""
656
 
657
+ #: wp-to-twitter-shorteners.php:333
658
  msgid ""
659
  "<abbr title=\"Uniform Resource Locator\">URL</abbr> Shortener Account "
660
  "Settings"
661
  msgstr ""
662
 
663
+ #: wp-to-twitter-shorteners.php:340
664
  msgid "Your Su.pr account details"
665
  msgstr ""
666
 
667
+ #: wp-to-twitter-shorteners.php:340
668
  msgid "(optional)"
669
  msgstr ""
670
 
671
+ #: wp-to-twitter-shorteners.php:348
672
  msgid "Your Su.pr Username:"
673
  msgstr ""
674
 
675
+ #: wp-to-twitter-shorteners.php:355
676
  msgid ""
677
  "Your Su.pr <abbr title='application programming interface'>API</abbr> Key:"
678
  msgstr ""
679
 
680
+ #: wp-to-twitter-shorteners.php:366
681
+ msgid "Save Su.pr API Key"
682
+ msgstr ""
683
+
684
+ #: wp-to-twitter-shorteners.php:367
685
+ msgid "Clear Su.pr API Key"
686
+ msgstr ""
687
+
688
+ #: wp-to-twitter-shorteners.php:369
689
  msgid ""
690
+ "Don't have a Su.pr account or API key? <a href='http://su.pr/'>Get one here!"
691
+ "</a> You'll need an API key in order to associate the URLs you create with "
692
+ "your Su.pr account."
693
  msgstr ""
694
 
695
+ #: wp-to-twitter-shorteners.php:377
696
  msgid "Your Bit.ly account details"
697
  msgstr ""
698
 
699
+ #: wp-to-twitter-shorteners.php:384
700
  msgid "Your Bit.ly username:"
701
  msgstr ""
702
 
703
+ #: wp-to-twitter-shorteners.php:391
704
  msgid ""
705
  "Your Bit.ly <abbr title='application programming interface'>API</abbr> Key:"
706
  msgstr ""
707
 
708
+ #: wp-to-twitter-shorteners.php:397
709
  msgid "View your Bit.ly username and API key"
710
  msgstr ""
711
 
712
+ #: wp-to-twitter-shorteners.php:406
713
  msgid "Save Bit.ly API Key"
714
  msgstr ""
715
 
716
+ #: wp-to-twitter-shorteners.php:406
717
  msgid "Clear Bit.ly API Key"
718
  msgstr ""
719
 
720
+ #: wp-to-twitter-shorteners.php:414
 
 
 
 
 
 
721
  msgid "Your YOURLS account details"
722
  msgstr ""
723
 
724
+ #: wp-to-twitter-shorteners.php:421
725
  msgid "Path to your YOURLS config file (Local installations)"
726
  msgstr ""
727
 
728
+ #: wp-to-twitter-shorteners.php:424 wp-to-twitter-shorteners.php:432
729
  msgid "Example:"
730
  msgstr ""
731
 
732
+ #: wp-to-twitter-shorteners.php:429
733
  msgid "URI to the YOURLS API (Remote installations)"
734
  msgstr ""
735
 
736
+ #: wp-to-twitter-shorteners.php:437
737
+ msgid "YOURLS signature token:"
738
  msgstr ""
739
 
740
+ #: wp-to-twitter-shorteners.php:443
741
+ msgid ""
742
+ "Your YOURLS username and password are saved. If you add a signature token, "
743
+ "that will be used for API calls and your username and password will be "
744
+ "deleted from the database."
 
745
  msgstr ""
746
 
747
+ #: wp-to-twitter-shorteners.php:450
748
  msgid "Post ID for YOURLS url slug."
749
  msgstr ""
750
 
751
+ #: wp-to-twitter-shorteners.php:454
752
  msgid "Custom keyword for YOURLS url slug."
753
  msgstr ""
754
 
755
+ #: wp-to-twitter-shorteners.php:458
756
  msgid "Default: sequential URL numbering."
757
  msgstr ""
758
 
759
+ #: wp-to-twitter-shorteners.php:466
760
+ msgid "Save YOURLS settings"
 
 
 
 
761
  msgstr ""
762
 
763
+ #: wp-to-twitter-shorteners.php:466
764
+ msgid "Clear YOURLS settings"
 
 
765
  msgstr ""
766
 
767
+ #: wp-to-twitter-shorteners.php:474
768
  msgid "Your jotURL account details"
769
  msgstr ""
770
 
771
+ #: wp-to-twitter-shorteners.php:481
772
  msgid ""
773
  "Your jotURL public <abbr title='application programming interface'>API</"
774
  "abbr> key:"
775
  msgstr ""
776
 
777
+ #: wp-to-twitter-shorteners.php:488
778
  msgid ""
779
  "Your jotURL private <abbr title='application programming interface'>API</"
780
  "abbr> key:"
781
  msgstr ""
782
 
783
+ #: wp-to-twitter-shorteners.php:495
784
  msgid "Parameters to add to the long URL (before shortening):"
785
  msgstr ""
786
 
787
+ #: wp-to-twitter-shorteners.php:503
788
  msgid "Parameters to add to the short URL (after shortening):"
789
  msgstr ""
790
 
791
+ #: wp-to-twitter-shorteners.php:510
792
  msgid "View your jotURL public and private API key"
793
  msgstr ""
794
 
795
+ #: wp-to-twitter-shorteners.php:517
796
  msgid "Save jotURL settings"
797
  msgstr ""
798
 
799
+ #: wp-to-twitter-shorteners.php:518
800
  msgid "Clear jotURL settings"
801
  msgstr ""
802
 
803
+ #: wp-to-twitter-shorteners.php:524
 
 
 
 
 
 
804
  msgid "Your shortener does not require any account settings."
805
  msgstr ""
806
 
807
+ #: wp-to-twitter-shorteners.php:540
808
+ msgid "YOURLS signature token updated."
809
  msgstr ""
810
 
811
+ #: wp-to-twitter-shorteners.php:546
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
812
  msgid "YOURLS local server path added. "
813
  msgstr ""
814
 
815
+ #: wp-to-twitter-shorteners.php:548
816
  msgid "The path to your YOURLS installation is not correct. "
817
  msgstr ""
818
 
819
+ #: wp-to-twitter-shorteners.php:554
 
 
 
 
820
  msgid "YOURLS will use Post ID for short URL slug."
821
  msgstr ""
822
 
823
+ #: wp-to-twitter-shorteners.php:556
824
  msgid "YOURLS will use your custom keyword for short URL slug."
825
  msgstr ""
826
 
827
+ #: wp-to-twitter-shorteners.php:566
828
+ msgid "YOURLS data cleared."
829
  msgstr ""
830
 
831
+ #: wp-to-twitter-shorteners.php:574
832
  msgid "Su.pr API Key and Username Updated"
833
  msgstr ""
834
 
835
+ #: wp-to-twitter-shorteners.php:578
836
  msgid ""
837
  "Su.pr API Key and username deleted. Su.pr URLs created by WP to Twitter will "
838
  "no longer be associated with your account. "
839
  msgstr ""
840
 
841
+ #: wp-to-twitter-shorteners.php:580
842
  msgid "Su.pr API Key not added - <a href='http://su.pr/'>get one here</a>! "
843
  msgstr ""
844
 
845
+ #: wp-to-twitter-shorteners.php:586
846
  msgid "Bit.ly API Key Updated."
847
  msgstr ""
848
 
849
+ #: wp-to-twitter-shorteners.php:589
850
  msgid ""
851
  "Bit.ly API Key deleted. You cannot use the Bit.ly API without an API key. "
852
  msgstr ""
853
 
854
+ #: wp-to-twitter-shorteners.php:591
855
  msgid ""
856
  "Bit.ly API Key not added - <a href='http://bit.ly/account/'>get one here</"
857
  "a>! An API key is required to use the Bit.ly URL shortening service."
858
  msgstr ""
859
 
860
+ #: wp-to-twitter-shorteners.php:595
861
  msgid " Bit.ly User Login Updated."
862
  msgstr ""
863
 
864
+ #: wp-to-twitter-shorteners.php:598
865
  msgid ""
866
  "Bit.ly User Login deleted. You cannot use the Bit.ly API without providing "
867
  "your username. "
868
  msgstr ""
869
 
870
+ #: wp-to-twitter-shorteners.php:600
871
  msgid ""
872
  "Bit.ly Login not added - <a href='http://bit.ly/account/'>get one here</a>! "
873
  msgstr ""
874
 
875
+ #: wp-to-twitter-shorteners.php:606
876
  msgid "jotURL private API Key Updated. "
877
  msgstr ""
878
 
879
+ #: wp-to-twitter-shorteners.php:609
880
  msgid ""
881
  "jotURL private API Key deleted. You cannot use the jotURL API without a "
882
  "private API key. "
883
  msgstr ""
884
 
885
+ #: wp-to-twitter-shorteners.php:611
886
  msgid ""
887
  "jotURL private API Key not added - <a href='https://www.joturl.com/reserved/"
888
  "api.html'>get one here</a>! A private API key is required to use the jotURL "
889
  "URL shortening service. "
890
  msgstr ""
891
 
892
+ #: wp-to-twitter-shorteners.php:615
893
  msgid "jotURL public API Key Updated. "
894
  msgstr ""
895
 
896
+ #: wp-to-twitter-shorteners.php:618
897
  msgid ""
898
  "jotURL public API Key deleted. You cannot use the jotURL API without "
899
  "providing your public API Key. "
900
  msgstr ""
901
 
902
+ #: wp-to-twitter-shorteners.php:620
903
  msgid ""
904
  "jotURL public API Key not added - <a href='https://www.joturl.com/reserved/"
905
  "api.html'>get one here</a>! "
906
  msgstr ""
907
 
908
+ #: wp-to-twitter-shorteners.php:628
909
  msgid "Long URL parameters added. "
910
  msgstr ""
911
 
912
+ #: wp-to-twitter-shorteners.php:631
913
  msgid "Long URL parameters deleted. "
914
  msgstr ""
915
 
916
+ #: wp-to-twitter-shorteners.php:639
917
  msgid "Short URL parameters added. "
918
  msgstr ""
919
 
920
+ #: wp-to-twitter-shorteners.php:642
921
  msgid "Short URL parameters deleted. "
922
  msgstr ""
923
 
924
+ #: wp-to-twitter-shorteners.php:656
925
  msgid ""
926
  "You must add your Bit.ly login and API key in order to shorten URLs with Bit."
927
  "ly."
928
  msgstr ""
929
 
930
+ #: wp-to-twitter-shorteners.php:660
931
  msgid ""
932
  "You must add your jotURL public and private API key in order to shorten URLs "
933
  "with jotURL."
934
  msgstr ""
935
 
936
+ #: wp-to-twitter-shorteners.php:664
937
  msgid ""
938
  "You must add your YOURLS remote URL, login, and password in order to shorten "
939
  "URLs with a remote installation of YOURLS."
940
  msgstr ""
941
 
942
+ #: wp-to-twitter-shorteners.php:668
943
  msgid ""
944
  "You must add your YOURLS server path in order to shorten URLs with a remote "
945
  "installation of YOURLS."
946
  msgstr ""
947
 
948
+ #: wp-to-twitter-shorteners.php:680
949
  msgid "Choose a short URL service (account settings below)"
950
  msgstr ""
951
 
952
+ #: wp-to-twitter-shorteners.php:683
953
  msgid "Don't shorten URLs."
954
  msgstr ""
955
 
956
+ #: wp-to-twitter-shorteners.php:688
957
  msgid "YOURLS (on this server)"
958
  msgstr ""
959
 
960
+ #: wp-to-twitter-shorteners.php:690
961
  msgid "YOURLS (on a remote server)"
962
  msgstr ""
963
 
964
+ #: wp-to-twitter-shorteners.php:695
965
  msgid "Use Twitter Friendly Links."
966
  msgstr ""
967
 
968
+ #: wp-to-twitter.php:422
969
+ msgid "This account is not authorized to post to Twitter."
 
 
 
970
  msgstr ""
971
 
972
+ #: wp-to-twitter.php:432
973
+ msgid "This tweet is identical to another Tweet recently sent to this account."
 
 
 
974
  msgstr ""
975
 
976
+ #: wp-to-twitter.php:432
977
+ msgid "Twitter requires all Tweets to be unique."
978
  msgstr ""
979
 
980
+ #: wp-to-twitter.php:439
981
+ msgid "This tweet was blank and could not be sent to Twitter."
982
  msgstr ""
983
 
984
+ #: wp-to-twitter.php:481
985
+ msgid "In Staging Mode:"
986
  msgstr ""
987
 
988
+ #: wp-to-twitter.php:491
989
  msgid ""
990
  "Your Twitter application does not have read and write permissions. Go to <a "
991
  "href=\"%s\">your Twitter apps</a> to modify these settings."
992
  msgstr ""
993
 
994
+ #: wp-to-twitter.php:498
995
+ msgid ""
996
+ "100 Continue: Twitter received the header of your submission, but your "
997
+ "server did not follow through by sending the body of the data."
998
+ msgstr ""
999
+
1000
+ #: wp-to-twitter.php:502
1001
  msgid "200 OK: Success!"
1002
  msgstr ""
1003
 
1004
+ #: wp-to-twitter.php:506
1005
  msgid "304 Not Modified: There was no new data to return"
1006
  msgstr ""
1007
 
1008
+ #: wp-to-twitter.php:509
1009
  msgid ""
1010
  "400 Bad Request: The request was invalid. This is the status code returned "
1011
  "during rate limiting."
1012
  msgstr ""
1013
 
1014
+ #: wp-to-twitter.php:512
1015
  msgid "401 Unauthorized: Authentication credentials were missing or incorrect."
1016
  msgstr ""
1017
 
1018
+ #: wp-to-twitter.php:516
1019
  msgid ""
1020
  "403 Forbidden: The request is understood, but has been refused by Twitter. "
1021
  "Possible reasons: too many Tweets, same Tweet submitted twice, Tweet longer "
1022
+ "than 140 characters."
1023
  msgstr ""
1024
 
1025
+ #: wp-to-twitter.php:519
1026
  msgid ""
1027
  "404 Not Found: The URI requested is invalid or the resource requested does "
1028
  "not exist."
1029
  msgstr ""
1030
 
1031
+ #: wp-to-twitter.php:522
1032
  msgid "406 Not Acceptable: Invalid Format Specified."
1033
  msgstr ""
1034
 
1035
+ #: wp-to-twitter.php:525
1036
  msgid "422 Unprocessable Entity: The image uploaded could not be processed.."
1037
  msgstr ""
1038
 
1039
+ #: wp-to-twitter.php:528
1040
  msgid "429 Too Many Requests: You have exceeded your rate limits."
1041
  msgstr ""
1042
 
1043
+ #: wp-to-twitter.php:531
1044
  msgid "500 Internal Server Error: Something is broken at Twitter."
1045
  msgstr ""
1046
 
1047
+ #: wp-to-twitter.php:534
1048
  msgid "502 Bad Gateway: Twitter is down or being upgraded."
1049
  msgstr ""
1050
 
1051
+ #: wp-to-twitter.php:537
1052
  msgid ""
1053
  "503 Service Unavailable: The Twitter servers are up, but overloaded with "
1054
  "requests - Please try again later."
1055
  msgstr ""
1056
 
1057
+ #: wp-to-twitter.php:540
1058
  msgid ""
1059
  "504 Gateway Timeout: The Twitter servers are up, but the request couldn't be "
1060
  "serviced due to some failure within our stack. Try again later."
1061
  msgstr ""
1062
 
1063
+ #: wp-to-twitter.php:578 wp-to-twitter.php:1168
1064
+ msgid "Tweet sent successfully."
1065
+ msgstr ""
1066
+
1067
+ #: wp-to-twitter.php:583
1068
  msgid "No Twitter OAuth connection found."
1069
  msgstr ""
1070
 
1071
+ #: wp-to-twitter.php:1181
1072
  msgid "Tweeting %s edits is disabled."
1073
  msgstr ""
1074
 
1075
+ #: wp-to-twitter.php:1188
1076
+ msgid "Tweet Now"
1077
+ msgstr ""
1078
+
1079
+ #: wp-to-twitter.php:1191
1080
+ msgid "Schedule"
1081
+ msgstr ""
1082
+
1083
+ #: wp-to-twitter.php:1194
1084
+ msgid "Set Date/Time"
1085
+ msgstr ""
1086
+
1087
+ #: wp-to-twitter.php:1197
1088
+ msgid "Date"
1089
+ msgstr ""
1090
+
1091
+ #: wp-to-twitter.php:1202
1092
+ msgid "Time"
1093
+ msgstr ""
1094
+
1095
+ #: wp-to-twitter.php:1220
1096
  msgid "Custom Twitter Post"
1097
  msgstr ""
1098
 
1099
+ #: wp-to-twitter.php:1226
1100
  msgid "Your prepended Tweet text; not part of your template."
1101
  msgstr ""
1102
 
1103
+ #: wp-to-twitter.php:1229
1104
  msgid "Your appended Tweet text; not part of your template."
1105
  msgstr ""
1106
 
1107
+ #: wp-to-twitter.php:1232
1108
  msgid "Your template:"
1109
  msgstr ""
1110
 
1111
+ #: wp-to-twitter.php:1238
1112
  msgid "YOURLS Custom Keyword"
1113
  msgstr ""
1114
 
1115
+ #: wp-to-twitter.php:1251
1116
+ msgid "Don't Tweet post."
1117
+ msgstr ""
1118
+
1119
+ #: wp-to-twitter.php:1253
1120
+ msgid "Tweet post."
1121
+ msgstr ""
1122
+
1123
+ #: wp-to-twitter.php:1273
1124
+ msgid "Tweet to"
1125
+ msgstr ""
1126
+
1127
+ #: wp-to-twitter.php:1275
1128
+ msgid "Options"
1129
  msgstr ""
1130
 
1131
+ #: wp-to-twitter.php:1276
1132
+ msgid "Notes"
1133
  msgstr ""
1134
 
1135
+ #: wp-to-twitter.php:1290
1136
  msgid ""
1137
  "WP Tweets PRO 1.5.2+ allows you to select Twitter accounts. <a href=\"%s"
1138
  "\">Log in and download now!</a>"
1139
  msgstr ""
1140
 
1141
+ #: wp-to-twitter.php:1292
1142
  msgid ""
1143
  "Upgrade to WP Tweets PRO to select Twitter accounts! <a href=\"%s\">Upgrade "
1144
  "now!</a>"
1145
  msgstr ""
1146
 
1147
+ #: wp-to-twitter.php:1306
1148
+ msgid ""
1149
+ "Upgrade to WP Tweets PRO to configure options! <a href=\"%s\">Upgrade now!</"
1150
+ "a>"
1151
+ msgstr ""
1152
+
1153
+ #: wp-to-twitter.php:1316
1154
  msgid ""
1155
  "Access to customizing WP to Twitter values is not allowed for your user role."
1156
  msgstr ""
1157
 
1158
+ #: wp-to-twitter.php:1329
1159
  msgid ""
1160
  "Tweets must be less than 140 characters; Twitter counts URLs as 22 or 23 "
1161
  "characters. Template Tags: <code>#url#</code>, <code>#title#</code>, "
1162
  "<code>#post#</code>, <code>#category#</code>, <code>#date#</code>, "
1163
  "<code>#modified#</code>, <code>#author#</code>, <code>#account#</code>, "
1164
+ "<code>#tags#</code>, or <code>#blog#</code>, <code>#longurl#</code>."
1165
  msgstr ""
1166
 
1167
+ #: wp-to-twitter.php:1343 wp-to-twitter.php:1718
1168
+ msgid "Go Premium"
1169
  msgstr ""
1170
 
1171
+ #: wp-to-twitter.php:1353
1172
  msgid "Your role does not have the ability to Post Tweets from this site."
1173
  msgstr ""
1174
 
1175
+ #: wp-to-twitter.php:1374
1176
+ msgid "View Tweet History"
1177
+ msgstr ""
1178
+
1179
+ #: wp-to-twitter.php:1377
1180
  msgid "Previous Tweets"
1181
  msgstr ""
1182
 
1183
+ #: wp-to-twitter.php:1407
1184
  msgid "Failed Tweets"
1185
  msgstr ""
1186
 
1187
+ #: wp-to-twitter.php:1413
1188
+ msgid "Delete Tweet History"
1189
  msgstr ""
1190
 
1191
+ #: wp-to-twitter.php:1500
1192
+ msgid "You are not authorized to perform this action"
1193
  msgstr ""
1194
 
1195
+ #: wp-to-twitter.php:1531
1196
  msgid "Characters left: "
1197
  msgstr ""
1198
 
1199
+ #: wp-to-twitter.php:1626
1200
  msgid "WP Tweets User Settings"
1201
  msgstr ""
1202
 
1203
+ #: wp-to-twitter.php:1632
1204
  msgid "Use My Twitter Username"
1205
  msgstr ""
1206
 
1207
+ #: wp-to-twitter.php:1634
1208
  msgid "Tweet my posts with an @ reference to my username."
1209
  msgstr ""
1210
 
1211
+ #: wp-to-twitter.php:1635
1212
  msgid ""
1213
  "Tweet my posts with an @ reference to both my username and to the main site "
1214
  "username."
1215
  msgstr ""
1216
 
1217
+ #: wp-to-twitter.php:1640
1218
  msgid "Your Twitter Username"
1219
  msgstr ""
1220
 
1221
+ #: wp-to-twitter.php:1643
1222
  msgid "Enter your own Twitter username."
1223
  msgstr ""
1224
 
1225
+ #: wp-to-twitter.php:1648
1226
  msgid "Hide account name in Tweets"
1227
  msgstr ""
1228
 
1229
+ #: wp-to-twitter.php:1652
1230
  msgid "Do not display my account in the #account# template tag."
1231
  msgstr ""
1232
 
1233
+ #: wp-to-twitter.php:1716
1234
+ msgid "WP to Twitter Settings"
 
 
 
 
1235
  msgstr ""
1236
 
1237
+ #: wp-to-twitter.php:1750
1238
  msgid ""
1239
  "<br /><strong>Note:</strong> Please review the <a class=\"thickbox\" href="
1240
  "\"%1$s\">changelog</a> before upgrading."
1241
  msgstr ""
1242
 
1243
+ #: wp-to-twitter.php:1891
1244
  msgid ""
1245
  "I hope you've enjoyed <strong>WP to Twitter</strong>! Take a look at <a "
1246
  "href='%s'>upgrading to WP Tweets PRO</a> for advanced Tweeting with "
1247
  "WordPress! <a href='%s'>Dismiss</a>"
1248
  msgstr ""
1249
 
1250
+ #: wpt-feed.php:184
1251
+ msgid "Missing Twitter Feed Screen Name - Check Settings"
1252
+ msgstr ""
1253
+
1254
+ #: wpt-feed.php:225
1255
+ msgid "Twitter error: %s"
1256
+ msgstr ""
1257
+
1258
+ #: wpt-feed.php:228
1259
  msgid "Twitter returned an invalid response. It is probably down."
1260
  msgstr ""
1261
 
1262
+ #: wpt-functions.php:64
1263
+ msgid ""
1264
+ "<li class=\"error\"><strong>WP to Twitter was unable to contact your "
1265
+ "selected URL shortening service.</strong></li>"
1266
+ msgstr ""
1267
+
1268
+ #: wpt-functions.php:68
1269
+ msgid "No error message was returned."
1270
+ msgstr ""
1271
+
1272
+ #: wpt-functions.php:71
1273
+ msgid ""
1274
+ "<li><strong>WP to Twitter successfully contacted your selected URL "
1275
+ "shortening service.</strong> The following link should point to your blog "
1276
+ "homepage:"
1277
+ msgstr ""
1278
+
1279
+ #: wpt-functions.php:79
1280
+ msgid ""
1281
+ "<li><strong>WP to Twitter successfully submitted a status update to Twitter."
1282
+ "</strong></li>"
1283
+ msgstr ""
1284
+
1285
+ #: wpt-functions.php:82
1286
+ msgid ""
1287
+ "<li class=\"error\"><strong>WP to Twitter failed to submit an update to "
1288
+ "Twitter.</strong></li>"
1289
+ msgstr ""
1290
+
1291
+ #: wpt-functions.php:86
1292
+ msgid "You have not connected WordPress to Twitter."
1293
+ msgstr ""
1294
+
1295
+ #: wpt-functions.php:90
1296
+ msgid ""
1297
+ "<li class=\"error\"><strong>Your server does not appear to support the "
1298
+ "required methods for WP to Twitter to function.</strong> You can try it "
1299
+ "anyway - these tests aren't perfect.</li>"
1300
+ msgstr ""
1301
+
1302
+ #: wpt-functions.php:94
1303
+ msgid ""
1304
+ "<li><strong>Your server should run WP to Twitter successfully.</strong></li>"
1305
+ msgstr ""
1306
+
1307
+ #: wpt-functions.php:106
1308
+ msgid "Pro Settings"
1309
+ msgstr ""
1310
+
1311
+ #: wpt-functions.php:106
1312
+ msgid "Get WP Tweets PRO"
1313
+ msgstr ""
1314
+
1315
+ #: wpt-functions.php:108
1316
+ msgid "Twitter Connection"
1317
+ msgstr ""
1318
+
1319
+ #: wpt-functions.php:109
1320
+ msgid "Basic Settings"
1321
+ msgstr ""
1322
+
1323
+ #: wpt-functions.php:110
1324
+ msgid "URL Shortener"
1325
+ msgstr ""
1326
+
1327
+ #: wpt-functions.php:112
1328
+ msgid "Get Help"
1329
+ msgstr ""
1330
+
1331
+ #: wpt-functions.php:139
1332
+ msgid "No post associated with this Tweet"
1333
+ msgstr ""
1334
+
1335
+ #: wpt-functions.php:142
1336
+ msgid "Last Tweet"
1337
+ msgstr ""
1338
+
1339
+ #: wpt-functions.php:156
1340
+ msgid ""
1341
+ "<p>The query to the URL shortener API failed, and your URL was not shrunk. "
1342
+ "The full post URL was attached to your Tweet. Check with your URL shortening "
1343
+ "provider to see if there are any known issues.</p>"
1344
+ msgstr ""
1345
+
1346
+ #: wpt-functions.php:163
1347
+ msgid "Clear 'WP to Twitter' Error Messages"
1348
+ msgstr ""
1349
+
1350
+ #: wpt-functions.php:631
1351
  msgid ""
1352
  "Please read the FAQ and other Help documents before making a support request."
1353
  msgstr ""
1354
 
1355
+ #: wpt-functions.php:633
1356
+ msgid "Please supply a valid email where you can receive support responses."
1357
+ msgstr ""
1358
+
1359
+ #: wpt-functions.php:635
1360
  msgid "Please describe your problem. I'm not psychic."
1361
  msgstr ""
1362
 
1363
+ #: wpt-functions.php:640
1364
  msgid ""
1365
+ "Thank you for supporting WP to Twitter! I'll get back to you as soon as I "
1366
+ "can. Please make sure you can receive email at <code>%s</code>."
 
1367
  msgstr ""
1368
 
1369
+ #: wpt-functions.php:642
1370
  msgid ""
1371
  "Thanks for using WP to Twitter. Please ensure that you can receive email at "
1372
  "<code>%s</code>."
1373
  msgstr ""
1374
 
1375
+ #: wpt-functions.php:645
1376
+ msgid "Sorry! I couldn't send that message. Here's the text of your request:"
 
 
 
1377
  msgstr ""
1378
 
1379
+ #: wpt-functions.php:645
1380
+ msgid "<a href=\"%s\">Contact me here</a>, instead."
1381
+ msgstr ""
1382
+
1383
+ #: wpt-functions.php:662
1384
  msgid ""
1385
  "If you're having trouble with WP to Twitter, please try to answer these "
1386
  "questions in your message:"
1387
  msgstr ""
1388
 
1389
+ #: wpt-functions.php:665
1390
+ msgid "What were you doing when the problem occurred?"
 
 
 
 
1391
  msgstr ""
1392
 
1393
+ #: wpt-functions.php:666
1394
+ msgid "What did you expect to happen?"
1395
  msgstr ""
1396
 
1397
+ #: wpt-functions.php:667
1398
+ msgid "What happened instead?"
1399
  msgstr ""
1400
 
1401
+ #: wpt-functions.php:670
1402
+ msgid "Your Email"
1403
  msgstr ""
1404
 
1405
+ #: wpt-functions.php:674
1406
  msgid ""
1407
  "I have read <a href=\"%1$s\">the FAQ for this plug-in</a> <span>(required)</"
1408
  "span>"
1409
  msgstr ""
1410
 
1411
+ #: wpt-functions.php:677
1412
  msgid ""
1413
  "I have <a href=\"%1$s\">made a donation to help support this plug-in</a>"
1414
  msgstr ""
1415
 
1416
+ #: wpt-functions.php:680
1417
  msgid "Support Request:"
1418
  msgstr ""
1419
 
1420
+ #: wpt-functions.php:683
1421
  msgid "Send Support Request"
1422
  msgstr ""
1423
 
1424
+ #: wpt-functions.php:686
1425
  msgid ""
1426
  "The following additional information will be sent with your support request:"
1427
  msgstr ""
1428
 
1429
+ #: wpt-rate-limiting.php:138 wpt-rate-limiting.php:151
1430
+ msgid "Max Tweets per hour on this term"
1431
+ msgstr ""
1432
+
1433
+ #: wpt-rate-limiting.php:175
1434
+ msgid "%s Tweet sent, %s allowed."
1435
+ msgid_plural "%s Tweets sent, %s allowed."
1436
+ msgstr[0] ""
1437
+ msgstr[1] ""
1438
+
1439
+ #: wpt-rate-limiting.php:183
1440
+ msgid "No Tweets have been sent this hour."
1441
+ msgstr ""
1442
+
1443
+ #: wpt-widget.php:61
1444
  msgid "Error: "
1445
  msgstr ""
1446
 
1447
+ #: wpt-widget.php:115
1448
  msgid "<a href=\"%3$s\">about %1$s ago</a> via %2$s"
1449
  msgstr ""
1450
 
1451
+ #: wpt-widget.php:117
1452
  msgid "<a href=\"%2$s\">about %1$s ago</a>"
1453
  msgstr ""
1454
 
1455
+ #: wpt-widget.php:173
1456
  msgid "Display a list of your latest tweets."
1457
  msgstr ""
1458
 
1459
+ #: wpt-widget.php:181
1460
  msgid "WP to Twitter - Latest Tweets"
1461
  msgstr ""
1462
 
1463
+ #: wpt-widget.php:240 wpt-widget.php:438
1464
  msgid "Title"
1465
  msgstr ""
1466
 
1467
+ #: wpt-widget.php:248
1468
  msgid "Twitter Username"
1469
  msgstr ""
1470
 
1471
+ #: wpt-widget.php:260
1472
+ msgid "Hide Widget Header"
1473
+ msgstr ""
1474
+
1475
+ #: wpt-widget.php:265 wpt-widget.php:454
1476
  msgid "Number of Tweets to Show"
1477
  msgstr ""
1478
 
1479
+ #: wpt-widget.php:277
1480
  msgid "Hide @ Replies"
1481
  msgstr ""
1482
 
1483
+ #: wpt-widget.php:285
1484
  msgid "Include Retweets"
1485
  msgstr ""
1486
 
1487
+ #: wpt-widget.php:293 wpt-widget.php:490
1488
  msgid "Parse links"
1489
  msgstr ""
1490
 
1491
+ #: wpt-widget.php:301 wpt-widget.php:498
1492
  msgid "Parse @mentions"
1493
  msgstr ""
1494
 
1495
+ #: wpt-widget.php:309
1496
+ msgid "Show Images"
1497
+ msgstr ""
1498
+
1499
+ #: wpt-widget.php:317 wpt-widget.php:506
1500
  msgid "Parse #hashtags"
1501
  msgstr ""
1502
 
1503
+ #: wpt-widget.php:325 wpt-widget.php:514
1504
  msgid "Include Reply/Retweet/Favorite Links"
1505
  msgstr ""
1506
 
1507
+ #: wpt-widget.php:333 wpt-widget.php:522
1508
  msgid "Include Tweet source"
1509
  msgstr ""
1510
 
1511
+ #: wpt-widget.php:373
1512
+ msgid "Display a list of tweets returned by a search."
1513
+ msgstr ""
1514
+
1515
+ #: wpt-widget.php:381
1516
+ msgid "WP to Twitter - Searched Tweets"
1517
+ msgstr ""
1518
+
1519
+ #: wpt-widget.php:445
1520
+ msgid "Search String"
1521
+ msgstr ""
1522
+
1523
+ #: wpt-widget.php:463
1524
+ msgid "Type of Results"
1525
+ msgstr ""
1526
+
1527
+ #: wpt-widget.php:467
1528
+ msgid "Recent Tweets"
1529
+ msgstr ""
1530
+
1531
+ #: wpt-widget.php:469
1532
+ msgid "Popular Tweets"
1533
+ msgstr ""
1534
+
1535
+ #: wpt-widget.php:471
1536
+ msgid "Mixed"
1537
+ msgstr ""
1538
+
1539
+ #: wpt-widget.php:477
1540
+ msgid "Geocode (Latitude,Longitude,Radius)"
1541
+ msgstr ""
1542
+
1543
  #. Plugin Name of the plugin/theme
1544
  msgid "WP to Twitter"
1545
  msgstr ""
1546
 
1547
  #. Plugin URI of the plugin/theme
1548
+ msgid "http://www.joedolson.com/wp-to-twitter/"
1549
  msgstr ""
1550
 
1551
  #. Description of the plugin/theme
1552
  msgid ""
1553
+ "Posts a Tweet when you update your WordPress blog or post a link, using your "
1554
+ "URL shortening service. Rich in features for customizing and promoting your "
1555
+ "Tweets."
1556
  msgstr ""
1557
 
1558
  #. Author of the plugin/theme
readme.txt CHANGED
@@ -2,11 +2,11 @@
2
  Contributors: joedolson
3
  Donate link: http://www.joedolson.com/donate/
4
  Tags: twitter, microblogging, su.pr, bitly, yourls, redirect, shortener, post, links, social, sharing, media, tweet
5
- Requires at least: 3.9.2
6
- Tested up to: 4.2.2
7
  License: GPLv2 or later
8
  Text Domain: wp-to-twitter
9
- Stable tag: 3.0.7
10
 
11
  Posts a Twitter update when you update your WordPress blog or add a link, with your chosen URL shortening service.
12
 
@@ -54,12 +54,9 @@ Want to stay up to date on WP to Twitter? [Follow me on Twitter!](https://twitte
54
 
55
  = Translations =
56
 
57
- Visit the [WP to Twitter translations page](http://translate.joedolson.com/projects/wp-to-twitter) to see how complete these are.
58
 
59
- Translations available (in order of completeness):
60
- Japanese, Dutch, French, Italian, Russian, Danish, Catalan, Portuguese (Brazil), Spanish (Spain), Chinese (Taiwan), German, Romanian, Estonian, Polish, Lithuanian, Ukrainian, Irish, Swedish, Turkish
61
-
62
- Translating my plug-ins is always appreciated. Visit <a href="http://translate.joedolson.com">my translations site</a> to start getting your language into shape!
63
 
64
  == Changelog ==
65
 
@@ -68,6 +65,68 @@ Translating my plug-ins is always appreciated. Visit <a href="http://translate.j
68
  * Use apply_filters( 'wpt_tweet_sentence', $tweet, $post_ID ) to pass custom taxonomy Tweet formats - Pending WordPress support for taxonomy meta.
69
  * Add regex filter to detect URLs typed into Tweet fields for counting/shortening purposes. [todo]
70
  * 4.2 added compat function for mb_substr; drop mine when I drop support for 4.1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
 
72
  = 3.1.0 =
73
 
@@ -175,4 +234,4 @@ Writing and maintaining a plug-in is a lot of work. You can help me by providing
175
 
176
  == Upgrade Notice ==
177
 
178
- * 3.1.0 - New feature: Rate limiting by category; Staging mode; misc. bug fixes
2
  Contributors: joedolson
3
  Donate link: http://www.joedolson.com/donate/
4
  Tags: twitter, microblogging, su.pr, bitly, yourls, redirect, shortener, post, links, social, sharing, media, tweet
5
+ Requires at least: 4.0
6
+ Tested up to: 4.4.0
7
  License: GPLv2 or later
8
  Text Domain: wp-to-twitter
9
+ Stable tag: 3.1.8
10
 
11
  Posts a Twitter update when you update your WordPress blog or add a link, with your chosen URL shortening service.
12
 
54
 
55
  = Translations =
56
 
57
+ Visit the [WP to Twitter translation site](https://translate.wordpress.org/projects/wp-plugins/wp-to-twitter/stable) to see how complete the current translations are.
58
 
59
+ Translating my plug-ins is always appreciated. Work on WP to Twitter translations at <a href="https://translate.wordpress.org/projects/wp-plugins/wp-to-twitter">the WordPress translation site</a>! You'll need a WordPress.org account to contribute!
 
 
 
60
 
61
  == Changelog ==
62
 
65
  * Use apply_filters( 'wpt_tweet_sentence', $tweet, $post_ID ) to pass custom taxonomy Tweet formats - Pending WordPress support for taxonomy meta.
66
  * Add regex filter to detect URLs typed into Tweet fields for counting/shortening purposes. [todo]
67
  * 4.2 added compat function for mb_substr; drop mine when I drop support for 4.1
68
+ * WP to Twitter timing bug with images?
69
+
70
+ = 3.1.9 =
71
+
72
+ * CSS update in Twitter feed for new iframe generated follow button
73
+ * Include target URL in information deleted when a post's Tweet History cleared
74
+ * Minor design changes
75
+ * Updated manual
76
+ * Updated text
77
+
78
+ = 3.1.8 =
79
+
80
+ * Bug fix: Add support for calendar picker in WP Tweets Pro
81
+ * New filter on random delay value
82
+
83
+ = 3.1.7 =
84
+
85
+ * Bug fix: mismatched argument count in replacements caused & to be replaced with null
86
+ * Bug fix: PHP notice on Advanced Settings screen
87
+ * Bug fix: append/prepend fields accidentally eliminated from Tweet output in truncation rewrite
88
+
89
+ = 3.1.6 =
90
+
91
+ * Rewrite: Rewrite Tweet truncation code.
92
+ * Bug fix: Make charcount aware of #longurl#
93
+ * Open up possibility of reposting more than 3 times in WP Tweets PRO through filters.
94
+ * Bug fix: issue with character counting on Scheduled Tweets screen.
95
+ * Add textdomain to plug-in header
96
+
97
+ = 3.1.5 =
98
+
99
+ * New filter allows disabling storing short URLs `wpt_store_urls`; return false.
100
+ * Disable migration routine as DB-wide function; handle only on post edit.
101
+ * Eliminate some unused variables.
102
+ * Change primary settings headings to H1 on WP 4.3 and above.
103
+ * Removed collapsible panels in settings. These are irrelevant with tabbed interface.
104
+ * Minor design changes.
105
+
106
+ = 3.1.4 =
107
+
108
+ * CSS fix for 4.3 compatibility.
109
+ * Avoid error if administrator role is missing.
110
+ * Prevent setting rate limiting to 0.
111
+
112
+ = 3.1.3 =
113
+
114
+ * Bug fix: Fix a fallback function for mb_substr
115
+ * Bug fix: Missing Urlencoding on YOURLS post titles caused return as XML instead of JSON
116
+ * Bug fix: one rate limiting setting not deleted on uninstall
117
+ * Update Language: Australian English
118
+
119
+ = 3.1.2 =
120
+
121
+ * Misnamed variable in 3.1.1.
122
+ * Minor update to Dutch translation
123
+ * Added partial Australian English translation
124
+
125
+ = 3.1.1 =
126
+
127
+ * Add post title to Yourls shortener query. Thanks to <a href="https://wordpress.org/support/topic/missing-post-title-on-remote-yourls-call-fix-included?replies=1">the.mnbvcx</a>.
128
+ * Bug fix: Overlooked warning if categories not defined.
129
+ * Updated wp-to-twitter.pot
130
 
131
  = 3.1.0 =
132
 
234
 
235
  == Upgrade Notice ==
236
 
237
+ * 3.1.6 - Rewritten Tweet truncating functions; minor bug fixes.
uninstall.php CHANGED
@@ -25,6 +25,7 @@ if ( ! defined( 'ABSPATH' ) && ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
25
  delete_option( 'wpt_rate_limits' );
26
  delete_option( 'wpt_default_rate_limit' );
27
  delete_option( 'wpt_rate_limit' );
 
28
 
29
  // Blogroll options
30
  delete_option( 'jd-use-link-title' );
25
  delete_option( 'wpt_rate_limits' );
26
  delete_option( 'wpt_default_rate_limit' );
27
  delete_option( 'wpt_rate_limit' );
28
+ delete_option( 'wpt_rate_limiting' );
29
 
30
  // Blogroll options
31
  delete_option( 'jd-use-link-title' );
wp-to-twitter-manager.php CHANGED
@@ -74,7 +74,7 @@ function wpt_updated_settings() {
74
  update_option( 'wpt_inline_edits', ( isset( $_POST['wpt_inline_edits'] ) ) ? $_POST['wpt_inline_edits'] : 0 );
75
  update_option( 'jd_twit_remote', ( isset( $_POST['jd_twit_remote'] ) ) ? $_POST['jd_twit_remote'] : 0 );
76
  update_option( 'jd_twit_custom_url', $_POST['jd_twit_custom_url'] );
77
- update_option( 'wpt_default_rate_limit', intval( $_POST['wpt_default_rate_limit'] ) );
78
  update_option( 'jd_strip_nonan', ( isset( $_POST['jd_strip_nonan'] ) ) ? $_POST['jd_strip_nonan'] : 0 );
79
  update_option( 'jd_twit_prepend', $_POST['jd_twit_prepend'] );
80
  update_option( 'jd_twit_append', $_POST['jd_twit_append'] );
@@ -180,26 +180,15 @@ function wpt_update_settings() {
180
  wpt_updated_settings();
181
  wpt_show_last_tweet();
182
  wpt_handle_errors();
 
183
  ?>
 
 
184
 
185
- <h2><?php _e( "WP to Twitter Options", 'wp-to-twitter' ); ?></h2>
186
  <div class='nav-tab-wrapper'>
187
  <?php wpt_settings_tabs(); ?>
188
  </div>
189
  <div id="wpt_settings_page" class="postbox-container jcd-wide">
190
-
191
- <?php
192
- // Nothing triggers this. If you want some debugging information, just add the parameter to the URL.
193
- if ( isset( $_GET['debug'] ) && $_GET['debug'] == 'true' ) {
194
- $debug = get_option( 'wpt_debug' );
195
- echo "<pre>";
196
- print_r( $debug );
197
- echo "</pre>";
198
- }
199
- if ( isset( $_GET['debug'] ) && $_GET['debug'] == 'delete' ) {
200
- delete_option( 'wpt_debug' );
201
- }
202
- ?>
203
  <div class="metabox-holder">
204
 
205
  <?php
@@ -220,30 +209,37 @@ function wpt_update_settings() {
220
  if ( ! function_exists( 'wpt_pro_exists' ) ) { ?>
221
  <div class="ui-sortable meta-box-sortables">
222
  <div class="postbox">
223
- <div class="handlediv"><span class="screen-reader-text">Click to toggle</span></div>
224
- <h3 class='wpt-upgrade hndle'><span><strong><?php _e( 'Upgrade Now!', 'wp-to-twitter' ); ?></strong></span>
225
- </h3>
226
 
227
  <div class="inside purchase">
 
 
 
 
 
 
 
 
 
 
 
228
  <p>
229
  <?php
230
- _e( '<strong>What can WP Tweets PRO do for you?</strong> It takes the great Tweeting abilities from WP to Twitter and puts them in high gear: publish to unique Twitter accounts for every site author; schedule up to 3 re-posts of Tweets at an interval of your choice; and, with a delay between publishing and Tweeting, verify your tweets before you share them with your followers.', 'wp-to-twitter' );
231
  ?>
232
  </p>
233
  <p class='wpt-button'>
234
  <strong class='cta'><a href="https://www.joedolson.com/wp-tweets-pro/"><?php _e( 'Upgrade to <strong>WP Tweets PRO</strong>!', 'wp-to-twitter' ); ?></a></strong>
235
  </p>
236
 
237
- <h4><?php _e( 'What does WP Tweets PRO do?', 'wp-to-twitter' ); ?></h4>
238
 
239
  <p>
240
- <?php _e( 'WP Tweets PRO is packed with features to help you increase engagement with your Twitter followers. Upload images, support for Twitter Cards, and automated re-posting of your Tweets are just a few of the features available in the premium add-on to WP to Twitter.', 'wp-to-twitter' ); ?>
 
 
 
241
  </p>
242
-
243
- <h4><?php _e( 'Guy Kawasaki recommends WP to Twitter', 'wp-to-twitter' ); ?></h4>
244
-
245
- <blockquote class="twitter-tweet" lang="en"><p>WP to Twitter = best Wordpress plugin according to <a href="https://twitter.com/GuyKawasaki">@GuyKawasaki</a> <a href="https://twitter.com/hashtag/SMMW15?src=hash">#SMMW15</a></p>&mdash; Cision (@Cision) <a href="https://twitter.com/Cision/status/581170603224371200">March 26, 2015</a></blockquote>
246
- <script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
247
 
248
  <p class='wpt-button'>
249
  <strong class='cta'><a href="https://www.joedolson.com/wp-tweets-pro/"><?php _e( 'Buy WP Tweets PRO today!', 'wp-to-twitter' ); ?></a></strong>
@@ -253,15 +249,14 @@ function wpt_update_settings() {
253
  </div>
254
  </div>
255
  <?php
256
- }
257
  }
258
  }
259
  if ( $current == 'basic' ) {
260
  ?>
261
  <div class="ui-sortable meta-box-sortables">
262
  <div class="postbox">
263
- <div class="handlediv"><span class="screen-reader-text">Click to toggle</span></div>
264
- <h3 class='hndle'><span><?php _e( 'Status Update Templates', 'wp-to-twitter' ); ?></span></h3>
265
 
266
  <div class="inside wpt-settings">
267
  <form method="post" action="">
@@ -406,8 +401,7 @@ function wpt_update_settings() {
406
 
407
  <div class="ui-sortable meta-box-sortables">
408
  <div class="postbox">
409
- <div class="handlediv"><span class="screen-reader-text">Click to toggle</span></div>
410
- <h3 class='hndle'><span><?php _e( 'Tweet Template Tags', 'wp-to-twitter' ); ?></span></h3>
411
 
412
  <div class="inside">
413
  <ul>
@@ -450,8 +444,7 @@ function wpt_update_settings() {
450
  ?>
451
  <div class="ui-sortable meta-box-sortables">
452
  <div class="postbox">
453
- <div class="handlediv"><span class="screen-reader-text">Click to toggle</span></div>
454
- <h3 class='hndle'><span><?php _e( 'Advanced Settings', 'wp-to-twitter' ); ?></span></h3>
455
 
456
  <div class="inside">
457
  <form method="post" action="">
@@ -490,6 +483,8 @@ function wpt_update_settings() {
490
  <input aria-describedby="jd_max_characters_label" type="text" name="jd_max_tags"
491
  id="jd_max_tags" value="<?php esc_attr_e( get_option( 'jd_max_tags' ) ); ?>"
492
  size="3"/>
 
 
493
  <label
494
  for="jd_max_characters"><?php _e( "Maximum length in characters for included tags:", 'wp-to-twitter' ); ?></label>
495
  <input type="text" name="jd_max_characters" id="jd_max_characters"
@@ -522,24 +517,20 @@ function wpt_update_settings() {
522
  </p>
523
 
524
  <p>
525
- <label
526
- for="jd_twit_prepend"><?php _e( "Custom text before all Tweets:", 'wp-to-twitter' ); ?></label>
527
  <input type="text" name="jd_twit_prepend" id="jd_twit_prepend" size="20"
528
  value="<?php esc_attr_e( stripslashes( get_option( 'jd_twit_prepend' ) ) ) ?>"/>
529
  </p>
530
 
531
  <p>
532
- <label
533
- for="jd_twit_append"><?php _e( "Custom text after all Tweets:", 'wp-to-twitter' ); ?></label>
534
  <input type="text" name="jd_twit_append" id="jd_twit_append" size="20"
535
  value="<?php esc_attr_e( stripslashes( get_option( 'jd_twit_append' ) ) ) ?>"/>
536
  </p>
537
 
538
  <p>
539
- <label
540
- for="jd_twit_custom_url"><?php _e( "Custom field for an alternate URL to be shortened and Tweeted:", 'wp-to-twitter' ); ?></label>
541
- <input type="text" name="jd_twit_custom_url" id="jd_twit_custom_url" size="40"
542
- maxlength="120"
543
  value="<?php esc_attr_e( stripslashes( get_option( 'jd_twit_custom_url' ) ) ) ?>"/>
544
  </p>
545
  </fieldset>
@@ -602,7 +593,7 @@ function wpt_update_settings() {
602
  <?php
603
  if ( get_option( 'wpt_rate_limiting' ) == 1 ) {
604
  ?>
605
- <input type="number" name="wpt_default_rate_limit" id="wpt_default_rate_limit"
606
  value="<?php echo wpt_default_rate_limit(); ?>" />
607
  <label
608
  for="wpt_default_rate_limit"><?php _e( "Default Rate Limit per category per hour", 'wp-to-twitter' ); ?></label><br/>
@@ -671,7 +662,7 @@ function wpt_update_settings() {
671
  'wpt_twitter_custom' => __( 'See Custom Tweet Field when creating a Post', 'wp-to-twitter' ),
672
  'wpt_twitter_switch' => __( 'Toggle the Tweet/Don\'t Tweet option', 'wp-to-twitter' ),
673
  'wpt_tweet_now' => __( 'Can see Tweet Now button', 'wp-to-twitter' ),
674
- 'wpt_twitter_oauth' => __( 'Add Twitter Information to User Profile', 'wp-to-twitter' )
675
  );
676
  $role_tabs = $role_container = '';
677
  foreach ( $roles as $role => $rolename ) {
@@ -699,14 +690,12 @@ function wpt_update_settings() {
699
  <fieldset>
700
  <legend><?php _e( 'Error Messages and Debugging', 'wp-to-twitter' ); ?></legend>
701
  <ul>
702
- <li><input type="checkbox" name="wpt_permit_feed_styles" id="wpt_permit_feed_styles"
703
- value="1" <?php echo jd_checkCheckbox( 'wpt_permit_feed_styles' ) ?> />
704
- <label
705
- for="wpt_permit_feed_styles"><?php _e( "Disable Twitter Feed Stylesheet", 'wp-to-twitter' ); ?></label>
706
  </li>
707
- <li><input type="checkbox" name="wp_debug_oauth" id="wp_debug_oauth"
708
- value="1" <?php echo jd_checkCheckbox( 'wp_debug_oauth' ) ?> /> <label
709
- for="wp_debug_oauth"><?php _e( "Get Debugging Data for OAuth Connection", 'wp-to-twitter' ); ?></label>
710
  </li>
711
  <li><input type="checkbox" name="jd_donations" id="jd_donations"
712
  value="1" <?php echo jd_checkCheckbox( 'jd_donations' ) ?> /> <label
@@ -729,27 +718,21 @@ function wpt_update_settings() {
729
  if ( $current == 'support' ) {
730
  ?>
731
  <div class="postbox" id="get-support">
732
- <div class="handlediv"><span class="screen-reader-text">Click to toggle</span></div>
733
- <h3 class='hndle'><span><?php _e( 'Get Plug-in Support', 'wp-to-twitter' ); ?></span></h3>
734
 
735
  <div class="inside">
 
 
 
 
 
 
 
 
736
  <?php wpt_get_support_form(); ?>
737
  </div>
738
  </div>
739
  <?php } ?>
740
- <p>
741
- <?php _e( 'Check whether WP to Twitter is setup correctly for Twitter and your URL Shortener. The test sends a status update to Twitter and shortens a URL using your chosen shortener.', 'wp-to-twitter' ); ?>
742
- </p>
743
- <form method="post" action="">
744
- <fieldset>
745
- <input type="hidden" name="submit-type" value="check-support"/>
746
- <?php $nonce = wp_nonce_field( 'wp-to-twitter-nonce', '_wpnonce', true, false ) . wp_referer_field( false );
747
- echo "<div>$nonce</div>"; ?>
748
- <p>
749
- <input type="submit" name="submit" value="<?php _e( 'Test WP to Twitter', 'wp-to-twitter' ); ?>" class="button-primary" />
750
- </p>
751
- </fieldset>
752
- </form>
753
  </div>
754
  </div>
755
  <?php wpt_sidebar(); ?>
@@ -759,20 +742,23 @@ function wpt_update_settings() {
759
  }
760
 
761
  function wpt_sidebar() {
 
762
  ?>
763
  <div class="postbox-container jcd-narrow">
764
  <div class="metabox-holder">
765
- <div class="ui-sortable meta-box-sortables">
766
  <div class="postbox">
767
- <div class="handlediv"><span class="screen-reader-text">Click to toggle</span></div>
768
- <?php if ( ! function_exists( 'wpt_pro_exists' ) ) { ?>
769
- <h3 class='hndle'>
770
  <span><strong><?php _e( 'Support WP to Twitter', 'wp-to-twitter' ); ?></strong></span></h3>
771
  <?php } else { ?>
772
- <h3 class='hndle'>
773
  <span><strong><?php _e( 'WP to Twitter Support', 'wp-to-twitter' ); ?></strong></span></h3>
774
  <?php } ?>
775
  <div class="inside resources">
 
 
 
776
  <p>
777
  <a href="https://twitter.com/intent/follow?screen_name=joedolson" class="twitter-follow-button"
778
  data-size="small" data-related="joedolson">Follow @joedolson</a>
@@ -786,51 +772,57 @@ function wpt_sidebar() {
786
  }
787
  }(document, "script", "twitter-wjs");</script>
788
  </p>
789
- <?php if ( function_exists( 'wpt_pro_exists' ) ) {
 
790
  $support_url = admin_url( 'admin.php?page=wp-tweets-pro' );
 
791
  } else {
792
- $support_url = admin_url( 'options-general.php?page=wp-to-twitter/wp-to-twitter.php' );
793
- } ?>
794
- <a href="<?php echo esc_url( add_query_arg( 'tab', 'support', $support_url ) ); ?>#get-support"><?php _e( "Get Support", 'wp-to-twitter' ); ?></a> &bull;
795
- <a href="https://www.joedolson.com/wp-content/uploads/wp-tweets-pro-users-guide-1.8.2.pdf"><?php _e( 'Read the Manual', 'wp-to-twitter' ); ?></a>
796
- <?php if ( get_option( 'jd_donations' ) != 1 && ! function_exists( 'wpt_pro_exists' ) ) { ?>
797
- <p><?php _e( '<a href="https://www.joedolson.com/wp-tweets-pro/">Get WP Tweets Pro</a> or <a href="http://www.joedolson.com/donate.php">Make a donation</a> today!', 'wp-to-twitter' ); ?></p>
798
- <div class='donations'>
799
- <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
800
- <div>
801
- <input type="hidden" name="cmd" value="_s-xclick"/>
802
- <input type="hidden" name="hosted_button_id" value="8490399"/>
803
- <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif"
804
- name="submit" alt="Donate"/>
805
- <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1"
806
- height="1"/>
807
- </div>
808
- </form>
809
- <a href="http://flattr.com/thing/559528/WP-to-Twitter"><img
810
- src="http://api.flattr.com/button/flattr-badge-large.png"
811
- alt="Flattr WP to Twitter"/></a>
812
- </div>
813
- <?php } ?>
814
  </div>
815
  </div>
816
  </div>
817
 
818
  <div class="ui-sortable meta-box-sortables">
819
  <div class="postbox">
820
- <div class="handlediv"><span class="screen-reader-text">Click to toggle</span></div>
821
- <h3 class='hndle'><?php _e( 'Twitter Time Check', 'wp-to-twitter' ); ?></h3>
822
 
823
  <div class="inside server">
824
  <?php wpt_do_server_check(); ?>
825
  </div>
826
  </div>
827
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
828
 
829
  <?php if ( get_option( 'wpt_rate_limiting' ) == 1 ) { ?>
830
  <div class="ui-sortable meta-box-sortables">
831
  <div class="postbox">
832
- <div class="handlediv"><span class="screen-reader-text">Click to toggle</span></div>
833
- <h3 class='hndle'><?php _e( 'Monitor Rate Limiting', 'wp-to-twitter' ); ?></h3>
834
 
835
  <div class="inside server">
836
  <?php echo wpt_view_rate_limits(); ?>
74
  update_option( 'wpt_inline_edits', ( isset( $_POST['wpt_inline_edits'] ) ) ? $_POST['wpt_inline_edits'] : 0 );
75
  update_option( 'jd_twit_remote', ( isset( $_POST['jd_twit_remote'] ) ) ? $_POST['jd_twit_remote'] : 0 );
76
  update_option( 'jd_twit_custom_url', $_POST['jd_twit_custom_url'] );
77
+ update_option( 'wpt_default_rate_limit', ( isset( $_POST['wpt_default_rate_limit'] ) ? intval( $_POST['wpt_default_rate_limit'] ) : false ) );
78
  update_option( 'jd_strip_nonan', ( isset( $_POST['jd_strip_nonan'] ) ) ? $_POST['jd_strip_nonan'] : 0 );
79
  update_option( 'jd_twit_prepend', $_POST['jd_twit_prepend'] );
80
  update_option( 'jd_twit_append', $_POST['jd_twit_append'] );
180
  wpt_updated_settings();
181
  wpt_show_last_tweet();
182
  wpt_handle_errors();
183
+ wpt_show_debug();
184
  ?>
185
+ <?php $elem = ( version_compare( '4.3', get_option( 'version' ), '>=' ) ) ? 'h1' : 'h2'; ?>
186
+ <<?php echo $elem; ?>><?php _e( "WP to Twitter Options", 'wp-to-twitter' ); ?></<?php echo $elem; ?>>
187
 
 
188
  <div class='nav-tab-wrapper'>
189
  <?php wpt_settings_tabs(); ?>
190
  </div>
191
  <div id="wpt_settings_page" class="postbox-container jcd-wide">
 
 
 
 
 
 
 
 
 
 
 
 
 
192
  <div class="metabox-holder">
193
 
194
  <?php
209
  if ( ! function_exists( 'wpt_pro_exists' ) ) { ?>
210
  <div class="ui-sortable meta-box-sortables">
211
  <div class="postbox">
212
+ <h3 class='wpt-upgrade'><span><strong><?php _e( 'Upgrade Now!', 'wp-to-twitter' ); ?></strong></span></h3>
 
 
213
 
214
  <div class="inside purchase">
215
+ <h4><strong><?php _e( 'What can WP Tweets PRO do for you?', 'wp-to-twitter' ); ?></strong></h4>
216
+ <p>
217
+ <?php
218
+ _e( 'WP Tweets PRO takes the great Tweeting abilities from WP to Twitter and puts them in high gear.', 'wp-to-twitter' );
219
+ ?>
220
+ </p>
221
+ <ul>
222
+ <li><?php _e( 'Publish to unique Twitter accounts for each site author.','wp-to-twitter' ); ?></li>
223
+ <li><?php _e( 'Schedule up to 3 re-posts of Tweets at an interval of your choice.', 'wp-to-twitter' ); ?></li>
224
+ <li><?php _e( 'With a delay between publishing and Tweeting, verify your tweets before you share online.', 'wp-to-twitter' ); ?></li>
225
+ </ul>
226
  <p>
227
  <?php
228
+ _e( "Use WP Tweets PRO to keep traffic coming for every post.", 'wp-to-twitter' );
229
  ?>
230
  </p>
231
  <p class='wpt-button'>
232
  <strong class='cta'><a href="https://www.joedolson.com/wp-tweets-pro/"><?php _e( 'Upgrade to <strong>WP Tweets PRO</strong>!', 'wp-to-twitter' ); ?></a></strong>
233
  </p>
234
 
235
+ <h4><?php _e( 'What else does WP Tweets PRO do?', 'wp-to-twitter' ); ?></h4>
236
 
237
  <p>
238
+ <?php _e( 'WP Tweets PRO is packed with features to help you increase engagement with your Twitter followers. Upload images, use Twitter Cards, and automated re-posting of your Tweets are just a few of the features available in the premium add-on to WP to Twitter.', 'wp-to-twitter' ); ?>
239
+ </p>
240
+ <p>
241
+ <?php sprintf( _e( '<a href="%s">Learn more about WP Tweets PRO</a>!', 'wp-to-twitter' ), 'https://www.joedolson.com/wp-tweets-pro/?campaign=get-wpt' ); ?>
242
  </p>
 
 
 
 
 
243
 
244
  <p class='wpt-button'>
245
  <strong class='cta'><a href="https://www.joedolson.com/wp-tweets-pro/"><?php _e( 'Buy WP Tweets PRO today!', 'wp-to-twitter' ); ?></a></strong>
249
  </div>
250
  </div>
251
  <?php
252
+ }
253
  }
254
  }
255
  if ( $current == 'basic' ) {
256
  ?>
257
  <div class="ui-sortable meta-box-sortables">
258
  <div class="postbox">
259
+ <h3><span><?php _e( 'Status Update Templates', 'wp-to-twitter' ); ?></span></h3>
 
260
 
261
  <div class="inside wpt-settings">
262
  <form method="post" action="">
401
 
402
  <div class="ui-sortable meta-box-sortables">
403
  <div class="postbox">
404
+ <h3><span><?php _e( 'Tweet Template Tags', 'wp-to-twitter' ); ?></span></h3>
 
405
 
406
  <div class="inside">
407
  <ul>
444
  ?>
445
  <div class="ui-sortable meta-box-sortables">
446
  <div class="postbox">
447
+ <h3><span><?php _e( 'Advanced Settings', 'wp-to-twitter' ); ?></span></h3>
 
448
 
449
  <div class="inside">
450
  <form method="post" action="">
483
  <input aria-describedby="jd_max_characters_label" type="text" name="jd_max_tags"
484
  id="jd_max_tags" value="<?php esc_attr_e( get_option( 'jd_max_tags' ) ); ?>"
485
  size="3"/>
486
+ </p>
487
+ <p>
488
  <label
489
  for="jd_max_characters"><?php _e( "Maximum length in characters for included tags:", 'wp-to-twitter' ); ?></label>
490
  <input type="text" name="jd_max_characters" id="jd_max_characters"
517
  </p>
518
 
519
  <p>
520
+ <label for="jd_twit_prepend"><?php _e( "Custom text before Tweets:", 'wp-to-twitter' ); ?></label>
 
521
  <input type="text" name="jd_twit_prepend" id="jd_twit_prepend" size="20"
522
  value="<?php esc_attr_e( stripslashes( get_option( 'jd_twit_prepend' ) ) ) ?>"/>
523
  </p>
524
 
525
  <p>
526
+ <label for="jd_twit_append"><?php _e( "Custom text after Tweets:", 'wp-to-twitter' ); ?></label>
 
527
  <input type="text" name="jd_twit_append" id="jd_twit_append" size="20"
528
  value="<?php esc_attr_e( stripslashes( get_option( 'jd_twit_append' ) ) ) ?>"/>
529
  </p>
530
 
531
  <p>
532
+ <label for="jd_twit_custom_url"><?php _e( "Custom field for alternate post URL:", 'wp-to-twitter' ); ?></label>
533
+ <input type="text" name="jd_twit_custom_url" id="jd_twit_custom_url" size="30" maxlength="120"
 
 
534
  value="<?php esc_attr_e( stripslashes( get_option( 'jd_twit_custom_url' ) ) ) ?>"/>
535
  </p>
536
  </fieldset>
593
  <?php
594
  if ( get_option( 'wpt_rate_limiting' ) == 1 ) {
595
  ?>
596
+ <input type="number" name="wpt_default_rate_limit" min="1" id="wpt_default_rate_limit"
597
  value="<?php echo wpt_default_rate_limit(); ?>" />
598
  <label
599
  for="wpt_default_rate_limit"><?php _e( "Default Rate Limit per category per hour", 'wp-to-twitter' ); ?></label><br/>
662
  'wpt_twitter_custom' => __( 'See Custom Tweet Field when creating a Post', 'wp-to-twitter' ),
663
  'wpt_twitter_switch' => __( 'Toggle the Tweet/Don\'t Tweet option', 'wp-to-twitter' ),
664
  'wpt_tweet_now' => __( 'Can see Tweet Now button', 'wp-to-twitter' ),
665
+ 'wpt_twitter_oauth' => __( 'Allow user to authenticate with Twitter', 'wp-to-twitter' )
666
  );
667
  $role_tabs = $role_container = '';
668
  foreach ( $roles as $role => $rolename ) {
690
  <fieldset>
691
  <legend><?php _e( 'Error Messages and Debugging', 'wp-to-twitter' ); ?></legend>
692
  <ul>
693
+ <li>
694
+ <input type="checkbox" name="wpt_permit_feed_styles" id="wpt_permit_feed_styles" value="1" <?php echo jd_checkCheckbox( 'wpt_permit_feed_styles' ) ?> />
695
+ <label for="wpt_permit_feed_styles"><?php _e( "Disable Twitter Feed Stylesheet", 'wp-to-twitter' ); ?></label>
 
696
  </li>
697
+ <li>
698
+ <input type="checkbox" name="wp_debug_oauth" id="wp_debug_oauth" value="1" <?php echo jd_checkCheckbox( 'wp_debug_oauth' ) ?> /> <label for="wp_debug_oauth"><?php _e( "Get Debugging Data for OAuth Connection", 'wp-to-twitter' ); ?></label>
 
699
  </li>
700
  <li><input type="checkbox" name="jd_donations" id="jd_donations"
701
  value="1" <?php echo jd_checkCheckbox( 'jd_donations' ) ?> /> <label
718
  if ( $current == 'support' ) {
719
  ?>
720
  <div class="postbox" id="get-support">
721
+ <h3><span><?php _e( 'Get Plug-in Support', 'wp-to-twitter' ); ?></span></h3>
 
722
 
723
  <div class="inside">
724
+ <?php if ( ! function_exists( 'wpt_pro_exists' ) ) { ?>
725
+ <div class='wpt-support-me'>
726
+ <p>
727
+ <?php printf(
728
+ __( 'Please, consider a <a href="%s">purchase</a> to support WP to Twitter!', 'wp-to-twitter' ), "https://www.joedolson.com/wp-tweets-pro/" ); ?>
729
+ </p>
730
+ </div>
731
+ <?php } ?>
732
  <?php wpt_get_support_form(); ?>
733
  </div>
734
  </div>
735
  <?php } ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
736
  </div>
737
  </div>
738
  <?php wpt_sidebar(); ?>
742
  }
743
 
744
  function wpt_sidebar() {
745
+ $context = ( ! function_exists( 'wpt_pro_exists' ) ) ? 'free' : 'premium';
746
  ?>
747
  <div class="postbox-container jcd-narrow">
748
  <div class="metabox-holder">
749
+ <div class="ui-sortable meta-box-sortables<?php echo ' ' . $context; ?>">
750
  <div class="postbox">
751
+ <?php if ( $context == 'free' ) { ?>
752
+ <h3>
 
753
  <span><strong><?php _e( 'Support WP to Twitter', 'wp-to-twitter' ); ?></strong></span></h3>
754
  <?php } else { ?>
755
+ <h3>
756
  <span><strong><?php _e( 'WP to Twitter Support', 'wp-to-twitter' ); ?></strong></span></h3>
757
  <?php } ?>
758
  <div class="inside resources">
759
+ <?php if ( get_option( 'jd_donations' ) != 1 && ! function_exists( 'wpt_pro_exists' ) ) { ?>
760
+ <p class='cta'><?php _e( '<a href="https://www.joedolson.com/wp-tweets-pro/">Get WP Tweets Pro</a>', 'wp-to-twitter' ); ?></p>
761
+ <?php } ?>
762
  <p>
763
  <a href="https://twitter.com/intent/follow?screen_name=joedolson" class="twitter-follow-button"
764
  data-size="small" data-related="joedolson">Follow @joedolson</a>
772
  }
773
  }(document, "script", "twitter-wjs");</script>
774
  </p>
775
+ <?php
776
+ if ( $context == 'premium' ) {
777
  $support_url = admin_url( 'admin.php?page=wp-tweets-pro' );
778
+ $support = '<a href="' . esc_url( add_query_arg( 'tab', 'support', $support_url ) ) . '#get-support">' . __( "Get Support", 'wp-to-twitter' ) . '</a> &bull;';
779
  } else {
780
+ $support_url = false;
781
+ $support = '';
782
+ }
783
+ echo $support;
784
+ ?>
785
+ <a href="https://www.joedolson.com/wp-content/uploads/wp-tweets-pro-users-guide-current.pdf"><?php _e( 'Read the Manual', 'wp-to-twitter' ); ?></a>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
786
  </div>
787
  </div>
788
  </div>
789
 
790
  <div class="ui-sortable meta-box-sortables">
791
  <div class="postbox">
792
+ <h3><?php _e( 'Twitter Time Check', 'wp-to-twitter' ); ?></h3>
 
793
 
794
  <div class="inside server">
795
  <?php wpt_do_server_check(); ?>
796
  </div>
797
  </div>
798
  </div>
799
+
800
+ <div class="ui-sortable meta-box-sortables">
801
+ <div class="postbox">
802
+ <h3><?php _e( 'Test WP to Twitter', 'wp-to-twitter' ); ?></h3>
803
+
804
+ <div class="inside test">
805
+ <p>
806
+ <?php _e( 'Check whether WP to Twitter is setup correctly for Twitter and your URL Shortener. The test sends a status update to Twitter and shortens a URL using your chosen shortener.', 'wp-to-twitter' ); ?>
807
+ </p>
808
+ <form method="post" action="">
809
+ <fieldset>
810
+ <input type="hidden" name="submit-type" value="check-support"/>
811
+ <?php $nonce = wp_nonce_field( 'wp-to-twitter-nonce', '_wpnonce', true, false ) . wp_referer_field( false );
812
+ echo "<div>$nonce</div>"; ?>
813
+ <p>
814
+ <input type="submit" name="submit" value="<?php _e( 'Test WP to Twitter', 'wp-to-twitter' ); ?>" class="button-primary" />
815
+ </p>
816
+ </fieldset>
817
+ </form>
818
+ </div>
819
+ </div>
820
+ </div>
821
 
822
  <?php if ( get_option( 'wpt_rate_limiting' ) == 1 ) { ?>
823
  <div class="ui-sortable meta-box-sortables">
824
  <div class="postbox">
825
+ <h3><?php _e( 'Monitor Rate Limiting', 'wp-to-twitter' ); ?></h3>
 
826
 
827
  <div class="inside server">
828
  <?php echo wpt_view_rate_limits(); ?>
wp-to-twitter-oauth.php CHANGED
@@ -202,8 +202,7 @@ function wtt_connect_oauth( $auth = false ) {
202
 
203
  $submit = ( ! $auth ) ? '<p class="submit"><input type="submit" name="submit" class="button-primary" value="' . __( 'Connect to Twitter', 'wp-to-twitter' ) . '" /></p>' : '';
204
  print( '
205
- <div class="handlediv"><span class="screen-reader-text">Click to toggle</span></div>
206
- <h3 class="hndle"><span>' . __( 'Connect to Twitter', 'wp-to-twitter' ) . '</span></h3>
207
  <div class="inside ' . $class . '">
208
  <div class="notes">
209
  <h4>' . __( 'WP to Twitter Set-up', 'wp-to-twitter' ) . '</h4>
@@ -273,8 +272,7 @@ function wtt_connect_oauth( $auth = false ) {
273
  }
274
 
275
  print( '
276
- <div class="handlediv"><span class="screen-reader-text">Click to toggle</span></div>
277
- <h3 class="hndle"><span>' . __( 'Disconnect from Twitter', 'wp-to-twitter' ) . '</span></h3>
278
  <div class="inside ' . $class . '">
279
  ' . $form . '
280
  <div id="wtt_authentication_display">
202
 
203
  $submit = ( ! $auth ) ? '<p class="submit"><input type="submit" name="submit" class="button-primary" value="' . __( 'Connect to Twitter', 'wp-to-twitter' ) . '" /></p>' : '';
204
  print( '
205
+ <h3><span>' . __( 'Connect to Twitter', 'wp-to-twitter' ) . '</span></h3>
 
206
  <div class="inside ' . $class . '">
207
  <div class="notes">
208
  <h4>' . __( 'WP to Twitter Set-up', 'wp-to-twitter' ) . '</h4>
272
  }
273
 
274
  print( '
275
+ <h3><span>' . __( 'Disconnect from Twitter', 'wp-to-twitter' ) . '</span></h3>
 
276
  <div class="inside ' . $class . '">
277
  ' . $form . '
278
  <div id="wtt_authentication_display">
wp-to-twitter-shorteners.php CHANGED
@@ -122,7 +122,8 @@ if ( ! function_exists( 'jd_shorten_link' ) ) { // prep work for future plug-in
122
  'url' => $encoded,
123
  'action' => 'shorturl',
124
  'keyword' => $keyword_format,
125
- 'format' => 'json'
 
126
  ), $yourlsurl );
127
  } else {
128
  $api_url = add_query_arg( array(
@@ -131,14 +132,16 @@ if ( ! function_exists( 'jd_shorten_link' ) ) { // prep work for future plug-in
131
  'url' => $encoded,
132
  'action' => 'shorturl',
133
  'keyword' => $keyword_format,
134
- 'format' => 'json'
 
135
  ), $yourlsurl );
136
  }
137
  $json = jd_remote_json( $api_url, false );
 
138
  if ( is_object( $json ) ) {
139
  $shrink = $json->shorturl;
140
  } else {
141
- $error = "Error code: " . $json->shorturl;
142
  $shrink = false;
143
  }
144
  break;
@@ -241,7 +244,8 @@ if ( ! function_exists( 'jd_shorten_link' ) ) { // prep work for future plug-in
241
  }
242
 
243
  function wpt_store_url( $post_ID, $url ) {
244
- if ( function_exists( 'jd_shorten_link' ) ) {
 
245
  $shortener = get_option( 'jd_shortener' );
246
  if ( get_post_meta( $post_ID, '_wpt_short_url', true ) != $url ) {
247
  update_post_meta( $post_ID, '_wpt_short_url', $url );
@@ -292,7 +296,7 @@ if ( ! function_exists( 'jd_shorten_link' ) ) { // prep work for future plug-in
292
  } else {
293
  $decoded = jd_remote_json( $yourl_api . "?action=expand&shorturl=$short_url&format=json&username=$user&password=$pass" );
294
  }
295
- $url = $decoded['longurl'];
296
 
297
  return $url;
298
  } else {
@@ -325,8 +329,7 @@ if ( ! function_exists( 'jd_shorten_link' ) ) { // prep work for future plug-in
325
  ?>
326
  <div class="ui-sortable meta-box-sortables">
327
  <div class="postbox">
328
- <div class="handlediv"><span class="screen-reader-text">Click to toggle</span></div>
329
- <h3 class='hndle'>
330
  <span><?php _e( '<abbr title="Uniform Resource Locator">URL</abbr> Shortener Account Settings', 'wp-to-twitter' ); ?></span>
331
  </h3>
332
 
122
  'url' => $encoded,
123
  'action' => 'shorturl',
124
  'keyword' => $keyword_format,
125
+ 'format' => 'json',
126
+ 'title' => urlencode( $thisposttitle )
127
  ), $yourlsurl );
128
  } else {
129
  $api_url = add_query_arg( array(
132
  'url' => $encoded,
133
  'action' => 'shorturl',
134
  'keyword' => $keyword_format,
135
+ 'format' => 'json',
136
+ 'title' => urlencode( $thisposttitle )
137
  ), $yourlsurl );
138
  }
139
  $json = jd_remote_json( $api_url, false );
140
+ wpt_mail( "YOURLS JSON Response", print_r( $json, 1 ) ); // DEBUG YOURLS response
141
  if ( is_object( $json ) ) {
142
  $shrink = $json->shorturl;
143
  } else {
144
+ $error = "Error code: " . $json->shorturl . ' ' . $json->message;
145
  $shrink = false;
146
  }
147
  break;
244
  }
245
 
246
  function wpt_store_url( $post_ID, $url ) {
247
+ $store_urls = apply_filters( 'wpt_store_urls', true, $post_ID, $url );
248
+ if ( function_exists( 'jd_shorten_link' ) && $store_urls ) {
249
  $shortener = get_option( 'jd_shortener' );
250
  if ( get_post_meta( $post_ID, '_wpt_short_url', true ) != $url ) {
251
  update_post_meta( $post_ID, '_wpt_short_url', $url );
296
  } else {
297
  $decoded = jd_remote_json( $yourl_api . "?action=expand&shorturl=$short_url&format=json&username=$user&password=$pass" );
298
  }
299
+ $url = ( isset( $decoded['longurl'] ) ) ? $decoded['longurl'] : $short_url;
300
 
301
  return $url;
302
  } else {
329
  ?>
330
  <div class="ui-sortable meta-box-sortables">
331
  <div class="postbox">
332
+ <h3>
 
333
  <span><?php _e( '<abbr title="Uniform Resource Locator">URL</abbr> Shortener Account Settings', 'wp-to-twitter' ); ?></span>
334
  </h3>
335
 
wp-to-twitter.php CHANGED
@@ -3,8 +3,10 @@
3
  Plugin Name: WP to Twitter
4
  Plugin URI: http://www.joedolson.com/wp-to-twitter/
5
  Description: Posts a Tweet when you update your WordPress blog or post a link, using your URL shortening service. Rich in features for customizing and promoting your Tweets.
6
- Version: 3.1.0
7
  Author: Joseph Dolson
 
 
8
  Author URI: http://www.joedolson.com/
9
  */
10
  /* Copyright 2008-2015 Joseph C Dolson (email : plugins@joedolson.com)
@@ -27,22 +29,11 @@ if ( ! defined( 'ABSPATH' ) ) {
27
  exit;
28
  } // Exit if accessed directly
29
 
30
- global $wp_version;
31
- $wp_content_url = content_url();
32
- $wp_content_dir = str_replace( '/plugins/wp-to-twitter', '', plugin_dir_path( __FILE__ ) );
33
- if ( defined( 'WP_CONTENT_URL' ) ) {
34
- $wp_content_url = constant( 'WP_CONTENT_URL' );
35
- }
36
- if ( defined( 'WP_CONTENT_DIR' ) ) {
37
- $wp_content_dir = constant( 'WP_CONTENT_DIR' );
38
- }
39
-
40
- define( 'WPT_DEBUG', false );
41
- define( 'WPT_DEBUG_ADDRESS', 'debug@joedolson.com' );
42
  define( 'WPT_FROM', "From: \"" . get_option( 'blogname' ) . "\" <" . get_option( 'admin_email' ) . ">" );
43
  // define( 'WPT_DEBUG_ADDRESS', 'debug@joedolson.com, yourname@youraddress.com' ); // for multiple recipients.
44
 
45
- $wp_plugin_url = plugins_url();
46
  include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); // required in order to access is_plugin_active()
47
 
48
  require_once( plugin_dir_path( __FILE__ ) . '/wpt-functions.php' );
@@ -55,7 +46,7 @@ require_once( plugin_dir_path( __FILE__ ) . '/wpt-widget.php' );
55
  require_once( plugin_dir_path( __FILE__ ) . '/wpt-rate-limiting.php' );
56
 
57
  global $wpt_version;
58
- $wpt_version = "3.1.0";
59
 
60
  add_action( 'plugins_loaded', 'wpt_load_textdomain' );
61
  function wpt_load_textdomain() {
@@ -108,11 +99,13 @@ function wptotwitter_activate() {
108
  update_option( 'jd_max_characters', 15 );
109
  update_option( 'jd_replace_character', '' );
110
  $administrator = get_role( 'administrator' );
111
- $administrator->add_cap( 'wpt_twitter_oauth' );
112
- $administrator->add_cap( 'wpt_twitter_custom' );
113
- $administrator->add_cap( 'wpt_twitter_switch' );
114
- $administrator->add_cap( 'wpt_can_tweet' );
115
- $administrator->add_cap( 'wpt_tweet_now' );
 
 
116
  $editor = get_role( 'editor' );
117
  if ( is_object( $editor ) ) {
118
  $editor->add_cap( 'wpt_can_tweet' );
@@ -265,19 +258,7 @@ function wptotwitter_activate() {
265
  if ( $upgrade ) {
266
  $administrator->add_cap( 'wpt_tweet_now' );
267
  }
268
-
269
- $upgrade = version_compare( $prev_version, "2.9.8", "<=" );
270
- if ( $upgrade ) {
271
- // migrate stored short URL fields.
272
- $count = wpt_get_migration_posts( 'count' );
273
- if ( $count > 1000 ) {
274
- // if more than 1000 posts, don't run this during update process.
275
- update_option( 'wpt_needs_migration', 'true' );
276
- } else {
277
- wpt_migrate_url_meta();
278
- }
279
- }
280
-
281
  update_option( 'wp_to_twitter_version', $wpt_version );
282
  }
283
 
@@ -300,51 +281,56 @@ function wpt_get_migration_posts( $type = 'posts' ) {
300
  return ( $type == 'posts' ) ? $posts : $count;
301
  }
302
 
303
- /* Function migrates post meta to new format. */
 
 
 
304
  function wpt_migrate_url_meta() {
305
- $posts = wpt_get_migration_posts();
306
- foreach ( $posts as $post ) {
307
- $post_id = $post->ID;
308
- $short = '';
309
- if ( $short == "" ) {
310
- $short = get_post_meta( $post_id, '_wp_jd_goo', true );
311
- delete_post_meta( $post_id, '_wp_jd_goo' );
312
- }
313
- if ( $short == "" ) {
314
- $short = get_post_meta( $post_id, '_wp_jd_supr', true );
315
- delete_post_meta( $post_id, '_wp_jd_supr' );
316
- }
317
- if ( $short == "" ) {
318
- $short = get_post_meta( $post_id, '_wp_jd_wp', true );
319
- delete_post_meta( $post_id, '_wp_jd_wp' );
320
- }
321
- if ( $short == "" ) {
322
- $short = get_post_meta( $post_id, '_wp_jd_ind', true );
323
- delete_post_meta( $post_id, '_wp_jd_ind' );
324
- }
325
- if ( $short == "" ) {
326
- $short = get_post_meta( $post_id, '_wp_jd_yourls', true );
327
- delete_post_meta( $post_id, '_wp_jd_yourls' );
328
- }
329
- if ( $short == "" ) {
330
- $short = get_post_meta( $post_id, '_wp_jd_url', true );
331
- delete_post_meta( $post_id, '_wp_jd_url' );
332
- }
333
- if ( $short == "" ) {
334
- $short = get_post_meta( $post_id, '_wp_jd_joturl', true );
335
- delete_post_meta( $post_id, '_wp_jd_joturl' );
336
- }
337
- if ( $short == "" ) {
338
- // don't delete target link
339
- $short = get_post_meta( $post_id, '_wp_jd_target', true );
340
- }
341
- if ( $short == "" ) {
342
- $short = get_post_meta( $post_id, '_wp_jd_clig', true );
343
- delete_post_meta( $post_id, '_wp_jd_clig' );
344
- }
345
- update_post_meta( $post_id, '_wpt_short_url', $short );
346
  }
347
- update_option( 'wpt_needs_migration', 'false' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
348
  }
349
 
350
  // Function checks for an alternate URL to be Tweeted. Contribution by Bill Berry.
@@ -611,7 +597,7 @@ function jd_doTwitterAPIPost( $twit, $auth = false, $id = false, $media = false
611
  *
612
  * @return string Normalized text.
613
  */
614
- function fake_normalize( $string ) {
615
  if ( version_compare( PHP_VERSION, '5.0.0', '>=' ) && function_exists( 'normalizer_normalize' ) ) {
616
  if ( normalizer_is_normalized( $string ) ) {
617
  return $string;
@@ -693,6 +679,7 @@ function wpt_post_info( $post_ID ) {
693
  // get first category
694
  $category = $cat_desc = null;
695
  $categories = get_the_category( $post_ID );
 
696
  if ( is_array( $categories ) ) {
697
  if ( count( $categories ) > 0 ) {
698
  $category = $categories[0]->cat_name;
@@ -723,12 +710,11 @@ function wpt_post_info( $post_ID ) {
723
  $thisposttitle = $_POST['title'];
724
  }
725
  $thisposttitle = strip_tags( apply_filters( 'the_title', stripcslashes( $thisposttitle ) ) );
726
- // These are common sequences that don't get handled by html_entity_decode due to double encoding
727
  $search = array( '&apos;', '&#039;', '&quot;', '&#034;', '&amp;', '&#038;' );
728
- $replace = array( "'", '"', '"', '&', '&' );
729
  $thisposttitle = str_replace( $search, $replace, $thisposttitle );
730
  $values['postTitle'] = html_entity_decode( $thisposttitle, ENT_QUOTES, $encoding );
731
-
732
  $values['postLink'] = wpt_link( $post_ID );
733
  $values['blogTitle'] = get_bloginfo( 'name' );
734
  $values['shortUrl'] = wpt_short_url( $post_ID );
@@ -943,7 +929,7 @@ function wpt_tweet( $post_ID, $type = 'instant' ) {
943
  } else {
944
  foreach ( $wpt_selected_users as $acct ) {
945
  $acct = ( $acct == 'main' ) ? false : $acct;
946
- $offset = ( $auth != $acct ) ? rand( 60, 480 ) : 0;
947
  if ( wtt_oauth_test( $acct, 'verify' ) ) {
948
  $time = apply_filters( 'wpt_schedule_delay', ( (int) $post_info['wpt_delay_tweet'] ) * 60, $acct );
949
  wp_schedule_single_event( time() + $time + $offset, 'wpt_schedule_tweet_action', array(
@@ -1009,7 +995,8 @@ function wpt_tweet( $post_ID, $type = 'instant' ) {
1009
  'current_time_string' => date( 'Y-m-d H:i:s', time() ),
1010
  ), 1 ) ); // DEBUG
1011
  }
1012
- if ( $i == 4 ) {
 
1013
  break;
1014
  }
1015
  }
@@ -1114,21 +1101,14 @@ function wpt_generate_hash_tags( $post_ID ) {
1114
  $replace = ( $replace == "[ ]" || $replace == "" ) ? "" : $replace;
1115
  $tag = str_ireplace( " ", $replace, trim( $tag ) );
1116
  $tag = preg_replace( '/[\/]/', $replace, $tag ); // remove forward slashes.
1117
- if ( $strip == '1' ) {
1118
- $tag = preg_replace( $search, $replace, $tag );
1119
- }
1120
  switch ( $term_meta ) {
1121
- case 1 :
1122
- $newtag = "#$tag";
1123
- break;
1124
- case 2 :
1125
- $newtag = "$$tag";
1126
- break;
1127
- case 3 :
1128
- $newtag = '';
1129
- break;
1130
- default:
1131
- $newtag = apply_filters( 'wpt_tag_default', "#", $t_id ) . $tag;
1132
  }
1133
  if ( mb_strlen( $newtag ) > 2 && ( mb_strlen( $newtag ) <= $max_characters ) && ( $i <= $max_tags ) ) {
1134
  $hashtags .= "$newtag ";
@@ -1216,16 +1196,19 @@ function wpt_add_twitter_inner_box( $post ) {
1216
  class="screen-reader-text"><?php _e( 'Set Date/Time', 'wp-to-twitter' ); ?></span></span>
1217
  </button>
1218
  <div id="jts">
1219
- <label for='wpt_date'><?php _e( 'Date', 'wp-to-twitter' ); ?></label> <input type='date'
1220
- value='<?php echo date( 'Y-m-d', current_time( 'timestamp' ) ); ?>'
1221
- class='date'
1222
- name='wpt_datetime'
1223
- id='wpt_date'/><br/>
1224
- <label for='wpt_time'><?php _e( 'Time', 'wp-to-twitter' ); ?></label> <input type='text'
1225
- value='<?php echo date_i18n( 'h:s a', current_time( 'timestamp' ) + 3600 ); ?>'
1226
- class='time'
1227
- name='wpt_datetime'
1228
- id='wpt_time'/>
 
 
 
1229
  </div>
1230
  <?php } ?>
1231
  <div class='wpt_log' aria-live='assertive'></div>
@@ -1239,8 +1222,7 @@ function wpt_add_twitter_inner_box( $post ) {
1239
  ?>
1240
  <p class='jtw'>
1241
  <label
1242
- for="jtw"><?php _e( "Custom Twitter Post", 'wp-to-twitter', 'wp-to-twitter' ) ?></label><br/><textarea
1243
- class="attachmentlinks" name="_jd_twitter" id="jtw" rows="2"
1244
  cols="60"><?php echo esc_attr( $tweet ); ?></textarea>
1245
  </p>
1246
  <?php
@@ -1310,7 +1292,7 @@ function wpt_add_twitter_inner_box( $post ) {
1310
  } else {
1311
  echo "<p>";
1312
  if ( function_exists( 'wpt_pro_exists' ) ) {
1313
- printf( __( 'WP Tweets PRO 1.5.2+ allows you to select Twitter accounts. <a href="%s">Log in and download now!</a>', 'wp-to-twitter' ), 'http://www.joedolson.com/account/' );
1314
  } else {
1315
  printf( __( 'Upgrade to WP Tweets PRO to select Twitter accounts! <a href="%s">Upgrade now!</a>', 'wp-to-twitter' ), 'http://www.joedolson.com/wp-tweets-pro/' );
1316
  }
@@ -1361,8 +1343,6 @@ function wpt_add_twitter_inner_box( $post ) {
1361
  <?php if ( ! function_exists( 'wpt_pro_exists' ) ) {
1362
  /* These aren't actually usages that require esc_url. But using it will give people the illusion that it does something. */
1363
  ?>
1364
- <a target="_blank"
1365
- href="<?php echo esc_url( add_query_arg( 'tab', 'support', admin_url( 'options-general.php?page=wp-to-twitter/wp-to-twitter.php' ) ) ); ?>#get-support"><?php _e( 'Get Support', 'wp-to-twitter', 'wp-to-twitter' ); ?></a> &bull;
1366
  <strong><a target="__blank" href="https://www.joedolson.com/wp-tweets-pro/"><?php _e( 'Go Premium', 'wp-to-twitter', 'wp-to-twitter' ) ?></a></strong> &raquo;
1367
  <?php } else { ?>
1368
  <a target="_blank"
@@ -1595,6 +1575,7 @@ function wpt_save_post( $id ) {
1595
  delete_post_meta( $id, '_wpt_failed' );
1596
  delete_post_meta( $id, '_jd_wp_twitter' );
1597
  delete_post_meta( $id, '_wpt_short_url' );
 
1598
  }
1599
  // WPT PRO //
1600
  $update = apply_filters( 'wpt_insert_post', $_POST, $id );
@@ -1653,16 +1634,9 @@ function wpt_twitter_profile() {
1653
  <table class="form-table">
1654
  <tr>
1655
  <th scope="row"><?php _e( "Use My Twitter Username", 'wp-to-twitter' ); ?></th>
1656
- <td><input type="radio" name="wp-to-twitter-enable-user" id="wp-to-twitter-enable-user-3"
1657
- value="mainAtTwitter"<?php if ( $is_enabled == "mainAtTwitter" ) {
1658
- echo " checked='checked'";
1659
- } ?> /> <label
1660
- for="wp-to-twitter-enable-user-3"><?php _e( "Tweet my posts with an @ reference to my username.", 'wp-to-twitter' ); ?></label><br/>
1661
- <input type="radio" name="wp-to-twitter-enable-user" id="wp-to-twitter-enable-user-4"
1662
- value="mainAtTwitterPlus"<?php if ( $is_enabled == "mainAtTwitterPlus" ) {
1663
- echo " checked='checked'";
1664
- } ?> /> <label
1665
- for="wp-to-twitter-enable-user-4"><?php _e( "Tweet my posts with an @ reference to both my username and to the main site username.", 'wp-to-twitter' ); ?></label>
1666
  </td>
1667
  </tr>
1668
  <tr>
@@ -1776,8 +1750,6 @@ function wpt_plugin_update_message() {
1776
  $data = $response['body'];
1777
  $bits = explode( '== Upgrade Notice ==', $data );
1778
  $note = '<div id="wpt-upgrade"><p><strong style="color:#c22;">Upgrade Notes:</strong> ' . nl2br( trim( $bits[1] ) ) . '</p></div>';
1779
- } else {
1780
- printf( __( '<br /><strong>Note:</strong> Please review the <a class="thickbox" href="%1$s">changelog</a> before upgrading.', 'wp-to-twitter' ), 'plugin-install.php?tab=plugin-information&amp;plugin=wp-to-twitter&amp;TB_iframe=true&amp;width=640&amp;height=594' );
1781
  }
1782
  echo $note;
1783
  }
@@ -1829,8 +1801,7 @@ function wpt_twit( $id ) {
1829
  if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE || wp_is_post_revision( $id ) || ! wpt_in_post_type( $id ) ) {
1830
  return;
1831
  }
1832
-
1833
- $post = get_post( $id );
1834
  if ( $post->post_status != 'publish' ) {
1835
  return;
1836
  } // is there any reason to accept any other status?
@@ -1922,31 +1893,6 @@ function wpt_promotion_notice() {
1922
  }
1923
  }
1924
 
1925
- add_action( 'admin_notices', 'wpt_manual_migrate', 5 );
1926
- add_action( 'admin_notices', 'wpt_migration_notice', 10 );
1927
- /**
1928
- * Display migration notice if WPT was unable to auto migrate.
1929
- */
1930
- function wpt_migration_notice() {
1931
- if ( current_user_can( 'activate_plugins' ) && get_option( 'wpt_needs_migration' ) == 'true' ) {
1932
- $update = ( is_plugin_active( 'wp-tweets-pro/wpt-pro-functions.php' ) ) ? admin_url( 'admin.php?page=wp-tweets-pro&action=migration' ) : admin_url( 'options-general.php?page=wp-to-twitter/wp-to-twitter.php&action=migration' );
1933
- $dismiss = ( is_plugin_active( 'wp-tweets-pro/wpt-pro-functions.php' ) ) ? admin_url( 'admin.php?page=wp-tweets-pro&action=migration' ) : admin_url( 'options-general.php?page=wp-to-twitter/wp-to-twitter.php&action=dismiss' );
1934
- echo "<div class='updated fade'><p>" . sprintf( __( "WP to Twitter needs to perform an optional database update. It may take a few minutes. <a href='%s'>Update Database</a> or <a href='%s'>Dismiss Notice</a>", 'wp-to-twitter' ), $update, $dismiss ) . "</p></div>";
1935
- }
1936
- }
1937
-
1938
-
1939
- function wpt_manual_migrate() {
1940
- if ( isset( $_GET['action'] ) && $_GET['action'] == 'migration' ) {
1941
- echo "<p>" . __( 'Processing data migration...', 'wp-to-twitter' ) . "</p>";
1942
- wpt_migrate_url_meta();
1943
- echo "<p>" . __( 'Data migration complete.', 'wp-to-twitter' ) . "</p>";
1944
- }
1945
- if ( isset( $_GET['action'] ) && $_GET['action'] == 'dismiss' ) {
1946
- update_option( 'wpt_needs_migration', 'false' );
1947
- }
1948
- }
1949
-
1950
  add_action( 'wp_enqueue_scripts', 'wpt_stylesheet' );
1951
  /**
1952
  * Enqueue front-end styles for Twitter Feed widget if enabled.
3
  Plugin Name: WP to Twitter
4
  Plugin URI: http://www.joedolson.com/wp-to-twitter/
5
  Description: Posts a Tweet when you update your WordPress blog or post a link, using your URL shortening service. Rich in features for customizing and promoting your Tweets.
6
+ Version: 3.1.9
7
  Author: Joseph Dolson
8
+ Text Domain: wp-to-twitter
9
+ Domain Path: /lang
10
  Author URI: http://www.joedolson.com/
11
  */
12
  /* Copyright 2008-2015 Joseph C Dolson (email : plugins@joedolson.com)
29
  exit;
30
  } // Exit if accessed directly
31
 
32
+ define( 'WPT_DEBUG', false ); // Debugging only works with WP Tweets PRO.
33
+ define( 'WPT_DEBUG_ADDRESS', get_option( 'admin_email' ) );
 
 
 
 
 
 
 
 
 
 
34
  define( 'WPT_FROM', "From: \"" . get_option( 'blogname' ) . "\" <" . get_option( 'admin_email' ) . ">" );
35
  // define( 'WPT_DEBUG_ADDRESS', 'debug@joedolson.com, yourname@youraddress.com' ); // for multiple recipients.
36
 
 
37
  include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); // required in order to access is_plugin_active()
38
 
39
  require_once( plugin_dir_path( __FILE__ ) . '/wpt-functions.php' );
46
  require_once( plugin_dir_path( __FILE__ ) . '/wpt-rate-limiting.php' );
47
 
48
  global $wpt_version;
49
+ $wpt_version = "3.1.9";
50
 
51
  add_action( 'plugins_loaded', 'wpt_load_textdomain' );
52
  function wpt_load_textdomain() {
99
  update_option( 'jd_max_characters', 15 );
100
  update_option( 'jd_replace_character', '' );
101
  $administrator = get_role( 'administrator' );
102
+ if ( is_object( $administrator ) ) {
103
+ $administrator->add_cap( 'wpt_twitter_oauth' );
104
+ $administrator->add_cap( 'wpt_twitter_custom' );
105
+ $administrator->add_cap( 'wpt_twitter_switch' );
106
+ $administrator->add_cap( 'wpt_can_tweet' );
107
+ $administrator->add_cap( 'wpt_tweet_now' );
108
+ }
109
  $editor = get_role( 'editor' );
110
  if ( is_object( $editor ) ) {
111
  $editor->add_cap( 'wpt_can_tweet' );
258
  if ( $upgrade ) {
259
  $administrator->add_cap( 'wpt_tweet_now' );
260
  }
261
+
 
 
 
 
 
 
 
 
 
 
 
 
262
  update_option( 'wp_to_twitter_version', $wpt_version );
263
  }
264
 
281
  return ( $type == 'posts' ) ? $posts : $count;
282
  }
283
 
284
+ /**
285
+ * Migrates post meta to new format when post is called in editor.
286
+ */
287
+ add_action( 'load-post.php', 'wpt_migrate_url_meta' );
288
  function wpt_migrate_url_meta() {
289
+ $post_id = isset( $_GET['post'] ) ? intval( $_GET['post'] ) : false;
290
+ if ( !$post_id ) {
291
+ return;
292
+ }
293
+ $short = get_post_meta( $post_id, '_wpt_short_url', true );
294
+ if ( $short != '' ) {
295
+ return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
296
  }
297
+ if ( $short == "" ) {
298
+ $short = get_post_meta( $post_id, '_wp_jd_goo', true );
299
+ delete_post_meta( $post_id, '_wp_jd_goo' );
300
+ }
301
+ if ( $short == "" ) {
302
+ $short = get_post_meta( $post_id, '_wp_jd_supr', true );
303
+ delete_post_meta( $post_id, '_wp_jd_supr' );
304
+ }
305
+ if ( $short == "" ) {
306
+ $short = get_post_meta( $post_id, '_wp_jd_wp', true );
307
+ delete_post_meta( $post_id, '_wp_jd_wp' );
308
+ }
309
+ if ( $short == "" ) {
310
+ $short = get_post_meta( $post_id, '_wp_jd_ind', true );
311
+ delete_post_meta( $post_id, '_wp_jd_ind' );
312
+ }
313
+ if ( $short == "" ) {
314
+ $short = get_post_meta( $post_id, '_wp_jd_yourls', true );
315
+ delete_post_meta( $post_id, '_wp_jd_yourls' );
316
+ }
317
+ if ( $short == "" ) {
318
+ $short = get_post_meta( $post_id, '_wp_jd_url', true );
319
+ delete_post_meta( $post_id, '_wp_jd_url' );
320
+ }
321
+ if ( $short == "" ) {
322
+ $short = get_post_meta( $post_id, '_wp_jd_joturl', true );
323
+ delete_post_meta( $post_id, '_wp_jd_joturl' );
324
+ }
325
+ if ( $short == "" ) {
326
+ // don't delete target link
327
+ $short = get_post_meta( $post_id, '_wp_jd_target', true );
328
+ }
329
+ if ( $short == "" ) {
330
+ $short = get_post_meta( $post_id, '_wp_jd_clig', true );
331
+ delete_post_meta( $post_id, '_wp_jd_clig' );
332
+ }
333
+ update_post_meta( $post_id, '_wpt_short_url', $short );
334
  }
335
 
336
  // Function checks for an alternate URL to be Tweeted. Contribution by Bill Berry.
597
  *
598
  * @return string Normalized text.
599
  */
600
+ function wpt_normalize( $string ) {
601
  if ( version_compare( PHP_VERSION, '5.0.0', '>=' ) && function_exists( 'normalizer_normalize' ) ) {
602
  if ( normalizer_is_normalized( $string ) ) {
603
  return $string;
679
  // get first category
680
  $category = $cat_desc = null;
681
  $categories = get_the_category( $post_ID );
682
+ $cats = $cat_descs = array();
683
  if ( is_array( $categories ) ) {
684
  if ( count( $categories ) > 0 ) {
685
  $category = $categories[0]->cat_name;
710
  $thisposttitle = $_POST['title'];
711
  }
712
  $thisposttitle = strip_tags( apply_filters( 'the_title', stripcslashes( $thisposttitle ) ) );
713
+ // These are common sequences that may not be fixed by html_entity_decode due to double encoding
714
  $search = array( '&apos;', '&#039;', '&quot;', '&#034;', '&amp;', '&#038;' );
715
+ $replace = array( "'", "'", '"', '"', '&', '&' );
716
  $thisposttitle = str_replace( $search, $replace, $thisposttitle );
717
  $values['postTitle'] = html_entity_decode( $thisposttitle, ENT_QUOTES, $encoding );
 
718
  $values['postLink'] = wpt_link( $post_ID );
719
  $values['blogTitle'] = get_bloginfo( 'name' );
720
  $values['shortUrl'] = wpt_short_url( $post_ID );
929
  } else {
930
  foreach ( $wpt_selected_users as $acct ) {
931
  $acct = ( $acct == 'main' ) ? false : $acct;
932
+ $offset = ( $auth != $acct ) ? apply_filters( 'wpt_random_delay', rand( 60, 480 ) ) : 0;
933
  if ( wtt_oauth_test( $acct, 'verify' ) ) {
934
  $time = apply_filters( 'wpt_schedule_delay', ( (int) $post_info['wpt_delay_tweet'] ) * 60, $acct );
935
  wp_schedule_single_event( time() + $time + $offset, 'wpt_schedule_tweet_action', array(
995
  'current_time_string' => date( 'Y-m-d H:i:s', time() ),
996
  ), 1 ) ); // DEBUG
997
  }
998
+ $tweet_limit = apply_filters( 'wpt_tweet_repeat_limit', 4, $post_ID );
999
+ if ( $i == $tweet_limit ) {
1000
  break;
1001
  }
1002
  }
1101
  $replace = ( $replace == "[ ]" || $replace == "" ) ? "" : $replace;
1102
  $tag = str_ireplace( " ", $replace, trim( $tag ) );
1103
  $tag = preg_replace( '/[\/]/', $replace, $tag ); // remove forward slashes.
1104
+ $tag = ( $strip == '1' ) ? preg_replace( $search, $replace, $tag ) : $tag;
1105
+
 
1106
  switch ( $term_meta ) {
1107
+ case 1 : $newtag = "#$tag"; break;
1108
+ case 2 : $newtag = "$$tag"; break;
1109
+ case 3 : $newtag = ''; break;
1110
+ case 4 : $newtag = $tag; break;
1111
+ default: $newtag = apply_filters( 'wpt_tag_default', "#", $t_id ) . $tag;
 
 
 
 
 
 
1112
  }
1113
  if ( mb_strlen( $newtag ) > 2 && ( mb_strlen( $newtag ) <= $max_characters ) && ( $i <= $max_tags ) ) {
1114
  $hashtags .= "$newtag ";
1196
  class="screen-reader-text"><?php _e( 'Set Date/Time', 'wp-to-twitter' ); ?></span></span>
1197
  </button>
1198
  <div id="jts">
1199
+ <label for='wpt_date'><?php _e( 'Date', 'wp-to-twitter' ); ?></label>
1200
+ <input type='date'
1201
+ value=''
1202
+ class='date'
1203
+ name='wpt_datetime'
1204
+ id='wpt_date'
1205
+ data-value='<?php echo date( 'Y-m-d', current_time( 'timestamp' ) ); ?>' /><br/>
1206
+ <label for='wpt_time'><?php _e( 'Time', 'wp-to-twitter' ); ?></label>
1207
+ <input type='text'
1208
+ value='<?php echo date_i18n( 'h:s a', current_time( 'timestamp' ) + 3600 ); ?>'
1209
+ class='time'
1210
+ name='wpt_datetime'
1211
+ id='wpt_time'/>
1212
  </div>
1213
  <?php } ?>
1214
  <div class='wpt_log' aria-live='assertive'></div>
1222
  ?>
1223
  <p class='jtw'>
1224
  <label
1225
+ for="jtw"><?php _e( "Custom Twitter Post", 'wp-to-twitter', 'wp-to-twitter' ) ?></label><br/><textarea class="wpt_tweet_box" name="_jd_twitter" id="jtw" rows="2"
 
1226
  cols="60"><?php echo esc_attr( $tweet ); ?></textarea>
1227
  </p>
1228
  <?php
1292
  } else {
1293
  echo "<p>";
1294
  if ( function_exists( 'wpt_pro_exists' ) ) {
1295
+ printf( __( 'WP Tweets PRO allows you to select Twitter accounts. <a href="%s">Log in and download now!</a>', 'wp-to-twitter' ), 'http://www.joedolson.com/account/' );
1296
  } else {
1297
  printf( __( 'Upgrade to WP Tweets PRO to select Twitter accounts! <a href="%s">Upgrade now!</a>', 'wp-to-twitter' ), 'http://www.joedolson.com/wp-tweets-pro/' );
1298
  }
1343
  <?php if ( ! function_exists( 'wpt_pro_exists' ) ) {
1344
  /* These aren't actually usages that require esc_url. But using it will give people the illusion that it does something. */
1345
  ?>
 
 
1346
  <strong><a target="__blank" href="https://www.joedolson.com/wp-tweets-pro/"><?php _e( 'Go Premium', 'wp-to-twitter', 'wp-to-twitter' ) ?></a></strong> &raquo;
1347
  <?php } else { ?>
1348
  <a target="_blank"
1575
  delete_post_meta( $id, '_wpt_failed' );
1576
  delete_post_meta( $id, '_jd_wp_twitter' );
1577
  delete_post_meta( $id, '_wpt_short_url' );
1578
+ delete_post_meta( $id, '_wp_jd_twitter' );
1579
  }
1580
  // WPT PRO //
1581
  $update = apply_filters( 'wpt_insert_post', $_POST, $id );
1634
  <table class="form-table">
1635
  <tr>
1636
  <th scope="row"><?php _e( "Use My Twitter Username", 'wp-to-twitter' ); ?></th>
1637
+ <td>
1638
+ <input type="radio" name="wp-to-twitter-enable-user" id="wp-to-twitter-enable-user-3" value="mainAtTwitter"<?php checked( $is_enabled, 'mainAtTwitter' ); ?> /> <label for="wp-to-twitter-enable-user-3"><?php _e( "Tweet my posts with an @ reference to my username.", 'wp-to-twitter' ); ?></label><br/>
1639
+ <input type="radio" name="wp-to-twitter-enable-user" id="wp-to-twitter-enable-user-4" value="mainAtTwitterPlus"<?php checked( $is_enabled, 'mainAtTwitterPlus' ); ?> /> <label for="wp-to-twitter-enable-user-4"><?php _e( "Tweet my posts with an @ reference to both my username and to the main site username.", 'wp-to-twitter' ); ?></label>
 
 
 
 
 
 
 
1640
  </td>
1641
  </tr>
1642
  <tr>
1750
  $data = $response['body'];
1751
  $bits = explode( '== Upgrade Notice ==', $data );
1752
  $note = '<div id="wpt-upgrade"><p><strong style="color:#c22;">Upgrade Notes:</strong> ' . nl2br( trim( $bits[1] ) ) . '</p></div>';
 
 
1753
  }
1754
  echo $note;
1755
  }
1801
  if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE || wp_is_post_revision( $id ) || ! wpt_in_post_type( $id ) ) {
1802
  return;
1803
  }
1804
+ $post = get_post( $id );
 
1805
  if ( $post->post_status != 'publish' ) {
1806
  return;
1807
  } // is there any reason to accept any other status?
1893
  }
1894
  }
1895
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1896
  add_action( 'wp_enqueue_scripts', 'wpt_stylesheet' );
1897
  /**
1898
  * Enqueue front-end styles for Twitter Feed widget if enabled.
wpt-functions.php CHANGED
@@ -68,7 +68,7 @@ function wpt_check_functions() {
68
  $message .= "<li><code>" . __( 'No error message was returned.', 'wp-to-twitter' ) . "</code></li>";
69
  }
70
  } else {
71
- $message .= __( "<li><strong>WP to Twitter successfully contacted your selected URL shortening service.</strong> The following link should point to your blog homepage:", 'wp-to-twitter' );
72
  $message .= " <a href='$shrink'>$shrink</a></li>";
73
  }
74
  //check twitter credentials
@@ -194,6 +194,19 @@ function wpt_mail( $subject, $body, $override=false ) {
194
  }
195
  }
196
 
 
 
 
 
 
 
 
 
 
 
 
 
 
197
  function jd_remote_json( $url, $array = true ) {
198
  $input = jd_fetch_url( $url );
199
  $obj = json_decode( $input, $array );
@@ -295,12 +308,12 @@ if ( ! function_exists( 'mb_strlen' ) ) {
295
  if ( ! function_exists( 'mb_substr' ) ) {
296
  function mb_substr( $str, $start, $count = 'end' ) {
297
  if ( $start != 0 ) {
298
- $split = self::mb_substr_split_unicode( $str, intval( $start ) );
299
  $str = substr( $str, $split );
300
  }
301
 
302
  if ( $count !== 'end' ) {
303
- $split = self::mb_substr_split_unicode( $str, intval( $count ) );
304
  $str = substr( $str, 0, $split );
305
  }
306
 
@@ -308,6 +321,52 @@ if ( ! function_exists( 'mb_substr' ) ) {
308
  }
309
  }
310
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
311
  // filter_var substitution for PHP <5.2
312
  if ( ! function_exists( 'filter_var' ) ) {
313
  function filter_var( $url ) {
@@ -615,7 +674,7 @@ $plugins_string
615
  <input type='checkbox' name='has_read_faq' id='has_read_faq' value='on' required='required' aria-required='true' /> <label for='has_read_faq'>" . sprintf( __( 'I have read <a href="%1$s">the FAQ for this plug-in</a> <span>(required)</span>', 'wp-to-twitter' ), 'http://www.joedolson.com/wp-to-twitter/support-2/' ) . "
616
  </p>
617
  <p>
618
- <input type='checkbox' name='has_donated' id='has_donated' value='on' $checked /> <label for='has_donated'>" . sprintf( __( 'I have <a href="%1$s">made a donation to help support this plug-in</a>', 'wp-to-twitter' ), 'http://www.joedolson.com/donate.php' ) . "</label>
619
  </p>
620
  <p>
621
  <label for='support_request'>" . __( 'Support Request:', 'wp-to-twitter' ) . "</label><br /><textarea class='support-request' name='support_request' id='support_request' cols='80' rows='10' class='widefat'>" . stripslashes( esc_attr( $request ) ) . "</textarea>
68
  $message .= "<li><code>" . __( 'No error message was returned.', 'wp-to-twitter' ) . "</code></li>";
69
  }
70
  } else {
71
+ $message .= __( "<li><strong>WP to Twitter successfully contacted your URL shortening service.</strong> This link should point to your site's homepage:", 'wp-to-twitter' );
72
  $message .= " <a href='$shrink'>$shrink</a></li>";
73
  }
74
  //check twitter credentials
194
  }
195
  }
196
 
197
+ function wpt_show_debug() {
198
+ // Nothing triggers this. If you want some debugging information, just add the parameter to the URL.
199
+ if ( isset( $_GET['debug'] ) && $_GET['debug'] == 'true' ) {
200
+ $debug = get_option( 'wpt_debug' );
201
+ echo "<pre>";
202
+ print_r( $debug );
203
+ echo "</pre>";
204
+ }
205
+ if ( isset( $_GET['debug'] ) && $_GET['debug'] == 'delete' ) {
206
+ delete_option( 'wpt_debug' );
207
+ }
208
+ }
209
+
210
  function jd_remote_json( $url, $array = true ) {
211
  $input = jd_fetch_url( $url );
212
  $obj = json_decode( $input, $array );
308
  if ( ! function_exists( 'mb_substr' ) ) {
309
  function mb_substr( $str, $start, $count = 'end' ) {
310
  if ( $start != 0 ) {
311
+ $split = mb_substr_split_unicode( $str, intval( $start ) );
312
  $str = substr( $str, $split );
313
  }
314
 
315
  if ( $count !== 'end' ) {
316
+ $split = mb_substr_split_unicode( $str, intval( $count ) );
317
  $str = substr( $str, 0, $split );
318
  }
319
 
321
  }
322
  }
323
 
324
+ if ( ! function_exists( 'mb_substr_split_unicode' ) ) {
325
+ function mb_substr_split_unicode( $str, $splitPos ) {
326
+ if ( $splitPos == 0 ) {
327
+ return 0;
328
+ }
329
+ $byteLen = strlen( $str );
330
+
331
+ if ( $splitPos > 0 ) {
332
+ if ( $splitPos > 256 ) {
333
+ // Optimize large string offsets by skipping ahead N bytes.
334
+ // This will cut out most of our slow time on Latin-based text,
335
+ // and 1/2 to 1/3 on East European and Asian scripts.
336
+ $bytePos = $splitPos;
337
+ while ( $bytePos < $byteLen && $str[$bytePos] >= "\x80" && $str[$bytePos] < "\xc0" ) {
338
+ ++$bytePos;
339
+ }
340
+ $charPos = mb_strlen( substr( $str, 0, $bytePos ) );
341
+ } else {
342
+ $charPos = 0;
343
+ $bytePos = 0;
344
+ }
345
+
346
+ while ( $charPos++ < $splitPos ) {
347
+ ++$bytePos;
348
+ // Move past any tail bytes
349
+ while ( $bytePos < $byteLen && $str[$bytePos] >= "\x80" && $str[$bytePos] < "\xc0" ) {
350
+ ++$bytePos;
351
+ }
352
+ }
353
+ } else {
354
+ $splitPosX = $splitPos + 1;
355
+ $charPos = 0; // relative to end of string; we don't care about the actual char position here
356
+ $bytePos = $byteLen;
357
+ while ( $bytePos > 0 && $charPos-- >= $splitPosX ) {
358
+ --$bytePos;
359
+ // Move past any tail bytes
360
+ while ( $bytePos > 0 && $str[$bytePos] >= "\x80" && $str[$bytePos] < "\xc0" ) {
361
+ --$bytePos;
362
+ }
363
+ }
364
+ }
365
+
366
+ return $bytePos;
367
+ }
368
+ }
369
+
370
  // filter_var substitution for PHP <5.2
371
  if ( ! function_exists( 'filter_var' ) ) {
372
  function filter_var( $url ) {
674
  <input type='checkbox' name='has_read_faq' id='has_read_faq' value='on' required='required' aria-required='true' /> <label for='has_read_faq'>" . sprintf( __( 'I have read <a href="%1$s">the FAQ for this plug-in</a> <span>(required)</span>', 'wp-to-twitter' ), 'http://www.joedolson.com/wp-to-twitter/support-2/' ) . "
675
  </p>
676
  <p>
677
+ <input type='checkbox' name='has_donated' id='has_donated' value='on' $checked /> <label for='has_donated'>" . sprintf( __( 'I <a href="%1$s">made a donation to help support this plug-in</a>', 'wp-to-twitter' ), 'http://www.joedolson.com/donate.php' ) . "</label>
678
  </p>
679
  <p>
680
  <label for='support_request'>" . __( 'Support Request:', 'wp-to-twitter' ) . "</label><br /><textarea class='support-request' name='support_request' id='support_request' cols='80' rows='10' class='widefat'>" . stripslashes( esc_attr( $request ) ) . "</textarea>
wpt-rate-limiting.php CHANGED
@@ -74,7 +74,7 @@ function wpt_test_rate_limit( $post_ID, $auth ) {
74
  }
75
 
76
  /**
77
- * Default rate limiting value.
78
  *
79
  * @param $term Term ID
80
  *
@@ -82,6 +82,7 @@ function wpt_test_rate_limit( $post_ID, $auth ) {
82
  */
83
  function wpt_default_rate_limit( $term = false ) {
84
  $limit = ( get_option( 'wpt_default_rate_limit' ) != '' ) ? get_option( 'wpt_default_rate_limit' ) : 10;
 
85
  return apply_filters( 'wpt_default_rate_limit', $limit, $term );
86
  }
87
 
74
  }
75
 
76
  /**
77
+ * Default rate limiting value. Limit can't be 0.
78
  *
79
  * @param $term Term ID
80
  *
82
  */
83
  function wpt_default_rate_limit( $term = false ) {
84
  $limit = ( get_option( 'wpt_default_rate_limit' ) != '' ) ? get_option( 'wpt_default_rate_limit' ) : 10;
85
+ $limit = ( $limit == 0 ) ? 1 : $limit;
86
  return apply_filters( 'wpt_default_rate_limit', $limit, $term );
87
  }
88
 
wpt-truncate.php CHANGED
@@ -5,182 +5,106 @@ if ( ! defined( 'ABSPATH' ) ) {
5
 
6
  function jd_truncate_tweet( $tweet, $post, $post_ID, $retweet = false, $ref = false ) {
7
  // media file occupies 22 characters, need to account for in shortening.
8
- $maxlength = apply_filters( 'wpt_max_tweet_length', array( 'with_media' => 116, 'without_media' => 139 ) );
9
- $tweet_length = ( wpt_post_with_media( $post_ID, $post ) ) ? $maxlength['with_media'] : $maxlength['without_media'];
10
  $tweet = apply_filters( 'wpt_tweet_sentence', $tweet, $post_ID );
11
  $tweet = trim( wpt_custom_shortcodes( $tweet, $post_ID ) );
12
- $shrink = ( $post['shortUrl'] != '' ) ? $post['shortUrl'] : apply_filters( 'wptt_shorten_link', $post['postLink'], $post['postTitle'], $post_ID, false );
13
- // generate all template variable values
14
- $auth = $post['authId'];
15
- $title = trim( apply_filters( 'wpt_status', $post['postTitle'], $post_ID, 'title' ) );
16
- $blogname = trim( $post['blogTitle'] );
17
- $excerpt = trim( apply_filters( 'wpt_status', $post['postExcerpt'], $post_ID, 'post' ) );
18
- $thisposturl = trim( $shrink );
19
- $category = trim( $post['category'] );
20
- $cat_desc = trim( $post['cat_desc'] );
21
- $user_account = get_user_meta( $auth, 'wtt_twitter_username', true );
22
- $tags = wpt_generate_hash_tags( $post_ID );
23
- $account = get_option( 'wtt_twitter_username' );
24
- $date = trim( $post['postDate'] );
25
- $modified = trim( $post['postModified'] );
26
- if ( get_option( 'jd_individual_twitter_users' ) == 1 ) {
27
- if ( $user_account == '' ) {
28
- if ( get_user_meta( $auth, 'wp-to-twitter-enable-user', true ) == 'mainAtTwitter' ) {
29
- $account = $user_account = stripcslashes( get_user_meta( $auth, 'wp-to-twitter-user-username', true ) );
30
- } else if ( get_user_meta( $auth, 'wp-to-twitter-enable-user', true ) == 'mainAtTwitterPlus' ) {
31
- $account = $user_account = stripcslashes( get_user_meta( $auth, 'wp-to-twitter-user-username', true ) . ' @' . get_option( 'wtt_twitter_username' ) );
32
- }
33
- } else {
34
- $account = "$user_account";
35
- }
36
- }
37
- $display_name = get_the_author_meta( 'display_name', $auth );
38
- // value of #author#
39
- $author = ( $user_account != '' ) ? "@$user_account" : $display_name;
40
- // value of #account#
41
- $account = ( $account != '' ) ? "@$account" : '';
42
- // value of #@#
43
- $uaccount = ( $user_account != '' ) ? "@$user_account" : "$account";
44
- // clean up data if extra @ included //
45
- $account = str_ireplace( '@@', '@', $account );
46
- $uaccount = str_ireplace( '@@', '@', $uaccount );
47
- $author = str_ireplace( '@@', '@', $author );
48
 
49
- if ( get_user_meta( $auth, 'wpt-remove', true ) == 'on' ) {
50
- $account = '';
51
- }
52
  if ( get_option( 'jd_twit_prepend' ) != "" && $tweet != '' ) {
53
  $tweet = stripslashes( get_option( 'jd_twit_prepend' ) ) . " " . $tweet;
54
  }
55
  if ( get_option( 'jd_twit_append' ) != "" && $tweet != '' ) {
56
  $tweet = $tweet . " " . stripslashes( get_option( 'jd_twit_append' ) );
 
 
 
 
 
 
57
  }
58
- $encoding = get_option( 'blog_charset' );
59
- if ( $encoding == '' ) {
60
- $encoding = 'UTF-8';
61
- }
62
-
63
- $has_excerpt_tag = ( strpos( $tweet, '#post#' ) === false ) ? false : true;
64
- $has_title_tag = ( strpos( $tweet, '#title#' ) === false ) ? false : true;
65
-
66
- if ( strpos( $tweet, '#url#' ) === false
67
- && strpos( $tweet, '#title#' ) === false
68
- && strpos( $tweet, '#blog#' ) === false
69
- && strpos( $tweet, '#post#' ) === false
70
- && strpos( $tweet, '#category#' ) === false
71
- && strpos( $tweet, '#date#' ) === false
72
- && strpos( $tweet, '#author#' ) === false
73
- && strpos( $tweet, '#displayname#' ) === false
74
- && strpos( $tweet, '#tags#' ) === false
75
- && strpos( $tweet, '#modified#' ) === false
76
- && strpos( $tweet, '#reference#' ) === false
77
- && strpos( $tweet, '#account#' ) === false
78
- && strpos( $tweet, '#@#' ) === false
79
- && strpos( $tweet, '#cat_desc#' ) === false
80
- && strpos( $tweet, '#longurl#' ) === false
81
- ) {
82
- // there are no tags in this Tweet. Truncate and return.
83
- $post_tweet = mb_substr( $tweet, 0, $tweet_length, $encoding );
84
-
85
- return apply_filters( 'wpt_custom_truncate', $post_tweet, $tweet, $post_ID, $retweet );
86
- }
87
- if ( function_exists( 'wpt_pro_exists' ) && wpt_pro_exists() == true ) {
88
- $reference = ( $ref ) ? $account : '@' . get_option( 'wtt_twitter_username' );
89
- } else {
90
- $reference = '';
91
- }
92
  // create full unconditional post tweet - prior to truncation
93
- $replace = ( function_exists( 'wpt_pro_exists' ) && wpt_pro_exists() == true ) ? $reference : '';
94
- $search = array(
95
- '#account#',
96
- '#@#',
97
- '#reference#',
98
- '#url#',
99
- '#title#',
100
- '#blog#',
101
- '#post#',
102
- '#category#',
103
- '#cat_desc#',
104
- '#date#',
105
- '#author#',
106
- '#displayname#',
107
- '#tags#',
108
- '#modified#',
109
- '#longurl#'
110
- );
111
- $replace = array(
112
- $account,
113
- $uaccount,
114
- $replace,
115
- $thisposturl,
116
- $title,
117
- $blogname,
118
- $excerpt,
119
- $category,
120
- $cat_desc,
121
- $date,
122
- $author,
123
- $display_name,
124
- $tags,
125
- $modified,
126
- $post['postLink']
127
- );
128
- $post_tweet = str_ireplace( $search, $replace, $tweet );
129
-
130
- $url_strlen = mb_strlen( urldecode( fake_normalize( $thisposturl ) ), $encoding );
131
  // check total length
132
- $str_length = mb_strlen( urldecode( fake_normalize( $post_tweet ) ), $encoding );
133
- if ( $str_length < $tweet_length + 1 ) {
134
- if ( mb_strlen( fake_normalize( $post_tweet ) ) > $tweet_length + 1 ) {
135
- $post_tweet = mb_substr( $post_tweet, 0, $tweet_length, $encoding );
 
 
 
 
 
 
136
  }
137
 
138
- return apply_filters( 'wpt_custom_truncate', $post_tweet, $tweet, $post_ID, $retweet ); // return early if all is well without replacements.
139
  } else {
140
- // build an array of variable names and the number of characters in that variable.
141
- $length_array = array();
142
- $length_array['excerpt'] = mb_strlen( fake_normalize( $excerpt ), $encoding );
143
- $length_array['title'] = mb_strlen( fake_normalize( $title ), $encoding );
144
- $length_array['date'] = mb_strlen( fake_normalize( $date ), $encoding );
145
- $length_array['category'] = mb_strlen( fake_normalize( $category ), $encoding );
146
- $length_array['cat_desc'] = mb_strlen( fake_normalize( $cat_desc ), $encoding );
147
- $length_array['@'] = mb_strlen( fake_normalize( $uaccount ), $encoding );
148
- $length_array['blogname'] = mb_strlen( fake_normalize( $blogname ), $encoding );
149
- $length_array['author'] = mb_strlen( fake_normalize( $author ), $encoding );
150
- $length_array['account'] = mb_strlen( fake_normalize( $account ), $encoding );
151
- if ( function_exists( 'wpt_pro_exists' ) && wpt_pro_exists() == true ) {
152
- $length_array['reference'] = mb_strlen( fake_normalize( $reference ), $encoding );
153
- }
154
- $length_array['tags'] = mb_strlen( fake_normalize( $tags ), $encoding );
155
- $length_array['modified'] = mb_strlen( fake_normalize( $modified ), $encoding );
156
- // if the total length is too long, truncate items until the length is appropriate.
157
  // Twitter's t.co shortener is mandatory. All URLS are max-character value set by Twitter.
158
- $tco = ( wpt_is_ssl( $thisposturl ) ) ? 23 : 22;
159
  $order = get_option( 'wpt_truncation_order' );
160
  if ( is_array( $order ) ) {
161
  asort( $order );
162
  $preferred = array();
163
  foreach ( $order as $k => $v ) {
164
- $preferred[ $k ] = $length_array[ $k ];
 
 
 
 
 
 
 
 
 
 
165
  }
166
  } else {
167
  $preferred = $length_array;
168
  }
169
- $diff = ( ( $url_strlen - $tco ) > 0 ) ? $url_strlen - $tco : 0;
170
- if ( $str_length > ( $tweet_length + 1 + $diff ) ) {
 
 
 
 
171
  foreach ( $preferred AS $key => $value ) {
172
- // don't truncate content of post excerpt if excerpt tag not in use
173
  if ( ! ( $key == 'excerpt' && ! $has_excerpt_tag ) && ! ( $key == 'title' && ! $has_title_tag ) ) {
174
- $str_length = mb_strlen( urldecode( fake_normalize( trim( $post_tweet ) ) ), $encoding );
175
- if ( $str_length > ( $tweet_length + 1 + $diff ) ) {
176
- $trim = $str_length - ( $tweet_length + 1 + $diff );
177
- $old_value = ${$key};
178
  // prevent URL from being modified
179
- $post_tweet = str_ireplace( array( $thisposturl, $post['postLink'] ), array( '#url#', '#longurl#' ), $post_tweet );
180
- // modify the value and replace old with new
181
- if ( $key == 'account' || $key == 'author' || $key == 'category' || $key == 'date' || $key == 'modified' || $key == 'reference' || $key == '@' ) {
182
- // these elements make no sense if truncated, so remove them entirely.
 
 
183
  $new_value = '';
 
 
 
184
  } else if ( $key == 'tags' ) {
185
  // remove any stray hash characters due to string truncation
186
  if ( mb_strlen( $old_value ) - $trim <= 2 ) {
@@ -191,36 +115,177 @@ function jd_truncate_tweet( $tweet, $post, $post_ID, $retweet = false, $ref = fa
191
  $new_value = trim( mb_substr( $new_value, 0, mb_strrpos( $new_value, '#', $encoding ) - 1 ) );
192
  }
193
  }
 
 
 
194
  } else {
195
  // trim letters
196
  $new_value = mb_substr( $old_value, 0, - ( $trim ), $encoding );
197
  // trim rest of last word
198
  $last_space = strrpos( $new_value, ' ' );
199
- $new_value = apply_filters( 'wpt_filter_truncated_value', mb_substr( $new_value, 0, $last_space, $encoding ), $key );
 
 
 
 
200
  }
201
  $post_tweet = str_ireplace( $old_value, $new_value, $post_tweet );
202
  // put URL back before checking length
203
- $post_tweet = str_ireplace( array( '#url#', '#longurl#' ), array( $thisposturl, $post['postLink'] ), $post_tweet );
204
  } else {
205
- if ( mb_strlen( fake_normalize( $post_tweet ), $encoding ) > ( $tweet_length + 1 + $diff ) ) {
206
- $post_tweet = mb_substr( $post_tweet, 0, ( $tweet_length + $diff ), $encoding );
207
  }
208
  }
209
  }
210
  }
211
  }
 
212
  // this is needed in case a tweet needs to be truncated outright and the truncation values aren't in the above.
213
  // 1) removes URL 2) checks length of remainder 3) Replaces URL
214
- if ( mb_strlen( fake_normalize( $post_tweet ) ) > $tweet_length + 1 ) {
215
- $temp = str_ireplace( array( $thisposturl, $post['postLink'] ), array( '#url#', '#longurl#' ), $post_tweet );
216
- if ( mb_strlen( fake_normalize( $temp ) ) > ( ( $tweet_length + 1 ) - ( $tco - strlen( '#url#' ) ) ) && $temp != $post_tweet ) {
217
- $post_tweet = trim( mb_substr( $temp, 0, ( ( $tweet_length + 1 ) - ( $tco - strlen( '#url#' ) ) ), $encoding ) );
218
- // it's possible to trim off the #url# part in this process. If that happens, put it back.
219
- $sub_sentence = ( strpos( $tweet, '#url#' ) === false ) ? $post_tweet : $post_tweet . ' ' . $thisposturl;
220
- $post_tweet = ( strpos( $post_tweet, '#url#' ) === false ) ? $sub_sentence : str_ireplace( array( '#url#', '#longurl#' ), array( $thisposturl, $post['postLink'] ), $post_tweet );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
221
  }
 
 
222
  }
223
  }
 
 
 
 
 
 
 
 
224
 
225
- return apply_filters( 'wpt_custom_truncate', $post_tweet, $tweet, $post_ID, $retweet );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
226
  }
 
 
 
 
 
 
 
 
5
 
6
  function jd_truncate_tweet( $tweet, $post, $post_ID, $retweet = false, $ref = false ) {
7
  // media file occupies 22 characters, need to account for in shortening.
8
+ $maxlength = apply_filters( 'wpt_max_length', array( 'with_media' => 116, 'without_media' => 139 ) );
9
+ $length = ( wpt_post_with_media( $post_ID, $post ) ) ? $maxlength['with_media'] : $maxlength['without_media'];
10
  $tweet = apply_filters( 'wpt_tweet_sentence', $tweet, $post_ID );
11
  $tweet = trim( wpt_custom_shortcodes( $tweet, $post_ID ) );
12
+ $encoding = ( get_option( 'blog_charset' ) != 'UTF-8' && get_option( 'blog_charset' ) != '' ) ? get_option( 'blog_charset' ) : 'UTF-8';
13
+ $diff = 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
 
15
+ // Add custom append/prepend fields to Tweet text
 
 
16
  if ( get_option( 'jd_twit_prepend' ) != "" && $tweet != '' ) {
17
  $tweet = stripslashes( get_option( 'jd_twit_prepend' ) ) . " " . $tweet;
18
  }
19
  if ( get_option( 'jd_twit_append' ) != "" && $tweet != '' ) {
20
  $tweet = $tweet . " " . stripslashes( get_option( 'jd_twit_append' ) );
21
+ }
22
+
23
+ // there are no tags in this Tweet. Truncate and return.
24
+ if ( !wpt_has_tags( $tweet ) ) {
25
+ $post_tweet = mb_substr( $tweet, 0, $length, $encoding );
26
+ return apply_filters( 'wpt_custom_truncate', $post_tweet, $tweet, $post_ID, $retweet, 1 );
27
  }
28
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
  // create full unconditional post tweet - prior to truncation
30
+ // order matters; arrays have to be ordered the same way.
31
+ $tags = array_map( 'wpt_make_tag', wpt_tags() );
32
+ $values = wpt_create_values( $post, $post_ID, $ref );
33
+
34
+ $post_tweet = str_ireplace( $tags, $values, $tweet );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
  // check total length
36
+ $str_length = mb_strlen( urldecode( wpt_normalize( $post_tweet ) ), $encoding );
37
+
38
+ /**
39
+ * Check whether completed replacement is still within allowed length.
40
+ *
41
+ * If so, post as is.
42
+ */
43
+ if ( $str_length < $length + 1 ) {
44
+ if ( mb_strlen( wpt_normalize( $post_tweet ) ) > $length + 1 ) {
45
+ $post_tweet = mb_substr( $post_tweet, 0, $length, $encoding );
46
  }
47
 
48
+ return apply_filters( 'wpt_custom_truncate', $post_tweet, $tweet, $post_ID, $retweet, 2 ); // return early if all is well without replacements.
49
  } else {
50
+ $has_excerpt_tag = wpt_has( $tweet, '#post#' );
51
+ $has_title_tag = wpt_has( $tweet, '#title#' );
52
+ $has_short_url = wpt_has( $tweet, '#url#' );
53
+ $has_long_url = wpt_has( $tweet, '#longurl#' );
54
+
55
+ $url_strlen = mb_strlen( urldecode( wpt_normalize( $values['url'] ) ), $encoding );
56
+ $longurl_strlen = mb_strlen( urldecode( wpt_normalize( $values['longurl'] ) ), $encoding );
57
+ /**
58
+ * Tweet is too long, so we'll have to truncate that sucker.
59
+ */
60
+ $length_array = wpt_length_array( $values, $encoding );
61
+
 
 
 
 
 
62
  // Twitter's t.co shortener is mandatory. All URLS are max-character value set by Twitter.
63
+ $tco = ( wpt_is_ssl( $values['url'] ) ) ? 23 : 22;
64
  $order = get_option( 'wpt_truncation_order' );
65
  if ( is_array( $order ) ) {
66
  asort( $order );
67
  $preferred = array();
68
  foreach ( $order as $k => $v ) {
69
+ if ( $k == 'excerpt' ) {
70
+ $k = 'post';
71
+ $value = $length_array[ 'post' ];
72
+ } else if ( $k == 'blogname' ) {
73
+ $k = 'blog';
74
+ $value = $length_array[ 'blog' ];
75
+ } else {
76
+ $value = $length_array[ $k ];
77
+ }
78
+
79
+ $preferred[ $k ] = $value;
80
  }
81
  } else {
82
  $preferred = $length_array;
83
  }
84
+ if ( $has_short_url ) {
85
+ $diff = ( ( $url_strlen - $tco ) > 0 ) ? $url_strlen - $tco : 0;
86
+ } else if ( $has_long_url ) {
87
+ $diff = ( ( $longurl_strlen - $tco ) > 0 ) ? $longurl_strlen - $tco : 0;
88
+ }
89
+ if ( $str_length > ( $length + 1 + $diff ) ) {
90
  foreach ( $preferred AS $key => $value ) {
91
+ // don't truncate content of post excerpt or title if those tags not in use
92
  if ( ! ( $key == 'excerpt' && ! $has_excerpt_tag ) && ! ( $key == 'title' && ! $has_title_tag ) ) {
93
+ $str_length = mb_strlen( urldecode( wpt_normalize( trim( $post_tweet ) ) ), $encoding );
94
+ if ( $str_length > ( $length + 1 + $diff ) ) {
95
+ $trim = $str_length - ( $length + 1 + $diff );
96
+ $old_value = $values[$key];
97
  // prevent URL from being modified
98
+ $post_tweet = str_ireplace( array( $values['url'], $values['longurl'] ), array( '#url#', '#longurl#' ), $post_tweet );
99
+
100
+ /**
101
+ * These tag fields should be removed completely, rather than truncated.
102
+ */
103
+ if ( wpt_remove_tag( $key ) ) {
104
  $new_value = '';
105
+ /**
106
+ * These tag fields should have stray characters removed on word boundaries
107
+ */
108
  } else if ( $key == 'tags' ) {
109
  // remove any stray hash characters due to string truncation
110
  if ( mb_strlen( $old_value ) - $trim <= 2 ) {
115
  $new_value = trim( mb_substr( $new_value, 0, mb_strrpos( $new_value, '#', $encoding ) - 1 ) );
116
  }
117
  }
118
+ /**
119
+ * Just flat out truncate everything else cold.
120
+ */
121
  } else {
122
  // trim letters
123
  $new_value = mb_substr( $old_value, 0, - ( $trim ), $encoding );
124
  // trim rest of last word
125
  $last_space = strrpos( $new_value, ' ' );
126
+ $new_value = mb_substr( $new_value, 0, $last_space, $encoding );
127
+ /**
128
+ * If you want to add something like an ellipsis after truncation, use this filter.
129
+ */
130
+ $new_value = apply_filters( 'wpt_filter_truncated_value', $new_value, $key, $old_value );
131
  }
132
  $post_tweet = str_ireplace( $old_value, $new_value, $post_tweet );
133
  // put URL back before checking length
134
+ $post_tweet = str_ireplace( array( '#url#', '#longurl#' ), array( $values['url'], $values['longurl'] ), $post_tweet );
135
  } else {
136
+ if ( mb_strlen( wpt_normalize( $post_tweet ), $encoding ) > ( $length + 1 + $diff ) ) {
137
+ $post_tweet = mb_substr( $post_tweet, 0, ( $length + $diff ), $encoding );
138
  }
139
  }
140
  }
141
  }
142
  }
143
+
144
  // this is needed in case a tweet needs to be truncated outright and the truncation values aren't in the above.
145
  // 1) removes URL 2) checks length of remainder 3) Replaces URL
146
+ if ( mb_strlen( wpt_normalize( $post_tweet ) ) > $length + 1 ) {
147
+ $tweet = false;
148
+ if ( $has_short_url ) {
149
+ $url = $values['url'];
150
+ $tag = '#url#';
151
+ } else if ( $has_long_url ) {
152
+ $url = $values['longurl'];
153
+ $tag = '#longurl#';
154
+ } else {
155
+ $post_tweet = mb_substr( $post_tweet, 0, ( $length + $diff ), $encoding );
156
+ $tweet = true;
157
+ }
158
+
159
+ if ( !$tweet ) {
160
+ $temp = str_ireplace( $url, $tag, $post_tweet );
161
+ if ( mb_strlen( wpt_normalize( $temp ) ) > ( ( $length + 1 ) - ( $tco - strlen( $tag ) ) ) && $temp != $post_tweet ) {
162
+ if ( stripos( $temp, '#url#' ) === false && stripos( $temp, '#longurl#' ) === false ) {
163
+ $post_tweet = trim( mb_substr( $temp, 0, $length, $encoding ) );
164
+ } else {
165
+ $post_tweet = trim( mb_substr( $temp, 0, ( $length - $tco - 1 ), $encoding ) );
166
+ }
167
+ // it's possible to trim off the #url# part in this process. If that happens, put it back.
168
+ $sub_sentence = ( !wpt_has( $post_tweet, $tag ) && ( $has_short_url || $has_long_url ) ) ? $post_tweet . ' ' . $tag : $post_tweet;
169
+ $post_tweet = str_ireplace( $tag, $url, $sub_sentence );
170
+ }
171
+ }
172
+ }
173
+ }
174
+
175
+ return apply_filters( 'wpt_custom_truncate', $post_tweet, $tweet, $post_ID, $retweet, 3 );
176
+ }
177
+
178
+ function wpt_has( $string, $tag ) {
179
+ if ( strpos( $string, $tag ) === false ) {
180
+ return false;
181
+ }
182
+
183
+ return true;
184
+ }
185
+
186
+ function wpt_has_tags( $string ) {
187
+ $tags = wpt_tags();
188
+ foreach ( $tags as $tag ) {
189
+ if ( wpt_has( $string, "#$tag#" ) ) {
190
+ return true;
191
+ }
192
+ }
193
+
194
+ return false;
195
+ }
196
+
197
+ function wpt_remove_tag( $key ) {
198
+ switch( $key ) {
199
+ case 'account':
200
+ case 'author':
201
+ case 'category':
202
+ case 'date':
203
+ case 'modified':
204
+ case 'reference':
205
+ case '@': $return = true; break;
206
+ default: $return = false;
207
+ }
208
+
209
+ return $return;
210
+ //$key == 'account' || $key == 'author' || $key == 'category' || $key == 'date' || $key == 'modified' || $key == 'reference' || $key == '@'
211
+ }
212
+
213
+ function wpt_tags() {
214
+ return apply_filters( 'wpt_tags', array( 'url', 'title', 'blog', 'post', 'category', 'date', 'author', 'displayname', 'tags', 'modified', 'reference', 'account', '@', 'cat_desc', 'longurl' ) );
215
+ }
216
+
217
+ function wpt_make_tag( $value ) {
218
+ return '#' . $value . '#';
219
+ }
220
+
221
+ function wpt_create_values( $post, $post_ID, $ref ) {
222
+ $shrink = ( $post['shortUrl'] != '' ) ? $post['shortUrl'] : apply_filters( 'wptt_shorten_link', $post['postLink'], $post['postTitle'], $post_ID, false );
223
+ // generate template variable values
224
+ $auth = $post['authId'];
225
+ $title = trim( apply_filters( 'wpt_status', $post['postTitle'], $post_ID, 'title' ) );
226
+ $blogname = trim( $post['blogTitle'] );
227
+ $excerpt = trim( apply_filters( 'wpt_status', $post['postExcerpt'], $post_ID, 'post' ) );
228
+ $thisposturl = trim( $shrink );
229
+ $category = trim( $post['category'] );
230
+ $cat_desc = trim( $post['cat_desc'] );
231
+ $user_account = get_user_meta( $auth, 'wtt_twitter_username', true );
232
+ $tags = wpt_generate_hash_tags( $post_ID );
233
+ $account = get_option( 'wtt_twitter_username' );
234
+ $date = trim( $post['postDate'] );
235
+ $modified = trim( $post['postModified'] );
236
+ if ( get_option( 'jd_individual_twitter_users' ) == 1 ) {
237
+ if ( $user_account == '' ) {
238
+ if ( get_user_meta( $auth, 'wp-to-twitter-enable-user', true ) == 'mainAtTwitter' ) {
239
+ $account = $user_account = stripcslashes( get_user_meta( $auth, 'wp-to-twitter-user-username', true ) );
240
+ } else if ( get_user_meta( $auth, 'wp-to-twitter-enable-user', true ) == 'mainAtTwitterPlus' ) {
241
+ $account = $user_account = stripcslashes( get_user_meta( $auth, 'wp-to-twitter-user-username', true ) . ' @' . get_option( 'wtt_twitter_username' ) );
242
  }
243
+ } else {
244
+ $account = "$user_account";
245
  }
246
  }
247
+ $display_name = get_the_author_meta( 'display_name', $auth );
248
+ $author = ( $user_account != '' ) ? "@$user_account" : $display_name; // value of #author#
249
+ $account = ( $account != '' ) ? "@$account" : ''; // value of #account#
250
+ $uaccount = ( $user_account != '' ) ? "@$user_account" : "$account"; // value of #@#
251
+ // clean up data if extra @ included in user data //
252
+ $account = str_ireplace( '@@', '@', $account );
253
+ $uaccount = str_ireplace( '@@', '@', $uaccount );
254
+ $author = str_ireplace( '@@', '@', $author );
255
 
256
+ if ( get_user_meta( $auth, 'wpt-remove', true ) == 'on' ) {
257
+ $account = '';
258
+ }
259
+
260
+ if ( function_exists( 'wpt_pro_exists' ) && wpt_pro_exists() == true ) {
261
+ $reference = ( $ref ) ? $account : '@' . get_option( 'wtt_twitter_username' );
262
+ } else {
263
+ $reference = '';
264
+ }
265
+
266
+ return array(
267
+ 'url' => $thisposturl,
268
+ 'title' => $title,
269
+ 'blog' => $blogname,
270
+ 'post' => $excerpt,
271
+ 'category' => $category,
272
+ 'date' => $date,
273
+ 'author' => $author,
274
+ 'displayname' => $display_name,
275
+ 'tags' => $tags,
276
+ 'modified' => $modified,
277
+ 'reference' => $reference,
278
+ 'account' => $account,
279
+ '@' => $uaccount,
280
+ 'cat_desc' => $cat_desc,
281
+ 'longurl' => $post['postLink']
282
+ );
283
  }
284
+
285
+ function wpt_length_array( $values, $encoding ) {
286
+ foreach ( $values as $key => $value ) {
287
+ $array[$key] = mb_strlen( wpt_normalize( $value ), $encoding );
288
+ }
289
+
290
+ return $array;
291
+ }
wpt-widget.php CHANGED
@@ -1,4 +1,8 @@
1
  <?php
 
 
 
 
2
  /**
3
  * wpt Latest Tweets widget class.
4
  */
1
  <?php
2
+ if ( ! defined( 'ABSPATH' ) ) {
3
+ exit;
4
+ } // Exit if accessed directly
5
+
6
  /**
7
  * wpt Latest Tweets widget class.
8
  */
wpt_twitter_oauth.php CHANGED
@@ -253,7 +253,7 @@ if ( ! class_exists( 'jd_TwitterOAuth' ) ) {
253
 
254
  $response = $tmhOAuth->response['response'];
255
  $full = $tmhOAuth->response;
256
- wpt_mail( "Media Posted - Media ID #$args[media]", print_r( $full, 1 ) );
257
 
258
  if ( is_wp_error( $response ) ) {
259
  return '';
253
 
254
  $response = $tmhOAuth->response['response'];
255
  $full = $tmhOAuth->response;
256
+ wpt_mail( "Media Posted - Media ID #$args[media]", print_r( $full, 1 ) . "\n" . "\n" . print_r( $upload, 1 ) . "\n" . $image_url );
257
 
258
  if ( is_wp_error( $response ) ) {
259
  return '';