Hierbei handelt es sich um ein Hack wie folgt:
Beachtet aber, das nach einem Update auf einer neueren Version dieser Hack verloren gehen kann. Backup nicht vergessenDiese Hack ermöglicht es die Komponente EasyCaptcha auch für das Joomla!-Kontakt-Formular der Joomla Version 1.0.15 zu benutzen.
Hinweis: Die beiden Dateien aus dem Anhang contact.php und contact.html.php ins Verzeichnis
Solltet Ihr eurer Kontaktformular schon manuell bearbeitet haben dann könnt ihr es auch manuell also wie folgt ergänzen/ändern, da ansonsten alles überschrieben wird.
Manuell also wie folgt:
In der Datei
contact.phpsuche nach
defined( '_VALID_MOS' ) or die( 'Restricted access' );
darunter einfügen
//EasyCaptcha Integration - added by EasyJoomla.org Project
if(file_exists($mosConfig_absolute_path.'/components/com_easycaptcha/class.easycaptcha.php')) {
include_once($mosConfig_absolute_path.'/components/com_easycaptcha/class.easycaptcha.php');
}
suche nach
HTML_contact::viewcontact( $contact, $params, $count, $list, $menu_params );
ersetzen durch
//EasyCaptcha Integration - added by EasyJoomla.org Project
if( class_exists("EasyCaptcha") AND !$my->gid ) {
$captcha = new easyCaptcha();
}
else
{
$captcha = null;
}
HTML_contact::viewcontact( $contact, $params, $count, $list, $menu_params, &$captcha );
suche nach
global $mosConfig_sitename, $mosConfig_live_site, $mosConfig_mailfrom, $mosConfig_fromname, $mosConfig_db;
ersetze durch
global $mosConfig_sitename, $mosConfig_live_site, $mosConfig_mailfrom, $mosConfig_fromname, $mosConfig_db, $my;
suche nach
// check for session cookie
darüber einfügen
//EasyCaptcha Integration - added by EasyJoomla.org Project
if(class_exists("EasyCaptcha") AND !$my->gid)
{
$captcha_id = strval( mosGetParam( $_POST, 'captcha_id', '' ) );
$captcha_code = strval( mosGetParam( $_POST, 'captcha_code', '' ) );
$captcha = new EasyCaptcha($captcha_id);
if(!$captcha->checkEnteredCode($captcha_code))
{
mosErrorAlert( "Wrong Code entered" );
}
}
In der
contact.html.phpsuche nach
function viewcontact( &$contact, &$params, $count, &$list, &$menu_params ) {
ersetze durch
function viewcontact( &$contact, &$params, $count, &$list, &$menu_params, &$captcha ) {
suche nach
<script language="JavaScript" type="text/javascript">
<!--
ersetze durch
<script type="text/javascript">
<?php
//EasyCaptcha Integration - added by EasyJoomla.org Project
if($captcha->captcha_id)
{
?>
/*<[CDATA[*/
function validate(){
if ( ( document.emailForm.text.value == "" ) || ( document.emailForm.email.value.search("@") == -1 ) ||
( document.emailForm.email.value.search("[.*]" ) == -1 ) ) {
alert( "<?php echo addslashes( _CONTACT_FORM_NC ); ?>" );
} else if ( ( document.emailForm.email.value.search(";") != -1 ) ||
( document.emailForm.email.value.search(",") != -1 ) ||
( document.emailForm.email.value.search(" ") != -1 ) ) {
alert( "<?php echo addslashes( _CONTACT_ONE_EMAIL ); ?>" );
} else {
checkEasyCaptcha("contact_captcha");
}
}
function submitMailForm(){
if (http_request.readyState == 4) {
if( http_request.responseText=="true") {
document.emailForm.action = "<?php echo sefRelToAbs("index.php?option=com_contact&Itemid=$Itemid"); ?>"
document.emailForm.submit();
}
else {
alert( "<?php echo addslashes( "Please enter correct Code" ); ?>" );
}
}
}
/*]]>*/
</script>
<?php
echo $captcha->getAjax("submitMailForm");
}
else
{
?>
<!--
suche nach
<script type="text/javascript">
<!--
function ViewCrossReference( selSelectObject ){
darüber einfügen
<?php
}
//End EasyCaptcha Integration
?>
suche nach
HTML_contact::_writeEmailForm( $contact, $params, $sitename, $menu_params );
ersetze durch
HTML_contact::_writeEmailForm( $contact, $params, $sitename, $menu_params, &$captcha );
suche nach
function _writeEmailForm( &$contact, &$params, $sitename, &$menu_params ) {
ersetze durch
function _writeEmailForm( &$contact, &$params, $sitename, &$menu_params, &$captcha ) {
suche nach
<br />
<br />
<input type="button" name="send" value="<?php echo(_SEND_BUTTON); ?>" class="button" onclick="validate()" />
darüber einfügen
<?php
//EasyCaptcha Integration - added by EasyJoomla.org Project
if($captcha->captcha_id)
{
?>
<br />
<br />
<input type="hidden" name="captcha_id" value="<?php echo $captcha->getCaptchaId(); ?>" />
Captcha-Code:
<input type='text' name='captcha_code' id="contact_captcha" class='inputbox' /><br /><br />
<img src="/<?php echo $captcha->getImageUrl(); ?>" alt="<?php echo $captcha->getAltText(); ?>" id='code' />
<?php echo $captcha->getReloadButton("code");
echo $captcha->getReloadCode();
}
?>
Oder einfach nur die beiden Dateien aus dem Anhang -->
contact.php und
contact.html.php per FTP überschreiben, backup bitte nicht vergessen!
patch_for_contact__1.0.15.zip 9.50 Kb BACKUP NICHT VERGESSEN !
Viel Erfolg! und ein Danke an David aka Snipersister www.easy-joomla.org
Dieser Artikel ist vom Autor zur Verwendung unter www.joomla-tutorials.de freigegeben. Eine Verwendung auf anderen Webseiten ist nur mit Erlaubnis des Autors gestattet!
Autor:cybergurk Website:www.joomla-tutorials.de


