Ignore:
Timestamp:
May 2, 2016, 12:09:23 PM (3 years ago)
Author:
jrpelegrina
Message:

Updated to moodle 3.0.3

File:
1 edited

Legend:

Unmodified
Added
Removed
  • moodle/trunk/fuentes/cache/classes/loaders.php

    r136 r1331  
    318318        if ($result === false) {
    319319            if ($this->perfdebug) {
    320                 cache_helper::record_cache_miss($this->storetype, $this->definition->get_id());
     320                cache_helper::record_cache_miss($this->storetype, $this->definition);
    321321            }
    322322            if ($this->loader !== false) {
     
    330330            $setaftervalidation = ($result !== false);
    331331        } else if ($this->perfdebug) {
    332             cache_helper::record_cache_hit($this->storetype, $this->definition->get_id());
     332            cache_helper::record_cache_hit($this->storetype, $this->definition);
    333333        }
    334334        // 5. Validate strictness.
     
    451451        $fullresult = array();
    452452        foreach ($result as $key => $value) {
     453            if (!is_scalar($value)) {
     454                // If data is an object it will be a reference.
     455                // If data is an array if may contain references.
     456                // We want to break references so that the cache cannot be modified outside of itself.
     457                // Call the function to unreference it (in the best way possible).
     458                $value = $this->unref($value);
     459            }
    453460            $fullresult[$parsedkeys[$key]] = $value;
    454461        }
     
    474481                }
    475482            }
    476             cache_helper::record_cache_hit($this->storetype, $this->definition->get_id(), $hits);
    477             cache_helper::record_cache_miss($this->storetype, $this->definition->get_id(), $misses);
     483            cache_helper::record_cache_hit($this->storetype, $this->definition, $hits);
     484            cache_helper::record_cache_miss($this->storetype, $this->definition, $misses);
    478485        }
    479486
     
    501508    public function set($key, $data) {
    502509        if ($this->perfdebug) {
    503             cache_helper::record_cache_set($this->storetype, $this->definition->get_id());
     510            cache_helper::record_cache_set($this->storetype, $this->definition);
    504511        }
    505512        if ($this->loader !== false) {
     
    650657        $successfullyset = $this->store->set_many($data);
    651658        if ($this->perfdebug && $successfullyset) {
    652             cache_helper::record_cache_set($this->storetype, $this->definition->get_id(), $successfullyset);
     659            cache_helper::record_cache_set($this->storetype, $this->definition, $successfullyset);
    653660        }
    654661        return $successfullyset;
     
    10401047        if ($result) {
    10411048            if ($this->perfdebug) {
    1042                 cache_helper::record_cache_hit('** static acceleration **', $this->definition->get_id());
     1049                cache_helper::record_cache_hit('** static acceleration **', $this->definition);
    10431050            }
    10441051            if ($this->staticaccelerationsize > 1 && $this->staticaccelerationcount > 1) {
     
    10541061        } else {
    10551062            if ($this->perfdebug) {
    1056                 cache_helper::record_cache_miss('** static acceleration **', $this->definition->get_id());
     1063                cache_helper::record_cache_miss('** static acceleration **', $this->definition);
    10571064            }
    10581065            return false;
     
    12711278            }
    12721279            // Set the time of the last invalidation.
    1273             $this->set('lastinvalidation', cache::now());
     1280            if ($purgeall || !empty($todelete)) {
     1281                $this->set('lastinvalidation', cache::now());
     1282            }
    12741283        }
    12751284    }
     
    16701679            }
    16711680            // Set the time of the last invalidation.
    1672             $this->set('lastsessioninvalidation', cache::now());
     1681            if ($purgeall || !empty($todelete)) {
     1682                $this->set('lastsessioninvalidation', cache::now());
     1683            }
    16731684        }
    16741685    }
     
    17801791        if ($result === false) {
    17811792            if ($this->perfdebug) {
    1782                 cache_helper::record_cache_miss($this->storetype, $this->get_definition()->get_id());
     1793                cache_helper::record_cache_miss($this->storetype, $this->get_definition());
    17831794            }
    17841795            if ($this->get_loader() !== false) {
     
    17951806            }
    17961807        } else if ($this->perfdebug) {
    1797             cache_helper::record_cache_hit($this->storetype, $this->get_definition()->get_id());
     1808            cache_helper::record_cache_hit($this->storetype, $this->get_definition());
    17981809        }
    17991810        // 5. Validate strictness.
     
    18391850        }
    18401851        if ($this->perfdebug) {
    1841             cache_helper::record_cache_set($this->storetype, $this->get_definition()->get_id());
     1852            cache_helper::record_cache_set($this->storetype, $this->get_definition());
    18421853        }
    18431854        if (is_object($data) && $data instanceof cacheable_object) {
     
    19191930                /* @var cache_cached_object $value */
    19201931                $value = $value->restore_object();
     1932            } else if (!is_scalar($value)) {
     1933                // If data is an object it will be a reference.
     1934                // If data is an array if may contain references.
     1935                // We want to break references so that the cache cannot be modified outside of itself.
     1936                // Call the function to unreference it (in the best way possible).
     1937                $value = $this->unref($value);
    19211938            }
    19221939            $return[$key] = $value;
     
    19631980                }
    19641981            }
    1965             cache_helper::record_cache_hit($this->storetype, $this->get_definition()->get_id(), $hits);
    1966             cache_helper::record_cache_miss($this->storetype, $this->get_definition()->get_id(), $misses);
     1982            cache_helper::record_cache_hit($this->storetype, $this->get_definition(), $hits);
     1983            cache_helper::record_cache_miss($this->storetype, $this->get_definition(), $misses);
    19671984        }
    19681985        return $return;
     
    20412058        $successfullyset = $this->get_store()->set_many($data);
    20422059        if ($this->perfdebug && $successfullyset) {
    2043             cache_helper::record_cache_set($this->storetype, $definitionid, $successfullyset);
     2060            cache_helper::record_cache_set($this->storetype, $this->get_definition(), $successfullyset);
    20442061        }
    20452062        return $successfullyset;
Note: See TracChangeset for help on using the changeset viewer.