protected function getMessageParameters() { if (isset($this->parsedParametersDeleteLog)) { return $this->parsedParametersDeleteLog; } $params = parent::getMessageParameters(); $subtype = $this->entry->getSubtype(); if (in_array($subtype, ['event', 'revision'])) { // $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]) && in_array($params[3], ['revision', 'archive', 'oldimage', 'filearchive'])) { // See RevDelList::getLogParams()/RevDelLogList::getLogParams() $paramStart = $subtype === 'revision' ? 4 : 3; $old = $this->parseBitField($params[$paramStart + 1]); $new = $this->parseBitField($params[$paramStart + 2]); list($hid, $unhid, $extra) = RevisionDeleter::getChanges($new, $old); $changes = []; // 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(); } foreach ($extra as $v) { $changes[] = $this->msg($v)->plain(); } $changeText = $this->context->getLanguage()->listToText($changes); $newParams = array_slice($params, 0, 3); $newParams[3] = $changeText; $ids = is_array($params[$paramStart]) ? $params[$paramStart] : explode(',', $params[$paramStart]); $newParams[4] = $this->context->getLanguage()->formatNum(count($ids)); $this->parsedParametersDeleteLog = $newParams; return $this->parsedParametersDeleteLog; } else { $this->parsedParametersDeleteLog = array_slice($params, 0, 3); return $this->parsedParametersDeleteLog; } } $this->parsedParametersDeleteLog = $params; return $this->parsedParametersDeleteLog; }
protected function getMessageParameters() { if ( isset( $this->parsedParametersDeleteLog ) ) { return $this->parsedParametersDeleteLog; } $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 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' ) ) ) { $paramStart = $subtype === 'revision' ? 4 : 3; $old = $this->parseBitField( $params[$paramStart + 1] ); $new = $this->parseBitField( $params[$paramStart + 2] ); list( $hid, $unhid, $extra ) = RevisionDeleter::getChanges( $new, $old ); $changes = array(); foreach ( $hid as $v ) { $changes[] = $this->msg( "$v-hid" )->plain(); } foreach ( $unhid as $v ) { $changes[] = $this->msg( "$v-unhid" )->plain(); } foreach ( $extra as $v ) { $changes[] = $this->msg( $v )->plain(); } $changeText = $this->context->getLanguage()->listToText( $changes ); $newParams = array_slice( $params, 0, 3 ); $newParams[3] = $changeText; $count = count( explode( ',', $params[$paramStart] ) ); $newParams[4] = $this->context->getLanguage()->formatNum( $count ); return $this->parsedParametersDeleteLog = $newParams; } else { return $this->parsedParametersDeleteLog = array_slice( $params, 0, 3 ); } } return $this->parsedParametersDeleteLog = $params; }
protected function getMessageParameters() { if (isset($this->parsedParametersDeleteLog)) { return $this->parsedParametersDeleteLog; } $params = parent::getMessageParameters(); $subtype = $this->entry->getSubtype(); if (in_array($subtype, array('event', 'revision'))) { if ($subtype === 'event' && count($params) === 6 || $subtype === 'revision' && isset($params[3]) && $params[3] === 'revision') { $paramStart = $subtype === 'revision' ? 4 : 3; $old = $this->parseBitField($params[$paramStart + 1]); $new = $this->parseBitField($params[$paramStart + 2]); list($hid, $unhid, $extra) = RevisionDeleter::getChanges($new, $old); $changes = array(); foreach ($hid as $v) { $changes[] = $this->msg("{$v}-hid")->plain(); } foreach ($unhid as $v) { $changes[] = $this->msg("{$v}-unhid")->plain(); } foreach ($extra as $v) { $changes[] = $this->msg($v)->plain(); } $changeText = $this->context->getLanguage()->listToText($changes); $newParams = array_slice($params, 0, 3); $newParams[3] = $changeText; $count = count(explode(',', $params[$paramStart])); $newParams[4] = $this->context->getLanguage()->formatNum($count); return $this->parsedParametersDeleteLog = $newParams; } else { return $this->parsedParametersDeleteLog = array_slice($params, 0, 3); } } return $this->parsedParametersDeleteLog = $params; }