Merge "(bug 41330) Default to the current year in the history page filter form"
[lhc/web/wiklou.git] / includes / actions / HistoryAction.php
index 999a14b..a1d1c3a 100644 (file)
@@ -154,7 +154,7 @@ class HistoryAction extends FormlessAction {
                 * Option to show only revisions that have been (partially) hidden via RevisionDelete
                 */
                if ( $request->getBool( 'deleted' ) ) {
-                       $conds = array( "rev_deleted != '0'" );
+                       $conds = array( 'rev_deleted != 0' );
                } else {
                        $conds = array();
                }
@@ -222,7 +222,7 @@ class HistoryAction extends FormlessAction {
                }
 
                if ( $offset ) {
-                       $offsets = array( "rev_timestamp $oper '$offset'" );
+                       $offsets = array( 'rev_timestamp $oper ' . $dbr->addQuotes( $dbr->timestamp( $offset ) ) );
                } else {
                        $offsets = array();
                }
@@ -231,7 +231,7 @@ class HistoryAction extends FormlessAction {
 
                return $dbr->select( 'revision',
                        Revision::selectFields(),
-                       array_merge( array( "rev_page=$page_id" ), $offsets ),
+                       array_merge( array( 'rev_page' => $page_id ), $offsets ),
                        __METHOD__,
                        array( 'ORDER BY' => "rev_timestamp $dirs",
                                'USE INDEX' => 'page_timestamp', 'LIMIT' => $limit )
@@ -602,13 +602,16 @@ class HistoryPager extends ReverseChronologicalPager {
                        $s .= ' ' . ChangesList::flag( 'minor' );
                }
 
-               # Size is always public data
-               $prevSize = isset( $this->parentLens[$row->rev_parent_id] )
-                       ? $this->parentLens[$row->rev_parent_id]
-                       : 0;
-               $sDiff = ChangesList::showCharacterDifference( $prevSize, $rev->getSize() );
-               $fSize = Linker::formatRevisionSize($rev->getSize());
-               $s .= ' <span class="mw-changeslist-separator">. .</span> ' . "$fSize $sDiff";
+               # Sometimes rev_len isn't populated
+               if ( $rev->getSize() !== null ) {
+                       # Size is always public data
+                       $prevSize = isset( $this->parentLens[$row->rev_parent_id] )
+                               ? $this->parentLens[$row->rev_parent_id]
+                               : 0;
+                       $sDiff = ChangesList::showCharacterDifference( $prevSize, $rev->getSize() );
+                       $fSize = Linker::formatRevisionSize($rev->getSize());
+                       $s .= ' <span class="mw-changeslist-separator">. .</span> ' . "$fSize $sDiff";
+               }
 
                # Text following the character difference is added just before running hooks
                $s2 = Linker::revComment( $rev, false, true );
@@ -623,9 +626,12 @@ class HistoryPager extends ReverseChronologicalPager {
                # Rollback and undo links
                if ( $prevRev && $this->getTitle()->quickUserCan( 'edit', $user ) ) {
                        if ( $latest && $this->getTitle()->quickUserCan( 'rollback', $user ) ) {
-                               $this->preventClickjacking();
-                               $tools[] = '<span class="mw-rollback-link">' .
-                                       Linker::buildRollbackLink( $rev, $this->getContext() ) . '</span>';
+                               // Get a rollback link without the brackets
+                               $rollbackLink = Linker::generateRollback( $rev, $this->getContext(), array( 'verify', 'noBrackets' ) );
+                               if ( $rollbackLink ) {
+                                       $this->preventClickjacking();
+                                       $tools[] = $rollbackLink;
+                               }
                        }
 
                        if ( !$rev->isDeleted( Revision::DELETED_TEXT )