示例#1
0
 /**
  * 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);
 }
示例#2
0
 /**
  * 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);
 }
示例#3
0
	/**
	 * 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 );
	}