Always pass integer expirations to cache backends.

props SergeyBiryukov, andreasnrb.
fixes #25308.

Built from https://develop.svn.wordpress.org/trunk@25451


git-svn-id: http://core.svn.wordpress.org/trunk@25372 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Andrew Nacin 2013-09-16 17:43:09 +00:00
parent 70edef0df4
commit 85d4685894
2 changed files with 13 additions and 11 deletions

View File

@ -21,10 +21,10 @@
* @param int $expire When the cache data should be expired
* @return bool False if cache key and group already exist, true on success
*/
function wp_cache_add($key, $data, $group = '', $expire = 0) {
function wp_cache_add( $key, $data, $group = '', $expire = 0 ) {
global $wp_object_cache;
return $wp_object_cache->add($key, $data, $group, $expire);
return $wp_object_cache->add( $key, $data, $group, (int) $expire );
}
/**
@ -154,10 +154,10 @@ function wp_cache_init() {
* @param int $expire When to expire the cache contents
* @return bool False if not exists, true if contents were replaced
*/
function wp_cache_replace($key, $data, $group = '', $expire = 0) {
function wp_cache_replace( $key, $data, $group = '', $expire = 0 ) {
global $wp_object_cache;
return $wp_object_cache->replace($key, $data, $group, $expire);
return $wp_object_cache->replace( $key, $data, $group, (int) $expire );
}
/**
@ -173,10 +173,10 @@ function wp_cache_replace($key, $data, $group = '', $expire = 0) {
* @param int $expire When to expire the cache contents
* @return bool False on failure, true on success
*/
function wp_cache_set($key, $data, $group = '', $expire = 0) {
function wp_cache_set( $key, $data, $group = '', $expire = 0 ) {
global $wp_object_cache;
return $wp_object_cache->set($key, $data, $group, $expire);
return $wp_object_cache->set( $key, $data, $group, (int) $expire );
}
/**
@ -320,7 +320,7 @@ class WP_Object_Cache {
* @param int $expire When to expire the cache contents
* @return bool False if cache key and group already exist, true on success
*/
function add( $key, $data, $group = 'default', $expire = '' ) {
function add( $key, $data, $group = 'default', $expire = 0 ) {
if ( wp_suspend_cache_addition() )
return false;
@ -334,7 +334,7 @@ class WP_Object_Cache {
if ( $this->_exists( $id, $group ) )
return false;
return $this->set($key, $data, $group, $expire);
return $this->set( $key, $data, $group, (int) $expire );
}
/**
@ -509,7 +509,7 @@ class WP_Object_Cache {
* @param int $expire When to expire the cache contents
* @return bool False if not exists, true if contents were replaced
*/
function replace( $key, $data, $group = 'default', $expire = '' ) {
function replace( $key, $data, $group = 'default', $expire = 0 ) {
if ( empty( $group ) )
$group = 'default';
@ -520,7 +520,7 @@ class WP_Object_Cache {
if ( ! $this->_exists( $id, $group ) )
return false;
return $this->set( $key, $data, $group, $expire );
return $this->set( $key, $data, $group, (int) $expire );
}
/**
@ -559,7 +559,7 @@ class WP_Object_Cache {
* @param int $expire Not Used
* @return bool Always returns true
*/
function set($key, $data, $group = 'default', $expire = '') {
function set( $key, $data, $group = 'default', $expire = 0 ) {
if ( empty( $group ) )
$group = 'default';

View File

@ -490,6 +490,7 @@ function get_transient( $transient ) {
*/
function set_transient( $transient, $value, $expiration = 0 ) {
$value = apply_filters( 'pre_set_transient_' . $transient, $value );
$expiration = (int) $expiration;
if ( wp_using_ext_object_cache() ) {
$result = wp_cache_set( $transient, $value, 'transient', $expiration );
@ -1049,6 +1050,7 @@ function get_site_transient( $transient ) {
*/
function set_site_transient( $transient, $value, $expiration = 0 ) {
$value = apply_filters( 'pre_set_site_transient_' . $transient, $value );
$expiration = (int) $expiration;
if ( wp_using_ext_object_cache() ) {
$result = wp_cache_set( $transient, $value, 'site-transient', $expiration );