Print, PDF, Email by PrintFriendly - Version 3.2.4

Version Description

  • Add printfriendly post_class.
  • Fixed minor JS bug.
  • Added redundancy to uninstall script.
Download this release

Release Info

Developer printfriendly
Plugin Icon 128x128 Print, PDF, Email by PrintFriendly
Version 3.2.4
Comparing to
See all releases

Code changes from version 3.2.3 to 3.2.4

Files changed (7) hide show
  1. admin.css +342 -312
  2. admin.js +93 -0
  3. languages/printfriendly.pot +139 -103
  4. pf.php +204 -56
  5. readme.txt +8 -5
  6. screenshot-2.png +0 -0
  7. uninstall.php +17 -2
admin.css CHANGED
@@ -1,319 +1,349 @@
1
- label{
2
- display: block;
3
- margin: 1.5em 0;
4
- }
5
-
6
- h3{
7
- margin: 3em 0 2em;
8
- border-bottom: 1px solid #ccc;
9
- padding-bottom:.75em;
10
- clear: both;
11
- }
12
-
13
- #buttongroup1, #buttongroup2, #buttongroup3, #custom-txt div, #button-placement div{
14
- display: block;
15
- margin-right: 3em;
16
- float: left;
17
- }
18
- #custom-txt div#txt-size, div#button-placement-options{
19
- margin-right: 0;
20
- }
21
- #custom-button-preview {
22
- clear:both;
23
- padding-top: 20px;
24
- margin-left: 2em;
25
- }
26
- #custom-button-preview img{
27
- margin-right: 6px;
28
- }
29
- #custom, #placement-adv-options{
30
- float: left;
31
- }
32
-
33
- #custom-txt, #custom-img {
34
- margin: 2em 0 2em 2em;
35
- clear: both;
36
- }
37
-
38
- .description{
39
- color: #cacaca;
40
- }
41
- .printfriendly-text2{
42
- font-family: verdana;
43
- font-size: 14px;
44
- color: #6D9F00;
45
- }
46
- select{
47
- display: block;
48
- margin: .5em .5em 2em 0;
49
- }
50
- select#javascript, select#website_protocol{
51
- display: inline-block;
52
- margin-bottom: 0;
53
- }
54
- input[type="radio"], input[type="checkbox"] {
55
- cursor: pointer;
56
- margin-right: 10px;
57
- vertical-align: middle;
58
- }
59
-
60
-
61
- /* WP lacks styling for type="number", so in here for now */
62
- input[type="number"] {
63
- border-color: #DFDFDF;
64
- background-color: white;
65
- border-width: 1px;
66
- border-style: solid;
67
- -moz-border-radius: 3px;
68
- -khtml-border-radius: 3px;
69
- -webkit-border-radius: 3px;
70
- border-radius: 3px;
71
- -moz-box-sizing: border-box;
72
- -webkit-box-sizing: border-box;
73
- -ms-box-sizing: border-box;
74
- box-sizing: border-box;
75
- width: 36px;
76
- margin-right: .5em;
77
- }
78
- #css{
79
- font-size: 11px;
80
- color:#bbb;
81
- }
82
- #css input{
83
- margin: 0 6px 0 12px;
84
- vertical-align: baseline;
85
- }
86
- #pf-shortcode{
87
-
88
- margin-left: 2em;
89
- }
90
- .custom-logo label, .custom-logo input, #pf-favicon {
91
- display: inline-block;
92
- }
93
-
94
- .custom-logo input {
95
- width: 20em;
96
- }
97
-
98
- .custom-logo label {
99
- margin-left: 5px;
100
- margin-right: 2px;
101
- }
102
-
103
- label#pf-favicon {
104
- vertical-align: baseline;
105
- margin: 0;
106
- }
107
-
108
- .printfriendly-details input {
109
- width: 20em;
110
- }
111
-
112
- .printfriendly-details label {
113
- margin-left: 5px;
114
- margin-right: 2px;
115
- }
116
-
117
- .icon32 {
118
- background: url(images/pf-icon.png) center center no-repeat;
119
- }
120
-
121
- #after-submit{
122
- border-top: 2px dashed #dfdfdf;
123
- margin:4em 0;
124
- padding-top:1em;
125
- }
126
- #addmanual-help {
127
- display: none;
128
- }
129
-
130
- #colorSelector {
131
- position: relative;
 
 
 
 
 
 
132
  width: 36px;
133
  height: 36px;
134
- background: url(images/select2.png);
135
- display: inline-block;
136
- cursor: pointer;
137
- }
138
-
139
- #colorSelector div {
140
  position: absolute;
141
  top: 4px;
142
  left: 4px;
143
  width: 28px;
144
  height: 28px;
145
- background: url(images/select2.png) center;
146
- }
147
-
148
- .colorpicker {
149
- width: 356px;
150
- height: 176px;
151
- overflow: hidden;
152
- position: absolute;
153
- background: url(images/custom_background.png);
154
- font-family: Arial, Helvetica, sans-serif;
155
- display: none;
156
- }
157
-
158
- .colorpicker_color {
159
- width: 150px;
160
- height: 150px;
161
- left: 14px;
162
- top: 13px;
163
- position: absolute;
164
- background: #f00;
165
- overflow: hidden;
166
- cursor: crosshair;
167
- }
168
-
169
- .colorpicker_color div {
170
- position: absolute;
171
- top: 0;
172
- left: 0;
173
- width: 150px;
174
- height: 150px;
175
- background: url(images/colorpicker_overlay.png);
176
- }
177
-
178
- .colorpicker_color div div {
179
- position: absolute;
180
- top: 0;
181
- left: 0;
182
- width: 11px;
183
- height: 11px;
184
- overflow: hidden;
185
- background: url(images/colorpicker_select.gif);
186
- margin: -5px 0 0 -5px;
187
- }
188
-
189
- .colorpicker_hue {
190
- position: absolute;
191
- top: 13px;
192
- left: 171px;
193
- width: 35px;
194
- height: 150px;
195
- cursor: n-resize;
196
- }
197
-
198
- .colorpicker_hue div {
199
- position: absolute;
200
- width: 35px;
201
- height: 9px;
202
- overflow: hidden;
203
- background: url(images/custom_indic.gif) left top;
204
- margin: -4px 0 0 0;
205
- left: 0px;
206
- }
207
-
208
- .colorpicker_new_color {
209
- position: absolute;
210
- width: 60px;
211
- height: 30px;
212
- left: 213px;
213
- top: 13px;
214
- background: #f00;
215
- }
216
-
217
- .colorpicker_current_color {
218
- position: absolute;
219
- width: 60px;
220
- height: 30px;
221
- left: 283px;
222
- top: 13px;
223
- background: #f00;
224
- }
225
-
226
- .colorpicker input {
227
- background-color: transparent;
228
- border: 1px solid transparent !important;
229
- position: absolute;
230
- font-size: 10px;
231
- font-family: Arial, Helvetica, sans-serif;
232
- color: #778398;
233
- top: 4px;
234
- right: 11px;
235
- text-align: right;
236
- margin: 0;
237
- padding: 0 !important;
238
- height: 11px;
239
- line-height: 11px;
240
- outline: none;
241
- }
242
-
243
- .colorpicker_hex {
244
- position: absolute;
245
- width: 72px;
246
- height: 22px;
247
- background: url(images/custom_hex.png) top;
248
- left: 212px;
249
- top: 142px;
250
- }
251
-
252
- .colorpicker_hex input {
253
- right: 6px;
254
- }
255
-
256
- .colorpicker_field {
257
- height: 22px;
258
- width: 62px;
259
- background-position: top;
260
- position: absolute;
261
- }
262
-
263
- .colorpicker_field span {
264
- position: absolute;
265
- width: 12px;
266
- height: 22px;
267
- overflow: hidden;
268
- top: 0;
269
- right: 0;
270
- cursor: n-resize;
271
- }
272
-
273
- .colorpicker_rgb_r {
274
- background-image: url(images/custom_rgb_r.png);
275
- top: 52px;
276
- left: 212px;
277
- }
278
-
279
- .colorpicker_rgb_g {
280
- background-image: url(images/custom_rgb_g.png);
281
- top: 82px;
282
- left: 212px;
283
- }
284
-
285
- .colorpicker_rgb_b {
286
- background-image: url(images/custom_rgb_b.png);
287
- top: 112px;
288
- left: 212px;
289
- }
290
-
291
- .colorpicker_hsb_h, .colorpicker_hsb_s, .colorpicker_hsb_b {
292
- display: none;
293
- }
294
-
295
- .colorpicker_submit {
296
- position: absolute;
297
- width: 22px;
298
- height: 22px;
299
- background: url(images/custom_submit.png) top;
300
- left: 322px;
301
- top: 142px;
302
- overflow: hidden;
303
- }
304
-
305
- .colorpicker_focus {
306
- background-position: center;
307
- }
308
-
309
- .colorpicker_hex.colorpicker_focus {
310
- background-position: bottom;
311
- }
312
-
313
- .colorpicker_submit.colorpicker_focus {
314
- background-position: bottom;
315
- }
316
-
317
- .colorpicker_slider {
318
- background-position: bottom;
319
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ label {
2
+ display: block;
3
+ margin: 1.5em 0;
4
+ }
5
+
6
+ h3 {
7
+ margin: 3em 0 2em;
8
+ border-bottom: 1px solid #ccc;
9
+ padding-bottom:.75em;
10
+ clear: both;
11
+ }
12
+
13
+ h3.hndle {
14
+ clear:none;
15
+ padding: 7px 5px;
16
+ }
17
+
18
+ #buttongroup1, #buttongroup2, #buttongroup3, #custom-txt div, #button-positioning div, #button-placement div {
19
+ display: block;
20
+ margin-right: 3em;
21
+ float: left;
22
+ }
23
+ #custom-txt div#txt-size, div#button-positioning-options {
24
+ margin-right: 0;
25
+ }
26
+
27
+ #custom-button-preview {
28
+ clear:both;
29
+ padding-top: 20px;
30
+ margin-left: 2em;
31
+ }
32
+ #custom-button-preview img {
33
+ margin-right: 6px;
34
+ }
35
+ #custom, #placement-adv-options {
36
+ float: left;
37
+ }
38
+
39
+ #custom-txt, #custom-img {
40
+ margin: 2em 0 2em 2em;
41
+ clear: both;
42
+ }
43
+
44
+ .description {
45
+ color: #cacaca;
46
+ }
47
+ .printfriendly-text2 {
48
+ font-family: verdana;
49
+ font-size: 14px;
50
+ color: #6D9F00;
51
+ }
52
+ select{
53
+ display: block;
54
+ margin: .5em .5em 2em 0;
55
+ }
56
+ select#javascript, select#website_protocol {
57
+ display: inline-block;
58
+ margin-bottom: 0;
59
+ }
60
+ input[type="radio"], input[type="checkbox"] {
61
+ cursor: pointer;
62
+ margin-right: 10px;
63
+ vertical-align: middle;
64
+ }
65
+
66
+
67
+ /* WP lacks styling for type="number", so in here for now */
68
+ input[type="number"] {
69
+ border-color: #DFDFDF;
70
+ background-color: white;
71
+ border-width: 1px;
72
+ border-style: solid;
73
+ -moz-border-radius: 3px;
74
+ -khtml-border-radius: 3px;
75
+ -webkit-border-radius: 3px;
76
+ border-radius: 3px;
77
+ -moz-box-sizing: border-box;
78
+ -webkit-box-sizing: border-box;
79
+ -ms-box-sizing: border-box;
80
+ box-sizing: border-box;
81
+ width: 36px;
82
+ margin-right: .5em;
83
+ }
84
+ #css {
85
+ font-size: 11px;
86
+ color:#bbb;
87
+ }
88
+ #css input {
89
+ margin: 0 6px 0 12px;
90
+ vertical-align: baseline;
91
+ }
92
+ #pf-shortcode {
93
+
94
+ margin-left: 2em;
95
+ }
96
+ .custom-logo label, .custom-logo input, #pf-favicon {
97
+ display: inline-block;
98
+ }
99
+
100
+ .custom-logo input {
101
+ width: 20em;
102
+ }
103
+
104
+ .custom-logo label {
105
+ margin-left: 5px;
106
+ margin-right: 2px;
107
+ }
108
+
109
+ label#pf-favicon {
110
+ vertical-align: baseline;
111
+ margin: 0;
112
+ }
113
+
114
+ .printfriendly-details input {
115
+ width: 20em;
116
+ }
117
+
118
+ .printfriendly-details label {
119
+ margin-left: 5px;
120
+ margin-right: 2px;
121
+ }
122
+
123
+ .icon32 {
124
+ background: url(images/pf-icon.png) center center no-repeat;
125
+ }
126
+
127
+ #after-submit {
128
+ border-top: 2px dashed #dfdfdf;
129
+ margin:4em 0;
130
+ padding-top:1em;
131
+ }
132
+ #addmanual-help {
133
+ display: none;
134
+ }
135
+
136
+ #colorSelector {
137
+ position: relative;
138
  width: 36px;
