PluginProbe
FeedWordPress / 2022.0123
FeedWordPress v2022.0123
trunk 0.8 0.9 0.91 0.95 0.96 0.97 0.98 0.981 0.99 0.991 0.992 0.993 2008.1030 2008.1101 2008.1105 2008.1214 2009.0612 2009.0613 2009.0618 2009.0707 2009.1111 2009.1112 2010.0127 2010.0528 All 65 releases
← All changes | posts-page.php +131 -146 trunk2022.0123 View file →
@@ -19,9 +19,9 @@
19 19 parent::__construct('feedwordpresspostspage', $link);
20 20 $this->dispatch = 'feedwordpress_admin_page_posts';
21 21 $this->filename = __FILE__;
22 22 $this->updatedPosts = new UpdatedPostsControl($this);
23 -
23 +
24 24 $this->pagenames = array(
25 25 'default' => 'Posts',
26 26 'settings-update' => 'Syndicated posts',
27 27 'open-sheet' => 'Syndicated Posts & Links',
@@ -27,137 +27,125 @@
27 27 'open-sheet' => 'Syndicated Posts & Links',
28 28 );
29 29 } /* FeedWordPressPostsPage constructor */
30 30
31 - function save_settings () {
31 + function save_settings ($post) {
32 32 // custom post settings
33 33 $custom_settings = $this->custom_post_settings();
34 34
35 - $posted_notes = FeedWordPress::post( 'notes', array(), 'text' );
36 - foreach ( $posted_notes as $mn ) :
37 - if ( isset( $mn['key0'] ) ) :
38 - $mn['key0'] = trim( $mn['key0'] );
39 - if ( strlen( $mn['key0'] ) > 0 ) :
40 - unset( $custom_settings[ $mn['key0'] ] ); // out with the old
35 + foreach ($post['notes'] as $mn) :
36 + if (isset($mn['key0'])) :
37 + $mn['key0'] = trim($mn['key0']);
38 + if (strlen($mn['key0']) > 0) :
39 + unset($custom_settings[$mn['key0']]); // out with the old
41 40 endif;
42 41 endif;
42 +
43 + if (isset($mn['key1'])) :
44 + $mn['key1'] = trim($mn['key1']);
43 45
44 - if ( isset( $mn['key1'] ) ) :
45 - $mn['key1'] = trim( $mn['key1'] );
46 -
47 - if ( ( $mn['action']=='update' ) and ( strlen( $mn['key1'] ) > 0 ) ) :
48 - $custom_settings[ $mn['key1'] ] = $mn['value']; // in with the new
46 + if (($mn['action']=='update') and (strlen($mn['key1']) > 0)) :
47 + $custom_settings[$mn['key1']] = $mn['value']; // in with the new
49 48 endif;
50 49 endif;
51 50 endforeach;
52 51
53 - $this->updatedPosts->accept_POST();
52 + $this->updatedPosts->accept_POST($post);
54 53 if ($this->for_feed_settings()) :
55 - // $alter = array(); // this appears elsewhere, too, also unused, and possibly removed as well (gwyneth 20230920)
54 + $alter = array ();
56 55
57 56 $this->link->settings['postmeta'] = serialize($custom_settings);
58 57
59 - if ( ! is_null( FeedWordPress::post( 'resolve_relative', null ) ) ) :
60 - $this->link->settings['resolve relative'] = FeedWordPress::post( 'resolve_relative', null, 'text' );
58 + if (isset($post['resolve_relative'])) :
59 + $this->link->settings['resolve relative'] = $post['resolve_relative'];
61 60 endif;
62 - if ( ! is_null( FeedWordPress::post('munge_permalink', null, 'text' ) ) ) :
63 - $this->link->settings['munge permalink'] = FeedWordPress::post( 'munge_permalink', null, 'text' );
61 + if (isset($post['munge_permalink'])) :
62 + $this->link->settings['munge permalink'] = $post['munge_permalink'];
64 63 endif;
65 - if ( ! is_null( FeedWordPress::post('munge_comments_feed_links', null, 'text' ) ) ) :
66 - $this->link->settings['munge comments feed links'] = FeedWordPress::post( 'munge_comments_feed_links', null, 'text' );
64 + if (isset($post['munge_comments_feed_links'])) :
65 + $this->link->settings['munge comments feed links'] = $post['munge_comments_feed_links'];
67 66 endif;
68 67
69 68 // Post status, comment status, ping status
70 69 foreach (array('post', 'comment', 'ping') as $what) :
71 70 $sfield = "feed_{$what}_status";
72 - if ( ! is_null( FeedWordPress::post( $sfield, null, 'text' ) ) ) :
73 - $afield = sprintf( '%s status', $what );
74 - if ( FeedWordPress::post( $sfield, null, 'text' ) == 'site-default' ) :
75 - unset($this->link->settings[ $afield ]);
71 + if (isset($post[$sfield])) :
72 + if ($post[$sfield]=='site-default') :
73 + unset($this->link->settings["{$what} status"]);
76 74 else :
77 - $this->link->settings[ $afield ] = FeedWordPress::post( $sfield, null, 'text' );
75 + $this->link->settings["{$what} status"] = $post[$sfield];
78 76 endif;
79 77 endif;
80 78 endforeach;
81 -
82 - if ( ! is_null( FeedWordPress::post('syndicated_post_type', null, 'text' ) ) ) :
83 - if ( FeedWordPress::post( 'syndicated_post_type', null, 'text' ) == 'default' ) :
79 +
80 + if (isset($post['syndicated_post_type'])) :
81 + if ($post['syndicated_post_type']=='default') :
84 82 unset($this->link->settings['syndicated post type']);
85 83 else :
86 - $this->link->settings['syndicated post type'] = FeedWordPress::post( 'syndicated_post_type', null, 'text' );
84 + $this->link->settings['syndicated post type'] = $post['syndicated_post_type'];
87 85 endif;
88 86 endif;
89 87
90 88 else :
91 89 // update_option ...
92 - if ( ! is_null( FeedWordPress::post( 'feed_post_status', null ) ) ) :
93 -
94 - update_option('feedwordpress_syndicated_post_status', FeedWordPress::post( 'feed_post_status', null, 'text' ) );
95 -
90 + if (isset($post['feed_post_status'])) :
91 + update_option('feedwordpress_syndicated_post_status', $post['feed_post_status']);
96 92 endif;
97 93
98 94 update_option('feedwordpress_custom_settings', serialize($custom_settings));
99 95
100 - $sMungePermalink = FeedWordPress::post('munge_permalink', null, 'text' );
101 - $sUseAggregatorSourceData = FeedWordPress::post( 'use_aggregator_source_data', null, 'text' );
102 - $sFormattingFilters = FeedWordPress::post('formatting_filters', null, 'text' );
103 - $sFeedCommentStatus = FeedWordPress::post( 'feed_comment_status', '', 'text' );
104 - $sFeedPingStatus = FeedWordPress::post( 'feed_ping_status', '', 'text' );
105 - $sResolveRelative = FeedWordPress::post( 'resolve_relative', null, 'text' );
106 - $sMungeCommentsFeedLinks = FeedWordPress::post( 'munge_comments_feed_links', null, 'text' );
107 - $sSyndicatedPostType = FeedWordPress::post( 'syndicated_post_type', null, 'text' );
96 + update_option('feedwordpress_munge_permalink', $_REQUEST['munge_permalink']);
97 + update_option('feedwordpress_use_aggregator_source_data', $_REQUEST['use_aggregator_source_data']);
98 + update_option('feedwordpress_formatting_filters', $_REQUEST['formatting_filters']);
108 99
109 - update_option('feedwordpress_munge_permalink', $sMungePermalink);
110 - update_option('feedwordpress_use_aggregator_source_data', $sUseAggregatorSourceData);
111 - update_option('feedwordpress_formatting_filters', $sFormattingFilters);
112 -
113 - if ( ! is_null( $sResolveRelative ) ) :
114 - update_option('feedwordpress_resolve_relative', $sResolveRelative );
100 + if (isset($post['resolve_relative'])) :
101 + update_option('feedwordpress_resolve_relative', $post['resolve_relative']);
115 102 endif;
116 - if ( ! is_null( $sMungeCommentsFeedLinks ) ) :
117 - update_option('feedwordpress_munge_comments_feed_links', $sMungeCommentsFeedLinks );
103 + if (isset($post['munge_comments_feed_links'])) :
104 + update_option('feedwordpress_munge_comments_feed_links', $post['munge_comments_feed_links']);
118 105 endif;
119 -
120 - if ( $sFeedCommentStatus == 'open' ) :
106 + if (isset($_REQUEST['feed_comment_status']) and ($_REQUEST['feed_comment_status'] == 'open')) :
121 107 update_option('feedwordpress_syndicated_comment_status', 'open');
122 108 else :
123 109 update_option('feedwordpress_syndicated_comment_status', 'closed');
124 110 endif;
125 111
126 - if ( $sFeedPingStatus == 'open' ) :
112 + if (isset($_REQUEST['feed_ping_status']) and ($_REQUEST['feed_ping_status'] == 'open')) :
127 113 update_option('feedwordpress_syndicated_ping_status', 'open');
128 114 else :
129 115 update_option('feedwordpress_syndicated_ping_status', 'closed');
130 116 endif;
131 -
132 - if ( ! is_null( $sSyndicatedPostType ) ) :
133 - update_option('feedwordpress_syndicated_post_type', $sSyndicatedPostType );
117 +
118 + if (isset($post['syndicated_post_type'])) :
119 + update_option('feedwordpress_syndicated_post_type', $post['syndicated_post_type']);
134 120 endif;
135 121 endif;
136 122
137 - $boilerplate = FeedWordPress::post( 'boilerplate', array(), 'raw' );
138 - if ( count($boilerplate) > 0 ) :
139 - foreach ( $boilerplate as $index => $line) :
140 - if ( 0 == strlen( trim( $line['template'] ) ) ) :
141 - unset( $boilerplate[$index] );
142 - endif;
143 - endforeach;
123 + if (isset($post['save']) or isset($post['submit'])) :
124 + if (isset($post['boilerplate'])) :
125 + foreach ($post['boilerplate'] as $index => $line) :
126 + if (0 == strlen(trim($line['template']))) :
127 + unset($post['boilerplate'][$index]);
128 + endif;
129 + endforeach;
144 130
145 - // Convert indexes to 0..(N-1) to avoid possible collisions
146 - $boilerplate = array_values( $boilerplate );
131 + // Convert indexes to 0..(N-1) to avoid possible collisions
132 + $post['boilerplate'] = array_values($post['boilerplate']);
147 133
148 - if ($this->for_feed_settings()) :
149 - $this->link->settings['boilerplate rules'] = serialize( $boilerplate );
150 - $this->link->save_settings(/*reload=*/ true);
151 - else :
152 - update_option( 'feedwordpress_boilerplate', $boilerplate );
134 + if ($this->for_feed_settings()) :
135 + $this->link->settings['boilerplate rules'] = serialize($post['boilerplate']);
136 + $this->link->save_settings(/*reload=*/ true);
137 + else :
138 + update_option('feedwordpress_boilerplate', $post['boilerplate']);
139 + endif;
153 140 endif;
141 +
142 + if (isset($post['boilerplate_hook_order'])) :
143 + $this->update_setting('boilerplate hook order', intval($post['boilerplate_hook_order']));
144 + endif;
154 145 endif;
155 146
156 - $boilerplate_hook_order = FeedWordPress::post( 'boilerplate_hook_order', 10, 'text' );
157 - $this->update_setting('boilerplate hook order', intval( $boilerplate_hook_order ) );
158 -
159 - parent::save_settings();
147 + parent::save_settings($post);
160 148 }
161 149
162 150 /**
163 151 * publication_box: Outputs "Publication" settings box.
@@ -169,9 +157,9 @@
169 157 *
170 158 * @uses FeedWordPressPostsPage::these_posts_phrase()
171 159 * @uses FeedWordPress::syndicated_status()
172 160 * @uses SyndicatedLink::syndicated_status()
173 - */
161 + */
174 162 /*static*/ function publication_box ($page, $box = NULL) {
175 163 $thesePosts = $page->these_posts_phrase();
176 164 $postSelector = array(
177 165 'publish' => "Publish %s immediately",
@@ -183,9 +171,9 @@
183 171 foreach ($postSelector as $index => $value) :
184 172 $postSelector[$index] = sprintf(__($value), $thesePosts);
185 173 $labels[$index] = __(str_replace(' %s', '', strtolower(strtok($value, ';'))));
186 174 endforeach;
187 -
175 +
188 176 $params = array(
189 177 'input-name' => 'feed_post_status',
190 178 'setting-default' => NULL,
191 179 'global-setting-default' => 'publish',
@@ -194,9 +182,9 @@
194 182
195 183 // Hey ho, let's go...
196 184 ?>
197 185 <table id="syndicated-publication-form" class="edit-form narrow">
198 - <tr><th scope="row"><?php esc_html_e('New posts:'); ?></th>
186 + <tr><th scope="row"><?php _e('New posts:'); ?></th>
199 187 <td><?php
200 188 $this->setting_radio_control(
201 189 'post status', 'syndicated_post_status',
202 190 $postSelector, $params
@@ -205,23 +193,23 @@
205 193 </td></tr>
206 194
207 195 <?php $page->updatedPosts->display(); ?>
208 196 </table>
209 -
197 +
210 198 <?php
211 199 } /* FeedWordPressPostsPage::publication_box () */
212 -
200 +
213 201 /**
214 202 * Outputs "Formatting" settings box
215 203 *
216 204 * @since 2009.0713
217 - * @param FeedWordPressPostsPage $page of class FeedWordPressPostsPage tells us whether this is
218 - * a page for one feed's settings or for global defaults
205 + * @param object $page of class FeedWordPressPostsPage tells us whether this is
206 + * a page for one feed's settings or for global defaults
219 207 * @param array $box
220 208 *
221 - */
222 - function formatting_box( $page, $box = NULL ) {
223 - $thesePosts = $page->these_posts_phrase(); // result unused, why? (gwyneth 20230920)
209 + */
210 + function formatting_box ($page, $box = NULL) {
211 + $thesePosts = $page->these_posts_phrase();
224 212
225 213 if ($page->for_feed_settings()) :
226 214 $formatting_filters = null;
227 215 $url = preg_replace('|/+$|', '', $page->link->homepage());
@@ -230,9 +218,9 @@
230 218 $url = 'http://example.com';
231 219 endif;
232 220 ?>
233 221 <table class="edit-form narrow">
234 - <?php if ( !is_null($formatting_filters)) : ?>
222 + <?php if (!is_null($formatting_filters)) : ?>
235 223
236 224 <tr><th scope="row">Formatting filters:</th>
237 225 <td><select name="formatting_filters" size="1">
238 226 <option value="no"<?php echo ($formatting_filters!='yes')?' selected="selected"':''; ?>>Protect syndicated posts from formatting filters</option>
@@ -244,11 +232,11 @@
244 232 problem.</p>
245 233 </td></tr>
246 234
247 235 <?php endif; ?>
248 -
236 +
249 237 <tr><th scope="row">Relative URIs:</th>
250 - <td><p>If link or image in a syndicated post from <code><?php print esc_html($url); ?></code>
238 + <td><p>If link or image in a syndicated post from <code><?php print $url; ?></code>
251 239 refers to a partial URI like <code>/about</code>, where should
252 240 the syndicated copy point to?</p>
253 241
254 242 <?php
@@ -269,15 +257,15 @@
269 257 $this->setting_radio_control(
270 258 'resolve relative', 'resolve_relative',
271 259 $options, $params
272 260 );
273 - ?>
261 + ?>
274 262 </td></tr>
275 263
276 264 </table>
277 265 <?php
278 266 } /* FeedWordPressPostsPage::formatting_box() */
279 -
267 +
280 268 /**
281 269 * Output "Links" settings box
282 270 *
283 271 * @since 2009.0713
@@ -293,9 +281,9 @@
293 281 'no' => __('The local copy on this website'),
294 282 ),
295 283 );
296 284
297 - if ( ! $page->for_feed_settings()) :
285 + if (!$page->for_feed_settings()) :
298 286 $use_aggregator_source_data = get_option('feedwordpress_use_aggregator_source_data');
299 287 endif;
300 288 ?>
301 289 <table class="edit-form narrow">
@@ -300,9 +288,9 @@
300 288 ?>
301 289 <table class="edit-form narrow">
302 290 <tr><th scope="row">Permalinks point to:</th>
303 291 <td><?php
304 -
292 +
305 293 $params = array(
306 294 'setting-default' => 'default',
307 295 'global-setting-default' => 'yes',
308 296 'default-input-value' => 'default',
@@ -313,10 +301,10 @@
313 301 );
314 302 ?>
315 303
316 304 </td></tr>
317 -
318 - <?php if ( ! $page->for_feed_settings()) : ?>
305 +
306 + <?php if (!$page->for_feed_settings()) : ?>
319 307 <tr><th scope="row">Posts from aggregator feeds:</th>
320 308 <td><ul class="options">
321 309 <li><label><input type="radio" name="use_aggregator_source_data" value="no"<?php echo ($use_aggregator_source_data!="yes")?' checked="checked"':''; ?>> Give the aggregator itself as the source of posts from an aggregator feed.</label></li>
322 310 <li><label><input type="radio" name="use_aggregator_source_data" value="yes"<?php echo ($use_aggregator_source_data=="yes")?' checked="checked"':''; ?>> Give the original source of the post as the source, not the aggregator.</label></li>
@@ -345,9 +333,9 @@
345 333 'comment' => array('label' => __('Comments'), 'accept' => 'Allow comments'),
346 334 'ping' => array('label' => __('Pings'), 'accept' => 'Accept pings'),
347 335 );
348 336 $onThesePosts = 'on '.$page->these_posts_phrase();
349 -
337 +
350 338 $mcflSettings = array(
351 339 "yes" => __('Point to comment feeds from the original website (when provided by the syndicated feed)'),
352 340 "no" => __('Point to local comment feeds on this website'),
353 341 );
@@ -370,9 +358,9 @@
370 358 'open' => sprintf(__("{$how['accept']} %s"), __($onThesePosts)),
371 359 'closed' => sprintf(__("Don't ".strtolower($how['accept'])." %s"), __($onThesePosts)),
372 360 );
373 361 $params[$what] = array(
374 - 'input-name' => "feed_{$what}_status",
362 + 'input-name' => "feed_${what}_status",
375 363 'setting-default' => NULL,
376 364 'global-setting-default' => FeedWordPress::syndicated_status($what, /*default=*/ 'closed'),
377 365 'labels' => array(
378 366 'open' => strtolower(__($how['accept'])),
@@ -384,22 +372,22 @@
384 372 // Hey ho, let's go...
385 373 ?>
386 374 <table class="edit-form narrow">
387 375 <?php foreach ($whatsits as $what => $how) : ?>
388 -
389 - <tr><th scope="row"><?php print esc_html($how['label']); ?>:</th>
376 +
377 + <tr><th scope="row"><?php print $how['label']; ?>:</th>
390 378 <td><?php
391 379 $this->setting_radio_control(
392 - "$what status", "syndicated_{$what}_status",
380 + "$what status", "syndicated_${what}_status",
393 381 $settings[$what], $params[$what]
394 382 );
395 383 ?></td></tr>
396 -
384 +
397 385 <?php endforeach; ?>
398 -
399 - <tr><th scope="row"><?php esc_html_e('Comment feeds'); ?></th>
386 +
387 + <tr><th scope="row"><?php _e('Comment feeds'); ?></th>
400 388 <td><p>When WordPress feeds and templates link to comments
401 - feeds for <?php print esc_html($page->these_posts_phrase()); ?>, the
389 + feeds for <?php print $page->these_posts_phrase(); ?>, the
402 390 URLs for the feeds should...</p>
403 391 <?php
404 392 $this->setting_radio_control(
405 393 "munge comments feed links", "munge_comments_feed_links",
@@ -409,9 +397,9 @@
409 397 </table>
410 398
411 399 <?php
412 400 } /* FeedWordPressPostsPage::comments_and_pings_box() */
413 -
401 +
414 402 /*static*/ function custom_post_settings ($page = NULL) {
415 403 if (is_null($page)) :
416 404 $page = $this;
417 405 endif;
@@ -424,23 +412,15 @@
424 412
425 413 if ($custom_settings and !is_array($custom_settings)) :
426 414 $custom_settings = unserialize($custom_settings);
427 415 endif;
428 -
429 - if ( !is_array($custom_settings)) :
416 +
417 + if (!is_array($custom_settings)) :
430 418 $custom_settings = array();
431 419 endif;
432 420
433 421 return $custom_settings;
434 422 } /* FeedWordPressPostsPage::custom_post_settings() */
435 -
436 - /*static*/ function custom_post_settings_box_tester_button ( $id, $page, $box = NULL ) {
437 -
438 - ?>
439 - <br/><button id="<?php print esc_attr( sprintf( 'xpath-test-%d', $id ) ); ?>" class="xpath-test">test expression</button>
440 - <?php
441 -
442 - }
443 423
444 424 /**
445 425 * Output "Custom Post Settings" settings box
446 426 *
@@ -462,16 +442,19 @@
462 442 </tr>
463 443
464 444 <?php
465 445 $i = 0;
466 - foreach ($custom_settings as $key => $value) :
446 + $testerButton = '<br/><button id="xpath-test-%d"'
447 + .'class="xpath-test"'
448 + .'>test expression</button>';
449 + foreach ($custom_settings as $key => $value) :
467 450 ?>
468 451 <tr style="vertical-align:top">
469 - <th width="30%" scope="row"><input type="hidden" name="notes[<?php echo esc_attr($i); ?>][key0]" value="<?php echo esc_html($key); ?>" />
470 - <input id="notes-<?php echo esc_attr( $i ); ?>-key" name="notes[<?php echo esc_attr( $i ); ?>][key1]" value="<?php echo esc_html($key); ?>" /></th>
471 - <td width="60%"><textarea rows="2" cols="40" id="notes-<?php echo esc_attr($i); ?>-value" name="notes[<?php echo esc_attr($i); ?>][value]"><?php echo esc_html($value); ?></textarea>
472 - <?php self::custom_post_settings_box_tester_button($i, $page, $box); ?></td>
473 - <td width="10%"><select name="notes[<?php echo esc_attr($i); ?>][action]">
452 + <th width="30%" scope="row"><input type="hidden" name="notes[<?php echo $i; ?>][key0]" value="<?php echo esc_html($key); ?>" />
453 + <input id="notes-<?php echo $i; ?>-key" name="notes[<?php echo $i; ?>][key1]" value="<?php echo esc_html($key); ?>" /></th>
454 + <td width="60%"><textarea rows="2" cols="40" id="notes-<?php echo $i; ?>-value" name="notes[<?php echo $i; ?>][value]"><?php echo esc_html($value); ?></textarea>
455 + <?php print sprintf($testerButton, $i); ?></td>
456 + <td width="10%"><select name="notes[<?php echo $i; ?>][action]">
474 457 <option value="update">save changes</option>
475 458 <option value="delete">delete this setting</option>
476 459 </select></td>
477 460 </tr>
@@ -481,10 +464,10 @@
481 464 endforeach;
482 465 ?>
483 466
484 467 <tr style="vertical-align: top">
485 - <th scope="row"><input type="text" size="10" name="notes[<?php echo esc_attr($i); ?>][key1]" value="" /></th>
486 - <td><textarea name="notes[<?php echo esc_attr($i); ?>][value]" rows="2" cols="40"></textarea><?php self::custom_post_settings_box_tester_button( $i, $page, $box ); ?>
468 + <th scope="row"><input type="text" size="10" name="notes[<?php echo $i; ?>][key1]" value="" /></th>
469 + <td><textarea name="notes[<?php echo $i; ?>][value]" rows="2" cols="40"></textarea><?php print sprintf($testerButton, $i); ?>
487 470 <p>Enter a text value, or a path to a data element from the syndicated item.<br/>
488 471 For data elements, you can use an XPath-like syntax wrapped in <code>$( ... )</code>.<br/>
489 472 <code>hello</code> = the text value <code><span style="background-color: #30FFA0;">hello</span></code><br/>
490 473 <code>$(author/email)</code> = the contents of <code>&lt;author&gt;&lt;email&gt;<span style="background-color: #30FFA0">...</span>&lt;/email&gt;&lt;/author&gt;</code><br/>
@@ -489,9 +472,9 @@
489 472 <code>hello</code> = the text value <code><span style="background-color: #30FFA0;">hello</span></code><br/>
490 473 <code>$(author/email)</code> = the contents of <code>&lt;author&gt;&lt;email&gt;<span style="background-color: #30FFA0">...</span>&lt;/email&gt;&lt;/author&gt;</code><br/>
491 474 <code>$(media:content/@url)</code> = the contents of <code>&lt;media:content url="<span style="background-color: #30FFA0">...</span>"&gt;...&lt;/media:content&gt;</code></p>
492 475 </td>
493 - <td><em>add new setting...</em><input type="hidden" name="notes[<?php echo esc_attr($i); ?>][action]" value="update" /></td>
476 + <td><em>add new setting...</em><input type="hidden" name="notes[<?php echo $i; ?>][action]" value="update" /></td>
494 477 </tr>
495 478 </table>
496 479 </div> <!-- id="postcustomstuff" -->
497 480
@@ -498,12 +481,14 @@
498 481 <?php
499 482 } /* FeedWordPressPostsPage::custom_post_settings_box() */
500 483
501 484 function custom_post_types_box ($page, $box = NULL) {
502 - // local: syndicated post type // default NULL
485 + global $fwp_path;
486 +
487 + // local: syndicated post type // default NULL
503 488 // global: syndicated_post_type // default 'post'
504 489 // default-input-value => 'default'
505 -
490 +
506 491 // Get all custom post types
507 492 $post_types = get_post_types(array(
508 493 '_builtin' => false,
509 494 ), 'objects');
@@ -512,19 +497,19 @@
512 497 $ul['post'] = __('Normal WordPress posts');
513 498 foreach ($post_types as $post_type) :
514 499 $ul[$post_type->name] = __($post_type->labels->name);
515 500 endforeach;
516 -
501 +
517 502 $params = array(
518 503 'global-setting-default' => 'post',
519 504 'default-input-value' => 'default',
520 505 );
521 -
506 +
522 507 // Hey, ho, let's go...
523 508 ?>
524 509 <table class="edit-form narrow">
525 510 <tbody>
526 - <tr><th><?php esc_html_e('Custom Post Types:'); ?></th>
511 + <tr><th><?php _e('Custom Post Types:'); ?></th>
527 512 <td><p>Incoming syndicated posts should be stored in the
528 513 posts database as...</p>
529 514 <?php
530 515 $this->setting_radio_control(
@@ -536,9 +521,9 @@
536 521 </tbody>
537 522 </table>
538 523 <?php
539 524 } /* FeedWordPressPostsPage::custom_post_types_box() */
540 -
525 +
541 526 public function boilerplate_box ($page, $box = NULL) {
542 527 if ($page->for_feed_settings()) :
543 528 $attrib = isset($page->link->settings['boilerplate rules'])
544 529 ? unserialize($page->link->settings['boilerplate rules'])
@@ -549,9 +534,9 @@
549 534 $syndicatedPosts = 'syndicated posts';
550 535 endif;
551 536 $hookOrder = intval($page->setting('boilerplate hook order', FEEDWORDPRESS_BOILERPLATE_DEFAULT_HOOK_ORDER));
552 537 ?>
553 - <style type="text/css">
538 + <style type="text/css">
554 539 .boilerplate-help-box {
555 540 float: right;
556 541 width: 300px;
557 542 border: 1px dotted #777;
@@ -577,9 +562,9 @@
577 562 padding-bottom: 5px;
578 563 margin-bottom: 5px;
579 564 border-bottom: 1px dotted black;
580 565 }
581 -
566 +
582 567 </style>
583 568
584 569 <div class="boilerplate-help-box">
585 570 <p style="border-bottom: 1px dotted #777;">To remove boilerplate, just blank out the text box and leave it empty.</p>
@@ -597,9 +582,9 @@
597 582
598 583 <dt><code>[original-link]text[/original-link]</code></dt>
599 584 <dd>A link to the <em>original post</em> back on the source website,
600 585 using <code>text</code> as the link text.</dd>
601 -
586 +
602 587 <dt><code>[original-url]</code></dt>
603 588 <dd>URL of the <em>original post</em> back on the source website</dd>
604 589
605 590 <dt><code>[author]</code></dt>
@@ -606,9 +591,9 @@
606 591 <dd>A link with the name of the author who wrote the post, linking to other posts by the same author</dd>
607 592
608 593 <dt><code>[author-name]</code></dt>
609 594 <dd>Name of the author who wrote the post</dd>
610 -
595 +
611 596 <dt><code>[feed-setting key="setting-name"]</code></dt>
612 597 <dd>Value of a custom feed setting (named <code>setting-name</code>) for the feed</dd>
613 598 </dl>
614 599 </div>
@@ -614,9 +599,9 @@
614 599 </div>
615 600
616 601 <?php
617 602 print "<ul>\n";
618 - if ( !is_array($attrib)) : $attrib = array(); endif;
603 + if (!is_array($attrib)) : $attrib = array(); endif;
619 604
620 605 print '<input type="hidden" id="next-boilerplate-rule-index" name="next_boilerplate_rule_index" value="'.count($attrib).'" />';
621 606
622 607 // In AJAX environment, this is a dummy rule that stays hidden. In a
@@ -635,21 +620,21 @@
635 620 $selected['title'] = (($line['element']=='title') ? ' selected="selected"' : '');
636 621 $selected['post'] = (($line['element']=='post') ? ' selected="selected"' : '');
637 622 $selected['excerpt'] = (($line['element']=='excerpt') ? ' selected="selected"' : '');
638 623
639 - if ( !isset($line['class'])) : $line['class'] = array(); endif;
624 + if (!isset($line['class'])) : $line['class'] = array(); endif;
640 625 $line['class'][] = 'boilerplate-li';
641 626 ?>
642 627
643 -<li id="boilerplate-<?php print esc_attr($index); ?>-li" class="<?php print esc_attr(implode(' ', $line['class'])); ?>">&raquo; <strong>Add</strong> <select id="boilerplate-<?php print esc_attr($index); ?>-placement" name="boilerplate[<?php print esc_attr($index); ?>][placement]" style="width: 8.0em">
644 -<option value="before"<?php fwp_selected_flag( $selected, 'before' ); ?>>before</option>
645 -<option value="after"<?php fwp_selected_flag( $selected, 'after' ); ?>>after</option>
646 -</select> the <select style="width: 8.0em" id="boilerplate-<?php print esc_attr($index); ?>-element" name="boilerplate[<?php print esc_attr($index); ?>][element]">
647 -<option value="title"<?php fwp_selected_flag($selected, 'title' ); ?>>title</option>
648 -<option value="post"<?php fwp_selected_flag( $selected, 'post' ); ?>>content</option>
649 -<option value="excerpt"<?php fwp_selected_flag( $selected, 'excerpt' ); ?>>excerpt</option>
650 -</select> of
651 -<?php print esc_html($syndicatedPosts); ?>: <textarea style="vertical-align: top; width: 40%;" rows="2" cols="30" class="boilerplate-template" id="boilerplate-<?php print esc_attr($index); ?>-template" name="boilerplate[<?php print esc_attr($index); ?>][template]"><?php print esc_html($line['template']); ?></textarea></li>
628 +<li id="boilerplate-<?php print $index; ?>-li" class="<?php print implode(' ', $line['class']); ?>">&raquo; <strong>Add</strong> <select id="boilerplate-<?php print $index; ?>-placement" name="boilerplate[<?php print $index; ?>][placement]" style="width: 8.0em">
629 +<option value="before"<?php print $selected['before']; ?>>before</option>
630 +<option value="after"<?php print $selected['after']; ?>>after</option>
631 +</select> the <select style="width: 8.0em" id="boilerplate-<?php print $index; ?>-element" name="boilerplate[<?php print $index; ?>][element]">
632 +<option value="title"<?php print $selected['title']; ?>>title</option>
633 +<option value="post"<?php print $selected['post']; ?>>content</option>
634 +<option value="excerpt"<?php print $selected['excerpt']; ?>>excerpt</option>
635 +</select> of
636 +<?php print $syndicatedPosts; ?>: <textarea style="vertical-align: top; width: 40%;" rows="2" cols="30" class="boilerplate-template" id="boilerplate-<?php print $index; ?>-template" name="boilerplate[<?php print $index; ?>][template]"><?php print htmlspecialchars($line['template']); ?></textarea></li>
652 637 <?php
653 638 endif;
654 639 endforeach;
655 640 ?>
@@ -689,9 +674,9 @@
689 674 };
690 675 dummy[element]['el'].attr('id', newIdPrefix+'-'+element);
691 676 dummy[element]['el'].attr('name', newNamePrefix+'['+element+']');
692 677 }
693 -
678 +
694 679 var newLi = $('#'+newIdPrefix+'-li').clone(/*events=*/ true);
695 680 //newLi.attr('id', null);
696 681 newLi.removeClass('hide-if-js');
697 682 newLi.addClass('boilerplate-li');
@@ -717,9 +702,9 @@
717 702 ?>
718 703 <h3>Advanced Settings</h3>
719 704 <table class="edit-form narrow">
720 705 <tbody>
721 - <tr><th scope="row"><?php esc_html_e("Hook Order:") ?></th>
706 + <tr><th scope="row"><?php _e("Hook Order:") ?></th>
722 707 <td><input type="number" name="boilerplate_hook_order" value="<?php print esc_attr($hookOrder); ?>" /></td></tr>
723 708 </tbody>
724 709 </table>
725 710 <?php
@@ -735,9 +720,9 @@
735 720 'comments_and_pings_box' => __('Comments & Pings'),
736 721 'custom_post_settings_box' => __('Custom Post Settings (to apply to each syndicated post)'),
737 722 'custom_post_types_box' => ('Custom Post Types (advanced database settings)'),
738 723 );
739 -
724 +
740 725 parent::display();
741 726 } /* FeedWordPressPostsPage::display () */
742 727
743 728