[ Index ]

PHP Cross Reference of MediaWiki-1.24.0

title

Body

[close]

/includes/revisiondelete/ -> RevDelLogList.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   * List for logging table items
  24   */
  25  class RevDelLogList extends RevDelList {
  26  	public function getType() {
  27          return 'logging';
  28      }
  29  
  30  	public static function getRelationType() {
  31          return 'log_id';
  32      }
  33  
  34  	public static function getRestriction() {
  35          return 'deletelogentry';
  36      }
  37  
  38  	public static function getRevdelConstant() {
  39          return LogPage::DELETED_ACTION;
  40      }
  41  
  42  	public static function suggestTarget( $target, array $ids ) {
  43          $result = wfGetDB( DB_SLAVE )->select( 'logging',
  44              'log_type',
  45              array( 'log_id' => $ids ),
  46              __METHOD__,
  47              array( 'DISTINCT' )
  48          );
  49          if ( $result->numRows() == 1 ) {
  50              // If there's only one type, the target can be set to include it.
  51              return SpecialPage::getTitleFor( 'Log', $result->current()->log_type );
  52          }
  53  
  54          return SpecialPage::getTitleFor( 'Log' );
  55      }
  56  
  57      /**
  58       * @param DatabaseBase $db
  59       * @return mixed
  60       */
  61  	public function doQuery( $db ) {
  62          $ids = array_map( 'intval', $this->ids );
  63  
  64          return $db->select( 'logging', array(
  65                  'log_id',
  66                  'log_type',
  67                  'log_action',
  68                  'log_timestamp',
  69                  'log_user',
  70                  'log_user_text',
  71                  'log_namespace',
  72                  'log_title',
  73                  'log_page',
  74                  'log_comment',
  75                  'log_params',
  76                  'log_deleted'
  77              ),
  78              array( 'log_id' => $ids ),
  79              __METHOD__,
  80              array( 'ORDER BY' => 'log_id DESC' )
  81          );
  82      }
  83  
  84  	public function newItem( $row ) {
  85          return new RevDelLogItem( $this, $row );
  86      }
  87  
  88  	public function getSuppressBit() {
  89          return Revision::DELETED_RESTRICTED;
  90      }
  91  
  92  	public function getLogAction() {
  93          return 'event';
  94      }
  95  
  96  	public function getLogParams( $params ) {
  97          return array(
  98              implode( ',', $params['ids'] ),
  99              "ofield={$params['oldBits']}",
 100              "nfield={$params['newBits']}"
 101          );
 102      }
 103  }


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