139
  height: 36px;
140
+ background: url(images/select2.png);
141
+ display: inline-block;
142
+ cursor: pointer;
143
+ }
144
+
145
+ #colorSelector div {
146
  position: absolute;
147
  top: 4px;
148
  left: 4px;
149
  width: 28px;
150
  height: 28px;
151
+ background: url(images/select2.png) center;
152
+ }
153
+
154
+ .colorpicker {
155
+ width: 356px;
156
+ height: 176px;
157
+ overflow: hidden;
158
+ position: absolute;
159
+ background: url(images/custom_background.png);
160
+ font-family: Arial, Helvetica, sans-serif;
161
+ display: none;
162
+ }
163
+
164
+ .colorpicker_color {
165
+ width: 150px;
166
+ height: 150px;
167
+ left: 14px;
168
+ top: 13px;
169
+ position: absolute;
170
+ background: #f00;
171
+ overflow: hidden;
172
+ cursor: crosshair;
173
+ }
174
+
175
+ .colorpicker_color div {
176
+ position: absolute;
177
+ top: 0;
178
+ left: 0;
179
+ width: 150px;
180
+ height: 150px;
181
+ background: url(images/colorpicker_overlay.png);
182
+ }
183
+
184
+ .colorpicker_color div div {
185
+ position: absolute;
186
+ top: 0;
187
+ left: 0;
188
+ width: 11px;
189
+ height: 11px;
190
+ overflow: hidden;
191
+ background: url(images/colorpicker_select.gif);
192
+ margin: -5px 0 0 -5px;
193
+ }
194
+
195
+ .colorpicker_hue {
196
+ position: absolute;
197
+ top: 13px;
198
+ left: 171px;
199
+ width: 35px;
200
+ height: 150px;
201
+ cursor: n-resize;
202
+ }
203
+
204
+ .colorpicker_hue div {
205
+ position: absolute;
206
+ width: 35px;
207
+ height: 9px;
208
+ overflow: hidden;
209
+ background: url(images/custom_indic.gif) left top;
210
+ margin: -4px 0 0 0;
211
+ left: 0px;
212
+ }
213
+
214
+ .colorpicker_new_color {
215
+ position: absolute;
216
+ width: 60px;
217
+ height: 30px;
218
+ left: 213px;
219
+ top: 13px;
220
+ background: #f00;
221
+ }
222
+
223
+ .colorpicker_current_color {
224
+ position: absolute;
225
+ width: 60px;
226
+ height: 30px;
227
+ left: 283px;
228
+ top: 13px;
229
+ background: #f00;
230
+ }
231
+
232
+ .colorpicker input {
233
+ background-color: transparent;
234
+ border: 1px solid transparent !important;
235
+ position: absolute;
236
+ font-size: 10px;
237
+ font-family: Arial, Helvetica, sans-serif;
238
+ color: #778398;
239
+ top: 4px;
240
+ right: 11px;
241
+ text-align: right;
242
+ margin: 0;
243
+ padding: 0 !important;
244
+ height: 11px;
245
+ line-height: 11px;
246
+ outline: none;
247
+ }
248
+
249
+ .colorpicker_hex {
250
+ position: absolute;
251
+ width: 72px;
252
+ height: 22px;
253
+ background: url(images/custom_hex.png) top;
254
+ left: 212px;
255
+ top: 142px;
256
+ }
257
+
258
+ .colorpicker_hex input {
259
+ right: 6px;
260
+ }
261
+
262
+ .colorpicker_field {
263
+ height: 22px;
264
+ width: 62px;
265
+ background-position: top;
266
+ position: absolute;
267
+ }
268
+
269
+ .colorpicker_field span {
270
+ position: absolute;
271
+ width: 12px;
272
+ height: 22px;
273
+ overflow: hidden;
274
+ top: 0;
275
+ right: 0;
276
+ cursor: n-resize;
277
+ }
278
+
279
+ .colorpicker_rgb_r {
280
+ background-image: url(images/custom_rgb_r.png);
281
+ top: 52px;
282
+ left: 212px;
283
+ }
284
+
285
+ .colorpicker_rgb_g {
286
+ background-image: url(images/custom_rgb_g.png);
287
+ top: 82px;
288
+ left: 212px;
289
+ }
290
+
291
+ .colorpicker_rgb_b {
292
+ background-image: url(images/custom_rgb_b.png);
293
+ top: 112px;
294
+ left: 212px;
295
+ }
296
+
297
+ .colorpicker_hsb_h, .colorpicker_hsb_s, .colorpicker_hsb_b {
298
+ display: none;
299
+ }
300
+
301
+ .colorpicker_submit {
302
+ position: absolute;
303
+ width: 22px;
304
+ height: 22px;
305
+ background: url(images/custom_submit.png) top;
306
+ left: 322px;
307
+ top: 142px;
308
+ overflow: hidden;
309
+ }
310
+
311
+ .colorpicker_focus {
312
+ background-position: center;
313
+ }
314
+
315
+ .colorpicker_hex.colorpicker_focus {
316
+ background-position: bottom;
317
+ }
318
+
319
+ .colorpicker_submit.colorpicker_focus {
320
+ background-position: bottom;
321
+ }
322
+
323
+ .colorpicker_slider {
324
+ background-position: bottom;
325
+ }
326
+
327
+ #button-placement div#pages label {
328
+ clear: left;
329
+ }
330
+
331
+ div#category-adder {
332
+ float: none;
333
+ }
334
+
335
+ #pf-categories {
336
+ display: none;
337
+ float: left;
338
+ position: relative;
339
+ top: 1.5em;
340
+ left: 20px;
341
+ width: 270px;
342
+ }
343
+ #pf-categories h4 {
344
+ margin: 0 0 0.4em 0;
345
+ }
346
+
347
+ #pf-categories-metabox, #category-adder {
348
+ display: none;
349
+ }
admin.js CHANGED
@@ -4,12 +4,57 @@ jQuery(document).ready(function() {
4
  if (jQuery('.show_list:checked').length == 0) {
5
  jQuery('.content_placement').hide('slow');
6
  jQuery('.content_placement input').attr('disabled','disabled');
 
7
  } else {
 
8
  jQuery('.content_placement').show('slow');
9
  jQuery('.content_placement input').removeAttr('disabled');
10
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  }).change();
12
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  jQuery('#colorSelector').ColorPicker({
14
  color: jQuery('#text_color').val(),
15
  onShow: function (colpkr) {
@@ -158,4 +203,52 @@ jQuery(document).ready(function() {
158
  jQuery('.printfriendly-text2').css('font-size',parseInt(size));
159
  }
160
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
161
  });
4
  if (jQuery('.show_list:checked').length == 0) {
5
  jQuery('.content_placement').hide('slow');
6
  jQuery('.content_placement input').attr('disabled','disabled');
7
+ jQuery('.show_template').attr('checked', 'checked');
8
  } else {
9
+ jQuery('.show_template').attr('checked', false);
10
  jQuery('.content_placement').show('slow');
11
  jQuery('.content_placement input').removeAttr('disabled');
12
  }
13
+
14
+ var postName = 'printfriendly_option[show_on_posts]';
15
+ var homeName = 'printfriendly_option[show_on_homepage]';
16
+
17
+ var optionName = jQuery(this).attr('name');
18
+ if (optionName == homeName || optionName == postName){
19
+ if(jQuery(this).is(':checked')) {
20
+ jQuery('#pf-categories').show('slow');
21
+ } else if(!jQuery('input[name="' + homeName + '"]').is(':checked')
22
+ && !jQuery('input[name="' + postName + '"]').is(':checked')) {
23
+ jQuery('#pf-categories').hide('slow');
24
+ }
25
+ }
26
  }).change();
27
 
28
+ jQuery('.show_template').change(function() {
29
+ if(jQuery(this).is(':checked')) {
30
+ jQuery('.show_list').attr('checked', false);
31
+ jQuery('.show_list').attr('disabled', 'disabled');
32
+ jQuery('.content_placement').hide('slow');
33
+ jQuery('.content_placement input').attr('disabled','disabled');
34
+ jQuery('#pf-categories-metabox').hide('slow');
35
+ } else {
36
+ jQuery('.show_list').removeAttr('disabled');
37
+ jQuery('.content_placement').show('slow');
38
+ jQuery('.content_placement input').removeAttr('disabled');
39
+ }
40
+ }).change();
41
+
42
+ jQuery('#toggle-categories').click(function() {
43
+ if(jQuery('#pf-categories-metabox').is(':visible')) {
44
+ jQuery('#pf-categories-metabox').hide('slow');
45
+ } else {
46
+ jQuery('#pf-categories-metabox').show('slow');
47
+ }
48
+ });
49
+
50
+ jQuery(document).mouseup(function (e) {
51
+ var container = jQuery("#pf-categories");
52
+
53
+ if (container.has(e.target).length === 0) {
54
+ jQuery('#pf-categories-metabox').hide('slow');
55
+ }
56
+ });
57
+
58
  jQuery('#colorSelector').ColorPicker({
59
  color: jQuery('#text_color').val(),
60
  onShow: function (colpkr) {
203
  jQuery('.printfriendly-text2').css('font-size',parseInt(size));
204
  }
205
 
206
+ // postboxes setup
207
+ jQuery('.if-js-closed').removeClass('if-js-closed').addClass('closed');
208
+
209
+ // categories checkboxes
210
+ var category_ids = jQuery('#category_ids').val().split(',');
211
+ if(category_ids[0] == 'all') {
212
+ var ids = [];
213
+ jQuery('#categorydiv :checkbox').each(function() {
214
+ jQuery(this).attr('checked', 'checked');
215
+ });
216
+ jQuery('#category-all :checkbox').each(function() {
217
+ ids.push(jQuery(this).val());
218
+ });
219
+ // for older wp versions we do not have per category settings so
220
+ // ids array will be empty and in that case we shouldn't replace 'all'
221
+ if(ids.length != 0) {
222
+ jQuery('#category_ids').val(ids.join(','));
223
+ }
224
+ } else {
225
+
226
+ jQuery('#categorydiv :checkbox').each(function() {
227
+ if(jQuery.inArray(jQuery(this).val(), category_ids) != -1) {
228
+ jQuery(this).attr('checked', 'checked');
229
+ }
230
+ });
231
+ }
232
+
233
+ jQuery('#categorydiv :checkbox').click(function() {
234
+ var values = jQuery('#category_ids').val();
235
+ var ids = [];
236
+ if(values != '')
237
+ ids = values.split(',');
238
+
239
+ var id = jQuery(this).val();
240
+
241
+ if(jQuery(this).is(':checked'))
242
+ ids.push(id);
243
+ else {
244
+ ids = jQuery.grep(ids, function(value) {
245
+ return value != id;
246
+ });
247
+ }
248
+
249
+ jQuery('#category_ids').val(ids.join(','));
250
+ });
251
+
252
+ // page checkboxes TODO...
253
+
254
  });
languages/printfriendly.pot CHANGED
@@ -2,228 +2,264 @@
2
  # This file is distributed under the same license as the package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: \n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/printfriendly\n"
7
- "POT-Creation-Date: 2011-07-21 12:31:20+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: 2010-MO-DA HO:MI+ZONE\n"
12
- "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
- "Language-Team: LANGUAGE <LL@li.org>\n"
 
 
 
14
 
15
- #: pf.php:290
16
- msgid "The text size you entered is too high, please stay below 25px."
17
  msgstr ""
18
 
19
- #: pf.php:296
20
  msgid ""
21
  "The color you entered is not valid, it must be a valid hexadecimal RGB font "
22
  "color."
23
  msgstr ""
24
 
25
- #: pf.php:310
26
  msgid "PrintFriendly Options"
27
  msgstr ""
28
 
29
- #: pf.php:310
30
- msgid "PrintFriendly"
31
  msgstr ""
32
 
33
- #: pf.php:320
34
  msgid "Need Help?"
35
  msgstr ""
36
 
37
- #: pf.php:321
 
38
  msgid "Be sure to check out the %s!"
39
  msgstr ""
40
 
41
- #: pf.php:321
42
  msgid "Frequently Asked Questions"
43
  msgstr ""
44
 
45
- #: pf.php:358
46
  msgid "Settings"
47
  msgstr ""
48
 
49
- #: pf.php:529
50
- msgid "PrintFriendly Settings"
51
  msgstr ""
52
 
53
- #: pf.php:537
54
- msgid "Pick a Button and/or Text"
55
  msgstr ""
56
 
57
- #: pf.php:541
58
  msgid "Pick Your Button Style"
59
  msgstr ""
60
 
61
- #: pf.php:554
62
- msgid "Custom Image URL"
63
  msgstr ""
64
 
65
- #: pf.php:556
66
- msgid ""
67
- ".JPG .GIF or .PNG Absolute (http://www.example.com/...), or Relative (/wp/wp-"
68
- "content/uploads/example.png)"
69
  msgstr ""
70
 
71
- #: pf.php:562
72
- msgid "Button Text"
73
  msgstr ""
74
 
75
- #: pf.php:567
76
- msgid "Style the Button and Text"
77
  msgstr ""
78
 
79
- #: pf.php:571
80
  msgid "Text Color"
81
  msgstr ""
82
 
83
- #: pf.php:575
84
- msgid ""
85
- "Use the color picker, or enter a valid hex color in the color picker input "
86
- "box."
87
  msgstr ""
88
 
89
- #: pf.php:579
90
- msgid "Text Size"
91
  msgstr ""
92
 
93
- #: pf.php:582 pf.php:588
94
- msgid "In pixels (px)"
95
  msgstr ""
96
 
97
- #: pf.php:586
98
- msgid "Margin"
99
  msgstr ""
100
 
101
- #: pf.php:588 pf.php:603
102
- msgid "Left"
103
  msgstr ""
104
 
105
- #: pf.php:589 pf.php:604
106
- msgid "Right"
107
  msgstr ""
108
 
109
- #: pf.php:590
110
- msgid "Top"
111
  msgstr ""
112
 
113
- #: pf.php:591
114
- msgid "Bottom"
115
  msgstr ""
116
 
117
- #: pf.php:596
118
- msgid "Button Placement"
119
  msgstr ""
120
 
121
- #: pf.php:600
122
- msgid "Horizontal Alignment"
123
  msgstr ""
124
 
125
- #: pf.php:602
126
- msgid "None"
127
  msgstr ""
128
 
129
- #: pf.php:605
130
- msgid "Center"
131
  msgstr ""
132
 
133
- #: pf.php:609
134
- msgid "Vertical Position"
135
  msgstr ""
136
 
137
- #: pf.php:611
138
- msgid "Before Content"
139
  msgstr ""
140
 
141
- #: pf.php:612
142
- msgid "After Content"
143
  msgstr ""
144
 
145
- #: pf.php:616
146
- msgid "Add PrintFriendly To"
147
  msgstr ""
148
 
149
- #: pf.php:618
150
- msgid "Homepage, Archives, Posts, and Pages"
151
  msgstr ""
152
 
153
- #: pf.php:619
154
- msgid "Posts and Pages"
155
  msgstr ""
156
 
157
- #: pf.php:620
158
- msgid "Posts"
159
  msgstr ""
160
 
161
- #: pf.php:621
162
- msgid "Manual"
163
  msgstr ""
164
 
165
- #: pf.php:623
166
- msgid "Copy and paste the code below anywhere in your template pages."
 
167
  msgstr ""
168
 
169
- #: pf.php:630
170
- msgid "Other Settings"
171
  msgstr ""
172
 
173
- #: pf.php:634
174
- msgid "CSS Stylesheet"
175
  msgstr ""
176
 
177
- #: pf.php:636
178
- msgid "Add CSS to pages"
179
  msgstr ""
180
 
181
- #: pf.php:638
182
- msgid ""
183
- "If you uncheck this box you have to add the styling for the PrintFriendly "
184
- "button to your theme's stylesheet."
185
  msgstr ""
186
 
187
- #: pf.php:643
188
- msgid "JavaScript"
189
  msgstr ""
190
 
191
- #: pf.php:645
192
- msgid "JavaScript Fallback"
193
  msgstr ""
194
 
195
- #: pf.php:647
196
- msgid ""
197
- "If you uncheck this box users without JavaScript will be unable to use the "
198
- "PrintFriendly service."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
199
  msgstr ""
200
 
201
- #: pf.php:649
202
- msgid "Include JavaScript"
203
  msgstr ""
204
 
205
- #: pf.php:651
 
 
 
 
 
 
 
 
 
 
 
 
206
  msgid ""
207
- "If you uncheck this box, all buttons will become links to the PrintFriendly "
208
- "webservice and the PrintFriendly JavaScript will not be loaded on your site."
 
 
 
 
209
  msgstr ""
210
 
211
- #: pf.php:658
212
  msgid "Save Options"
213
  msgstr ""
214
 
215
- #: pf.php:659
216
  msgid "Cancel"
217
  msgstr ""
218
 
219
- #: pf.php:662
220
  msgid "Like PrintFriendly?"
221
  msgstr ""
222
 
223
- #: pf.php:662
224
  msgid "Give us a rating"
225
  msgstr ""
226
 
227
- #: pf.php:662
228
  msgid "Need help or have suggestions?"
229
  msgstr ""
2
  # This file is distributed under the same license as the package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: PrintFriendly\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/printfriendly\n"
7
+ "POT-Creation-Date: 2013-03-19 22:30+0100\n"
8
+ "PO-Revision-Date: 2013-03-19 23:17+0100\n"
9
+ "Last-Translator: EJ Reinders Folmer <poedit_nospam@adviesenzo.nl>\n"
10
+ "Language-Team: \n"
11
  "MIME-Version: 1.0\n"
12
  "Content-Type: text/plain; charset=UTF-8\n"
13
  "Content-Transfer-Encoding: 8bit\n"
14
+ "X-Generator: Poedit 1.5.5\n"
15
+ "X-Poedit-KeywordsList: __;_e;_n;_x;_ex;_nx;esc_html__;esc_html_e;esc_html_x;"
16
+ "esc_attr__;esc_attr_e;esc_attr_x;_n_noop;_nx_noop\n"
17
+ "X-Poedit-Basepath: .\n"
18
+ "X-Poedit-SearchPath-0: .\n"
19
+ "X-Poedit-SearchPath-1: ..\n"
20
 
21
+ #: ../pf.php:411
22
+ msgid "The text size you entered is invalid, please stay between 9px and 25px"
23
  msgstr ""
24
 
25
+ #: ../pf.php:419
26
  msgid ""
27
  "The color you entered is not valid, it must be a valid hexadecimal RGB font "
28
  "color."
29
  msgstr ""
30
 
31
+ #: ../pf.php:433
32
  msgid "PrintFriendly Options"
33
  msgstr ""
34
 
35
+ #: ../pf.php:433
36
+ msgid "Print Friendly & PDF"
37
  msgstr ""
38
 
39
+ #: ../pf.php:446
40
  msgid "Need Help?"
41
  msgstr ""
42
 
43
+ #: ../pf.php:447
44
+ #, php-format
45
  msgid "Be sure to check out the %s!"
46
  msgstr ""
47
 
48
+ #: ../pf.php:447
49
  msgid "Frequently Asked Questions"
50
  msgstr ""
51
 
52
+ #: ../pf.php:486
53
  msgid "Settings"
54
  msgstr ""
55
 
56
+ #: ../pf.php:869
57
+ msgid "Only display when post is in:"
58
  msgstr ""
59
 
60
+ #: ../pf.php:892
61
+ msgid "Print Friendly & PDF Settings"
62
  msgstr ""
63
 
64
+ #: ../pf.php:897
65
  msgid "Pick Your Button Style"
66
  msgstr ""
67
 
68
+ #: ../pf.php:920
69
+ msgid "Custom Button"
70
  msgstr ""
71
 
72
+ #: ../pf.php:923
73
+ msgid "Enter Image URL"
 
 
74
  msgstr ""
75
 
76
+ #: ../pf.php:925
77
+ msgid "Ex: http://www.example.com/<br>Ex: /wp/wp-content/uploads/example.png)"
78
  msgstr ""
79
 
80
+ #: ../pf.php:931
81
+ msgid "Text"
82
  msgstr ""
83
 
84
+ #: ../pf.php:935
85
  msgid "Text Color"
86
  msgstr ""
87
 
88
+ #: ../pf.php:942
89
+ msgid "Text Size"
 
 
90
  msgstr ""
91
 
92
+ #: ../pf.php:954
93
+ msgid "Button Positioning"
94
  msgstr ""
95
 
96
+ #: ../pf.php:961
97
+ msgid "Left Align"
98
  msgstr ""
99
 
100
+ #: ../pf.php:962
101
+ msgid "Right Align"
102
  msgstr ""
103
 
104
+ #: ../pf.php:963
105
+ msgid "Center"
106
  msgstr ""
107
 
108
+ #: ../pf.php:964
109
+ msgid "None"
110
  msgstr ""
111
 
112
+ #: ../pf.php:971
113
+ msgid "Above Content"
114
  msgstr ""
115
 
116
+ #: ../pf.php:972
117
+ msgid "Below Content"
118
  msgstr ""
119
 
120
+ #: ../pf.php:979
121
+ msgid "Margin Left"
122
  msgstr ""
123
 
124
+ #: ../pf.php:982
125
+ msgid "Margin Right"
126
  msgstr ""
127
 
128
+ #: ../pf.php:985
129
+ msgid "Margin Top"
130
  msgstr ""
131
 
132
+ #: ../pf.php:988
133
+ msgid "Margin Bottom"
134
  msgstr ""
135
 
136
+ #: ../pf.php:997
137
+ msgid "Display button on:"
138
  msgstr ""
139
 
140
+ #: ../pf.php:999
141
+ msgid "Posts"
142
  msgstr ""
143
 
144
+ #: ../pf.php:1000
145
+ msgid "Pages"
146
  msgstr ""
147
 
148
+ #: ../pf.php:1001
149
+ msgid "Homepage"
150
  msgstr ""
151
 
152
+ #: ../pf.php:1002
153
+ msgid "Category Pages"
154
  msgstr ""
155
 
156
+ #: ../pf.php:1003
157
+ msgid "Taxonomy Pages"
158
  msgstr ""
159
 
160
+ #: ../pf.php:1004
161
+ msgid "Add direct to template"
162
  msgstr ""
163
 
164
+ #: ../pf.php:1006
165
+ msgid "or use shortcode inside your page/article"
166
  msgstr ""
167
 
168
+ #: ../pf.php:1013
169
+ #, php-format
170
+ msgid "<a %s>Additional filter</a>"
171
  msgstr ""
172
 
173
+ #: ../pf.php:1024
174
+ msgid "Print PDF Options"
175
  msgstr ""
176
 
177
+ #: ../pf.php:1026
178
+ msgid "Page header"
179
  msgstr ""
180
 
181
+ #: ../pf.php:1028
182
+ msgid "My Website Icon"
183
  msgstr ""
184
 
185
+ #: ../pf.php:1029
186
+ msgid "Upload an Image"
 
 
187
  msgstr ""
188
 
189
+ #: ../pf.php:1036
190
+ msgid "Click-to-delete"
191
  msgstr ""
192
 
193
+ #: ../pf.php:1038 ../pf.php:1045 ../pf.php:1052 ../pf.php:1059
194
+ msgid "Allow"
195
  msgstr ""
196
 
197
+ #: ../pf.php:1039 ../pf.php:1046 ../pf.php:1053 ../pf.php:1060
198
+ msgid "Not Allow"
199
+ msgstr ""
200
+
201
+ #: ../pf.php:1043
202
+ msgid "Email"
203
+ msgstr ""
204
+
205
+ #: ../pf.php:1050
206
+ msgid "PDF"
207
+ msgstr ""
208
+
209
+ #: ../pf.php:1057
210
+ msgid "Print"
211
+ msgstr ""
212
+
213
+ #: ../pf.php:1064
214
+ msgid "Custom css url"
215
+ msgstr ""
216
+
217
+ #: ../pf.php:1070
218
+ msgid "Webmaster Settings"
219
  msgstr ""
220
 
221
+ #: ../pf.php:1074
222
+ msgid "http (common)"
223
  msgstr ""
224
 
225
+ #: ../pf.php:1075
226
+ msgid "https (secure)"
227
+ msgstr ""
228
+
229
+ #: ../pf.php:1082 ../pf.php:1089
230
+ msgid "No"
231
+ msgstr ""
232
+
233
+ #: ../pf.php:1083 ../pf.php:1088
234
+ msgid "Yes"
235
+ msgstr ""
236
+
237
+ #: ../pf.php:1092
238
  msgid ""
239
+ "Display print preview on-page using a JavaScript Lightbox (user never leaves "
240
+ "the site/page)."
241
+ msgstr ""
242
+
243
+ #: ../pf.php:1095
244
+ msgid "Display print preview on PrintFriendly.com (No JavaScript)"
245
  msgstr ""
246
 
247
+ #: ../pf.php:1100
248
  msgid "Save Options"
249
  msgstr ""
250
 
251
+ #: ../pf.php:1101
252
  msgid "Cancel"
253
  msgstr ""
254
 
255
+ #: ../pf.php:1106
256
  msgid "Like PrintFriendly?"
257
  msgstr ""
258
 
259
+ #: ../pf.php:1106
260
  msgid "Give us a rating"
261
  msgstr ""
262
 
263
+ #: ../pf.php:1106
264
  msgid "Need help or have suggestions?"
265
  msgstr ""
pf.php CHANGED
@@ -1,15 +1,17 @@
1
  <?php
 
2
  /*
3
  Plugin Name: Print Friendly and PDF
4
  Plugin URI: http://www.printfriendly.com
5
  Description: PrintFriendly & PDF button for your website. Optimizes your pages and brand for print, pdf, and email.
6
  Name and URL are included to ensure repeat visitors and new visitors when printed versions are shared.
7
- Version: 3.2.3
8
  Author: Print Friendly
9
  Author URI: http://www.PrintFriendly.com
10
 
11
  Changelog :
12
- 3.2.3 - Rolling back to same as v 3.2.1
 
13
  3.2.2 - Add printfriendly post_class. Add printfriendly button display settings per individual category. Fixed minor JS bug. Added redundancy to uninstall script.
14
  3.2.1 - Improve script loading.
15
  3.2.0 - Important chrome issue fix. Ie syntax error fix.
@@ -84,7 +86,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
84
  * Database version, used to allow for easy upgrades to / additions in plugin options between plugin versions.
85
  * @var int
86
  */
87
- var $db_version = 4;
88
 
89
  /**
90
  * Settings page, used within the plugin to reliably load the plugins admin JS and CSS files only on the admin page.
@@ -118,24 +120,28 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
118
  add_filter( 'the_excerpt', array( &$this, 'show_link' ) );
119
  }
120
 
121
- if ( !is_admin() )
122
- return;
123
 
124
- // Hook into init for registration of the option and the language files
125
- add_action( 'admin_init', array( &$this, 'init' ) );
 
126
 
127
- // Register the settings page
128
- add_action( 'admin_menu', array( &$this, 'add_config_page' ) );
 
 
129
 
130
- // Register the contextual help
131
- add_filter( 'contextual_help', array( &$this, 'contextual_help' ), 10, 2 );
132
 
133
- // Enqueue the needed scripts and styles
134
- add_action( 'admin_enqueue_scripts',array( &$this, 'admin_enqueue_scripts' ) );
135
 
136
- // Register a link to the settings page on the plugins overview page
137
- add_filter( 'plugin_action_links', array( &$this, 'filter_plugin_actions' ), 10, 2 );
138
 
 
 
 
139
  }
140
 
141
  /**
@@ -157,10 +163,11 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
157
  if ( isset( $this->options['enable_css'] ) && $this->options['enable_css'] != 'on' )
158
  return;
159
 
 
160
  ?>
161
  <style type="text/css" media="screen">
162
  div.printfriendly {
163
- margin: <?php echo $this->options['margin_top'].'px '.$this->options['margin_right'].'px '.$this->options['margin_bottom'].'px '.$this->options['margin_left'].'px'; ?>;
164
  }
165
  div.printfriendly a, div.printfriendly a:link, div.printfriendly a:visited {
166
  text-decoration: none;
@@ -207,6 +214,18 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
207
  <?php
208
  }
209
 
 
 
 
 
 
 
 
 
 
 
 
 
210
  /**
211
  * Prints the PrintFriendly JavaScript, in the footer, and loads it asynchronously.
212
  *
@@ -287,11 +306,11 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
287
  }
288
  else
289
  {
290
- if ( (is_page() && isset($this->options['show_on_pages']))
291
- || (is_home() && isset($this->options['show_on_homepage']))
292
- || (is_tax() && isset($this->options['show_on_taxonomies']))
293
- || (is_category() && isset($this->options['show_on_categories']))
294
- || (is_single() && isset($this->options['show_on_posts'])) )
295
  {
296
  // Hook the script call now, so it only get's loaded when needed, and need is determined by the user calling pf_button
297
  add_action( 'wp_footer', array( &$this, 'print_script_footer' ) );
@@ -310,6 +329,18 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
310
 
311
  }
312
 
 
 
 
 
 
 
 
 
 
 
 
 
313
  /**
314
  * Register the textdomain and the options array along with the validation function
315
  *
@@ -333,8 +364,30 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
333
  function options_validate( $input ) {
334
  $valid_input = $input;
335
 
336
- // echo '<pre>'.print_r($input,1).'</pre>';
337
- // die;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
338
 
339
  if ( !in_array( $input['button_type'], array( 'pf-button.gif', 'button-print-grnw20.png', 'button-print-blu20.png', 'button-print-gry20.png', 'button-print-whgn20.png', 'pf_button_sq_gry_m.png', 'pf_button_sq_gry_l.png', 'pf_button_sq_grn_m.png', 'pf_button_sq_grn_l.png', 'pf-button-big.gif', 'pf-icon-small.gif', 'pf-icon.gif', 'pf-button-both.gif', 'pf-icon-both.gif', 'text-only', 'custom-image') ) )
340
  $valid_input['button_type'] = 'pf-button.gif';
@@ -380,6 +433,9 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
380
  */
381
  function add_config_page() {
382
  $this->settings_page = add_options_page( __( 'PrintFriendly Options', $this->hook ), __( 'Print Friendly & PDF', $this->hook ), 'manage_options', $this->hook, array( &$this, 'config_page' ) );
 
 
 
383
  }
384
 
385
  /**
@@ -390,7 +446,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
390
  function contextual_help( $contextual_help, $screen_id ) {
391
  if ( $this->settings_page == $screen_id ) {
392
  $contextual_help = '<strong>'.__( "Need Help?", $this->hook ).'</strong><br/>'
393
- .sprintf( __( "Be sure to check out the %s!"), '<a href="http://wordpress.org/extend/plugins/printfriendly/faq/">'.__( "Frequently Asked Questions", $this->hook ).'</a>' );
394
  }
395
  return $contextual_help;
396
  }
@@ -403,13 +459,14 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
403
  */
404
  function admin_enqueue_scripts( $screen_id ) {
405
  if ( $this->settings_page == $screen_id ) {
406
- $ver = '3.2.0';
407
  wp_register_script( 'pf-color-picker', plugins_url( 'colorpicker.js', __FILE__ ), array( 'jquery', 'media-upload' ), $ver );
408
  wp_register_script( 'pf-admin-js', plugins_url( 'admin.js', __FILE__ ), array( 'jquery', 'media-upload' ), $ver );
409
 
410
  wp_enqueue_script( 'pf-color-picker' );
411
  wp_enqueue_script( 'pf-admin-js' );
412
 
 
413
  wp_enqueue_style( 'printfriendly-admin-css', plugins_url( 'admin.css', __FILE__ ), array(), $ver);
414
  }
415
  }
@@ -467,6 +524,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
467
  'password_protected' => 'no',
468
  'javascript' => 'yes',
469
  'custom_css_url' => '',
 
470
  );
