WordPress.org

Make WordPress Core

Ticket #8146: wp_clone.diff

File wp_clone.diff, 1.1 KB (added by ryan, 12 years ago)

wp_clone()

  • wp-includes/functions.php

     
    28722872        return $current_suspend;
    28732873}
    28742874
     2875function wp_clone($object) {
     2876  return version_compare(phpversion(), '5.0') < 0 ? $object : clone($object);
     2877}
     2878
     2879
    28752880?>
  • wp-includes/cache.php

     
    313313
    314314                if (isset ($this->cache[$group][$id])) {
    315315                        $this->cache_hits += 1;
    316                         return $this->cache[$group][$id];
     316                        if ( is_object($this->cache[$group][$id]) )
     317                                return wp_clone($this->cache[$group][$id]);
     318                        else
     319                                return $this->cache[$group][$id];
    317320                }
    318321
    319322                if ( isset ($this->non_existant_objects[$group][$id]) )
     
    373376                if (NULL === $data)
    374377                        $data = '';
    375378
     379                if ( is_object($data) )
     380                        $data = wp_clone($data);
     381
    376382                $this->cache[$group][$id] = $data;
    377383
    378384                if(isset($this->non_existant_objects[$group][$id]))