dispatch = 'feedwordpress_posts_settings'; $this->filename = __FILE__; $this->updatedPosts = new UpdatedPostsControl($this); } /* FeedWordPressPostsPage constructor */ function accept_POST ($post) { global $wpdb; // User mashed a Save Changes button if (isset($post['save']) or isset($post['submit'])) : // custom post settings $custom_settings = $this->custom_post_settings(); foreach ($post['notes'] as $mn) : $mn['key0'] = trim($mn['key0']); $mn['key1'] = trim($mn['key1']); if (strlen($mn['key0']) > 0) : unset($custom_settings[$mn['key0']]); // out with the old endif; if (($mn['action']=='update') and (strlen($mn['key1']) > 0)) : $custom_settings[$mn['key1']] = $mn['value']; // in with the new endif; endforeach; $this->updatedPosts->accept_POST($post); if ($this->for_feed_settings()) : $alter = array (); $this->link->settings['postmeta'] = serialize($custom_settings); if (isset($post['resolve_relative'])) : $this->link->settings['resolve relative'] = $post['resolve_relative']; endif; if (isset($post['munge_permalink'])) : $this->link->settings['munge permalink'] = $post['munge_permalink']; endif; if (isset($post['munge_comments_feed_links'])) : $this->link->settings['munge comments feed links'] = $post['munge_comments_feed_links']; endif; // Post status, comment status, ping status foreach (array('post', 'comment', 'ping') as $what) : $sfield = "feed_{$what}_status"; if (isset($post[$sfield])) : if ($post[$sfield]=='site-default') : unset($this->link->settings["{$what} status"]); else : $this->link->settings["{$what} status"] = $post[$sfield]; endif; endif; endforeach; // Save settings $this->link->save_settings(/*reload=*/ true); $this->updated = true; // Reset, reload $link_id = $this->link->id; unset($this->link); $this->link = new SyndicatedLink($link_id); else : // update_option ... if (isset($post['feed_post_status'])) : update_option('feedwordpress_syndicated_post_status', $post['feed_post_status']); endif; update_option('feedwordpress_custom_settings', serialize($custom_settings)); update_option('feedwordpress_munge_permalink', $_REQUEST['munge_permalink']); update_option('feedwordpress_use_aggregator_source_data', $_REQUEST['use_aggregator_source_data']); update_option('feedwordpress_formatting_filters', $_REQUEST['formatting_filters']); if (isset($post['resolve_relative'])) : update_option('feedwordpress_resolve_relative', $post['resolve_relative']); endif; if (isset($post['munge_comments_feed_links'])) : update_option('feedwordpress_munge_comments_feed_links', $post['munge_comments_feed_links']); endif; if (isset($_REQUEST['feed_comment_status']) and ($_REQUEST['feed_comment_status'] == 'open')) : update_option('feedwordpress_syndicated_comment_status', 'open'); else : update_option('feedwordpress_syndicated_comment_status', 'closed'); endif; if (isset($_REQUEST['feed_ping_status']) and ($_REQUEST['feed_ping_status'] == 'open')) : update_option('feedwordpress_syndicated_ping_status', 'open'); else : update_option('feedwordpress_syndicated_ping_status', 'closed'); endif; $this->updated = true; endif; // Probably a "Go" button for the drop-down else : $this->updated = false; endif; } /** * Outputs "Publication" settings box. * * @since 2009.0713 * @param object $page of class FeedWordPressPostsPage tells us whether this is * a page for one feed's settings or for global defaults * @param array $box * * @uses FeedWordPressPostsPage::these_posts_phrase() * @uses FeedWordPress::syndicated_status() * @uses SyndicatedLink::syndicated_status() * @uses SyndicatedPost::use_api() */ /*static*/ function publication_box ($page, $box = NULL) { global $fwp_path; $post_status_global = FeedWordPress::syndicated_status('post', /*default=*/ 'publish'); $thesePosts = $page->these_posts_phrase(); // Set up array for selector $setting = array( 'publish' => array ('label' => "Publish %s immediately", 'checked' => ''), 'draft' => array('label' => "Save %s as drafts", 'checked' => ''), 'private' => array('label' => "Save %s as private posts", 'checked' => ''), ); if (SyndicatedPost::use_api('post_status_pending')) : $setting['pending'] = array('label' => "Hold %s for review; mark as Pending", 'checked' => ''); endif; if ($page->for_feed_settings()) : $href = $fwp_path.'/'.basename(__FILE__); $currently = str_replace('%s', '', strtolower(strtok($setting[$post_status_global]['label'], ';'))); $setting['site-default'] = array('label' => "Use site-wide setting", 'checked' => ''); $setting['site-default']['label'] .= " (currently: ${currently})"; $checked = $page->link->syndicated_status('post', 'site-default', /*fallback=*/ false); else : $checked = $post_status_global; endif; // Re-order appropriately $selector = array(); $order = array( 'site-default', 'publish', 'pending', 'draft', 'private', ); foreach ($order as $line) : if (isset($setting[$line])) : $selector[$line] = $setting[$line]; endif; endforeach; $selector[$checked]['checked'] = ' checked="checked"'; // Hey ho, let's go... ?>
| Formatting filters: |
If you have trouble getting plugins to work that are supposed to insert
elements after posts (like relevant links or a social networking
|
|---|---|
| Relative URIs: | If link or image in a syndicated post from
refers to a partial URI like /about, where should
the syndicated copy point to?
|
| Permalinks point to: | |
|---|---|
| Posts from aggregator feeds: |
Some feeds (for example, those produced by FeedWordPress) aggregate content from several different sources, and include information about the original source of the post. This setting controls what FeedWordPress will give as the source of posts from such an aggregator feed. |
| : | |
|---|---|
When WordPress feeds and templates link to comments feeds for these_posts_phrase(); ?>, the URLs for the feeds should... |
Custom fields can be used to add extra metadata to a post that you can use in your theme.
| Key | Value | Action |
|---|---|---|
|
Enter a text value, or a path to a data element from the syndicated item. |
add new setting... |
Syndicated posts settings updated.