23 parent::__construct( $params );
24 $this->imageUrl = $params[
'imageUrl'];
25 $this->showCreateHelp = !empty( $params[
'showCreateHelp'] );
29 $out = $this->mParent->getOutput();
32 $out->addModuleStyles(
'ext.confirmEdit.fancyCaptcha.styles' );
35 $out->addModules(
'ext.confirmEdit.fancyCaptcha' );
37 $captchaReload = Html::element(
39 [
'class' =>
'confirmedit-captcha-reload fancycaptcha-reload' ],
40 $this->mParent->msg(
'fancycaptcha-reload-text' )->text()
47 'class' =>
'mw-ui-input',
51 'autocomplete' =>
'off',
52 'autocorrect' =>
'off',
53 'autocapitalize' =>
'off',
54 'placeholder' => $this->mParent->msg(
'fancycaptcha-imgcaptcha-ph' )->text()
56 $attribs += $this->
getAttributes( [
'tabindex',
'required',
'autofocus' ] );
58 $html = Html::openElement(
'div', [
'class' =>
'fancycaptcha-captcha-container' ] )
59 . Html::openElement(
'div', [
'class' =>
'fancycaptcha-captcha-and-reload' ] )
60 . Html::openElement(
'div', [
'class' =>
'fancycaptcha-image-container' ] )
61 . Html::element(
'img', [
62 'class' =>
'fancycaptcha-image',
63 'src' => $this->imageUrl,
65 ] ) . $captchaReload . Html::closeElement(
'div' ) . Html::closeElement(
'div' ) .
"\n"
66 . Html::element(
'input', $attribs );
68 if ( $this->showCreateHelp ) {
70 $html .= Html::rawElement(
'small', [
71 'class' =>
'mw-createacct-captcha-assisted'
72 ], $this->mParent->msg(
'createacct-imgcaptcha-help' )->parse() );
75 $html .= Html::closeElement(
'div' );
83 return $this->mParent->msg(
'captcha-label' )->text() .
' '
84 . $this->mParent->msg(
'fancycaptcha-captcha' )->text();
88 $labelHtml = parent::getLabelHtml( $cellAttributes );
89 if ( $this->mLabel ) {
91 $labelHtml = Html::rawElement(
'p', [], $this->mLabel ) . $labelHtml;