471
 
472
  // Check whether the old badly named singular options are there, if so, use the data and delete them.
@@ -520,7 +578,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
520
  // check whether image we do not list any more was used
521
  if(in_array($this->options['button_type'], array('button-print-whgn20.png', 'pf_button_sq_qry_m.png', 'pf_button_sq_qry_l.png', 'pf_button_sq_grn_m.png', 'pf_button_sq_grn_l.png'))) {
522
  // previous version had a bug with button name
523
- if(in_array($this->options['button_type'], array('pf_button_sq_qry_m.png', 'pf_button_sq_qry_l.png')))
524
  $this->options['button_type'] = str_replace('qry', 'gry', $this->options['button_type']);
525
 
526
  $image_address = '//cdn.printfriendly.com/'.$this->options['button_type'];
@@ -579,6 +637,22 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
579
  $this->options = array_merge($this->options, $additional_options);
580
  }
581
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
582
  $this->options['db_version'] = $this->db_version;
583
  update_option( $this->option_name, $this->options );
584
  }
@@ -619,7 +693,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
619
 
620
  switch($name){
621
  case "custom-image":
622
- if( '' == $this->options['custom_image'] )
623
  $return = '';
624
  else
625
  $return = '<img src="'.$this->options['custom_image'].'" alt="Print Friendly" />';
@@ -705,11 +779,11 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
705
  * @param string $name string used for various parts of checkbox
706
  *
707
  */
708
- function create_checkbox($name) {
709
- echo '<input type="checkbox" class="show_list" name="' . $this->option_name . '[show_on_' . $name . ']" value="on" ';
 
710
  $this->checked( 'show_on_' . $name, 'on');
711
- echo ' />';
712
- _e( ucfirst($name), $this->hook );
713
  }
714
 
715
 
@@ -725,6 +799,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
725
  isset($this->options['show_on_pages']) ||
726
  isset($this->options['show_on_homepage']) ||
727
  isset($this->options['show_on_categories']) ||
 
728
  isset($this->options['show_on_taxonomies']));
