X-Git-Url: https://scripts.mit.edu/gitweb/autoinstallsdev/mediawiki.git/blobdiff_plain/19e297c21b10b1b8a3acad5e73fc71dcb35db44a..6932310fd58ebef145fa01eb76edf7150284d8ea:/includes/filerepo/OldLocalFile.php diff --git a/includes/filerepo/OldLocalFile.php b/includes/filerepo/OldLocalFile.php deleted file mode 100644 index 9efe998f..00000000 --- a/includes/filerepo/OldLocalFile.php +++ /dev/null @@ -1,208 +0,0 @@ -oi_name ); - $file = new self( $title, $repo, null, $row->oi_archive_name ); - $file->loadFromRow( $row, 'oi_' ); - return $file; - } - - static function newFromKey( $sha1, $repo, $timestamp = false ) { - $conds = array( 'oi_sha1' => $sha1 ); - if( $timestamp ) { - $conds['oi_timestamp'] = $timestamp; - } - $dbr = $repo->getSlaveDB(); - $row = $dbr->selectRow( 'oldimage', self::selectFields(), $conds, __METHOD__ ); - if( $row ) { - return self::newFromRow( $row, $repo ); - } else { - return false; - } - } - - /** - * Fields in the oldimage table - */ - static function selectFields() { - return array( - 'oi_name', - 'oi_archive_name', - 'oi_size', - 'oi_width', - 'oi_height', - 'oi_metadata', - 'oi_bits', - 'oi_media_type', - 'oi_major_mime', - 'oi_minor_mime', - 'oi_description', - 'oi_user', - 'oi_user_text', - 'oi_timestamp', - 'oi_deleted', - 'oi_sha1', - ); - } - - /** - * @param $title Title - * @param $repo FileRepo - * @param $time String: timestamp or null to load by archive name - * @param $archiveName String: archive name or null to load by timestamp - */ - function __construct( $title, $repo, $time, $archiveName ) { - parent::__construct( $title, $repo ); - $this->requestedTime = $time; - $this->archive_name = $archiveName; - if ( is_null( $time ) && is_null( $archiveName ) ) { - throw new MWException( __METHOD__.': must specify at least one of $time or $archiveName' ); - } - } - - function getCacheKey() { - return false; - } - - function getArchiveName() { - if ( !isset( $this->archive_name ) ) { - $this->load(); - } - return $this->archive_name; - } - - function isOld() { - return true; - } - - function isVisible() { - return $this->exists() && !$this->isDeleted(File::DELETED_FILE); - } - - function loadFromDB() { - wfProfileIn( __METHOD__ ); - $this->dataLoaded = true; - $dbr = $this->repo->getSlaveDB(); - $conds = array( 'oi_name' => $this->getName() ); - if ( is_null( $this->requestedTime ) ) { - $conds['oi_archive_name'] = $this->archive_name; - } else { - $conds[] = 'oi_timestamp = ' . $dbr->addQuotes( $dbr->timestamp( $this->requestedTime ) ); - } - $row = $dbr->selectRow( 'oldimage', $this->getCacheFields( 'oi_' ), - $conds, __METHOD__, array( 'ORDER BY' => 'oi_timestamp DESC' ) ); - if ( $row ) { - $this->loadFromRow( $row, 'oi_' ); - } else { - $this->fileExists = false; - } - wfProfileOut( __METHOD__ ); - } - - function getCacheFields( $prefix = 'img_' ) { - $fields = parent::getCacheFields( $prefix ); - $fields[] = $prefix . 'archive_name'; - $fields[] = $prefix . 'deleted'; - return $fields; - } - - function getRel() { - return 'archive/' . $this->getHashPath() . $this->getArchiveName(); - } - - function getUrlRel() { - return 'archive/' . $this->getHashPath() . rawurlencode( $this->getArchiveName() ); - } - - function upgradeRow() { - wfProfileIn( __METHOD__ ); - $this->loadFromFile(); - - # Don't destroy file info of missing files - if ( !$this->fileExists ) { - wfDebug( __METHOD__.": file does not exist, aborting\n" ); - wfProfileOut( __METHOD__ ); - return; - } - - $dbw = $this->repo->getMasterDB(); - list( $major, $minor ) = self::splitMime( $this->mime ); - - wfDebug(__METHOD__.': upgrading '.$this->archive_name." to the current schema\n"); - $dbw->update( 'oldimage', - array( - 'oi_width' => $this->width, - 'oi_height' => $this->height, - 'oi_bits' => $this->bits, - 'oi_media_type' => $this->media_type, - 'oi_major_mime' => $major, - 'oi_minor_mime' => $minor, - 'oi_metadata' => $this->metadata, - 'oi_sha1' => $this->sha1, - ), array( - 'oi_name' => $this->getName(), - 'oi_archive_name' => $this->archive_name ), - __METHOD__ - ); - wfProfileOut( __METHOD__ ); - } - - /** - * @param $field Integer: one of DELETED_* bitfield constants - * for file or revision rows - * @return bool - */ - function isDeleted( $field ) { - $this->load(); - return ($this->deleted & $field) == $field; - } - - /** - * Returns bitfield value - * @return int - */ - function getVisibility() { - $this->load(); - return (int)$this->deleted; - } - - /** - * Determine if the current user is allowed to view a particular - * field of this image file, if it's marked as deleted. - * - * @param $field Integer - * @return bool - */ - function userCan( $field ) { - $this->load(); - return Revision::userCanBitfield( $this->deleted, $field ); - } -}