Здравствуйте!
Вопрос по Joomla 1.5.7
Собственно, ситуация такая, что мне по стилю и лаконичности вполне подходят стандартные формы "Регистрация" и "Обратная связь", но...
Как в них добавить каптчу? (странно, что ее нет по умолчанию...)
Просьба не предлагать сторонние компоненты.
С уважением,
marbert
поправьте меня.......если не так
но я вот для 1.5 и стандартной формы контактов воспользовался вот этой информацией
на базе kcaptcha
This is the hack for con_contact:
..\components\com_contact\controller.php
aroud line 165:
Code:
// Prepare email body
$prefix = JText::sprintf('ENQUIRY_TEXT', JURI::base());
$body = $prefix."\n".$name.' <'.$email.'>'."\r\n\r\n".stripslashes($body);
$mail = JFactory::getMailer();
$mail->addRecipient( $contact->email_to );
$mail->setSender( array( $email, $name ) );
$mail->setSubject( $FromName.': '.$subject );
$mail->setBody( $body );
//START HERE
if(1!==$_POST['captcha'])
{
// To raise a warning
JError::raiseWarning( "Uno", "Devi inserire correttamente il testo riportato sull'immagine! Tenta di nuovo!!", "Tre" );
$this->setRedirect('index.php?');
return false;
}
//STOP HERE
$sent = $mail->Send();
/*
* If we are supposed to copy the admin, do so.
*/
// parameter check
After mod this file ..\components\com_contact\views\contact\tmpl\default_form.php like this
around line 64
Code:
<input type="checkbox" name="email_copy" id="contact_email_copy" value="1" />
<label for="contact_email_copy">
<?php echo JText::_( 'EMAIL_A_COPY' ); ?>
</label>
<?php endif; ?>
<!--INIZIO HACK-->
<?php //session_start(); ?>
<label for="captcha">Inserisci il testo che vedi:</label>
<br />
<input type="text" name="captcha" class="inputbox" size="20" id="captcha" />
<br />
<img src="kcaptcha/index.php?<?php echo session_name()?>=<?php echo session_id(); ?>" />
<!--FINE HACK-->
<br />
<br />
<button class="button validate" type="submit"><?php echo JText::_('Send'); ?></button>
</div>
Может это решит хоть на половину вашу задачу