729
  }
730
 
@@ -744,6 +819,61 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
744
  return selected ($this->options[$val], $check_against);
745
  }
746
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
747
  /**
748
  * Output the config page
749
  *
@@ -753,7 +883,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
753
 
754
  // Since WP 3.2 outputs these errors by default, only display them when we're on versions older than 3.2 that do support the settings errors.
755
  global $wp_version;
756
- if ( version_compare( $wp_version, '3.2', '<' ) )
757
  settings_errors();
758
 
759
  // Show the content of the options array when debug is enabled
@@ -761,15 +891,15 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
761
  echo '<pre>Options:<br><br>' . print_r( $this->options, 1 ) . '</pre>';
762
  ?>
763
  <div id="pf_settings" class="wrap">
764
-
765
  <div class="icon32" id="printfriendly"></div>
766
  <h2><?php _e( 'Print Friendly & PDF Settings', $this->hook ); ?></h2>
767
-
768
  <form action="options.php" method="post">
769
  <?php settings_fields( $this->option_name ); ?>
770
-
771
  <h3><?php _e( "Pick Your Button Style", $this->hook ); ?></h3>
772
-
773
  <fieldset id="button-style">
774
  <div id="buttongroup1">
775
  <?php $this->radio('pf-button.gif'); ?>
@@ -822,13 +952,13 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
822
  </div>
823
  </fieldset>
824
  <br class="clear">
825
-
826
- <!--Section 2 Button Placement-->
827
- <div id="button-placement">
828
- <h3><?php _e( "Button Placement", $this->hook ); ?>
829
  <span id="css"><input type="checkbox" name="<?php echo $this->option_name; ?>[enable_css]" value="<?php $this->val('enable_css');?>" <?php $this->checked('enable_css', 'off'); ?> />Do not use CSS for button styles</span>
830
  </h3>
831
- <div id="button-placement-options">
832
  <div id="alignment">
833
  <label>
834
  <select id="pf_content_position" name="<?php echo $this->option_name; ?>[content_position]" >
@@ -863,19 +993,37 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
863
  </label>
864
  </div>
865
  </div>
 
 
 
 
 
 
866
  <div id="pages">
867
- <label><?php $this->create_checkbox('pages'); ?></label>
868
- <label><?php $this->create_checkbox('posts'); ?></label>
869
- <label><?php $this->create_checkbox('homepage'); ?></label>
870
- <label><?php $this->create_checkbox('categories'); ?></label>
871
- <label><?php $this->create_checkbox('taxonomies'); ?></label>
872
- <label><strong>Note: </strong><em><?php _e( "Uncheck all of the above to use the shortcodes below:", $this->hook ); ?></em></label>
873
- <label><?php _e( "Use [printfriendly] inside your page/article or put the following code in your template:", $this->hook ); ?></label>
874
- <textarea id="pf-shortcode" class="code" rows="2" cols="40">&lt;?php if(function_exists('pf_show_link')){echo pf_show_link();} ?&gt;</textarea>
 
 
875
  </div>
876
  </div>
877
-
878
- <!--Section 3 Button Print Options-->
 
 
 
 
 
 
 
 
 
 
879
  <div id="print-options">
880
  <h3><?php _e( "Print PDF Options", $this->hook ); ?></h3>
881
  <label id="pf-favicon" for="favicon">
@@ -921,10 +1069,10 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
921
  <input id="custom_css_url" type="text" class="regular-text" name="<?php echo $this->option_name; ?>[custom_css_url]" value="<?php $this->val( 'custom_css_url' ); ?>" />
922
  </label>
923
  </div>
924
-
925
- <!--Section 4 WebMaster-->
926
  <h3><?php _e( "Webmaster Settings", $this->hook ); ?></h3>
927
-
928
  <label for="protocol">Website Protocol<br>
929
  <select id="website_protocol" name="<?php echo $this->option_name; ?>[website_protocol]" >
930
  <option value="http" <?php selected( $this->options['website_protocol'], 'http' ); ?>><?php _e( "http (common)", $this->hook ); ?></option>
@@ -951,7 +1099,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
951
  <?php _e( "Display print preview on PrintFriendly.com (No JavaScript)", $this->hook ); ?>
952
  </span>
953
  </label>
954
-
955
  <p class="submit">
956
  <input type="submit" class="button-primary" value="<?php esc_attr_e( "Save Options", $this->hook ); ?>"/>
957
  <input type="reset" class="button-secondary" value="<?php esc_attr_e( "Cancel", $this->hook ); ?>"/>
@@ -961,7 +1109,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
961
  <p>
962
  <?php _e( "Like PrintFriendly?", $this->hook ); ?> <a href="http://wordpress.org/extend/plugins/printfriendly/"><?php _e( "Give us a rating", $this->hook ); ?></a>. <?php _e( "Need help or have suggestions?", $this->hook ); ?> <a href="mailto:support@printfriendly.com?subject=Support%20for%20PrintFriendly%20WordPress%20plugin">support@PrintFriendly.com</a>.</p>
963
  </div>
964
-
965
  </form>
966
  </div>
967
  <?php
1
  <?php
2
+
3
  /*
4
  Plugin Name: Print Friendly and PDF
5
  Plugin URI: http://www.printfriendly.com
6
  Description: PrintFriendly & PDF button for your website. Optimizes your pages and brand for print, pdf, and email.
7
  Name and URL are included to ensure repeat visitors and new visitors when printed versions are shared.
8
+ Version: 3.2.4
9
  Author: Print Friendly
10
  Author URI: http://www.PrintFriendly.com
11
 
12
  Changelog :
13
+ 3.2.4 - Add printfriendly post_class. Fixed minor JS bug. Added redundancy to uninstall script.
14
+ 3.2.3 - Rolling back to version 3.2.1
15
  3.2.2 - Add printfriendly post_class. Add printfriendly button display settings per individual category. Fixed minor JS bug. Added redundancy to uninstall script.
16
  3.2.1 - Improve script loading.
17
  3.2.0 - Important chrome issue fix. Ie syntax error fix.
86
  * Database version, used to allow for easy upgrades to / additions in plugin options between plugin versions.
87
  * @var int
88
  */
