Merge "Get ConfigFactory & MainConfig from MediaWikiServices"
[lhc/web/wiklou.git] / includes / api / ApiUndelete.php
index f4fcb06..e24f2ce 100644 (file)
@@ -47,6 +47,14 @@ class ApiUndelete extends ApiBase {
                        $this->dieUsageMsg( [ 'invalidtitle', $params['title'] ] );
                }
 
+               // Check if user can add tags
+               if ( !is_null( $params['tags'] ) ) {
+                       $ableToTag = ChangeTags::canAddTagsAccompanyingChange( $params['tags'], $user );
+                       if ( !$ableToTag->isOK() ) {
+                               $this->dieStatus( $ableToTag );
+                       }
+               }
+
                // Convert timestamps
                if ( !isset( $params['timestamps'] ) ) {
                        $params['timestamps'] = [];
@@ -64,7 +72,8 @@ class ApiUndelete extends ApiBase {
                        $params['reason'],
                        $params['fileids'],
                        false,
-                       $this->getUser()
+                       $user,
+                       $params['tags']
                );
                if ( !is_array( $retval ) ) {
                        $this->dieUsageMsg( 'cannotundelete' );
@@ -99,6 +108,10 @@ class ApiUndelete extends ApiBase {
                                ApiBase::PARAM_REQUIRED => true
                        ],
                        'reason' => '',
+                       'tags' => [
+                               ApiBase::PARAM_TYPE => 'tags',
+                               ApiBase::PARAM_ISMULTI => true,
+                       ],
                        'timestamps' => [
                                ApiBase::PARAM_TYPE => 'timestamp',
                                ApiBase::PARAM_ISMULTI => true,