Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
	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;
	}
Exemplo n.º 3
0
 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;
 }