89
+ var $db_version = 6;
90
 
91
  /**
92
  * Settings page, used within the plugin to reliably load the plugins admin JS and CSS files only on the admin page.
120
  add_filter( 'the_excerpt', array( &$this, 'show_link' ) );
121
  }
122
 
 
 
123
 
124
+ if ( !is_admin() ) {
125
+ // Register function that adds pf content class to article content
126
+ add_filter("post_class", array( &$this, 'add_pf_content_class' ) );
127
 
128
+ }
129
+ else {
130
+ // Hook into init for registration of the option and the language files
131
+ add_action( 'admin_init', array( &$this, 'init' ) );
132
 
133
+ // Register the settings page
134
+ add_action( 'admin_menu', array( &$this, 'add_config_page' ) );
135
 
136
+ // Register the contextual help
137
+ add_filter( 'contextual_help', array( &$this, 'contextual_help' ), 10, 2 );
138
 
139
+ // Enqueue the needed scripts and styles
140
+ add_action( 'admin_enqueue_scripts',array( &$this, 'admin_enqueue_scripts' ) );
141
 
142
+ // Register a link to the settings page on the plugins overview page
143
+ add_filter( 'plugin_action_links', array( &$this, 'filter_plugin_actions' ), 10, 2 );
144
+ }
145
  }
146
 
147
  /**
163
  if ( isset( $this->options['enable_css'] ) && $this->options['enable_css'] != 'on' )
164
  return;
165
 
166
+
167
  ?>
168
  <style type="text/css" media="screen">
169
  div.printfriendly {
170
+ margin: <?php echo $this->options['margin_top'].'px '.$this->options['margin_right'].'px '.$this->options['margin_bottom'].'px '.$this->options['margin_left'].'px;'; ?>;
171
  }
172
  div.printfriendly a, div.printfriendly a:link, div.printfriendly a:visited {
173
  text-decoration: none;
214
  <?php
215
  }
216
 
217
+
218
+ /**
219
+ * Adds class=wp-pf-content to the content container.
220
+ *
221
+ * @since 3.2.2
222
+ */
223
+ function add_pf_content_class( $classes = array() ) {
224
+ $classes[] = esc_attr( 'wp-pf-content' );
225
+ return array_unique( $classes );
226
+ }
227
+
228
+
229
  /**
230
  * Prints the PrintFriendly JavaScript, in the footer, and loads it asynchronously.
231
  *
306
  }
307
  else
308
  {
309
+ if ( (is_page() && ( isset($this->options['show_on_pages']) && 'on' === $this->options['show_on_pages'] ) )
310
+ || (is_home() && ( ( isset($this->options['show_on_homepage']) && 'on' === $this->options['show_on_homepage'] ) && $this->category_included() ) )
311
+ || (is_tax() && ( ( isset($this->options['show_on_taxonomies']) && 'on' === $this->options['show_on_taxonomies'] ) && $this->category_included() ) )
312
+ || (is_category() && ( ( isset($this->options['show_on_categories']) && 'on' === $this->options['show_on_categories'] ) && $this->category_included() ) )
313
+ || (is_single() && ( ( isset($this->options['show_on_posts']) && 'on' === $this->options['show_on_posts'] ) && $this->category_included() ) ) )
314
  {
315
  // Hook the script call now, so it only get's loaded when needed, and need is determined by the user calling pf_button
316
  add_action( 'wp_footer', array( &$this, 'print_script_footer' ) );
329
 
330
  }
331
 
332
+
333
+ /**
334
+ * Filter posts by category.
335
+ *
336
+ * @since 3.2.2
337
+ * @return boolean true if post belongs to category selected for button display
338
+ */
339
+ function category_included() {
340
+ // return ( 'all' === $this->options['category_ids'][0] || in_category($this->options['category_ids']) );
341
+ return true;
342
+ }
343
+
344
  /**
345
  * Register the textdomain and the options array along with the validation function
346
  *
364
  function options_validate( $input ) {
365
  $valid_input = $input;
366
 
367
+ if( isset( $input['category_ids'] ) ) {
368
+ /**
369
+ * Validate received category ids:
370
+ * - Is there only one array item and does it contain the string text 'all' ? => pass
371
+ * - Otherwise, make sure the ids are integer values
372
+ */
373
+ /* $valid_input['category_ids'] = explode(',', $input['category_ids']);
374
+ $valid_input['category_ids'] = array_map( 'trim', $valid_input['category_ids'] );
375
+ if( ( count( $valid_input['category_ids'] ) === 1 && 'all' === $valid_input['category_ids'][0] ) === false ) {
376
+ foreach( $valid_input['category_ids'] as $k => $v ) {
377
+ if( $v !== '' && ( ctype_digit( (string) $v ) === true && ( intval( $v ) == $v ) ) ) {
378
+ $valid_input['category_ids'][$k] = intval( $v );
379
+ }
380
+ else {
381
+ // Invalid input - Show error message ?
382
+ unset( $valid_input['category_ids'][$k] );
383
+ }
384
+ }
385
+ }*/
386
+ unset( $valid_input['category_ids'] );
387
+ }
388
+
389
+ //echo '<pre>'.print_r($input,1).'</pre>';
390
+ //die;
391
 
