/** * Fetch a file and its title and register a reference to it. * If 'broken' is a key in $options then the file will appear as a broken thumbnail. * @param Title $title * @param Array $options Array of options to RepoGroup::findFile * @return Array ( File or false, Title of file ) */ function fetchFileAndTitle($title, $options = array()) { if (isset($options['broken'])) { $file = false; // broken thumbnail forced by hook } elseif (isset($options['sha1'])) { // get by (sha1,timestamp) $file = RepoGroup::singleton()->findFileFromKey($options['sha1'], $options); } else { // get by (name,timestamp) $file = wfFindFile($title, $options); } $time = $file ? $file->getTimestamp() : false; $sha1 = $file ? $file->getSha1() : false; # Register the file as a dependency... $this->mOutput->addImage($title->getDBkey(), $time, $sha1); if ($file && !$title->equals($file->getTitle())) { # Update fetched file title $title = $file->getTitle(); if (is_null($file->getRedirectedTitle())) { # This file was not a redirect, but the title does not match. # Register under the new name because otherwise the link will # get lost. $this->mOutput->addImage($title->getDBkey(), $time, $sha1); } } return array($file, $title); }
/** * Fetch a file and its title and register a reference to it. * If 'broken' is a key in $options then the file will appear as a broken thumbnail. * @param Title $title * @param array $options Array of options to RepoGroup::findFile * @return Array ( File or false, Title of file ) */ function fetchFileAndTitle($title, $options = array()) { $file = $this->fetchFileNoRegister($title, $options); $time = $file ? $file->getTimestamp() : false; $sha1 = $file ? $file->getSha1() : false; # Register the file as a dependency... $this->mOutput->addImage($title->getDBkey(), $time, $sha1); if ($file && !$title->equals($file->getTitle())) { # Update fetched file title $title = $file->getTitle(); $this->mOutput->addImage($title->getDBkey(), $time, $sha1); } return array($file, $title); }
/** * Fetch a file and its title and register a reference to it. * If 'broken' is a key in $options then the file will appear as a broken thumbnail. * @param Title $title * @param array $options Array of options to RepoGroup::findFile * @return Array ( File or false, Title of file ) */ function fetchFileAndTitle( $title, $options = array() ) { $file = $this->fetchFileNoRegister( $title, $options ); $time = $file ? $file->getTimestamp() : false; $sha1 = $file ? $file->getSha1() : false; # Register the file as a dependency... $this->mOutput->addImage( $title->getDBkey(), $time, $sha1 ); if ( $file && !$title->equals( $file->getTitle() ) ) { # Update fetched file title $title = $file->getTitle(); if ( is_null( $file->getRedirectedTitle() ) ) { # This file was not a redirect, but the title does not match. # Register under the new name because otherwise the link will # get lost. $this->mOutput->addImage( $title->getDBkey(), $time, $sha1 ); } } return array( $file, $title ); }