Make WordPress Core

Ticket #32052: 04222015-1119_mo_caching.diff

File 04222015-1119_mo_caching.diff, 1.3 KB (added by nicofuma, 10 years ago)

Updated patch to avoid any notice

  • src/wp-includes/pomo/mo.php

    diff --git src/wp-includes/pomo/mo.php src/wp-includes/pomo/mo.php
    index e8eecc1..a1366e5 100644
    class MO extends Gettext_Translations { 
    1919         * Fills up with the entries from MO file $filename
    2020         *
    2121         * @param string $filename MO file to load
     22         * @return boolean
    2223         */
    2324        function import_from_file($filename) {
    24                 $reader = new POMO_FileReader($filename);
    25                 if (!$reader->is_resource())
    26                         return false;
    27                 return $this->import_from_reader($reader);
     25                $data = wp_cache_get($filename, 'translation.mo');
     26                $mtime = filemtime($filename);
     27
     28                if (!$data || $mtime > $data['mtime']) {
     29                        $reader = new POMO_FileReader($filename);
     30                        if (!$reader->is_resource())
     31                                return false;
     32                        $result = $this->import_from_reader($reader);
     33
     34                        if ($result) {
     35                                wp_cache_set($filename, array(
     36                                        'mtime' => $mtime,
     37                                        'entries' => $this->entries,
     38                                        'headers' => $this->headers), 'translation.mo');
     39                        }
     40
     41                        return $result;
     42                } else {
     43                        $this->entries = $data['entries'];
     44                        $this->headers = $data['headers'];
     45
     46                        return true;
     47                }
    2848        }
    2949
    3050        function export_to_file($filename) {
    class MO extends Gettext_Translations { 
    262282                return $this->_nplurals;
    263283        }
    264284}
    265 endif;
    266  No newline at end of file
     285endif;