392
  if ( !in_array( $input['button_type'], array( 'pf-button.gif', 'button-print-grnw20.png', 'button-print-blu20.png', 'button-print-gry20.png', 'button-print-whgn20.png', 'pf_button_sq_gry_m.png', 'pf_button_sq_gry_l.png', 'pf_button_sq_grn_m.png', 'pf_button_sq_grn_l.png', 'pf-button-big.gif', 'pf-icon-small.gif', 'pf-icon.gif', 'pf-button-both.gif', 'pf-icon-both.gif', 'text-only', 'custom-image') ) )
393
  $valid_input['button_type'] = 'pf-button.gif';
433
  */
434
  function add_config_page() {
435
  $this->settings_page = add_options_page( __( 'PrintFriendly Options', $this->hook ), __( 'Print Friendly & PDF', $this->hook ), 'manage_options', $this->hook, array( &$this, 'config_page' ) );
436
+
437
+ //register callback gets call prior your own page gets rendered
438
+ add_action('load-'.$this->settings_page, array(&$this, 'on_load_printfriendly'));
439
  }
440
 
441
  /**
446
  function contextual_help( $contextual_help, $screen_id ) {
447
  if ( $this->settings_page == $screen_id ) {
448
  $contextual_help = '<strong>'.__( "Need Help?", $this->hook ).'</strong><br/>'
449
+ .sprintf( __( "Be sure to check out the %s!", $this->hook), '<a href="http://wordpress.org/extend/plugins/printfriendly/faq/">'.__( "Frequently Asked Questions", $this->hook ).'</a>' );
450
  }
451
  return $contextual_help;
452
  }
459
  */
