public function run()
{
if (empty($this->siteKey)) {
if (!empty(Yii::$app->reCaptcha->siteKey)) {
$this->siteKey = Yii::$app->reCaptcha->siteKey;
} else {
throw new InvalidConfigException('Required `siteKey` param isn\'t set.');
}
}
$view = $this->view;
$view->registerJsFile(self::JS_API_URL . '?hl=' . $this->getLanguageSuffix(), ['position' => $view::POS_HEAD, 'async' => true, 'defer' => true]);
$this->customFieldPrepare();
$divOptions = ['class' => 'g-recaptcha', 'data-sitekey' => $this->siteKey];
if (!empty($this->jsCallback)) {
$divOptions['data-callback'] = $this->jsCallback;
}
if (!empty($this->jsExpiredCallback)) {
$divOptions['data-expired-callback'] = $this->jsExpiredCallback;
}
if (!empty($this->theme)) {
$divOptions['data-theme'] = $this->theme;
}
if (!empty($this->type)) {
$divOptions['data-type'] = $this->type;
}
if (!empty($this->size)) {
$divOptions['data-size'] = $this->size;
}
if (!empty($this->tabindex)) {
$divOptions['data-tabindex'] = $this->tabindex;
}
if (isset($this->widgetOptions['class'])) {
$divOptions['class'] = "{$divOptions['class']} {$this->widgetOptions['class']}";
}
$divOptions = $divOptions + $this->widgetOptions;
echo Html::tag('div', '', $divOptions);
}