* than the supported will result in the content_width size or 500 if that is
* not set.
*
- * Finally, there is a filter named, 'editor_max_image_size' that will be called
+ * Finally, there is a filter named 'editor_max_image_size', that will be called
* on the calculated array for width and height, respectively. The second
* parameter will be the value that was in the $size parameter. The returned
* type for the hook is an array with the width as the first element and the
* resize services.
*
* @param int $id Attachment ID for image.
- * @param string $size Optional, default is 'medium'. Size of image, can be 'thumbnail'.
+ * @param array|string $size Optional, default is 'medium'. Size of image, either array or string.
* @return bool|array False on failure, array on success.
*/
function image_downsize($id, $size = 'medium') {
/**
* Registers a new image size
+ *
+ * @since 2.9.0
*/
function add_image_size( $name, $width = 0, $height = 0, $crop = false ) {
global $_wp_additional_image_sizes;
/**
* Registers an image size for the post thumbnail
+ *
+ * @since 2.9.0
*/
function set_post_thumbnail_size( $width = 0, $height = 0, $crop = false ) {
add_image_size( 'post-thumbnail', $width, $height, $crop );
return __('The GD image library is not installed.');
// Set artificially high because GD uses uncompressed images in memory
- @ini_set('memory_limit', '256M');
+ @ini_set( 'memory_limit', apply_filters( 'image_memory_limit', WP_MAX_MEMORY_LIMIT ) );
$image = imagecreatefromstring( file_get_contents( $file ) );
if ( !is_resource( $image ) )
}
/**
- * Calculates the new dimentions for a downsampled image.
+ * Calculates the new dimensions for a downsampled image.
*
* If either width or height are empty, no constraint is applied on
* that dimension.
$h = intval( $current_height * $ratio );
// Sometimes, due to rounding, we'll end up with a result like this: 465x700 in a 177x177 box is 117x176... a pixel short
- // We also have issues with recursive calls resulting in an ever-changing result. Contraining to the result of a constraint should yield the original result.
+ // We also have issues with recursive calls resulting in an ever-changing result. Constraining to the result of a constraint should yield the original result.
// Thus we look for dimensions that are one pixel shy of the max value and bump them up
if ( $did_width && $w == $max_width - 1 )
$w = $max_width; // Round it up
* @param int $dest_w New width.
* @param int $dest_h New height.
* @param bool $crop Optional, default is false. Whether to crop image or resize.
- * @return bool|array False, on failure. Returned array matches parameters for imagecopyresampled() PHP function.
+ * @return bool|array False on failure. Returned array matches parameters for imagecopyresampled() PHP function.
*/
function image_resize_dimensions($orig_w, $orig_h, $dest_w, $dest_h, $crop = false) {
* @param int $max_w Maximum width to resize to.
* @param int $max_h Maximum height to resize to.
* @param bool $crop Optional. Whether to crop image or resize.
- * @param string $suffix Optional. File Suffix.
+ * @param string $suffix Optional. File suffix.
* @param string $dest_path Optional. New image file path.
* @param int $jpeg_quality Optional, default is 90. Image quality percentage.
* @return mixed WP_Error on failure. String with new destination path.
}
/**
- * Adds a 'wp-post-image' class to post thumbnail thumbnails
+ * Adds a 'wp-post-image' class to post thumbnails
* Uses the begin_fetch_post_thumbnail_html and end_fetch_post_thumbnail_html action hooks to
- * dynamically add/remove itself so as to only filter post thumbnail thumbnails
+ * dynamically add/remove itself so as to only filter post thumbnails
*
* @since 2.9.0
* @param array $attr Attributes including src, class, alt, title
*
* @since 2.5.0
*
- * @param array $attr Attributes attributed to the shortcode.
+ * @param array $attr Attributes of the shortcode.
* @return string HTML content to display gallery.
*/
function gallery_shortcode($attr) {
- global $post, $wp_locale;
+ global $post;
static $instance = 0;
$instance++;
*
* @since 2.5.0
*
- * @param bool $prev Optional. Default is true to display previous link, true for next.
+ * @param bool $prev Optional. Default is true to display previous link, false for next.
*/
function adjacent_image_link($prev = true, $size = 'thumbnail', $text = false) {
global $post;
var $linkifunknown = true;
/**
- * PHP4 constructor
- */
- function WP_Embed() {
- return $this->__construct();
- }
-
- /**
- * PHP5 constructor
+ * Constructor
*/
function __construct() {
// Hack to get the [embed] shortcode to run before wpautop()
}
/**
- * If a post/page was saved, then output Javascript to make
+ * If a post/page was saved, then output JavaScript to make
* an AJAX request that will call WP_Embed::cache_oembed().
*/
function maybe_run_ajax_cache() {
* @uses update_post_meta()
*
* @param array $attr Shortcode attributes.
- * @param string $url The URL attempting to be embeded.
+ * @param string $url The URL attempting to be embedded.
* @return string The embed HTML on success, otherwise the original URL.
*/
function shortcode( $attr, $url = '' ) {
return apply_filters( 'embed_maybe_make_link', $output, $url );
}
}
-$wp_embed = new WP_Embed();
+$GLOBALS['wp_embed'] = new WP_Embed();
/**
* Register an embed handler. This function should probably only be used for sites that do not support oEmbed.
* @uses _wp_oembed_get_object()
* @uses WP_oEmbed::get_html()
*
- * @param string $url The URL that should be embeded.
- * @param array $args Addtional arguments and parameters.
+ * @param string $url The URL that should be embedded.
+ * @param array $args Additional arguments and parameters.
* @return string The original URL on failure or the embed HTML on success.
*/
function wp_oembed_get( $url, $args = '' ) {
require_once( ABSPATH . WPINC . '/class-oembed.php' );
$oembed = _wp_oembed_get_object();
$oembed->providers[$format] = array( $provider, $regex );
-}
\ No newline at end of file
+}
+
+/**
+ * Determines if default embed handlers should be loaded.
+ *
+ * Checks to make sure that the embeds library hasn't already been loaded. If
+ * it hasn't, then it will load the embeds library.
+ *
+ * @since 2.9.0
+ */
+function wp_maybe_load_embeds() {
+ if ( ! apply_filters( 'load_default_embeds', true ) )
+ return;
+ wp_embed_register_handler( 'googlevideo', '#http://video\.google\.([A-Za-z.]{2,5})/videoplay\?docid=([\d-]+)(.*?)#i', 'wp_embed_handler_googlevideo' );
+}
+
+/**
+ * The Google Video embed handler callback. Google Video does not support oEmbed.
+ *
+ * @see WP_Embed::register_handler()
+ * @see WP_Embed::shortcode()
+ *
+ * @param array $matches The regex matches from the provided regex when calling {@link wp_embed_register_handler()}.
+ * @param array $attr Embed attributes.
+ * @param string $url The original URL that was matched by the regex.
+ * @param array $rawattr The original unmodified attributes.
+ * @return string The embed HTML.
+ */
+function wp_embed_handler_googlevideo( $matches, $attr, $url, $rawattr ) {
+ // If the user supplied a fixed width AND height, use it
+ if ( !empty($rawattr['width']) && !empty($rawattr['height']) ) {
+ $width = (int) $rawattr['width'];
+ $height = (int) $rawattr['height'];
+ } else {
+ list( $width, $height ) = wp_expand_dimensions( 425, 344, $attr['width'], $attr['height'] );
+ }
+
+ return apply_filters( 'embed_googlevideo', '<embed type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docid=' . esc_attr($matches[2]) . '&hl=en&fs=true" style="width:' . esc_attr($width) . 'px;height:' . esc_attr($height) . 'px" allowFullScreen="true" allowScriptAccess="always" />', $matches, $attr, $url, $rawattr );
+}
+
+?>
\ No newline at end of file