| @@ -1,64 +1,51 @@ | ||
| 1 | 1 | <?php |
| 2 | 2 | class UpdatedPostsControl { |
| 3 | 3 | var $page; |
| 4 | - function __construct( &$page ) { | |
| 4 | + function UpdatedPostsControl ($page) { | |
| 5 | 5 | $this->page =& $page; |
| 6 | 6 | } /* UpdatedPostsControl constructor */ |
| 7 | 7 | |
| 8 | - function UpdatedPostsControl( &$page ) { | |
| 9 | - self::__construct( $page ); | |
| 10 | - } | |
| 11 | - | |
| 12 | 8 | function display () { |
| 13 | - $settings = array( | |
| 14 | - // This is all bass-ackwards because the actual yes/no | |
| 15 | - // setting is whether to *freeze* posts out of being | |
| 16 | - // updated, not whether to *expose* it to being updated, | |
| 17 | - // but in the UI we ask whether the user wants to | |
| 18 | - // *expose* it. I have my reasons. Stop judging me! | |
| 19 | - 'no' => __('Yes, update the syndicated copy to match'), | |
| 20 | - 'yes' => __('No, leave the syndicated copy unmodified'), | |
| 9 | + $setting = array( | |
| 10 | + 'yes' => 'leave unmodified', | |
| 11 | + 'no' => 'update to match', | |
| 21 | 12 | ); |
| 22 | - $params = array( | |
| 23 | - 'setting-default' => 'default', | |
| 24 | - 'global-setting-default' => 'no', | |
| 25 | - 'labels' => array('yes' => 'leave unmodified', 'no' => 'update to match'), | |
| 26 | - 'default-input-value' => 'default', | |
| 27 | - ); | |
| 28 | - | |
| 13 | + | |
| 14 | + $global_freeze_updates = get_option('feedwordpress_freeze_updates', 'no'); | |
| 29 | 15 | if ($this->page->for_feed_settings()) : |
| 30 | 16 | $aFeed = 'this feed'; |
| 17 | + $freeze_updates = $this->page->link->setting('freeze updates', NULL, 'default'); | |
| 31 | 18 | else : |
| 32 | 19 | $aFeed = 'a syndicated feed'; |
| 20 | + $freeze_updates = $global_freeze_updates; | |
| 33 | 21 | endif; |
| 34 | 22 | ?> |
| 35 | 23 | <tr> |
| 36 | - <th scope="row"><?php esc_html_e('Updated posts:') ?></th> | |
| 37 | - <td><p>When <?php print esc_html( $aFeed ); ?> includes updated content for | |
| 24 | + <th scope="row"><?php _e('Updated posts:') ?></th> | |
| 25 | + <td><p>When <?php print $aFeed; ?> includes updated content for | |
| 38 | 26 | a post that was already syndicated, should the syndicated copy |
| 39 | 27 | of the post be updated to match the revised version?</p> |
| 40 | - | |
| 41 | - <?php | |
| 42 | - $this->page->setting_radio_control( | |
| 43 | - 'freeze updates', 'freeze_updates', | |
| 44 | - $settings, $params | |
| 45 | - ); | |
| 46 | - ?> | |
| 47 | - | |
| 48 | - </td></tr> | |
| 28 | + <ul> | |
| 29 | + <?php if ($this->page->for_feed_settings()) : ?> | |
| 30 | + <li><label><input type="radio" name="freeze_updates" value="default" <?php print ($freeze_updates=='default') ? 'checked="checked"':'' ?> /> Use the <a href="admin.php?page=<?php print $GLOBALS['fwp_path'] ?>/<?php print basename(__FILE__); ?>">site-wide setting</a> (currently: <strong><?php print $setting[$global_freeze_updates]; ?></strong>)</label></li> | |
| 31 | + <?php endif; ?> | |
| 32 | + <li><label><input type="radio" name="freeze_updates" value="no" <?php print ($freeze_updates!='yes' and $freeze_updates!='default') ? 'checked="checked"':'' ?> /> Yes, update the syndicated copy to match</label></li> | |
| 33 | + <li><label><input type="radio" name="freeze_updates" value="yes" <?php print ($freeze_updates=='yes') ? 'checked="checked"':'' ?> /> No, leave the syndicated copy unmodified</label></li> | |
| 34 | + </ul></td> | |
| 35 | + </tr> | |
| 49 | 36 | <?php |
| 50 | 37 | } /* UpdatedPostsControl::display() */ |
| 51 | 38 | |
| 52 | - function accept_POST () { | |
| 39 | + function accept_POST ($post) { | |
| 53 | 40 | if ($this->page->for_feed_settings()) : |
| 54 | - if ( ! is_null( FeedWordPress::post( 'freeze_updates' ) ) ) : | |
| 55 | - $this->page->link->settings['freeze updates'] = FeedWordPress::post( 'freeze_updates' ); | |
| 41 | + if (isset($post['freeze_updates'])) : | |
| 42 | + $this->page->link->settings['freeze updates'] = $post['freeze_updates']; | |
| 56 | 43 | endif; |
| 57 | 44 | else : |
| 58 | 45 | // Updated posts |
| 59 | - if ( ! is_null( FeedWordPress::post( 'freeze_updates' ) ) ) : | |
| 60 | - update_option('feedwordpress_freeze_updates', FeedWordPress::post( 'freeze_updates' )); | |
| 46 | + if (isset($post['freeze_updates'])) : | |
| 47 | + update_option('feedwordpress_freeze_updates', $post['freeze_updates']); | |
| 61 | 48 | endif; |
| 62 | 49 | endif; |
| 63 | 50 | } /* UpdatedPostsControl::accept_POST() */ |
| 64 | 51 | } /* class UpdatedPostsControl */ |