Merge "Add help link to three other "minor" special pages"
[lhc/web/wiklou.git] / includes / logging / DeleteLogFormatter.php
index b658ac1..4f13d37 100644 (file)
@@ -48,13 +48,14 @@ class DeleteLogFormatter extends LogFormatter {
                $params = parent::getMessageParameters();
                $subtype = $this->entry->getSubtype();
                if ( in_array( $subtype, array( 'event', 'revision' ) ) ) {
-                       // $params[3] here is 'revision' for page revisions, 'oldimage' for
-                       // file versions, or a comma-separated list of log_ids for log
+                       // $params[3] here is 'revision' or 'archive' for page revisions, 'oldimage' or
+                       // 'filearchive' for file versions, or a comma-separated list of log_ids for log
                        // entries. $subtype here is 'revision' for page revisions and file
                        // versions, or 'event' for log entries.
                        if ( ( $subtype === 'event' && count( $params ) === 6 )
                                || ( $subtype === 'revision' && isset( $params[3] )
-                                       && ( $params[3] === 'revision' || $params[3] === 'oldimage' )
+                                       && ( $params[3] === 'revision' || $params[3] === 'oldimage'
+                                               || $params[3] === 'archive' || $params[3] === 'filearchive' )
                                )
                        ) {
                                $paramStart = $subtype === 'revision' ? 4 : 3;
@@ -63,9 +64,11 @@ class DeleteLogFormatter extends LogFormatter {
                                $new = $this->parseBitField( $params[$paramStart + 2] );
                                list( $hid, $unhid, $extra ) = RevisionDeleter::getChanges( $new, $old );
                                $changes = array();
+                               // messages used: revdelete-content-hid, revdelete-summary-hid, revdelete-uname-hid
                                foreach ( $hid as $v ) {
                                        $changes[] = $this->msg( "$v-hid" )->plain();
                                }
+                               // messages used: revdelete-content-unhid, revdelete-summary-unhid, revdelete-uname-unhid
                                foreach ( $unhid as $v ) {
                                        $changes[] = $this->msg( "$v-unhid" )->plain();
                                }
@@ -76,8 +79,10 @@ class DeleteLogFormatter extends LogFormatter {
 
                                $newParams = array_slice( $params, 0, 3 );
                                $newParams[3] = $changeText;
-                               $count = count( explode( ',', $params[$paramStart] ) );
-                               $newParams[4] = $this->context->getLanguage()->formatNum( $count );
+                               $ids = is_array( $params[$paramStart] )
+                                       ? $params[$paramStart]
+                                       : explode( ',', $params[$paramStart] );
+                               $newParams[4] = $this->context->getLanguage()->formatNum( count( $ids ) );
 
                                $this->parsedParametersDeleteLog = $newParams;
                                return $this->parsedParametersDeleteLog;
@@ -134,8 +139,10 @@ class DeleteLogFormatter extends LogFormatter {
 
                                // Different revision types use different URL params...
                                $key = $params[3];
-                               // This is a CSV of the IDs
-                               $ids = explode( ',', $params[4] );
+                               // This is a array or CSV of the IDs
+                               $ids = is_array( $params[4] )
+                                       ? $params[4]
+                                       : explode( ',', $params[4] );
 
                                $links = array();