Select Git revision
wp-nginx-map.php
-
shammash authored
We want per-blog traffic stats. Apache noblogs is configured with a single virtualhost, we cannot use the virtualhost name (%v) for these stats, because everything will appear as noblogs.org . We cannot even use the Host header (%{Host}i) because the virtualhost wildcard configuration allows for bogus blog names (e.g. cavalle55e.noblogs.org instead of cavallette.noblogs.org). With this map nginx can lookup a valid blog name (or default to noblogs.org for invalid names) and pass it to apache with an internal header (e.g. X-AI-Noblogs-Site ). Apache will then use this header to produce correct stats. Signed-off-by:
shammash <shammash@autistici.org>
shammash authoredWe want per-blog traffic stats. Apache noblogs is configured with a single virtualhost, we cannot use the virtualhost name (%v) for these stats, because everything will appear as noblogs.org . We cannot even use the Host header (%{Host}i) because the virtualhost wildcard configuration allows for bogus blog names (e.g. cavalle55e.noblogs.org instead of cavallette.noblogs.org). With this map nginx can lookup a valid blog name (or default to noblogs.org for invalid names) and pass it to apache with an internal header (e.g. X-AI-Noblogs-Site ). Apache will then use this header to produce correct stats. Signed-off-by:
shammash <shammash@autistici.org>
class-wp-embed.php 14.40 KiB
<?php
/**
* API for easily embedding rich media such as videos and images into content.
*
* @package WordPress
* @subpackage Embed
* @since 2.9.0
*/
class WP_Embed {
public $handlers = array();
public $post_ID;
public $usecache = true;
public $linkifunknown = true;
public $last_attr = array();
public $last_url = '';
/**
* When a URL cannot be embedded, return false instead of returning a link
* or the URL.
*
* Bypasses the {@see 'embed_maybe_make_link'} filter.
*
* @var bool
*/
public $return_false_on_fail = false;
/**
* Constructor
*/
public function __construct() {
// Hack to get the [embed] shortcode to run before wpautop()
add_filter( 'the_content', array( $this, 'run_shortcode' ), 8 );
add_filter( 'widget_text_content', array( $this, 'run_shortcode' ), 8 );
// Shortcode placeholder for strip_shortcodes()
add_shortcode( 'embed', '__return_false' );
// Attempts to embed all URLs in a post
add_filter( 'the_content', array( $this, 'autoembed' ), 8 );
add_filter( 'widget_text_content', array( $this, 'autoembed' ), 8 );
// After a post is saved, cache oEmbed items via Ajax
add_action( 'edit_form_advanced', array( $this, 'maybe_run_ajax_cache' ) );
add_action( 'edit_page_form', array( $this, 'maybe_run_ajax_cache' ) );
}
/**
* Process the [embed] shortcode.
*
* Since the [embed] shortcode needs to be run earlier than other shortcodes,
* this function removes all existing shortcodes, registers the [embed] shortcode,
* calls do_shortcode(), and then re-registers the old shortcodes.
*
* @global array $shortcode_tags
*
* @param string $content Content to parse
* @return string Content with shortcode parsed
*/
public function run_shortcode( $content ) {
global $shortcode_tags;
// Back up current registered shortcodes and clear them all out
$orig_shortcode_tags = $shortcode_tags;
remove_all_shortcodes();
add_shortcode( 'embed', array( $this, 'shortcode' ) );
// Do the shortcode (only the [embed] one is registered)
$content = do_shortcode( $content, true );