linkRequests = $linkRequests; } public function getFieldInfo() { $options = []; foreach ( $this->linkRequests as $req ) { $description = $req->describeCredentials(); $options[$req->getUniqueId()] = wfMessage( 'authprovider-confirmlink-option', $description['provider']->text(), $description['account']->text() ); } return [ 'confirmedLinkIDs' => [ 'type' => 'multiselect', 'options' => $options, 'label' => wfMessage( 'authprovider-confirmlink-request-label' ), 'help' => wfMessage( 'authprovider-confirmlink-request-help' ), 'optional' => true, ] ]; } public function getUniqueId() { return parent::getUniqueId() . ':' . implode( '|', array_map( function ( $req ) { return $req->getUniqueId(); }, $this->linkRequests ) ); } /** * Implementing this mainly for use from the unit tests. * @param array $data * @return AuthenticationRequest */ public static function __set_state( $data ) { $ret = new static( $data['linkRequests'] ); foreach ( $data as $k => $v ) { $ret->$k = $v; } return $ret; } }