[ Index ]

PHP Cross Reference of MediaWiki-1.24.0

title

Body

[close]

/includes/revisiondelete/ -> RevDelArchiveItem.php (source)

   1  <?php
   2  /**
   3   * This program is free software; you can redistribute it and/or modify
   4   * it under the terms of the GNU General Public License as published by
   5   * the Free Software Foundation; either version 2 of the License, or
   6   * (at your option) any later version.
   7   *
   8   * This program is distributed in the hope that it will be useful,
   9   * but WITHOUT ANY WARRANTY; without even the implied warranty of
  10   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11   * GNU General Public License for more details.
  12   *
  13   * You should have received a copy of the GNU General Public License along
  14   * with this program; if not, write to the Free Software Foundation, Inc.,
  15   * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  16   * http://www.gnu.org/copyleft/gpl.html
  17   *
  18   * @file
  19   * @ingroup RevisionDelete
  20   */
  21  
  22  /**
  23   * Item class for a archive table row
  24   */
  25  class RevDelArchiveItem extends RevDelRevisionItem {
  26  	public function __construct( $list, $row ) {
  27          RevDelItem::__construct( $list, $row );
  28          $this->revision = Revision::newFromArchiveRow( $row,
  29              array( 'page' => $this->list->title->getArticleID() ) );
  30      }
  31  
  32  	public function getIdField() {
  33          return 'ar_timestamp';
  34      }
  35  
  36  	public function getTimestampField() {
  37          return 'ar_timestamp';
  38      }
  39  
  40  	public function getAuthorIdField() {
  41          return 'ar_user';
  42      }
  43  
  44  	public function getAuthorNameField() {
  45          return 'ar_user_text';
  46      }
  47  
  48  	public function getId() {
  49          # Convert DB timestamp to MW timestamp
  50          return $this->revision->getTimestamp();
  51      }
  52  
  53  	public function setBits( $bits ) {
  54          $dbw = wfGetDB( DB_MASTER );
  55          $dbw->update( 'archive',
  56              array( 'ar_deleted' => $bits ),
  57              array(
  58                  'ar_namespace' => $this->list->title->getNamespace(),
  59                  'ar_title' => $this->list->title->getDBkey(),
  60                  // use timestamp for index
  61                  'ar_timestamp' => $this->row->ar_timestamp,
  62                  'ar_rev_id' => $this->row->ar_rev_id,
  63                  'ar_deleted' => $this->getBits()
  64              ),
  65              __METHOD__ );
  66  
  67          return (bool)$dbw->affectedRows();
  68      }
  69  
  70  	protected function getRevisionLink() {
  71          $date = htmlspecialchars( $this->list->getLanguage()->userTimeAndDate(
  72              $this->revision->getTimestamp(), $this->list->getUser() ) );
  73  
  74          if ( $this->isDeleted() && !$this->canViewContent() ) {
  75              return $date;
  76          }
  77  
  78          return Linker::link(
  79              SpecialPage::getTitleFor( 'Undelete' ),
  80              $date,
  81              array(),
  82              array(
  83                  'target' => $this->list->title->getPrefixedText(),
  84                  'timestamp' => $this->revision->getTimestamp()
  85              )
  86          );
  87      }
  88  
  89  	protected function getDiffLink() {
  90          if ( $this->isDeleted() && !$this->canViewContent() ) {
  91              return $this->list->msg( 'diff' )->escaped();
  92          }
  93  
  94          return Linker::link(
  95              SpecialPage::getTitleFor( 'Undelete' ),
  96              $this->list->msg( 'diff' )->escaped(),
  97              array(),
  98              array(
  99                  'target' => $this->list->title->getPrefixedText(),
 100                  'diff' => 'prev',
 101                  'timestamp' => $this->revision->getTimestamp()
 102              )
 103          );
 104      }
 105  }


Generated: Fri Nov 28 14:03:12 2014 Cross-referenced by PHPXref 0.7.1