+ # Check the cache
+ if ( empty( $options['ignoreRedirect'] )
+ && empty( $options['private'] )
+ && empty( $options['bypassCache'] ) )
+ {
+ $useCache = true;
+ $time = isset( $options['time'] ) ? $options['time'] : '';
+ $dbkey = $title->getDBkey();
+ if ( isset( $this->cache[$dbkey][$time] ) ) {
+ wfDebug( __METHOD__.": got File:$dbkey from process cache\n" );
+ # Move it to the end of the list so that we can delete the LRU entry later
+ $tmp = $this->cache[$dbkey];
+ unset( $this->cache[$dbkey] );
+ $this->cache[$dbkey] = $tmp;
+ # Return the entry
+ return $this->cache[$dbkey][$time];
+ } else {
+ # Add a negative cache entry, may be overridden
+ $this->trimCache();
+ $this->cache[$dbkey][$time] = false;
+ $cacheEntry =& $this->cache[$dbkey][$time];
+ }
+ } else {
+ $useCache = false;
+ }
+
+ # Check the local repo
+ $image = $this->localRepo->findFile( $title, $options );