summaryrefslogtreecommitdiffstats
path: root/wp-includes
diff options
context:
space:
mode:
authordonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2008-04-25 09:03:55 +0000
committerdonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2008-04-25 09:03:55 +0000
commit4dbe26b26fe556c71cc38e2531110bc63f351b4d (patch)
treede454a939b6567f1eef16952ff4ba883548eb498 /wp-includes
parentbc31549fc8053f8bc6502c337707168d5e66c508 (diff)
downloadwordpress-mu-4dbe26b26fe556c71cc38e2531110bc63f351b4d.tar.gz
wordpress-mu-4dbe26b26fe556c71cc38e2531110bc63f351b4d.tar.xz
wordpress-mu-4dbe26b26fe556c71cc38e2531110bc63f351b4d.zip
WP Merge to revision 7826
git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@1266 7be80a69-a1ef-0310-a953-fb0f7c49ff36
Diffstat (limited to 'wp-includes')
-rw-r--r--wp-includes/formatting.php5
-rw-r--r--wp-includes/js/autosave.js8
-rw-r--r--wp-includes/media.php10
-rw-r--r--wp-includes/pluggable.php15
-rw-r--r--wp-includes/script-loader.php2
-rw-r--r--wp-includes/shortcodes.php50
-rw-r--r--wp-includes/version.php2
7 files changed, 42 insertions, 50 deletions
diff --git a/wp-includes/formatting.php b/wp-includes/formatting.php
index 3446671..052445d 100644
--- a/wp-includes/formatting.php
+++ b/wp-includes/formatting.php
@@ -26,7 +26,7 @@ function wptexturize($text) {
for ( $i = 0; $i < $stop; $i++ ) {
$curl = $textarr[$i];
- if (isset($curl{0}) && '<' != $curl{0} && '[' != $curl{0} && $next) { // If it's not a tag or shortcode
+ if (isset($curl{0}) && '<' != $curl{0} && '[' != $curl{0} && $next) { // If it's not a tag
// static strings
$curl = str_replace($static_characters, $static_replacements, $curl);
// regular expressions
@@ -74,7 +74,6 @@ function wpautop($pee, $br = 1) {
$pee = preg_replace("/\n\n+/", "\n\n", $pee); // take care of duplicates
$pee = preg_replace('/\n?(.+?)(?:\n\s*\n|\z)/s', "<p>$1</p>\n", $pee); // make paragraphs, including one at the end
$pee = preg_replace('|<p>\s*?</p>|', '', $pee); // under certain strange conditions it could create a P of entirely whitespace
- $pee = preg_replace('/<p>(\s*?' . get_shortcode_regex(true) . '\s*)<\/p>/s', '$1', $pee); // don't auto-p wrap post-formatting shortcodes
$pee = preg_replace('!<p>([^<]+)\s*?(</(?:div|address|form)[^>]*>)!', "<p>$1</p>$2", $pee);
$pee = preg_replace( '|<p>|', "$1<p>", $pee );
$pee = preg_replace('!<p>\s*(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee); // don't pee all over a tag
@@ -93,6 +92,7 @@ function wpautop($pee, $br = 1) {
if (strpos($pee, '<pre') !== false)
$pee = preg_replace_callback('!(<pre.*?>)(.*?)</pre>!is', 'clean_pre', $pee );
$pee = preg_replace( "|\n</p>$|", '</p>', $pee );
+ $pee = preg_replace('/<p>\s*?(' . get_shortcode_regex() . ')\s*<\/p>/s', '$1', $pee); // don't auto-p wrap shortcodes that stand alone
return $pee;
}
@@ -841,7 +841,6 @@ function wp_trim_excerpt($text) { // Fakes an excerpt if needed
$text = get_the_content('');
$text = apply_filters('the_content', $text);
$text = str_replace(']]>', ']]&gt;', $text);
- $text = preg_replace('|//\s*<!\[CDATA\[|', '<![CDATA[', $text);
$text = strip_tags($text);
$excerpt_length = 55;
$words = explode(' ', $text, $excerpt_length + 1);
diff --git a/wp-includes/js/autosave.js b/wp-includes/js/autosave.js
index c9e5fb1..b0a2fa5 100644
--- a/wp-includes/js/autosave.js
+++ b/wp-includes/js/autosave.js
@@ -56,13 +56,14 @@ function autosave_saved_new(response) {
if ( res && res.responses.length && !res.errors ) {
var tempID = jQuery('#post_ID').val();
var postID = parseInt( res.responses[0].id );
- autosave_update_post_ID( postID );
+ autosave_update_post_ID( postID ); // disabled form buttons are re-enabled here
if ( tempID < 0 && postID > 0) // update media buttons
jQuery('#media-buttons a').each(function(){
this.href = this.href.replace(tempID, postID);
});
+ } else {
+ autosave_enable_buttons(); // re-enable disabled form buttons
}
- autosave_enable_buttons(); // re-enable disabled form buttons
}
function autosave_update_post_ID( postID ) {
@@ -78,6 +79,7 @@ function autosave_update_post_ID( postID ) {
post_type: jQuery('#post_type').val()
}, function(html) {
jQuery('#_wpnonce').val(html);
+ autosave_enable_buttons(); // re-enable disabled form buttons
});
jQuery('#hiddenaction').val('editpost');
}
@@ -127,7 +129,7 @@ function autosave_enable_buttons() {
function autosave_disable_buttons() {
jQuery("#submitpost :button:enabled, #submitpost :submit:enabled").attr('disabled', 'disabled');
- setTimeout(autosave_enable_buttons, 1000); // Re-enable 1 sec later. Just gives autosave a head start to avoid collisions.
+ setTimeout(autosave_enable_buttons, 5000); // Re-enable 5 sec later. Just gives autosave a head start to avoid collisions.
}
var autosave = function() {
diff --git a/wp-includes/media.php b/wp-includes/media.php
index e62be36..f43a2f0 100644
--- a/wp-includes/media.php
+++ b/wp-includes/media.php
@@ -287,7 +287,7 @@ function image_get_intermediate_size($post_id, $size='thumbnail') {
if ( is_array($size) || empty($size) || empty($imagedata['sizes'][$size]) )
return false;
-
+
$data = $imagedata['sizes'][$size];
// include the full filesystem path of the intermediate file
if ( empty($data['path']) && !empty($data['file']) ) {
@@ -301,7 +301,7 @@ function image_get_intermediate_size($post_id, $size='thumbnail') {
// get an image to represent an attachment - a mime icon for files, thumbnail or intermediate size for images
// returns an array (url, width, height), or false if no image is available
function wp_get_attachment_image_src($attachment_id, $size='thumbnail', $icon = false) {
-
+
// get a thumbnail or intermediate image if there is one
if ( $image = image_downsize($attachment_id, $size) )
return $image;
@@ -328,11 +328,11 @@ function wp_get_attachment_image($attachment_id, $size='thumbnail', $icon = fals
$size = join('x', $size);
$html = '<img src="'.attribute_escape($src).'" '.$hwstring.'class="attachment-'.attribute_escape($size).'" alt="" />';
}
-
+
return $html;
}
-add_shortcode('gallery', 'gallery_shortcode', true);
+add_shortcode('gallery', 'gallery_shortcode');
function gallery_shortcode($attr) {
global $post;
@@ -377,7 +377,7 @@ function gallery_shortcode($attr) {
$captiontag = tag_escape($captiontag);
$columns = intval($columns);
$itemwidth = $columns > 0 ? floor(100/$columns) : 100;
-
+
$output = apply_filters('gallery_style', "
<style type='text/css'>
.gallery {
diff --git a/wp-includes/pluggable.php b/wp-includes/pluggable.php
index 4a35347..eabf1ae 100644
--- a/wp-includes/pluggable.php
+++ b/wp-includes/pluggable.php
@@ -480,7 +480,11 @@ function wp_validate_auth_cookie($cookie = '') {
$cookie = $_COOKIE[AUTH_COOKIE];
}
- list($username, $expiration, $hmac) = explode('|', $cookie);
+ $cookie_elements = explode('|', $cookie);
+ if ( count($cookie_elements) != 3 )
+ return false;
+
+ list($username, $expiration, $hmac) = $cookie_elements;
$expired = $expiration;
@@ -488,11 +492,12 @@ function wp_validate_auth_cookie($cookie = '') {
if ( defined('DOING_AJAX') || 'POST' == $_SERVER['REQUEST_METHOD'] )
$expired += 3600;
+ // Quick check to see if an honest cookie has expired
if ( $expired < time() )
return false;
- $key = wp_hash($username . $expiration);
- $hash = hash_hmac('md5', $username . $expiration, $key);
+ $key = wp_hash($username . '|' . $expiration);
+ $hash = hash_hmac('md5', $username . '|' . $expiration, $key);
if ( $hmac != $hash )
return false;
@@ -520,8 +525,8 @@ if ( !function_exists('wp_generate_auth_cookie') ) :
function wp_generate_auth_cookie($user_id, $expiration) {
$user = get_userdata($user_id);
- $key = wp_hash($user->user_login . $expiration);
- $hash = hash_hmac('md5', $user->user_login . $expiration, $key);
+ $key = wp_hash($user->user_login . '|' . $expiration);
+ $hash = hash_hmac('md5', $user->user_login . '|' . $expiration, $key);
$cookie = $user->user_login . '|' . $expiration . '|' . $hash;
diff --git a/wp-includes/script-loader.php b/wp-includes/script-loader.php
index 25963ff..4a6fc28 100644
--- a/wp-includes/script-loader.php
+++ b/wp-includes/script-loader.php
@@ -47,7 +47,7 @@ class WP_Scripts {
'broken' => __('An unidentified error has occurred.')
) );
- $this->add( 'autosave', '/wp-includes/js/autosave.js', array('schedule', 'wp-ajax-response'), '20080422' );
+ $this->add( 'autosave', '/wp-includes/js/autosave.js', array('schedule', 'wp-ajax-response'), '20080424' );
$this->add( 'wp-ajax', '/wp-includes/js/wp-ajax.js', array('prototype'), '20070306');
$this->localize( 'wp-ajax', 'WPAjaxL10n', array(
diff --git a/wp-includes/shortcodes.php b/wp-includes/shortcodes.php
index 791710b..907f7ff 100644
--- a/wp-includes/shortcodes.php
+++ b/wp-includes/shortcodes.php
@@ -47,18 +47,17 @@ add_shortcode('baztag', 'baztag_func');
$shortcode_tags = array();
-function add_shortcode($tag, $func, $after_formatting = false) {
+function add_shortcode($tag, $func) {
global $shortcode_tags;
- if ( is_callable($func) ) {
- $shortcode_tags[($after_formatting)? 11:9][$tag] = $func;
- }
+ if ( is_callable($func) )
+ $shortcode_tags[$tag] = $func;
}
function remove_shortcode($tag) {
global $shortcode_tags;
- unset($shortcode_tags[9][$tag], $shortcode_tags[11][$tag]);
+ unset($shortcode_tags[$tag]);
}
function remove_all_shortcodes() {
@@ -67,37 +66,25 @@ function remove_all_shortcodes() {
$shortcode_tags = array();
}
-function do_shortcode_after_formatting($content) {
- return do_shortcode($content, true);
-}
-function do_shortcode($content, $after_formatting = false) {
- $pattern = get_shortcode_regex($after_formatting);
- if (!$pattern) {
- return $content;
- } else {
- $callback_func = 'do_shortcode_tag';
- if ($after_formatting)
- $callback_func .= '_after_formatting';
-
- return preg_replace_callback('/' . $pattern . '/s', $callback_func, $content);
- }
-}
-function get_shortcode_regex($after_formatting) {
+function do_shortcode($content) {
global $shortcode_tags;
- if (empty($shortcode_tags[($after_formatting)? 11:9]) || !is_array($shortcode_tags[($after_formatting)? 11:9]))
- return false;
+ if (empty($shortcode_tags) || !is_array($shortcode_tags))
+ return $content;
- $tagnames = array_keys($shortcode_tags[($after_formatting)? 11:9]);
+ $pattern = get_shortcode_regex();
+ return preg_replace_callback('/'.$pattern.'/s', 'do_shortcode_tag', $content);
+}
+
+function get_shortcode_regex() {
+ global $shortcode_tags;
+ $tagnames = array_keys($shortcode_tags);
$tagregexp = join( '|', array_map('preg_quote', $tagnames) );
return '\[('.$tagregexp.')\b(.*?)(?:(\/))?\](?:(.+?)\[\/\1\])?';
}
-function do_shortcode_tag_after_formatting($m) {
- return do_shortcode_tag($m, true);
-}
-function do_shortcode_tag($m, $after_formatting = false) {
+function do_shortcode_tag($m) {
global $shortcode_tags;
$tag = $m[1];
@@ -105,10 +92,10 @@ function do_shortcode_tag($m, $after_formatting = false) {
if ( isset($m[4]) ) {
// enclosing tag - extra parameter
- return call_user_func($shortcode_tags[($after_formatting)? 11:9][$tag], $attr, $m[4]);
+ return call_user_func($shortcode_tags[$tag], $attr, $m[4]);
} else {
// self-closing tag
- return call_user_func($shortcode_tags[($after_formatting)? 11:9][$tag], $attr);
+ return call_user_func($shortcode_tags[$tag], $attr);
}
}
@@ -147,7 +134,6 @@ function shortcode_atts($pairs, $atts) {
return $out;
}
-add_filter( 'the_content', 'do_shortcode', 9 );
-add_filter( 'the_content', 'do_shortcode_after_formatting', 11 );
+add_filter('the_content', 'do_shortcode', 11); // AFTER wpautop()
?>
diff --git a/wp-includes/version.php b/wp-includes/version.php
index 62f18c6..0a79a44 100644
--- a/wp-includes/version.php
+++ b/wp-includes/version.php
@@ -8,7 +8,7 @@
*
* @global string $wp_version
*/
-$wp_version = '2.5.1';
+$wp_version = '2.5.1-beta';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB scheme