Version Description
- New! Image alignment option for Print and PDF pages.
- New! Select to not show images by default in the Print and PDF.
- Improved input validation.
- Improved output escaping.
- Removed printfriendly post_class.
- Small i8n fix.
- Few small HTML fixes.
Download this release
Release Info
Developer | printfriendly |
Plugin | Print, PDF, Email by PrintFriendly |
Version | 3.2.5 |
Comparing to | |
See all releases |
Code changes from version 3.2.1 to 3.2.5
- admin.css +348 -312
- admin.js +93 -0
- languages/printfriendly.pot +117 -66
- pf.php +362 -89
- readme.txt +26 -3
- screenshot-2.png +0 -0
- uninstall.php +17 -2
admin.css
CHANGED
@@ -1,319 +1,355 @@
|
|
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 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
#custom-txt div#
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
margin-
|
25 |
-
}
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
}
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
-
|
72 |
-
-
|
73 |
-
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
margin:
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
}
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
}
|
350 |
+
|
351 |
+
span.description.pf-help-link {
|
352 |
+
font-size: 130%;
|
353 |
+
padding-left: 10px;
|
354 |
+
font-style: normal;
|
355 |
+
}
|
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
@@ -4,8 +4,8 @@ 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-
|
8 |
-
"PO-Revision-Date: 2013-03-
|
9 |
"Last-Translator: EJ Reinders Folmer <poedit_nospam@adviesenzo.nl>\n"
|
10 |
"Language-Team: \n"
|
11 |
"MIME-Version: 1.0\n"
|
@@ -18,248 +18,299 @@ msgstr ""
|
|
18 |
"X-Poedit-SearchPath-0: .\n"
|
19 |
"X-Poedit-SearchPath-1: ..\n"
|
20 |
|
21 |
-
#: ../pf.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
msgid "The text size you entered is invalid, please stay between 9px and 25px"
|
23 |
msgstr ""
|
24 |
|
25 |
-
#: ../pf.php:
|
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:
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
msgid "PrintFriendly Options"
|
33 |
msgstr ""
|
34 |
|
35 |
-
#: ../pf.php:
|
36 |
msgid "Print Friendly & PDF"
|
37 |
msgstr ""
|
38 |
|
39 |
-
#: ../pf.php:
|
40 |
msgid "Need Help?"
|
41 |
msgstr ""
|
42 |
|
43 |
-
#: ../pf.php:
|
44 |
#, php-format
|
45 |
msgid "Be sure to check out the %s!"
|
46 |
msgstr ""
|
47 |
|
48 |
-
#: ../pf.php:
|
49 |
msgid "Frequently Asked Questions"
|
50 |
msgstr ""
|
51 |
|
52 |
-
#: ../pf.php:
|
53 |
msgid "Settings"
|
54 |
msgstr ""
|
55 |
|
56 |
-
#: ../pf.php:
|
57 |
msgid "Only display when post is in:"
|
58 |
msgstr ""
|
59 |
|
60 |
-
#: ../pf.php:
|
61 |
msgid "Print Friendly & PDF Settings"
|
62 |
msgstr ""
|
63 |
|
64 |
-
#: ../pf.php:
|
65 |
msgid "Pick Your Button Style"
|
66 |
msgstr ""
|
67 |
|
68 |
-
#: ../pf.php:
|
69 |
msgid "Custom Button"
|
70 |
msgstr ""
|
71 |
|
72 |
-
#: ../pf.php:
|
73 |
msgid "Enter Image URL"
|
74 |
msgstr ""
|
75 |
|
76 |
-
#: ../pf.php:
|
77 |
msgid "Ex: http://www.example.com/<br>Ex: /wp/wp-content/uploads/example.png)"
|
78 |
msgstr ""
|
79 |
|
80 |
-
#: ../pf.php:
|
81 |
msgid "Text"
|
82 |
msgstr ""
|
83 |
|
84 |
-
#: ../pf.php:
|
85 |
msgid "Text Color"
|
86 |
msgstr ""
|
87 |
|
88 |
-
#: ../pf.php:
|
89 |
msgid "Text Size"
|
90 |
msgstr ""
|
91 |
|
92 |
-
#: ../pf.php:
|
93 |
msgid "Button Positioning"
|
94 |
msgstr ""
|
95 |
|
96 |
-
#: ../pf.php:
|
97 |
msgid "Left Align"
|
98 |
msgstr ""
|
99 |
|
100 |
-
#: ../pf.php:
|
101 |
msgid "Right Align"
|
102 |
msgstr ""
|
103 |
|
104 |
-
#: ../pf.php:
|
105 |
msgid "Center"
|
106 |
msgstr ""
|
107 |
|
108 |
-
#: ../pf.php:
|
109 |
msgid "None"
|
110 |
msgstr ""
|
111 |
|
112 |
-
#: ../pf.php:
|
113 |
msgid "Above Content"
|
114 |
msgstr ""
|
115 |
|
116 |
-
#: ../pf.php:
|
117 |
msgid "Below Content"
|
118 |
msgstr ""
|
119 |
|
120 |
-
#: ../pf.php:
|
121 |
msgid "Margin Left"
|
122 |
msgstr ""
|
123 |
|
124 |
-
#: ../pf.php:
|
125 |
msgid "Margin Right"
|
126 |
msgstr ""
|
127 |
|
128 |
-
#: ../pf.php:
|
129 |
msgid "Margin Top"
|
130 |
msgstr ""
|
131 |
|
132 |
-
#: ../pf.php:
|
133 |
msgid "Margin Bottom"
|
134 |
msgstr ""
|
135 |
|
136 |
-
#: ../pf.php:
|
137 |
msgid "Display button on:"
|
138 |
msgstr ""
|
139 |
|
140 |
-
#: ../pf.php:
|
141 |
msgid "Posts"
|
142 |
msgstr ""
|
143 |
|
144 |
-
#: ../pf.php:
|
145 |
msgid "Pages"
|
146 |
msgstr ""
|
147 |
|
148 |
-
#: ../pf.php:
|
149 |
msgid "Homepage"
|
150 |
msgstr ""
|
151 |
|
152 |
-
#: ../pf.php:
|
153 |
msgid "Category Pages"
|
154 |
msgstr ""
|
155 |
|
156 |
-
#: ../pf.php:
|
157 |
msgid "Taxonomy Pages"
|
158 |
msgstr ""
|
159 |
|
160 |
-
#: ../pf.php:
|
161 |
msgid "Add direct to template"
|
162 |
msgstr ""
|
163 |
|
164 |
-
#: ../pf.php:
|
165 |
msgid "or use shortcode inside your page/article"
|
166 |
msgstr ""
|
167 |
|
168 |
-
#: ../pf.php:
|
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:
|
178 |
msgid "Page header"
|
179 |
msgstr ""
|
180 |
|
181 |
-
#: ../pf.php:
|
182 |
msgid "My Website Icon"
|
183 |
msgstr ""
|
184 |
|
185 |
-
#: ../pf.php:
|
186 |
msgid "Upload an Image"
|
187 |
msgstr ""
|
188 |
|
189 |
-
#: ../pf.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
msgid "Click-to-delete"
|
191 |
msgstr ""
|
192 |
|
193 |
-
#: ../pf.php:
|
194 |
msgid "Allow"
|
195 |
msgstr ""
|
196 |
|
197 |
-
#: ../pf.php:
|
198 |
msgid "Not Allow"
|
199 |
msgstr ""
|
200 |
|
201 |
-
#: ../pf.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
202 |
msgid "Email"
|
203 |
msgstr ""
|
204 |
|
205 |
-
#: ../pf.php:
|
206 |
msgid "PDF"
|
207 |
msgstr ""
|
208 |
|
209 |
-
#: ../pf.php:
|
210 |
msgid "Print"
|
211 |
msgstr ""
|
212 |
|
213 |
-
#: ../pf.php:
|
214 |
msgid "Custom css url"
|
215 |
msgstr ""
|
216 |
|
217 |
-
#: ../pf.php:
|
|
|
|
|
|
|
|
|
218 |
msgid "Webmaster Settings"
|
219 |
msgstr ""
|
220 |
|
221 |
-
#: ../pf.php:
|
222 |
msgid "http (common)"
|
223 |
msgstr ""
|
224 |
|
225 |
-
#: ../pf.php:
|
226 |
msgid "https (secure)"
|
227 |
msgstr ""
|
228 |
|
229 |
-
#: ../pf.php:
|
230 |
msgid "No"
|
231 |
msgstr ""
|
232 |
|
233 |
-
#: ../pf.php:
|
234 |
msgid "Yes"
|
235 |
msgstr ""
|
236 |
|
237 |
-
#: ../pf.php:
|
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:
|
244 |
msgid "Display print preview on PrintFriendly.com (No JavaScript)"
|
245 |
msgstr ""
|
246 |
|
247 |
-
#: ../pf.php:
|
248 |
msgid "Save Options"
|
249 |
msgstr ""
|
250 |
|
251 |
-
#: ../pf.php:
|
252 |
msgid "Cancel"
|
253 |
msgstr ""
|
254 |
|
255 |
-
#: ../pf.php:
|
256 |
msgid "Like PrintFriendly?"
|
257 |
msgstr ""
|
258 |
|
259 |
-
#: ../pf.php:
|
260 |
msgid "Give us a rating"
|
261 |
msgstr ""
|
262 |
|
263 |
-
#: ../pf.php:
|
264 |
msgid "Need help or have suggestions?"
|
265 |
msgstr ""
|
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-29 21:36+0100\n"
|
8 |
+
"PO-Revision-Date: 2013-03-29 21:36+0100\n"
|
9 |
"Last-Translator: EJ Reinders Folmer <poedit_nospam@adviesenzo.nl>\n"
|
10 |
"Language-Team: \n"
|
11 |
"MIME-Version: 1.0\n"
|
18 |
"X-Poedit-SearchPath-0: .\n"
|
19 |
"X-Poedit-SearchPath-1: ..\n"
|
20 |
|
21 |
+
#: ../pf.php:381
|
22 |
+
msgid ""
|
23 |
+
"No valid custom image url received, please enter a valid url to use a custom "
|
24 |
+
"image."
|
25 |
+
msgstr ""
|
26 |
+
|
27 |
+
#: ../pf.php:390
|
28 |
msgid "The text size you entered is invalid, please stay between 9px and 25px"
|
29 |
msgstr ""
|
30 |
|
31 |
+
#: ../pf.php:398
|
32 |
msgid ""
|
33 |
"The color you entered is not valid, it must be a valid hexadecimal RGB font "
|
34 |
"color."
|
35 |
msgstr ""
|
36 |
|
37 |
+
#: ../pf.php:478
|
38 |
+
msgid ""
|
39 |
+
"No valid custom logo url received, please enter a valid url to use a custom "
|
40 |
+
"logo."
|
41 |
+
msgstr ""
|
42 |
+
|
43 |
+
#: ../pf.php:524
|
44 |
msgid "PrintFriendly Options"
|
45 |
msgstr ""
|
46 |
|
47 |
+
#: ../pf.php:524
|
48 |
msgid "Print Friendly & PDF"
|
49 |
msgstr ""
|
50 |
|
51 |
+
#: ../pf.php:537
|
52 |
msgid "Need Help?"
|
53 |
msgstr ""
|
54 |
|
55 |
+
#: ../pf.php:538
|
56 |
#, php-format
|
57 |
msgid "Be sure to check out the %s!"
|
58 |
msgstr ""
|
59 |
|
60 |
+
#: ../pf.php:538
|
61 |
msgid "Frequently Asked Questions"
|
62 |
msgstr ""
|
63 |
|
64 |
+
#: ../pf.php:577
|
65 |
msgid "Settings"
|
66 |
msgstr ""
|
67 |
|
68 |
+
#: ../pf.php:973
|
69 |
msgid "Only display when post is in:"
|
70 |
msgstr ""
|
71 |
|
72 |
+
#: ../pf.php:996
|
73 |
msgid "Print Friendly & PDF Settings"
|
74 |
msgstr ""
|
75 |
|
76 |
+
#: ../pf.php:1001
|
77 |
msgid "Pick Your Button Style"
|
78 |
msgstr ""
|
79 |
|
80 |
+
#: ../pf.php:1024
|
81 |
msgid "Custom Button"
|
82 |
msgstr ""
|
83 |
|
84 |
+
#: ../pf.php:1027
|
85 |
msgid "Enter Image URL"
|
86 |
msgstr ""
|
87 |
|
88 |
+
#: ../pf.php:1029
|
89 |
msgid "Ex: http://www.example.com/<br>Ex: /wp/wp-content/uploads/example.png)"
|
90 |
msgstr ""
|
91 |
|
92 |
+
#: ../pf.php:1035
|
93 |
msgid "Text"
|
94 |
msgstr ""
|
95 |
|
96 |
+
#: ../pf.php:1039
|
97 |
msgid "Text Color"
|
98 |
msgstr ""
|
99 |
|
100 |
+
#: ../pf.php:1046
|
101 |
msgid "Text Size"
|
102 |
msgstr ""
|
103 |
|
104 |
+
#: ../pf.php:1058
|
105 |
msgid "Button Positioning"
|
106 |
msgstr ""
|
107 |
|
108 |
+
#: ../pf.php:1065
|
109 |
msgid "Left Align"
|
110 |
msgstr ""
|
111 |
|
112 |
+
#: ../pf.php:1066
|
113 |
msgid "Right Align"
|
114 |
msgstr ""
|
115 |
|
116 |
+
#: ../pf.php:1067
|
117 |
msgid "Center"
|
118 |
msgstr ""
|
119 |
|
120 |
+
#: ../pf.php:1068
|
121 |
msgid "None"
|
122 |
msgstr ""
|
123 |
|
124 |
+
#: ../pf.php:1075
|
125 |
msgid "Above Content"
|
126 |
msgstr ""
|
127 |
|
128 |
+
#: ../pf.php:1076
|
129 |
msgid "Below Content"
|
130 |
msgstr ""
|
131 |
|
132 |
+
#: ../pf.php:1083
|
133 |
msgid "Margin Left"
|
134 |
msgstr ""
|
135 |
|
136 |
+
#: ../pf.php:1086
|
137 |
msgid "Margin Right"
|
138 |
msgstr ""
|
139 |
|
140 |
+
#: ../pf.php:1089
|
141 |
msgid "Margin Top"
|
142 |
msgstr ""
|
143 |
|
144 |
+
#: ../pf.php:1092
|
145 |
msgid "Margin Bottom"
|
146 |
msgstr ""
|
147 |
|
148 |
+
#: ../pf.php:1101
|
149 |
msgid "Display button on:"
|
150 |
msgstr ""
|
151 |
|
152 |
+
#: ../pf.php:1103
|
153 |
msgid "Posts"
|
154 |
msgstr ""
|
155 |
|
156 |
+
#: ../pf.php:1104
|
157 |
msgid "Pages"
|
158 |
msgstr ""
|
159 |
|
160 |
+
#: ../pf.php:1105
|
161 |
msgid "Homepage"
|
162 |
msgstr ""
|
163 |
|
164 |
+
#: ../pf.php:1106
|
165 |
msgid "Category Pages"
|
166 |
msgstr ""
|
167 |
|
168 |
+
#: ../pf.php:1107
|
169 |
msgid "Taxonomy Pages"
|
170 |
msgstr ""
|
171 |
|
172 |
+
#: ../pf.php:1108
|
173 |
msgid "Add direct to template"
|
174 |
msgstr ""
|
175 |
|
176 |
+
#: ../pf.php:1110
|
177 |
msgid "or use shortcode inside your page/article"
|
178 |
msgstr ""
|
179 |
|
180 |
+
#: ../pf.php:1128
|
|
|
|
|
|
|
|
|
|
|
181 |
msgid "Print PDF Options"
|
182 |
msgstr ""
|
183 |
|
184 |
+
#: ../pf.php:1130
|
185 |
msgid "Page header"
|
186 |
msgstr ""
|
187 |
|
188 |
+
#: ../pf.php:1132
|
189 |
msgid "My Website Icon"
|
190 |
msgstr ""
|
191 |
|
192 |
+
#: ../pf.php:1133
|
193 |
msgid "Upload an Image"
|
194 |
msgstr ""
|
195 |
|
196 |
+
#: ../pf.php:1137
|
197 |
+
msgid "Enter url"
|
198 |
+
msgstr ""
|
199 |
+
|
200 |
+
#: ../pf.php:1138
|
201 |
+
msgid "Text (optional)"
|
202 |
+
msgstr ""
|
203 |
+
|
204 |
+
#: ../pf.php:1143
|
205 |
msgid "Click-to-delete"
|
206 |
msgstr ""
|
207 |
|
208 |
+
#: ../pf.php:1145 ../pf.php:1168 ../pf.php:1175 ../pf.php:1182
|
209 |
msgid "Allow"
|
210 |
msgstr ""
|
211 |
|
212 |
+
#: ../pf.php:1146 ../pf.php:1169 ../pf.php:1176 ../pf.php:1183
|
213 |
msgid "Not Allow"
|
214 |
msgstr ""
|
215 |
|
216 |
+
#: ../pf.php:1150
|
217 |
+
msgid "Images"
|
218 |
+
msgstr ""
|
219 |
+
|
220 |
+
#: ../pf.php:1152
|
221 |
+
msgid "Include"
|
222 |
+
msgstr ""
|
223 |
+
|
224 |
+
#: ../pf.php:1153
|
225 |
+
msgid "Exclude"
|
226 |
+
msgstr ""
|
227 |
+
|
228 |
+
#: ../pf.php:1157
|
229 |
+
msgid "Image style"
|
230 |
+
msgstr ""
|
231 |
+
|
232 |
+
#: ../pf.php:1159
|
233 |
+
msgid "Align Right"
|
234 |
+
msgstr ""
|
235 |
+
|
236 |
+
#: ../pf.php:1160
|
237 |
+
msgid "Align Left"
|
238 |
+
msgstr ""
|
239 |
+
|
240 |
+
#: ../pf.php:1161
|
241 |
+
msgid "Align None"
|
242 |
+
msgstr ""
|
243 |
+
|
244 |
+
#: ../pf.php:1162
|
245 |
+
msgid "Center/Block"
|
246 |
+
msgstr ""
|
247 |
+
|
248 |
+
#: ../pf.php:1166
|
249 |
msgid "Email"
|
250 |
msgstr ""
|
251 |
|
252 |
+
#: ../pf.php:1173
|
253 |
msgid "PDF"
|
254 |
msgstr ""
|
255 |
|
256 |
+
#: ../pf.php:1180
|
257 |
msgid "Print"
|
258 |
msgstr ""
|
259 |
|
260 |
+
#: ../pf.php:1187
|
261 |
msgid "Custom css url"
|
262 |
msgstr ""
|
263 |
|
264 |
+
#: ../pf.php:1189
|
265 |
+
msgid "?"
|
266 |
+
msgstr ""
|
267 |
+
|
268 |
+
#: ../pf.php:1194
|
269 |
msgid "Webmaster Settings"
|
270 |
msgstr ""
|
271 |
|
272 |
+
#: ../pf.php:1198
|
273 |
msgid "http (common)"
|
274 |
msgstr ""
|
275 |
|
276 |
+
#: ../pf.php:1199
|
277 |
msgid "https (secure)"
|
278 |
msgstr ""
|
279 |
|
280 |
+
#: ../pf.php:1206 ../pf.php:1213
|
281 |
msgid "No"
|
282 |
msgstr ""
|
283 |
|
284 |
+
#: ../pf.php:1207 ../pf.php:1212
|
285 |
msgid "Yes"
|
286 |
msgstr ""
|
287 |
|
288 |
+
#: ../pf.php:1216
|
289 |
msgid ""
|
290 |
"Display print preview on-page using a JavaScript Lightbox (user never leaves "
|
291 |
"the site/page)."
|
292 |
msgstr ""
|
293 |
|
294 |
+
#: ../pf.php:1219
|
295 |
msgid "Display print preview on PrintFriendly.com (No JavaScript)"
|
296 |
msgstr ""
|
297 |
|
298 |
+
#: ../pf.php:1224
|
299 |
msgid "Save Options"
|
300 |
msgstr ""
|
301 |
|
302 |
+
#: ../pf.php:1225
|
303 |
msgid "Cancel"
|
304 |
msgstr ""
|
305 |
|
306 |
+
#: ../pf.php:1230
|
307 |
msgid "Like PrintFriendly?"
|
308 |
msgstr ""
|
309 |
|
310 |
+
#: ../pf.php:1230
|
311 |
msgid "Give us a rating"
|
312 |
msgstr ""
|
313 |
|
314 |
+
#: ../pf.php:1230
|
315 |
msgid "Need help or have suggestions?"
|
316 |
msgstr ""
|
pf.php
CHANGED
@@ -1,14 +1,19 @@
|
|
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.
|
8 |
Author: Print Friendly
|
9 |
Author URI: http://www.PrintFriendly.com
|
10 |
|
11 |
Changelog :
|
|
|
|
|
|
|
|
|
12 |
3.2.1 - Improve script loading.
|
13 |
3.2.0 - Important chrome issue fix. Ie syntax error fix.
|
14 |
3.1.9 - Minor css detail.
|
@@ -82,7 +87,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
82 |
* Database version, used to allow for easy upgrades to / additions in plugin options between plugin versions.
|
83 |
* @var int
|
84 |
*/
|
85 |
-
var $db_version =
|
86 |
|
87 |
/**
|
88 |
* Settings page, used within the plugin to reliably load the plugins admin JS and CSS files only on the admin page.
|
@@ -116,24 +121,23 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
116 |
add_filter( 'the_excerpt', array( &$this, 'show_link' ) );
|
117 |
}
|
118 |
|
119 |
-
if ( !is_admin() )
|
120 |
-
return;
|
121 |
-
|
122 |
-
// Hook into init for registration of the option and the language files
|
123 |
-
add_action( 'admin_init', array( &$this, 'init' ) );
|
124 |
|
125 |
-
|
126 |
-
|
|
|
127 |
|
128 |
-
|
129 |
-
|
130 |
|
131 |
-
|
132 |
-
|
133 |
|
134 |
-
|
135 |
-
|
136 |
|
|
|
|
|
|
|
137 |
}
|
138 |
|
139 |
/**
|
@@ -155,10 +159,11 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
155 |
if ( isset( $this->options['enable_css'] ) && $this->options['enable_css'] != 'on' )
|
156 |
return;
|
157 |
|
|
|
158 |
?>
|
159 |
<style type="text/css" media="screen">
|
160 |
div.printfriendly {
|
161 |
-
margin: <?php echo $this->options['margin_top'].'px '.$this->options['margin_right'].'px '.$this->options['margin_bottom'].'px '.$this->options['margin_left'].'px'; ?>;
|
162 |
}
|
163 |
div.printfriendly a, div.printfriendly a:link, div.printfriendly a:visited {
|
164 |
text-decoration: none;
|
@@ -205,6 +210,8 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
205 |
<?php
|
206 |
}
|
207 |
|
|
|
|
|
208 |
/**
|
209 |
* Prints the PrintFriendly JavaScript, in the footer, and loads it asynchronously.
|
210 |
*
|
@@ -230,17 +237,19 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
230 |
|
231 |
?>
|
232 |
<script type="text/javascript">
|
233 |
-
var pfHeaderImgUrl =
|
234 |
-
var pfHeaderTagline =
|
235 |
-
var pfdisableClickToDel =
|
236 |
-
var
|
237 |
-
var
|
238 |
-
var
|
239 |
-
var
|
|
|
|
|
240 |
|
241 |
// PrintFriendly
|
242 |
var e = document.createElement('script'); e.type="text/javascript";
|
243 |
-
e.src = '<?php echo $pf_src ?>';
|
244 |
document.getElementsByTagName('head')[0].appendChild(e);
|
245 |
</script>
|
246 |
<?php
|
@@ -285,11 +294,11 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
285 |
}
|
286 |
else
|
287 |
{
|
288 |
-
if ( (is_page() && isset($this->options['show_on_pages']))
|
289 |
-
|| (is_home() && isset($this->options['show_on_homepage']))
|
290 |
-
|| (is_tax() && isset($this->options['show_on_taxonomies']))
|
291 |
-
|| (is_category() && isset($this->options['show_on_categories']))
|
292 |
-
|| (is_single() && isset($this->options['show_on_posts'])) )
|
293 |
{
|
294 |
// Hook the script call now, so it only get's loaded when needed, and need is determined by the user calling pf_button
|
295 |
add_action( 'wp_footer', array( &$this, 'print_script_footer' ) );
|
@@ -308,6 +317,18 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
308 |
|
309 |
}
|
310 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
311 |
/**
|
312 |
* Register the textdomain and the options array along with the validation function
|
313 |
*
|
@@ -331,31 +352,42 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
331 |
function options_validate( $input ) {
|
332 |
$valid_input = $input;
|
333 |
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
|
|
|
|
|
|
|
|
|
|
338 |
$valid_input['button_type'] = 'pf-button.gif';
|
339 |
|
340 |
-
|
|
|
341 |
$valid_input['custom_image'] = '';
|
342 |
|
343 |
-
|
344 |
-
|
|
|
|
|
|
|
345 |
|
346 |
-
|
347 |
-
|
|
|
|
|
|
|
|
|
|
|
348 |
|
349 |
-
foreach ( array( 'margin_top', 'margin_right', 'margin_bottom', 'margin_left' ) as $opt )
|
350 |
-
$valid_input[$opt] = (int) $input[$opt];
|
351 |
|
352 |
$valid_input['text_size'] = (int) $input['text_size'];
|
353 |
-
|
354 |
if ( !isset($valid_input['text_size']) || 0 == $valid_input['text_size'] ) {
|
355 |
$valid_input['text_size'] = 14;
|
356 |
} else if ( 25 < $valid_input['text_size'] || 9 > $valid_input['text_size'] ) {
|
357 |
$valid_input['text_size'] = 14;
|
358 |
-
add_settings_error( $this->option_name, '
|
359 |
}
|
360 |
|
361 |
if ( !isset( $input['text_color'] )) {
|
@@ -365,7 +397,119 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
365 |
$valid_input['text_color'] = $this->options['text_color'];
|
366 |
add_settings_error( $this->option_name, 'invalid_color', __( 'The color you entered is not valid, it must be a valid hexadecimal RGB font color.', $this->hook ) );
|
367 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
368 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
369 |
$valid_input['db_version'] = $this->db_version;
|
370 |
|
371 |
return $valid_input;
|
@@ -378,6 +522,9 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
378 |
*/
|
379 |
function add_config_page() {
|
380 |
$this->settings_page = add_options_page( __( 'PrintFriendly Options', $this->hook ), __( 'Print Friendly & PDF', $this->hook ), 'manage_options', $this->hook, array( &$this, 'config_page' ) );
|
|
|
|
|
|
|
381 |
}
|
382 |
|
383 |
/**
|
@@ -388,7 +535,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
388 |
function contextual_help( $contextual_help, $screen_id ) {
|
389 |
if ( $this->settings_page == $screen_id ) {
|
390 |
$contextual_help = '<strong>'.__( "Need Help?", $this->hook ).'</strong><br/>'
|
391 |
-
.sprintf( __( "Be sure to check out the %s!"), '<a href="http://wordpress.org/extend/plugins/printfriendly/faq/">'.__( "Frequently Asked Questions", $this->hook ).'</a>' );
|
392 |
}
|
393 |
return $contextual_help;
|
394 |
}
|
@@ -401,13 +548,14 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
401 |
*/
|
402 |
function admin_enqueue_scripts( $screen_id ) {
|
403 |
if ( $this->settings_page == $screen_id ) {
|
404 |
-
$ver = '3.2.
|
405 |
wp_register_script( 'pf-color-picker', plugins_url( 'colorpicker.js', __FILE__ ), array( 'jquery', 'media-upload' ), $ver );
|
406 |
wp_register_script( 'pf-admin-js', plugins_url( 'admin.js', __FILE__ ), array( 'jquery', 'media-upload' ), $ver );
|
407 |
|
408 |
wp_enqueue_script( 'pf-color-picker' );
|
409 |
wp_enqueue_script( 'pf-admin-js' );
|
410 |
|
|
|
411 |
wp_enqueue_style( 'printfriendly-admin-css', plugins_url( 'admin.css', __FILE__ ), array(), $ver);
|
412 |
}
|
413 |
}
|
@@ -458,6 +606,8 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
458 |
'image_url' => '',
|
459 |
'tagline' => '',
|
460 |
'click_to_delete' => '0', // 0 - allow, 1 - do not allow
|
|
|
|
|
461 |
'email' => '0', // 0 - allow, 1 - do not allow
|
462 |
'pdf' => '0', // 0 - allow, 1 - do not allow
|
463 |
'print' => '0', // 0 - allow, 1 - do not allow
|
@@ -465,6 +615,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
465 |
'password_protected' => 'no',
|
466 |
'javascript' => 'yes',
|
467 |
'custom_css_url' => '',
|
|
|
468 |
);
|
469 |
|
470 |
// Check whether the old badly named singular options are there, if so, use the data and delete them.
|
@@ -518,7 +669,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
518 |
// check whether image we do not list any more was used
|
519 |
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'))) {
|
520 |
// previous version had a bug with button name
|
521 |
-
if(in_array($this->options['button_type'], array('pf_button_sq_qry_m.png', 'pf_button_sq_qry_l.png')))
|
522 |
$this->options['button_type'] = str_replace('qry', 'gry', $this->options['button_type']);
|
523 |
|
524 |
$image_address = '//cdn.printfriendly.com/'.$this->options['button_type'];
|
@@ -577,6 +728,33 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
577 |
$this->options = array_merge($this->options, $additional_options);
|
578 |
}
|
579 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
580 |
$this->options['db_version'] = $this->db_version;
|
581 |
update_option( $this->option_name, $this->options );
|
582 |
}
|
@@ -617,7 +795,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
617 |
|
618 |
switch($name){
|
619 |
case "custom-image":
|
620 |
-
if( '' == $this->options['custom_image'] )
|
621 |
$return = '';
|
622 |
else
|
623 |
$return = '<img src="'.$this->options['custom_image'].'" alt="Print Friendly" />';
|
@@ -703,11 +881,11 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
703 |
* @param string $name string used for various parts of checkbox
|
704 |
*
|
705 |
*/
|
706 |
-
function create_checkbox($name) {
|
707 |
-
|
|
|
708 |
$this->checked( 'show_on_' . $name, 'on');
|
709 |
-
echo ' />';
|
710 |
-
_e( ucfirst($name), $this->hook );
|
711 |
}
|
712 |
|
713 |
|
@@ -723,6 +901,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
723 |
isset($this->options['show_on_pages']) ||
|
724 |
isset($this->options['show_on_homepage']) ||
|
725 |
isset($this->options['show_on_categories']) ||
|
|
|
726 |
isset($this->options['show_on_taxonomies']));
|
727 |
}
|
728 |
|
@@ -742,6 +921,61 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
742 |
return selected ($this->options[$val], $check_against);
|
743 |
}
|
744 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
745 |
/**
|
746 |
* Output the config page
|
747 |
*
|
@@ -751,7 +985,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
751 |
|
752 |
// 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.
|
753 |
global $wp_version;
|
754 |
-
if
|
755 |
settings_errors();
|
756 |
|
757 |
// Show the content of the options array when debug is enabled
|
@@ -759,15 +993,15 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
759 |
echo '<pre>Options:<br><br>' . print_r( $this->options, 1 ) . '</pre>';
|
760 |
?>
|
761 |
<div id="pf_settings" class="wrap">
|
762 |
-
|
763 |
<div class="icon32" id="printfriendly"></div>
|
764 |
<h2><?php _e( 'Print Friendly & PDF Settings', $this->hook ); ?></h2>
|
765 |
-
|
766 |
<form action="options.php" method="post">
|
767 |
<?php settings_fields( $this->option_name ); ?>
|
768 |
-
|
769 |
<h3><?php _e( "Pick Your Button Style", $this->hook ); ?></h3>
|
770 |
-
|
771 |
<fieldset id="button-style">
|
772 |
<div id="buttongroup1">
|
773 |
<?php $this->radio('pf-button.gif'); ?>
|
@@ -820,15 +1054,15 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
820 |
</div>
|
821 |
</fieldset>
|
822 |
<br class="clear">
|
823 |
-
|
824 |
-
<!--Section 2 Button
|
825 |
-
<div id="button-
|
826 |
-
<h3><?php _e( "Button
|
827 |
<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>
|
828 |
</h3>
|
829 |
-
<div id="button-
|
830 |
<div id="alignment">
|
831 |
-
<label
|
832 |
<select id="pf_content_position" name="<?php echo $this->option_name; ?>[content_position]" >
|
833 |
<option value="left" <?php selected( $this->options['content_position'], 'left' ); ?>><?php _e( "Left Align", $this->hook ); ?></option>
|
834 |
<option value="right" <?php selected( $this->options['content_position'], 'right' ); ?>><?php _e( "Right Align", $this->hook ); ?></option>
|
@@ -838,7 +1072,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
838 |
</label>
|
839 |
</div>
|
840 |
<div class="content_placement">
|
841 |
-
<label
|
842 |
<select id="pf_content_placement" name="<?php echo $this->option_name; ?>[content_placement]" >
|
843 |
<option value="before" <?php selected( $this->options['content_placement'], 'before' ); ?>><?php _e( "Above Content", $this->hook ); ?></option>
|
844 |
<option value="after" <?php selected( $this->options['content_placement'], 'after' ); ?>><?php _e( "Below Content", $this->hook ); ?></option>
|
@@ -846,43 +1080,65 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
846 |
</label>
|
847 |
</div>
|
848 |
<div id="margin">
|
849 |
-
<label>
|
850 |
-
<input type="number" name="<?php echo $this->option_name; ?>[margin_left]" value="<?php $this->val( 'margin_left' ); ?>" maxlength="3"/>
|
851 |
<?php _e( "Margin Left", $this->hook ); ?>
|
852 |
</label>
|
853 |
-
<label>
|
854 |
-
<input type="number" name="<?php echo $this->option_name; ?>[margin_right]" value="<?php $this->val( 'margin_right' ); ?>"/> <?php _e( "Margin Right", $this->hook ); ?>
|
855 |
</label>
|
856 |
-
<label>
|
857 |
-
<input type="number" name="<?php echo $this->option_name; ?>[margin_top]"
|
858 |
</label>
|
859 |
-
<label>
|
860 |
-
<input type="number" name="<?php echo $this->option_name; ?>[margin_bottom]" value="<?php $this->val( 'margin_bottom' ); ?>" maxlength="3"/> <?php _e( "Margin Bottom", $this->hook ); ?>
|
861 |
</label>
|
862 |
</div>
|
863 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
864 |
<div id="pages">
|
865 |
-
|
866 |
-
|
867 |
-
|
868 |
-
|
869 |
-
|
870 |
-
<label
|
871 |
-
<
|
872 |
-
<
|
|
|
|
|
873 |
</div>
|
874 |
</div>
|
875 |
-
|
876 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
877 |
<div id="print-options">
|
878 |
<h3><?php _e( "Print PDF Options", $this->hook ); ?></h3>
|
879 |
-
<label id="pf-favicon" for="favicon"
|
880 |
<?php _e( "Page header", $this->hook ); ?>
|
881 |
<select id="pf-logo" name="<?php echo $this->option_name; ?>[logo]" >
|
882 |
<option value="favicon" <?php selected( $this->options['logo'], 'favicon' ); ?>><?php _e( "My Website Icon", $this->hook ); ?></option>
|
883 |
<option value="upload-an-image" <?php selected( $this->options['logo'], 'upload-an-image' ); ?>><?php _e( "Upload an Image", $this->hook ); ?></option>
|
884 |
</select>
|
885 |
</label>
|
|
|
|
|
|
|
|
|
886 |
<div class="custom-logo"><label for="Enter_URL">Enter url</label><input id="upload-an-image" type="text" class="regular-text" name="<?php echo $this->option_name; ?>[image_url]" value="<?php $this->val( 'image_url' ); ?>" /><label for="Text__optional_">Text (optional)</label><input id="image-tagline" type="text" class="regular-text" name="<?php echo $this->option_name; ?>[tagline]" value="<?php $this->val( 'tagline' ); ?>" /></div>
|
887 |
<div id="pf-image-error"></div>
|
888 |
<div id="pf-image-preview"></div>
|
@@ -893,6 +1149,22 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
893 |
<option value="1" <?php selected( $this->options['click_to_delete'], '1' ); ?>><?php _e( "Not Allow", $this->hook ); ?></option>
|
894 |
</select>
|
895 |
</label>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
896 |
<label for="email">
|
897 |
<?php _e( "Email", $this->hook ); ?>
|
898 |
<select name="<?php echo $this->option_name; ?>[email]" id="email">
|
@@ -917,13 +1189,14 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
917 |
<label for="custom_css_url">
|
918 |
<?php _e( "Custom css url", $this->hook ); ?>
|
919 |
<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' ); ?>" />
|
|
|
920 |
</label>
|
921 |
</div>
|
922 |
-
|
923 |
-
<!--Section
|
924 |
<h3><?php _e( "Webmaster Settings", $this->hook ); ?></h3>
|
925 |
-
|
926 |
-
<label for="protocol"
|
927 |
<select id="website_protocol" name="<?php echo $this->option_name; ?>[website_protocol]" >
|
928 |
<option value="http" <?php selected( $this->options['website_protocol'], 'http' ); ?>><?php _e( "http (common)", $this->hook ); ?></option>
|
929 |
<option value="https" <?php selected( $this->options['website_protocol'], 'https' ); ?>><?php _e( "https (secure)", $this->hook ); ?></option>
|
@@ -931,13 +1204,13 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
931 |
<span id="https-beta-registration" class="description">HTTPS is in Beta. Please <a href="#" onclick="window.open('http://www.printfriendly.com/https-registration.html', 'newwindow', 'width=600, height=550'); return false;">Register for updates</a>.
|
932 |
</span>
|
933 |
</label>
|
934 |
-
<label for="password-site"
|
935 |
<select id="password_protected" name="<?php echo $this->option_name; ?>[password_protected]">
|
936 |
<option value="no" <?php selected( $this->options['password_protected'], 'no' ); ?>><?php _e( "No", $this->hook ); ?></option>
|
937 |
<option value="yes" <?php selected( $this->options['password_protected'], 'yes' ); ?>><?php _e( "Yes", $this->hook ); ?></option>
|
938 |
</select>
|
939 |
</label>
|
940 |
-
<label id="pf-javascript-container"
|
941 |
<select id="javascript" name="<?php echo $this->option_name; ?>[javascript]>">
|
942 |
<option value="yes" <?php $this->selected( 'javascript', 'yes' ); ?>> <?php _e( "Yes", $this->hook ); ?></option>
|
943 |
<option value="no" <?php $this->selected( 'javascript', 'no' ); ?>> <?php _e( "No", $this->hook ); ?></option>
|
@@ -949,7 +1222,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
949 |
<?php _e( "Display print preview on PrintFriendly.com (No JavaScript)", $this->hook ); ?>
|
950 |
</span>
|
951 |
</label>
|
952 |
-
|
953 |
<p class="submit">
|
954 |
<input type="submit" class="button-primary" value="<?php esc_attr_e( "Save Options", $this->hook ); ?>"/>
|
955 |
<input type="reset" class="button-secondary" value="<?php esc_attr_e( "Cancel", $this->hook ); ?>"/>
|
@@ -959,7 +1232,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
959 |
<p>
|
960 |
<?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>
|
961 |
</div>
|
962 |
-
|
963 |
</form>
|
964 |
</div>
|
965 |
<?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.5
|
9 |
Author: Print Friendly
|
10 |
Author URI: http://www.PrintFriendly.com
|
11 |
|
12 |
Changelog :
|
13 |
+
3.2.5 - Added hide images and image style options. Improved input validation. Improved output escaping. Removed printfriendly post_class. Small i8n fix. Few small HTML fixes.
|
14 |
+
3.2.4 - Add printfriendly post_class. Fixed minor JS bug. Added redundancy to uninstall script.
|
15 |
+
3.2.3 - Rolling back to version 3.2.1
|
16 |
+
3.2.2 - Add printfriendly post_class. Add printfriendly button display settings per individual category. Fixed minor JS bug. Added redundancy to uninstall script.
|
17 |
3.2.1 - Improve script loading.
|
18 |
3.2.0 - Important chrome issue fix. Ie syntax error fix.
|
19 |
3.1.9 - Minor css detail.
|
87 |
* Database version, used to allow for easy upgrades to / additions in plugin options between plugin versions.
|
88 |
* @var int
|
89 |
*/
|
90 |
+
var $db_version = 7;
|
91 |
|
92 |
/**
|
93 |
* Settings page, used within the plugin to reliably load the plugins admin JS and CSS files only on the admin page.
|
121 |
add_filter( 'the_excerpt', array( &$this, 'show_link' ) );
|
122 |
}
|
123 |
|
|
|
|
|
|
|
|
|
|
|
124 |
|
125 |
+
if ( is_admin() ) {
|
126 |
+
// Hook into init for registration of the option and the language files
|
127 |
+
add_action( 'admin_init', array( &$this, 'init' ) );
|
128 |
|
129 |
+
// Register the settings page
|
130 |
+
add_action( 'admin_menu', array( &$this, 'add_config_page' ) );
|
131 |
|
132 |
+
// Register the contextual help
|
133 |
+
add_filter( 'contextual_help', array( &$this, 'contextual_help' ), 10, 2 );
|
134 |
|
135 |
+
// Enqueue the needed scripts and styles
|
136 |
+
add_action( 'admin_enqueue_scripts',array( &$this, 'admin_enqueue_scripts' ) );
|
137 |
|
138 |
+
// Register a link to the settings page on the plugins overview page
|
139 |
+
add_filter( 'plugin_action_links', array( &$this, 'filter_plugin_actions' ), 10, 2 );
|
140 |
+
}
|
141 |
}
|
142 |
|
143 |
/**
|
159 |
if ( isset( $this->options['enable_css'] ) && $this->options['enable_css'] != 'on' )
|
160 |
return;
|
161 |
|
162 |
+
|
163 |
?>
|
164 |
<style type="text/css" media="screen">
|
165 |
div.printfriendly {
|
166 |
+
margin: <?php echo $this->options['margin_top'].'px '.$this->options['margin_right'].'px '.$this->options['margin_bottom'].'px '.$this->options['margin_left'].'px;'; ?>;
|
167 |
}
|
168 |
div.printfriendly a, div.printfriendly a:link, div.printfriendly a:visited {
|
169 |
text-decoration: none;
|
210 |
<?php
|
211 |
}
|
212 |
|
213 |
+
|
214 |
+
|
215 |
/**
|
216 |
* Prints the PrintFriendly JavaScript, in the footer, and loads it asynchronously.
|
217 |
*
|
237 |
|
238 |
?>
|
239 |
<script type="text/javascript">
|
240 |
+
var pfHeaderImgUrl = '<?php echo esc_js(esc_url_raw($image_url)); ?>';
|
241 |
+
var pfHeaderTagline = '<?php echo esc_js($tagline); ?>';
|
242 |
+
var pfdisableClickToDel = '<?php echo esc_js($this->options['click_to_delete']); ?>';
|
243 |
+
var pfHideImages = '<?php echo esc_js($this->options['hide-images']); ?>';
|
244 |
+
var pfImageDisplayStyle = '<?php echo esc_js($this->options['image-style']); ?>';
|
245 |
+
var pfDisableEmail = '<?php echo esc_js($this->options['email']); ?>';
|
246 |
+
var pfDisablePDF = '<?php echo esc_js($this->options['pdf']); ?>';
|
247 |
+
var pfDisablePrint = '<?php echo esc_js($this->options['print']); ?>';
|
248 |
+
var pfCustomCSS = '<?php echo esc_js($this->options['custom_css_url']); ?>';
|
249 |
|
250 |
// PrintFriendly
|
251 |
var e = document.createElement('script'); e.type="text/javascript";
|
252 |
+
e.src = '<?php echo esc_js(esc_url_raw($pf_src)); ?>';
|
253 |
document.getElementsByTagName('head')[0].appendChild(e);
|
254 |
</script>
|
255 |
<?php
|
294 |
}
|
295 |
else
|
296 |
{
|
297 |
+
if ( (is_page() && ( isset($this->options['show_on_pages']) && 'on' === $this->options['show_on_pages'] ) )
|
298 |
+
|| (is_home() && ( ( isset($this->options['show_on_homepage']) && 'on' === $this->options['show_on_homepage'] ) && $this->category_included() ) )
|
299 |
+
|| (is_tax() && ( ( isset($this->options['show_on_taxonomies']) && 'on' === $this->options['show_on_taxonomies'] ) && $this->category_included() ) )
|
300 |
+
|| (is_category() && ( ( isset($this->options['show_on_categories']) && 'on' === $this->options['show_on_categories'] ) && $this->category_included() ) )
|
301 |
+
|| (is_single() && ( ( isset($this->options['show_on_posts']) && 'on' === $this->options['show_on_posts'] ) && $this->category_included() ) ) )
|
302 |
{
|
303 |
// Hook the script call now, so it only get's loaded when needed, and need is determined by the user calling pf_button
|
304 |
add_action( 'wp_footer', array( &$this, 'print_script_footer' ) );
|
317 |
|
318 |
}
|
319 |
|
320 |
+
|
321 |
+
/**
|
322 |
+
* Filter posts by category.
|
323 |
+
*
|
324 |
+
* @since 3.2.2
|
325 |
+
* @return boolean true if post belongs to category selected for button display
|
326 |
+
*/
|
327 |
+
function category_included() {
|
328 |
+
// return ( 'all' === $this->options['category_ids'][0] || in_category($this->options['category_ids']) );
|
329 |
+
return true;
|
330 |
+
}
|
331 |
+
|
332 |
/**
|
333 |
* Register the textdomain and the options array along with the validation function
|
334 |
*
|
352 |
function options_validate( $input ) {
|
353 |
$valid_input = $input;
|
354 |
|
355 |
+
/* Section 1 options */
|
356 |
+
if ( !isset( $input['button_type'] ) || !in_array( $input['button_type'], array(
|
357 |
+
'pf-button.gif', 'pf-button-both.gif', 'pf-button-big.gif', // buttongroup1
|
358 |
+
'button-print-grnw20.png', 'button-print-blu20.png', 'button-print-gry20.png', // buttongroup2
|
359 |
+
'pf-icon-small.gif', 'pf-icon-both.gif','pf-icon.gif', 'text-only', // buttongroup3
|
360 |
+
'custom-image', // custom
|
361 |
+
'button-print-whgn20.png', 'pf_button_sq_gry_m.png', 'pf_button_sq_gry_l.png', 'pf_button_sq_grn_m.png',
|
362 |
+
'pf_button_sq_grn_l.png', // backward compatibility
|
363 |
+
) ) )
|
364 |
$valid_input['button_type'] = 'pf-button.gif';
|
365 |
|
366 |
+
// @todo custom image url validation
|
367 |
+
if ( !isset( $input['custom_image'] ) || empty( $input['custom_image'] ) )
|
368 |
$valid_input['custom_image'] = '';
|
369 |
|
370 |
+
// @todo validate optional custom text
|
371 |
+
if ( !isset( $input['custom_text'] ) ) {
|
372 |
+
$valid_input['custom_text'] = 'Print Friendly';
|
373 |
+
}
|
374 |
+
/* else {
|
375 |
|
376 |
+
}*/
|
377 |
+
|
378 |
+
// Custom button selected, but no url nor text given, reset button type to default
|
379 |
+
if( 'custom-image' === $valid_input['button_type'] && ( '' === $valid_input['custom_image'] && '' === $input['custom_text'] ) ) {
|
380 |
+
$valid_input['button_type'] = 'pf-button.gif';
|
381 |
+
add_settings_error( $this->option_name, 'invalid_custom_image', __( 'No valid custom image url received, please enter a valid url to use a custom image.', $this->hook ) );
|
382 |
+
}
|
383 |
|
|
|
|
|
384 |
|
385 |
$valid_input['text_size'] = (int) $input['text_size'];
|
|
|
386 |
if ( !isset($valid_input['text_size']) || 0 == $valid_input['text_size'] ) {
|
387 |
$valid_input['text_size'] = 14;
|
388 |
} else if ( 25 < $valid_input['text_size'] || 9 > $valid_input['text_size'] ) {
|
389 |
$valid_input['text_size'] = 14;
|
390 |
+
add_settings_error( $this->option_name, 'invalid_text_size', __( 'The text size you entered is invalid, please stay between 9px and 25px', $this->hook ) );
|
391 |
}
|
392 |
|
393 |
if ( !isset( $input['text_color'] )) {
|
397 |
$valid_input['text_color'] = $this->options['text_color'];
|
398 |
add_settings_error( $this->option_name, 'invalid_color', __( 'The color you entered is not valid, it must be a valid hexadecimal RGB font color.', $this->hook ) );
|
399 |
}
|
400 |
+
|
401 |
+
|
402 |
+
|
403 |
+
/* Section 2 options */
|
404 |
+
if ( !isset( $input['enable_css'] ) || 'off' !== $input['enable_css'] )
|
405 |
+
$valid_input['enable_css'] = 'on';
|
406 |
+
|
407 |
+
if ( !isset( $input['content_position'] ) || !in_array( $input['content_position'], array( 'none', 'left', 'center', 'right' ) ) )
|
408 |
+
$valid_input['content_position'] = 'left';
|
409 |
+
|
410 |
+
if ( !isset( $input['content_placement'] ) || !in_array( $input['content_placement'], array( 'before', 'after' ) ) )
|
411 |
+
$valid_input['content_placement'] = 'after';
|
412 |
+
|
413 |
+
foreach ( array( 'margin_top', 'margin_right', 'margin_bottom', 'margin_left' ) as $opt )
|
414 |
+
$valid_input[$opt] = (int) $input[$opt];
|
415 |
+
|
416 |
+
unset( $opt );
|
417 |
+
|
418 |
+
|
419 |
+
/* Section 3 options */
|
420 |
+
foreach ( array( 'show_on_posts', 'show_on_pages', 'show_on_homepage', 'show_on_categories', 'show_on_taxonomies' ) as $opt ) {
|
421 |
+
if ( !isset( $input[$opt] ) || 'on' !== $input[$opt] ) {
|
422 |
+
unset( $valid_input[$opt] );
|
423 |
+
}
|
424 |
+
}
|
425 |
+
unset( $opt );
|
426 |
+
|
427 |
+
// Just in case
|
428 |
+
if( isset( $input['show_on_template'] ) )
|
429 |
+
unset( $valid_input['show_on_template'] );
|
430 |
+
|
431 |
+
|
432 |
+
if( isset( $input['category_ids'] ) ) {
|
433 |
+
/**
|
434 |
+
* Validate received category ids:
|
435 |
+
* - Is there only one array item and does it contain the string text 'all' ? => pass
|
436 |
+
* - Otherwise, make sure the ids are integer values
|
437 |
+
*/
|
438 |
+
/* $valid_input['category_ids'] = explode(',', $input['category_ids']);
|
439 |
+
$valid_input['category_ids'] = array_map( 'trim', $valid_input['category_ids'] );
|
440 |
+
if( ( count( $valid_input['category_ids'] ) === 1 && 'all' === $valid_input['category_ids'][0] ) === false ) {
|
441 |
+
foreach( $valid_input['category_ids'] as $k => $v ) {
|
442 |
+
if( $v !== '' && ( ctype_digit( (string) $v ) === true && ( intval( $v ) == $v ) ) ) {
|
443 |
+
$valid_input['category_ids'][$k] = intval( $v );
|
444 |
+
}
|
445 |
+
else {
|
446 |
+
// Invalid input - Show error message ?
|
447 |
+
unset( $valid_input['category_ids'][$k] );
|
448 |
+
}
|
449 |
+
}
|
450 |
+
}*/
|
451 |
+
unset( $valid_input['category_ids'] );
|
452 |
+
}
|
453 |
+
|
454 |
+
//echo '<pre>'.print_r($input,1).'</pre>';
|
455 |
+
//die;
|
456 |
+
|
457 |
+
|
458 |
+
|
459 |
+
/* Section 4 options */
|
460 |
+
if ( !isset( $input['logo'] ) || !in_array( $input['logo'], array( 'favicon', 'upload-an-image' ) ) )
|
461 |
+
$valid_input['logo'] = 'favicon';
|
462 |
+
|
463 |
+
// @todo custom logo url validation
|
464 |
+
if ( !isset( $input['image_url'] ) || empty( $input['image_url'] ) )
|
465 |
+
$valid_input['image_url'] = '';
|
466 |
+
|
467 |
+
// @todo validate optional tagline text
|
468 |
+
if ( !isset( $input['tagline'] ) ) {
|
469 |
+
$valid_input['tagline'] = '';
|
470 |
+
}
|
471 |
+
/* else {
|
472 |
+
|
473 |
+
}*/
|
474 |
+
|
475 |
+
// Custom logo selected, but no valid url given, reset logo to default
|
476 |
+
if( 'upload-an-image' === $valid_input['logo'] && '' === $valid_input['image_url'] ) {
|
477 |
+
$valid_input['logo'] = 'favicon';
|
478 |
+
add_settings_error( $this->option_name, 'invalid_custom_logo', __( 'No valid custom logo url received, please enter a valid url to use a custom logo.', $this->hook ) );
|
479 |
+
}
|
480 |
+
|
481 |
+
|
482 |
+
if ( !isset( $input['image-style'] ) || !in_array( $input['image-style'], array( 'right', 'left', 'none', 'block' ) ) )
|
483 |
+
$valid_input['image-style'] = 'right';
|
484 |
|
485 |
+
|
486 |
+
foreach( array( 'click_to_delete', 'hide-images', 'email', 'pdf', 'print', ) as $opt ) {
|
487 |
+
if( !isset( $input[$opt] ) || !in_array( $input[$opt], array( '0', '1' ) ) ) {
|
488 |
+
$valid_input[$opt] = '0';
|
489 |
+
}
|
490 |
+
}
|
491 |
+
unset( $opt );
|
492 |
+
|
493 |
+
|
494 |
+
// @todo custom css url validation
|
495 |
+
if ( !isset( $input['custom_css_url'] ) || empty( $input['custom_css_url'] ) )
|
496 |
+
$valid_input['custom_css_url'] = '';
|
497 |
+
|
498 |
+
|
499 |
+
|
500 |
+
/* Section 5 options */
|
501 |
+
if ( !isset( $input['website_protocol'] ) || !in_array( $input['website_protocol'], array( 'http', 'https' ) ) )
|
502 |
+
$valid_input['website_protocol'] = 'http';
|
503 |
+
|
504 |
+
if ( !isset( $input['password_protected'] ) || !in_array( $input['password_protected'], array( 'no', 'yes' ) ) )
|
505 |
+
$valid_input['password_protected'] = 'no';
|
506 |
+
|
507 |
+
if ( !isset( $input['javascript'] ) || !in_array( $input['javascript'], array( 'no', 'yes' ) ) )
|
508 |
+
$valid_input['javascript'] = 'yes';
|
509 |
+
|
510 |
+
|
511 |
+
|
512 |
+
/* Database version */
|
513 |
$valid_input['db_version'] = $this->db_version;
|
514 |
|
515 |
return $valid_input;
|
522 |
*/
|
523 |
function add_config_page() {
|
524 |
$this->settings_page = add_options_page( __( 'PrintFriendly Options', $this->hook ), __( 'Print Friendly & PDF', $this->hook ), 'manage_options', $this->hook, array( &$this, 'config_page' ) );
|
525 |
+
|
526 |
+
//register callback gets call prior your own page gets rendered
|
527 |
+
add_action('load-'.$this->settings_page, array(&$this, 'on_load_printfriendly'));
|
528 |
}
|
529 |
|
530 |
/**
|
535 |
function contextual_help( $contextual_help, $screen_id ) {
|
536 |
if ( $this->settings_page == $screen_id ) {
|
537 |
$contextual_help = '<strong>'.__( "Need Help?", $this->hook ).'</strong><br/>'
|
538 |
+
.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>' );
|
539 |
}
|
540 |
return $contextual_help;
|
541 |
}
|
548 |
*/
|
549 |
function admin_enqueue_scripts( $screen_id ) {
|
550 |
if ( $this->settings_page == $screen_id ) {
|
551 |
+
$ver = '3.2.5';
|
552 |
wp_register_script( 'pf-color-picker', plugins_url( 'colorpicker.js', __FILE__ ), array( 'jquery', 'media-upload' ), $ver );
|
553 |
wp_register_script( 'pf-admin-js', plugins_url( 'admin.js', __FILE__ ), array( 'jquery', 'media-upload' ), $ver );
|
554 |
|
555 |
wp_enqueue_script( 'pf-color-picker' );
|
556 |
wp_enqueue_script( 'pf-admin-js' );
|
557 |
|
558 |
+
|
559 |
wp_enqueue_style( 'printfriendly-admin-css', plugins_url( 'admin.css', __FILE__ ), array(), $ver);
|
560 |
}
|
561 |
}
|
606 |
'image_url' => '',
|
607 |
'tagline' => '',
|
608 |
'click_to_delete' => '0', // 0 - allow, 1 - do not allow
|
609 |
+
'hide-images' => '0', // 0 - show images, 1 - hide images
|
610 |
+
'image-style' => 'right', // 'right', 'left', 'none', 'block'
|
611 |
'email' => '0', // 0 - allow, 1 - do not allow
|
612 |
'pdf' => '0', // 0 - allow, 1 - do not allow
|
613 |
'print' => '0', // 0 - allow, 1 - do not allow
|
615 |
'password_protected' => 'no',
|
616 |
'javascript' => 'yes',
|
617 |
'custom_css_url' => '',
|
618 |
+
// 'category_ids' => array('all'),
|
619 |
);
|
620 |
|
621 |
// Check whether the old badly named singular options are there, if so, use the data and delete them.
|
669 |
// check whether image we do not list any more was used
|
670 |
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'))) {
|
671 |
// previous version had a bug with button name
|
672 |
+
if(in_array($this->options['button_type'], array('pf_button_sq_qry_m.png', 'pf_button_sq_qry_l.png')))
|
673 |
$this->options['button_type'] = str_replace('qry', 'gry', $this->options['button_type']);
|
674 |
|
675 |
$image_address = '//cdn.printfriendly.com/'.$this->options['button_type'];
|
728 |
$this->options = array_merge($this->options, $additional_options);
|
729 |
}
|
730 |
|
731 |
+
// update options to version 6
|
732 |
+
// Replacement for db version 5 - should also be run for those already upgraded
|
733 |
+
if($this->options['db_version'] < 6) {
|
734 |
+
|
735 |
+
/* $additional_options = array(
|
736 |
+
'category_ids' => array(),
|
737 |
+
);
|
738 |
+
|
739 |
+
if( !isset( $this->options['category_ids'] ) || ( isset( $this->options['category_ids'] ) && 0 === count( $this->options['category_ids'] ) ) ) {
|
740 |
+
$additional_options['category_ids'][] = 'all';
|
741 |
+
}
|
742 |
+
|
743 |
+
$this->options = array_merge($this->options, $additional_options);
|
744 |
+
*/
|
745 |
+
unset($this->options['category_ids']);
|
746 |
+
}
|
747 |
+
|
748 |
+
|
749 |
+
if($this->options['db_version'] < 7) {
|
750 |
+
|
751 |
+
$additional_options = array(
|
752 |
+
'hide-images' => '0',
|
753 |
+
'image-style' => 'right',
|
754 |
+
);
|
755 |
+
|
756 |
+
$this->options = array_merge($this->options, $additional_options);
|
757 |
+
}
|
758 |
$this->options['db_version'] = $this->db_version;
|
759 |
update_option( $this->option_name, $this->options );
|
760 |
}
|
795 |
|
796 |
switch($name){
|
797 |
case "custom-image":
|
798 |
+
if( '' == trim($this->options['custom_image']) )
|
799 |
$return = '';
|
800 |
else
|
801 |
$return = '<img src="'.$this->options['custom_image'].'" alt="Print Friendly" />';
|
881 |
* @param string $name string used for various parts of checkbox
|
882 |
*
|
883 |
*/
|
884 |
+
function create_checkbox($name, $label='', $labelid='' ) {
|
885 |
+
$label = ( !empty( $label) ? $label : __( ucfirst($name), $this->hook ) );
|
886 |
+
echo '<label' . ( !empty( $labelid ) ? ' id=' . $labelid : '' ) . '><input type="checkbox" class="show_list" name="' . $this->option_name . '[show_on_' . $name . ']" value="on" ';
|
887 |
$this->checked( 'show_on_' . $name, 'on');
|
888 |
+
echo ' />' . $label . "</label>\r\n";
|
|
|
889 |
}
|
890 |
|
891 |
|
901 |
isset($this->options['show_on_pages']) ||
|
902 |
isset($this->options['show_on_homepage']) ||
|
903 |
isset($this->options['show_on_categories']) ||
|
904 |
+
// (isset($this->options['category_ids']) && count($this->options['category_ids']) > 0) ||
|
905 |
isset($this->options['show_on_taxonomies']));
|
906 |
}
|
907 |
|
921 |
return selected ($this->options[$val], $check_against);
|
922 |
}
|
923 |
|
924 |
+
/**
|
925 |
+
* For use with page metabox.
|
926 |
+
*
|
927 |
+
* @since 3.2.2
|
928 |
+
*/
|
929 |
+
function get_page_post_type() {
|
930 |
+
$post_types = get_post_types( array( 'name' => 'page' ), 'object' );
|
931 |
+
//echo '<pre>'.print_r($post_types,1).'</pre>';
|
932 |
+
//die;
|
933 |
+
|
934 |
+
return $post_types['page'];
|
935 |
+
}
|
936 |
+
|
937 |
+
|
938 |
+
/**
|
939 |
+
* Helper that checks if wp versions is above 3.0.
|
940 |
+
*
|
941 |
+
* @since 3.2.2
|
942 |
+
* @return boolean true wp version is above 3.0
|
943 |
+
*
|
944 |
+
*/
|
945 |
+
function wp_version_gt30() {
|
946 |
+
global $wp_version;
|
947 |
+
return version_compare($wp_version, '3.0', '>=');
|
948 |
+
}
|
949 |
+
|
950 |
+
|
951 |
+
/**
|
952 |
+
* Create box for picking individual categories.
|
953 |
+
*
|
954 |
+
* @since 3.2.2
|
955 |
+
*/
|
956 |
+
function create_category_metabox() {
|
957 |
+
$obj = new stdClass();
|
958 |
+
$obj->ID = 0;
|
959 |
+
do_meta_boxes('settings_page_' . $this->hook, 'normal', $obj);
|
960 |
+
}
|
961 |
+
|
962 |
+
|
963 |
+
/**
|
964 |
+
* Load metaboxes advanced button display settings.
|
965 |
+
*
|
966 |
+
* @since 3.2.2
|
967 |
+
*/
|
968 |
+
function on_load_printfriendly() {
|
969 |
+
global $wp_version;
|
970 |
+
if($this->wp_version_gt30()) {
|
971 |
+
require_once('includes/meta-boxes.php');
|
972 |
+
//require_once('includes/nav-menu.php');
|
973 |
+
wp_enqueue_script('post');
|
974 |
+
|
975 |
+
add_meta_box('categorydiv', __('Only display when post is in:'), 'post_categories_meta_box', 'settings_page_'. $this->hook, 'normal', 'core');
|
976 |
+
}
|
977 |
+
}
|
978 |
+
|
979 |
/**
|
980 |
* Output the config page
|
981 |
*
|
985 |
|
986 |
// 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.
|
987 |
global $wp_version;
|
988 |
+
if(version_compare($wp_version, '3.2', '<' ) && $this->wp_version_gt30() )
|
989 |
settings_errors();
|
990 |
|
991 |
// Show the content of the options array when debug is enabled
|
993 |
echo '<pre>Options:<br><br>' . print_r( $this->options, 1 ) . '</pre>';
|
994 |
?>
|
995 |
<div id="pf_settings" class="wrap">
|
996 |
+
|
997 |
<div class="icon32" id="printfriendly"></div>
|
998 |
<h2><?php _e( 'Print Friendly & PDF Settings', $this->hook ); ?></h2>
|
999 |
+
|
1000 |
<form action="options.php" method="post">
|
1001 |
<?php settings_fields( $this->option_name ); ?>
|
1002 |
+
|
1003 |
<h3><?php _e( "Pick Your Button Style", $this->hook ); ?></h3>
|
1004 |
+
|
1005 |
<fieldset id="button-style">
|
1006 |
<div id="buttongroup1">
|
1007 |
<?php $this->radio('pf-button.gif'); ?>
|
1054 |
</div>
|
1055 |
</fieldset>
|
1056 |
<br class="clear">
|
1057 |
+
|
1058 |
+
<!--Section 2 Button Positioning-->
|
1059 |
+
<div id="button-positioning">
|
1060 |
+
<h3><?php _e( "Button Positioning", $this->hook ); ?>
|
1061 |
<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>
|
1062 |
</h3>
|
1063 |
+
<div id="button-positioning-options">
|
1064 |
<div id="alignment">
|
1065 |
+
<label<?php /*for="pf_content_position"*/ ?>>
|
1066 |
<select id="pf_content_position" name="<?php echo $this->option_name; ?>[content_position]" >
|
1067 |
<option value="left" <?php selected( $this->options['content_position'], 'left' ); ?>><?php _e( "Left Align", $this->hook ); ?></option>
|
1068 |
<option value="right" <?php selected( $this->options['content_position'], 'right' ); ?>><?php _e( "Right Align", $this->hook ); ?></option>
|
1072 |
</label>
|
1073 |
</div>
|
1074 |
<div class="content_placement">
|
1075 |
+
<label<?php /* for="pf_content_placement"*/ ?>>
|
1076 |
<select id="pf_content_placement" name="<?php echo $this->option_name; ?>[content_placement]" >
|
1077 |
<option value="before" <?php selected( $this->options['content_placement'], 'before' ); ?>><?php _e( "Above Content", $this->hook ); ?></option>
|
1078 |
<option value="after" <?php selected( $this->options['content_placement'], 'after' ); ?>><?php _e( "Below Content", $this->hook ); ?></option>
|
1080 |
</label>
|
1081 |
</div>
|
1082 |
<div id="margin">
|
1083 |
+
<label for="pf-margin_left">
|
1084 |
+
<input type="number" name="<?php echo $this->option_name; ?>[margin_left]" id="pf-margin_left" value="<?php $this->val( 'margin_left' ); ?>" maxlength="3"/>
|
1085 |
<?php _e( "Margin Left", $this->hook ); ?>
|
1086 |
</label>
|
1087 |
+
<label for="pf-margin_right">
|
1088 |
+
<input type="number" name="<?php echo $this->option_name; ?>[margin_right]" id="pf-margin_right" value="<?php $this->val( 'margin_right' ); ?>"/> <?php _e( "Margin Right", $this->hook ); ?>
|
1089 |
</label>
|
1090 |
+
<label for="pf-margin_top">
|
1091 |
+
<input type="number" name="<?php echo $this->option_name; ?>[margin_top]" id="pf-margin_top" value="<?php $this->val( 'margin_top' ); ?>" maxlength="3"/> <?php _e( "Margin Top", $this->hook ); ?>
|
1092 |
</label>
|
1093 |
+
<label for="pf-margin_bottom">
|
1094 |
+
<input type="number" name="<?php echo $this->option_name; ?>[margin_bottom]" id="pf-margin_bottom" value="<?php $this->val( 'margin_bottom' ); ?>" maxlength="3"/> <?php _e( "Margin Bottom", $this->hook ); ?>
|
1095 |
</label>
|
1096 |
</div>
|
1097 |
</div>
|
1098 |
+
</div>
|
1099 |
+
<br class="clear">
|
1100 |
+
|
1101 |
+
<!--Section 3 Button Placement-->
|
1102 |
+
<div id="button-placement">
|
1103 |
+
<h3><?php _e( "Display button on:", $this->hook ); ?></h3>
|
1104 |
<div id="pages">
|
1105 |
+
<?php $this->create_checkbox('posts', __( 'Posts', $this->hook )); ?>
|
1106 |
+
<?php $this->create_checkbox('pages', __( 'Pages', $this->hook )); ?>
|
1107 |
+
<?php $this->create_checkbox('homepage', __( 'Homepage', $this->hook )); ?>
|
1108 |
+
<?php $this->create_checkbox('categories', __( 'Category Pages', $this->hook )); ?>
|
1109 |
+
<?php $this->create_checkbox('taxonomies', __( 'Taxonomy Pages', $this->hook )); ?>
|
1110 |
+
<label for="show_on_template"><input type="checkbox" class="show_template" name="show_on_template" id="show_on_template" /><?php echo _e( 'Add direct to template', $this->hook ); ?></label>
|
1111 |
+
<textarea id="pf-shortcode" class="code" rows="2" cols="40"><?php if(function_exists('pf_show_link')){echo pf_show_link();} ?></textarea>
|
1112 |
+
<label<?php /* for="pf-shortcode2"*/ ?>><?php _e( "or use shortcode inside your page/article", $this->hook ); ?></label>
|
1113 |
+
<textarea<?php /* id="pf-shortcode2"*/ ?> class="code" rows="2" cols="40">[printfriendly]</textarea>
|
1114 |
+
<?php /* <input type="hidden" name="<? php echo $this->option_name; ?>[category_ids]" id="category_ids" value="<?php echo implode(',', $this->options['category_ids']); ? >" /> */ ?>
|
1115 |
</div>
|
1116 |
</div>
|
1117 |
+
<?php /*if($this->wp_version_gt30()) { ? >
|
1118 |
+
<div id="pf-categories">
|
1119 |
+
<h4><?php printf( __( '<a %s>Additional filter</a>', $this->hook), ' href="javascript:void(0)" id="toggle-categories"' ); ?></h4>
|
1120 |
+
<div id="pf-categories-metabox">
|
1121 |
+
<?php $this->create_category_metabox(); ?>
|
1122 |
+
</div>
|
1123 |
+
</div>
|
1124 |
+
<? php } */ ?>
|
1125 |
+
|
1126 |
+
<br class="clear">
|
1127 |
+
|
1128 |
+
<!--Section 4 Button Print Options-->
|
1129 |
<div id="print-options">
|
1130 |
<h3><?php _e( "Print PDF Options", $this->hook ); ?></h3>
|
1131 |
+
<label id="pf-favicon" for="favicon"<?php /*for="pf-logo"*/ ?>>
|
1132 |
<?php _e( "Page header", $this->hook ); ?>
|
1133 |
<select id="pf-logo" name="<?php echo $this->option_name; ?>[logo]" >
|
1134 |
<option value="favicon" <?php selected( $this->options['logo'], 'favicon' ); ?>><?php _e( "My Website Icon", $this->hook ); ?></option>
|
1135 |
<option value="upload-an-image" <?php selected( $this->options['logo'], 'upload-an-image' ); ?>><?php _e( "Upload an Image", $this->hook ); ?></option>
|
1136 |
</select>
|
1137 |
</label>
|
1138 |
+
<?php /* <div class="custom-logo">
|
1139 |
+
<label for="upload-an-image"><?php _e( "Enter url", $this->hook ); ?></label><input id="upload-an-image" type="text" class="regular-text" name="<?php echo $this->option_name; ?>[image_url]" value="<?php $this->val( 'image_url' ); ?>" />
|
1140 |
+
<label for="image-tagline"><?php _e( "Text (optional)", $this->hook ); ?></label><input id="image-tagline" type="text" class="regular-text" name="<?php echo $this->option_name; ?>[tagline]" value="<?php $this->val( 'tagline' ); ?>" />
|
1141 |
+
</div> */ ?>
|
1142 |
<div class="custom-logo"><label for="Enter_URL">Enter url</label><input id="upload-an-image" type="text" class="regular-text" name="<?php echo $this->option_name; ?>[image_url]" value="<?php $this->val( 'image_url' ); ?>" /><label for="Text__optional_">Text (optional)</label><input id="image-tagline" type="text" class="regular-text" name="<?php echo $this->option_name; ?>[tagline]" value="<?php $this->val( 'tagline' ); ?>" /></div>
|
1143 |
<div id="pf-image-error"></div>
|
1144 |
<div id="pf-image-preview"></div>
|
1149 |
<option value="1" <?php selected( $this->options['click_to_delete'], '1' ); ?>><?php _e( "Not Allow", $this->hook ); ?></option>
|
1150 |
</select>
|
1151 |
</label>
|
1152 |
+
<label for="hide-images">
|
1153 |
+
<?php _e( "Images", $this->hook ); ?>
|
1154 |
+
<select name="<?php echo $this->option_name; ?>[hide-images]" id="hide-images">
|
1155 |
+
<option value="0" <?php selected( $this->options['hide-images'], '0' ); ?>><?php _e( "Include", $this->hook ); ?></option>
|
1156 |
+
<option value="1" <?php selected( $this->options['hide-images'], '1' ); ?>><?php _e( "Exclude", $this->hook ); ?></option>
|
1157 |
+
</select>
|
1158 |
+
</label>
|
1159 |
+
<label for="image-style">
|
1160 |
+
<?php _e( "Image style", $this->hook ); ?>
|
1161 |
+
<select name="<?php echo $this->option_name; ?>[image-style]" id="image-style">
|
1162 |
+
<option value="right" <?php selected( $this->options['image-style'], 'right' ); ?>><?php _e( "Align Right", $this->hook ); ?></option>
|
1163 |
+
<option value="left" <?php selected( $this->options['image-style'], 'left' ); ?>><?php _e( "Align Left", $this->hook ); ?></option>
|
1164 |
+
<option value="none" <?php selected( $this->options['image-style'], 'none' ); ?>><?php _e( "Align None", $this->hook ); ?></option>
|
1165 |
+
<option value="block" <?php selected( $this->options['image-style'], 'block' ); ?>><?php _e( "Center/Block", $this->hook ); ?></option>
|
1166 |
+
</select>
|
1167 |
+
</label>
|
1168 |
<label for="email">
|
1169 |
<?php _e( "Email", $this->hook ); ?>
|
1170 |
<select name="<?php echo $this->option_name; ?>[email]" id="email">
|
1189 |
<label for="custom_css_url">
|
1190 |
<?php _e( "Custom css url", $this->hook ); ?>
|
1191 |
<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' ); ?>" />
|
1192 |
+
<span class="description pf-help-link"><a target="_howto" href="http://support.printfriendly.com/customer/portal/articles/895256-custom-css-styles"><?php _e( '?', $this->hook ); ?></a></span>
|
1193 |
</label>
|
1194 |
</div>
|
1195 |
+
|
1196 |
+
<!--Section 5 WebMaster-->
|
1197 |
<h3><?php _e( "Webmaster Settings", $this->hook ); ?></h3>
|
1198 |
+
|
1199 |
+
<label for="protocol"<?php /* for="website_protocol"*/ ?>>Website Protocol<br>
|
1200 |
<select id="website_protocol" name="<?php echo $this->option_name; ?>[website_protocol]" >
|
1201 |
<option value="http" <?php selected( $this->options['website_protocol'], 'http' ); ?>><?php _e( "http (common)", $this->hook ); ?></option>
|
1202 |
<option value="https" <?php selected( $this->options['website_protocol'], 'https' ); ?>><?php _e( "https (secure)", $this->hook ); ?></option>
|
1204 |
<span id="https-beta-registration" class="description">HTTPS is in Beta. Please <a href="#" onclick="window.open('http://www.printfriendly.com/https-registration.html', 'newwindow', 'width=600, height=550'); return false;">Register for updates</a>.
|
1205 |
</span>
|
1206 |
</label>
|
1207 |
+
<label for="password-site"<?php /*for="password_protected"*/ ?>>Password Protected Content
|
1208 |
<select id="password_protected" name="<?php echo $this->option_name; ?>[password_protected]">
|
1209 |
<option value="no" <?php selected( $this->options['password_protected'], 'no' ); ?>><?php _e( "No", $this->hook ); ?></option>
|
1210 |
<option value="yes" <?php selected( $this->options['password_protected'], 'yes' ); ?>><?php _e( "Yes", $this->hook ); ?></option>
|
1211 |
</select>
|
1212 |
</label>
|
1213 |
+
<label id="pf-javascript-container" <?php /*for="javascript"*/ ?>>Use JavaScript<br>
|
1214 |
<select id="javascript" name="<?php echo $this->option_name; ?>[javascript]>">
|
1215 |
<option value="yes" <?php $this->selected( 'javascript', 'yes' ); ?>> <?php _e( "Yes", $this->hook ); ?></option>
|
1216 |
<option value="no" <?php $this->selected( 'javascript', 'no' ); ?>> <?php _e( "No", $this->hook ); ?></option>
|
1222 |
<?php _e( "Display print preview on PrintFriendly.com (No JavaScript)", $this->hook ); ?>
|
1223 |
</span>
|
1224 |
</label>
|
1225 |
+
|
1226 |
<p class="submit">
|
1227 |
<input type="submit" class="button-primary" value="<?php esc_attr_e( "Save Options", $this->hook ); ?>"/>
|
1228 |
<input type="reset" class="button-secondary" value="<?php esc_attr_e( "Cancel", $this->hook ); ?>"/>
|
1232 |
<p>
|
1233 |
<?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>
|
1234 |
</div>
|
1235 |
+
|
1236 |
</form>
|
1237 |
</div>
|
1238 |
<?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.
|
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,6 +98,29 @@ If you have any other issues with the plugin or the PrintFriendly widget, please
|
|
98 |
|
99 |
== Changelog ==
|
100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
|
102 |
= 3.2.1 =
|
103 |
|
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.5
|
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.5 =
|
102 |
+
* New! Image alignment option for Print and PDF pages.
|
103 |
+
* New! Select to not show images by default in the Print and PDF.
|
104 |
+
* Improved input validation.
|
105 |
+
* Improved output escaping.
|
106 |
+
* Removed printfriendly post_class.
|
107 |
+
* Small i8n fix.
|
108 |
+
* Few small HTML fixes.
|
109 |
+
|
110 |
+
= 3.2.4 =
|
111 |
+
* Add printfriendly post_class.
|
112 |
+
* Fixed minor JS bug.
|
113 |
+
* Added redundancy to uninstall script.
|
114 |
+
|
115 |
+
= 3.2.3 =
|
116 |
+
* Rolling back to version 3.2.1
|
117 |
+
|
118 |
+
= 3.2.2 =
|
119 |
+
|
120 |
+
* Add printfriendly post_class.
|
121 |
+
* Add printfriendly button display settings per individual category.
|
122 |
+
* Fixed minor JS bug.
|
123 |
+
* Added redundancy to uninstall script.
|
124 |
|
125 |
= 3.2.1 =
|
126 |
|
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' );
|