Joomla, Sp Page Builder и ReCaptchaPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Joomla, Sp Page Builder и ReCaptcha

Сообщение Anonymous »

Я впервые использую компонент SP Page Builder с Joomla. Я хочу использовать их контактную форму, но она не поддерживает Google ReCaptcha.
Я достаточно хорошо разбираюсь в кодировании, чтобы подумать, что могу вручную добавить ее в: /com_sppagebuilder/addons/ajax_contact/site.php и получить все заработало.
Я добавил: ;
И плагин Joomla ReCaptcha активирован.
Я не знал, нужно ли это делать, но добавил в заголовок
При этом ReCaptcha работает нормально.

Моя проблема связана с проверкой.
Я пытался добавить код проверки в тег site.php, но я считаю, что SP Page Builder использует JFactory::getMailer(); чтобы подготовить электронное письмо и отправить его, и я ничего об этом не знаю.

Поэтому я не знаю, куда я могу добавить свой код проверки ReCaptcha, и поскольку я нашел в Интернете несколько версий этого кода, я действительно не знаю, какую из них использовать.
Я повсюду искал ответы на вопросы, как выполнить эту проверку... и пробовал много разных вещей, но он все еще не работает.

Может ли кто-нибудь помочь мне с этим?

Большое спасибо!< /p>

РЕДАКТИРОВАТЬ

Я думаю, что мой вопрос недостаточно ясен:

Я хочу добавить Recaptcha, которая уже отлично работает в других формах на моем веб-сайте (так что это не проблема конфигурации Joomla). Я хочу использовать следующую контактную форму SP Page Builder, а не RSFormPro, как на остальной части веб-сайта. Процесс проверки должен выполняться в этом разделе, но я попытался добавить код проверки Google и попробовал несколько его версий, которые нашел в Интернете, и он вообще не работает:

Код: Выделить всё

public static function getAjax() {
$input = JFactory::getApplication()->input;
$mail = JFactory::getMailer();

//inputs
$inputs             = $input->get('data', array(), 'ARRAY');

foreach ($inputs as $input) {

if( $input['name'] == 'recipient' ) {
$recipient          = base64_decode($input['value']);
}

if( $input['name'] == 'email' ) {
$email          = $input['value'];
}

if( $input['name'] == 'name' ) {
$name           = $input['value'];
}

if( $input['name'] == 'subject' ) {
$subject            = $input['value'];
}

if( $input['name'] == 'message' ) {
$message            = nl2br( $input['value'] );
}
}

/*Try at the validation*/
$captcha_plugin = JFactory::getConfig()->get('captcha');
if ($captcha_plugin != '0') {
$captcha = JCaptcha::getInstance($captcha_plugin);
$field_id = 'google-recaptcha';
print $captcha->display($field_id, $field_id, 'g-recaptcha');
}

$sender = array($email, $name);
$mail->setSender($sender);
$mail->addRecipient($recipient);
$mail->setSubject($subject);
$mail->isHTML(true);
$mail->Encoding = 'base64';
$mail->setBody($message);

if ($mail->Send()) {
return ''. JText::_('COM_SPPAGEBUILDER_ADDON_AJAX_CONTACT_SUCCESS') .'';
} else {
return ''. JText::_('COM_SPPAGEBUILDER_ADDON_AJAX_CONTACT_FAILED') .'';
}
}
Есть предложения?

Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/432 ... -recaptcha
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»