460
  function admin_enqueue_scripts( $screen_id ) {
461
  if ( $this->settings_page == $screen_id ) {
462
+ $ver = '3.2.4';
463
  wp_register_script( 'pf-color-picker', plugins_url( 'colorpicker.js', __FILE__ ), array( 'jquery', 'media-upload' ), $ver );
464
  wp_register_script( 'pf-admin-js', plugins_url( 'admin.js', __FILE__ ), array( 'jquery', 'media-upload' ), $ver );
465
 
466
  wp_enqueue_script( 'pf-color-picker' );
467
  wp_enqueue_script( 'pf-admin-js' );
468
 
469
+
470
  wp_enqueue_style( 'printfriendly-admin-css', plugins_url( 'admin.css', __FILE__ ), array(), $ver);
471
  }
472
  }
524
  'password_protected' => 'no',
525
  'javascript' => 'yes',
526
  'custom_css_url' => '',
527
+ // 'category_ids' => array('all'),
528
  );
529
 
530
  // Check whether the old badly named singular options are there, if so, use the data and delete them.
578
  // check whether image we do not list any more was used
579
  if(in_array($this->options['button_type'], array('button-print-whgn20.png', 'pf_button_sq_qry_m.png', 'pf_button_sq_qry_l.png', 'pf_button_sq_grn_m.png', 'pf_button_sq_grn_l.png'))) {
580
  // previous version had a bug with button name
581
+ if(in_array($this->options['button_type'], array('pf_button_sq_qry_m.png', 'pf_button_sq_qry_l.png')))
582
  $this->options['button_type'] = str_replace('qry', 'gry', $this->options['button_type']);
583
 
584
  $image_address = '//cdn.printfriendly.com/'.$this->options['button_type'];
637
  $this->options = array_merge($this->options, $additional_options);
638
  }
639
 
640
+ // update options to version 6
641
+ // Replacement for db version 5 - should also be run for those already upgraded
642
+ if($this->options['db_version'] < 6) {
643
+
644
+ /* $additional_options = array(
645
+ 'category_ids' => array(),
646
+ );
647
+
648
+ if( !isset( $this->options['category_ids'] ) || ( isset( $this->options['category_ids'] ) && 0 === count( $this->options['category_ids'] ) ) ) {
649
+ $additional_options['category_ids'][] = 'all';
650
+ }
651
+
652
+ $this->options = array_merge($this->options, $additional_options);
653
+ */
654
+ unset($this->options['category_ids']);
655
+ }
656
  $this->options['db_version'] = $this->db_version;
657
  update_option( $this->option_name, $this->options );
658
  }
693
 
694
  switch($name){
695
  case "custom-image":
696
+ if( '' == trim($this->options['custom_image']) )
697
  $return = '';
698
  else
699
  $return = '<img src="'.$this->options['custom_image'].'" alt="Print Friendly" />';
779
  * @param string $name string used for various parts of checkbox
780
  *
781
  */
782
+ function create_checkbox($name, $label='', $labelid='' ) {
783
+ $label = ( !empty( $label) ? $label : __( ucfirst($name), $this->hook ) );
784
+ echo '<label' . ( !empty( $labelid ) ? ' id=' . $labelid : '' ) . '><input type="checkbox" class="show_list" name="' . $this->option_name . '[show_on_' . $name . ']" value="on" ';
785
  $this->checked( 'show_on_' . $name, 'on');
786
+ echo ' />' . $label . '</label>';
 
787
  }
788
 
789
 
799
  isset($this->options['show_on_pages']) ||
800
  isset($this->options['show_on_homepage']) ||
801
  isset($this->options['show_on_categories']) ||
802
+ // (isset($this->options['category_ids']) && count($this->options['category_ids']) > 0) ||
803
  isset($this->options['show_on_taxonomies']));
804
  }
805
 
819
  return selected ($this->options[$val], $check_against);
820
  }
821
 
