MediaWiki REL1_30
HTMLReCaptchaNoCaptchaField.php
Go to the documentation of this file.
1<?php
2
9 protected $key;
10
12 protected $error;
13
20 public function __construct( array $params ) {
21 $params += [ 'error' => null ];
22 parent::__construct( $params );
23
24 $this->key = $params['key'];
25 $this->error = $params['error'];
26
27 $this->mName = 'g-recaptcha-response';
28 }
29
30 public function getInputHTML( $value ) {
31 $out = $this->mParent->getOutput();
32 $lang = htmlspecialchars( urlencode( $this->mParent->getLanguage()->getCode() ) );
33
34 // Insert reCAPTCHA script, in display language, if available.
35 // Language falls back to the browser's display language.
36 // See https://developers.google.com/recaptcha/docs/faq
37 $out->addHeadItem(
38 'g-recaptchascript',
39 "<script src=\"https://www.google.com/recaptcha/api.js?hl={$lang}\" async defer></script>"
40 );
41 $output = Html::element( 'div', [
42 'class' => [
43 'g-recaptcha',
44 'mw-confirmedit-captcha-fail' => !!$this->error,
45 ],
46 'data-sitekey' => $this->key,
47 ] );
48 $htmlUrlencoded = htmlspecialchars( urlencode( $this->key ) );
49 $output .= <<<HTML
50<noscript>
51 <div>
52 <div style="width: 302px; height: 422px; position: relative;">
53 <div style="width: 302px; height: 422px; position: absolute;">
54 <iframe src="https://www.google.com/recaptcha/api/fallback?k={$htmlUrlencoded}&hl={$lang}"
55 frameborder="0" scrolling="no"
56 style="width: 302px; height:422px; border-style: none;">
57 </iframe>
58 </div>
59 </div>
60 <div style="width: 300px; height: 60px; border-style: none;
61 bottom: 12px; left: 25px; margin: 0px; padding: 0px; right: 25px;
62 background: #f9f9f9; border: 1px solid #c1c1c1; border-radius: 3px;">
63 <textarea id="g-recaptcha-response" name="g-recaptcha-response"
64 class="g-recaptcha-response"
65 style="width: 250px; height: 40px; border: 1px solid #c1c1c1;
66 margin: 10px 25px; padding: 0px; resize: none;" >
67 </textarea>
68 </div>
69 </div>
70</noscript>
71HTML;
72 return $output;
73 }
74}
The parent class to generate form fields.
Creates a ReCaptcha v2 widget.
string $key
Public key parameter to be passed to ReCaptcha.
string $error
Error returned by ReCaptcha in the previous round.
getInputHTML( $value)
This function must be implemented to return the HTML to generate the input object itself.
design txt This is a brief overview of the new design More thorough and up to date information is available on the documentation wiki at etc Handles the details of getting and saving to the user table of the and dealing with sessions and cookies OutputPage Encapsulates the entire HTML page that will be sent in response to any server request It is used by calling its functions to add in any and then calling but I prefer the flexibility This should also do the output encoding The system allocates a global one in $wgOut Title Represents the title of an and does all the work of translating among various forms such as plain database key
Definition design.txt:26
static configuration should be added through ResourceLoaderGetConfigVars instead can be used to get the real title after the basic globals have been set but before ordinary actions take place $output
Definition hooks.txt:2225
this hook is for auditing only or null if authentication failed before getting that far or null if we can t even determine that probably a stub it is not rendered in wiki pages or galleries in category pages allow injecting custom HTML after the section Any uses of the hook need to handle escaping see BaseTemplate::getToolbox and BaseTemplate::makeListItem for details on the format of individual items inside of this array or by returning and letting standard HTTP rendering take place modifiable or by returning false and taking over the output $out
Definition hooks.txt:862
$params
if(!isset( $args[0])) $lang
Bar style