822
+ /**
823
+ * For use with page metabox.
824
+ *
825
+ * @since 3.2.2
826
+ */
827
+ function get_page_post_type() {
828
+ $post_types = get_post_types( array( 'name' => 'page' ), 'object' );
829
+ //echo '<pre>'.print_r($post_types,1).'</pre>';
830
+ //die;
831
+
832
+ return $post_types['page'];
833
+ }
834
+
835
+
836
+ /**
837
+ * Helper that checks if wp versions is above 3.0.
838
+ *
839
+ * @since 3.2.2
840
+ * @return boolean true wp version is above 3.0
841
+ *
842
+ */
843
+ function wp_version_gt30() {
844
+ global $wp_version;
845
+ return version_compare($wp_version, '3.0', '>=');
846
+ }
847
+
848
+
849
+ /**
850
+ * Create box for picking individual categories.
851
+ *
852
+ * @since 3.2.2
853
+ */
854
+ function create_category_metabox() {
855
+ $obj = new stdClass();
856
+ $obj->ID = 0;
857
+ do_meta_boxes('settings_page_' . $this->hook, 'normal', $obj);
858
+ }
859
+
860
+
861
+ /**
862
+ * Load metaboxes advanced button display settings.
863
+ *
864
+ * @since 3.2.2
865
+ */
866
+ function on_load_printfriendly() {
867
+ global $wp_version;
868
+ if($this->wp_version_gt30()) {
869
+ require_once('includes/meta-boxes.php');
870
+ //require_once('includes/nav-menu.php');
871
+ wp_enqueue_script('post');
872
+
873
+ add_meta_box('categorydiv', __('Only display when post is in:'), 'post_categories_meta_box', 'settings_page_'. $this->hook, 'normal', 'core');
874
+ }
875
+ }
876
+
877
  /**
878
  * Output the config page
879
  *
883
 
884
  // Since WP 3.2 outputs these errors by default, only display them when we're on versions older than 3.2 that do support the settings errors.
885
  global $wp_version;
886
+ if(version_compare($wp_version, '3.2', '<' ) && $this->wp_version_gt30() )
887
  settings_errors();
888
 
889
  // Show the content of the options array when debug is enabled
891
  echo '<pre>Options:<br><br>' . print_r( $this->options, 1 ) . '</pre>';
892
  ?>
893
  <div id="pf_settings" class="wrap">
894
+
895
  <div class="icon32" id="printfriendly"></div>
896
  <h2><?php _e( 'Print Friendly & PDF Settings', $this->hook ); ?></h2>
897
+
898
  <form action="options.php" method="post">
899
  <?php settings_fields( $this->option_name ); ?>
900
+
901
  <h3><?php _e( "Pick Your Button Style", $this->hook ); ?></h3>
902
+
903
  <fieldset id="button-style">
904
  <div id="buttongroup1">
905
  <?php $this->radio('pf-button.gif'); ?>
952
  </div>
953
  </fieldset>
954
  <br class="clear">
955
+
956
+ <!--Section 2 Button Positioning-->
957
+ <div id="button-positioning">
958
+ <h3><?php _e( "Button Positioning", $this->hook ); ?>
959
  <span id="css"><input type="checkbox" name="<?php echo $this->option_name; ?>[enable_css]" value="<?php $this->val('enable_css');?>" <?php $this->checked('enable_css', 'off'); ?> />Do not use CSS for button styles</span>
960
  </h3>
961
+ <div id="button-positioning-options">
962
  <div id="alignment">
963
  <label>
964
  <select id="pf_content_position" name="<?php echo $this->option_name; ?>[content_position]" >
993
  </label>
994
  </div>
995
  </div>
996
+ </div>
997
+ <br class="clear">
998
+
999
+ <!--Section 3 Button Placement-->
1000
+ <div id="button-placement">
1001
+ <h3><?php _e( "Display button on:", $this->hook ); ?></h3>
1002
  <div id="pages">
1003
+ <?php $this->create_checkbox('posts', __( 'Posts', $this->hook )); ?>
1004
+ <?php $this->create_checkbox('pages', __( 'Pages', $this->hook )); ?>
1005
+ <?php $this->create_checkbox('homepage', __( 'Homepage', $this->hook )); ?>
1006
+ <?php $this->create_checkbox('categories', __( 'Category Pages', $this->hook )); ?>
1007
+ <?php $this->create_checkbox('taxonomies', __( 'Taxonomy Pages', $this->hook )); ?>
1008
+ <label><input type="checkbox" class="show_template" name="show_on_template" /><?php echo _e( 'Add direct to template', $this->hook ); ?></label>
1009
+ <textarea id="pf-shortcode" class="code" rows="2" cols="40">&lt;?php if(function_exists('pf_show_link')){echo pf_show_link();} ?&gt;</textarea>
1010
+ <label><?php _e( "or use shortcode inside your page/article", $this->hook ); ?></label>
1011
+ <textarea id="pf-shortcode" class="code" rows="2" cols="40">[printfriendly]</textarea>
1012
+ <?php /* <input type="hidden" name="<? php echo $this->option_name; ?>[category_ids]" id="category_ids" value="<?php echo implode(',', $this->options['category_ids']); ? >" /> */ ?>
1013
  </div>
1014
  </div>
1015
+ <?php /*if($this->wp_version_gt30()) { ? >
1016
+ <div id="pf-categories">
1017
+ <h4><?php printf( __( '<a %s>Additional filter</a>', $this->hook), ' href="javascript:void(0)" id="toggle-categories"' ); ?></h4>
1018
+ <div id="pf-categories-metabox">
1019
+ <?php $this->create_category_metabox(); ?>
1020
+ </div>
1021
+ </div>
1022
+ <? php } */ ?>
1023
+
1024
+ <br class="clear">
1025
+
1026
+ <!--Section 4 Button Print Options-->
1027
  <div id="print-options">
1028
  <h3><?php _e( "Print PDF Options", $this->hook ); ?></h3>
1029
  <label id="pf-favicon" for="favicon">
1069
  <input id="custom_css_url" type="text" class="regular-text" name="<?php echo $this->option_name; ?>[custom_css_url]" value="<?php $this->val( 'custom_css_url' ); ?>" />
1070
  </label>
1071
  </div>
1072
+
1073
+ <!--Section 5 WebMaster-->
1074
  <h3><?php _e( "Webmaster Settings", $this->hook ); ?></h3>
1075
+
1076
  <label for="protocol">Website Protocol<br>
1077
  <select id="website_protocol" name="<?php echo $this->option_name; ?>[website_protocol]" >
1078
  <option value="http" <?php selected( $this->options['website_protocol'], 'http' ); ?>><?php _e( "http (common)", $this->hook ); ?></option>
1099
  <?php _e( "Display print preview on PrintFriendly.com (No JavaScript)", $this->hook ); ?>
1100
  </span>
1101
  </label>
1102
+
1103
  <p class="submit">
1104
  <input type="submit" class="button-primary" value="<?php esc_attr_e( "Save Options", $this->hook ); ?>"/>
1105
  <input type="reset" class="button-secondary" value="<?php esc_attr_e( "Cancel", $this->hook ); ?>"/>
1109
  <p>
1110
  <?php _e( "Like PrintFriendly?", $this->hook ); ?> <a href="http://wordpress.org/extend/plugins/printfriendly/"><?php _e( "Give us a rating", $this->hook ); ?></a>. <?php _e( "Need help or have suggestions?", $this->hook ); ?> <a href="mailto:support@printfriendly.com?subject=Support%20for%20PrintFriendly%20WordPress%20plugin">support@PrintFriendly.com</a>.</p>
1111
  </div>
1112
+
1113
  </form>
1114
  </div>
1115
  <?php
readme.txt CHANGED
@@ -1,9 +1,9 @@
1
  === Print Friendly and PDF Button===
2
- Contributors: printfriendly,joostdevalk
3
  Tags: print, pdf, printer, printing, printable, widget, plugin
4
  Requires at least: 2.8
5
- Tested up to: 3.5
6
- Stable tag: 3.2.3
7
 
8
  The #1 Print and PDF button for your WordPress site. Printer Friendly pages without coding, css, or print.css. Fast, easy, and professional.
9
 
@@ -98,8 +98,12 @@ If you have any other issues with the plugin or the PrintFriendly widget, please
98
 
99
  == Changelog ==
100
 
101
- = 3.2.3 =
 
 
 
102
 
 
103
  * Rolling back to version 3.2.1
104
 
105
  = 3.2.2 =
@@ -109,7 +113,6 @@ If you have any other issues with the plugin or the PrintFriendly widget, please
109
  * Fixed minor JS bug.
110
  * Added redundancy to uninstall script.
111
 
112
-
113
  = 3.2.1 =
114
 
115
  * Improve script loading.
1
  === Print Friendly and PDF Button===
2
+ Contributors: printfriendly,joostdevalk, jrf
3
  Tags: print, pdf, printer, printing, printable, widget, plugin
4
  Requires at least: 2.8
5
+ Tested up to: 3.5.1
6
+ Stable tag: 3.2.4
7
 
8
  The #1 Print and PDF button for your WordPress site. Printer Friendly pages without coding, css, or print.css. Fast, easy, and professional.
9
 
98
 
99
  == Changelog ==
100
 
101
+ = 3.2.4 =
102
+ * Add printfriendly post_class.
103
+ * Fixed minor JS bug.
104
+ * Added redundancy to uninstall script.
105
 
106
+ = 3.2.3 =
107
  * Rolling back to version 3.2.1
108
 
109
  = 3.2.2 =
113
  * Fixed minor JS bug.
114
  * Added redundancy to uninstall script.
115
 
 
116
  = 3.2.1 =
117
 
118
  * Improve script loading.
screenshot-2.png CHANGED
Binary file
uninstall.php CHANGED
@@ -1,6 +1,21 @@
1
- <?php
2
 
3
  if( !defined( 'ABSPATH' ) && !defined( 'WP_UNINSTALL_PLUGIN' ) )
4
  exit();
5
 
6
- delete_option( 'printfriendly_option' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
 
3
  if( !defined( 'ABSPATH' ) && !defined( 'WP_UNINSTALL_PLUGIN' ) )
4
  exit();
5
 
6
+ delete_option( 'printfriendly_option' );
7
+
8
+ // Make sure any old options which may still lurking about get deleted as well
9
+ delete_option( 'pf_button_type' );
10
+ delete_option( 'pf_custom_image' );
11
+ delete_option( 'pf_custom_text' );
12
+ delete_option( 'pf_custom_both' );
13
+ delete_option( 'pf_show_list' );
14
+ delete_option( 'pf_content_placement' );
15
+ delete_option( 'pf_content_position' );
16
+ delete_option( 'pf_margin_top' );
17
+ delete_option( 'pf_margin_right' );
18
+ delete_option( 'pf_margin_bottom' );
19
+ delete_option( 'pf_margin_left' );
20
+ delete_option( 'pf_text_color' );
21
+ delete_option( 'pf_text_size' );