PDA

Zobacz pełną wersję : JComments Captcha nie wyświetla się!



andr30
22-01-2011, 13:30
Witam! Mam Problem, zainstalowałem JComments i włączyłem captche. Przy próbie dodania komentarza, nie wyświetla się pole captchy do wpisywania kodu. Prosze o pomoc!

a_m
22-01-2011, 13:36
captcha w jcomments aktywujesz dla grup użytkowników / może dodając jesteś zalogowany na wysokich uprawnieniach (domyślnie captcha aktywne są chyba tylko dla niezarejestrowanych)

andr30
22-01-2011, 13:56
próbowałem na wszelkie mozliwe sposoby... będąc niezalogowanym, zalogowanym na admina czy na użytkownika etc. i dalej to samo.... nie działa...

andr30
25-01-2011, 20:17
Wie ktoś jak zrobić by to pole było wyswietlane??

mitring
28-01-2011, 10:42
Na jakim serwerze sprawdzasz komponent? Sprawdź czy masz włączone GD2 w PHP.

andr30
29-01-2011, 10:56
To jest serwer postawiony na terenie jednej z placówek publicznych. Co daje włączenie GD2?

mitring
29-01-2011, 18:13
W sktucie GD2 pozwala na edycje grafiki z poziomu php. W joomla! zobacz phpInfo czy jest GD2 zainstalowane.

Ligeiro
30-01-2011, 13:56
To ja mam z goła inne pytanie: czy można zmienić typ captcha, obecny jest dość nieczytelny i niektórzy mogą mieć problemy z rozróżnieniem poszczególnych liter/cyfr ??

a_m
30-01-2011, 18:37
w ustawieniach formularza: aiContactSafe > profile > jakiś formularz, możesz poprawić czytelność przez dobór kolorów tła i "literek" lub wybrać inny zainstalowany silnik captcha

andr30
31-01-2011, 10:07
GD2 jest włączone, także nie mam pojęcia dlaczego zamiast obrazków wyświetla prostokąt w jakimś kolorze. Jakieś pomysły?

aktywny
04-09-2011, 22:56
Jeżeli ktoś ma problem z wyświetlanym Captcha w joomla w dodatku jcoments, to w tym momencie udzielam pomocy.

Wystarczy przejść do "/public_html/twojadomena.pl/components/com_jcomments" i otworzyć plik "jcomments.captcha.php" następnie zmienić całość kodu zastępując go tym:



<?php
/**
* JComments - Joomla Comment System
*
* CAPTCHA - Automatic test to tell computers and humans apart
*
* @version 2.0
* @package JComments
* @filename jcomments.captcha.php
* @author Sergey M. Litvinov (smart@joomlatune.ru)
* @copyright (C) 2006-2009 by Sergey M. Litvinov (http://www.joomlatune.ru)
* @license GNU/GPL: http://www.gnu.org/copyleft/gpl.html
*
* If you fork this to create your own project,
* please make a reference to JComments someplace in your code
* and provide a link to http://www.joomlatune.ru
**/
// define directory separator short constant
if (!defined( 'DS' )) {
define( 'DS', DIRECTORY_SEPARATOR );
}

class JCommentsCaptcha
{
function check( $code )
{
@session_start();
$_SESSION['comments-captcha-attempts'] = intval($_SESSION['comments-captcha-attempts']) + 1;
return (($code != '') && ($code == $_SESSION['comments-captcha-code']));
}

function attempts()
{
return $_SESSION['comments-captcha-attempts'];
}

function destroy()
{
unset($_SESSION['comments-captcha-code']);
$_SESSION['comments-captcha-attempts'] = 0;
}

function image()
{
mt_srand((double)microtime()*1000000);
@session_start();

if(!isset($_SESSION['comments-captcha-attempts'])) {
$_SESSION['comments-captcha-attempts'] = 1;
} else {
$_SESSION['comments-captcha-attempts']++;
}

if (!isset($_SESSION['comments-captcha-code'])
|| ($_SESSION['comments-captcha-attempts'] >= 3)) {
$_SESSION['comments-captcha-code'] = mt_rand(10000, 99999);
$_SESSION['comments-captcha-attempts'] = 1;
}

$kcaptcha = JCOMMENTS_LIBRARIES . DS . 'kcaptcha' . DS . 'kcaptcha.php';

if (is_file($kcaptcha)) {
if (!class_exists('KCAPTCHA')) {
require_once($kcaptcha);
}
$captcha = new KCAPTCHA();
$_SESSION['comments-captcha-code'] = $captcha->getKeyString();
$_SESSION['comments-captcha-attempts'] = 1;
} else {
$im = ImageCreate(60, 18);
$fontcolor = ImageColorAllocate($im, 170, 170, 170);
$linecolor = ImageColorAllocate($im, 196, 196, 196);
$bordercolor = ImageColorAllocate($im, 200, 200, 200);
for($x=10; $x <= 100; $x+=10) {
ImageLine($im, $x, 0, $x, 50, $linecolor);
}
ImageLine($im, 0, 9, 100, 9, $linecolor);
ImageLine($im, 0, 0, 0, 50, $bordercolor);
ImageLine($im, 0, 0, 100, 0, $bordercolor);
ImageLine($im, 0, 17, 100, 17, $bordercolor);
ImageLine($im, 59, 0, 59, 17, $bordercolor);
ImageString($im, 5, 8, 1, $_SESSION['comments-captcha-code'], $fontcolor);
header('Content-Type: image/jpeg');
ImageJPEG($im,'',75);
ImageDestroy($im);
}
exit;
}
}
?>

TLo
05-09-2011, 07:55
@aktywny - Twój kod nie działa. Sprawdziłem - po podmianie captcha znika zupełnie.

aktywny
05-09-2011, 11:05
Jaką wersję jcoments posiadasz bo w moim przypadku jest to JComments 2.2.0.2 i czy aby na pewno zrobiłeś to o czym pisałem wyżej poprawnie. I czy w jcomments włączyłeś funkcję Captcha dla użytkowników niezarejestrowanych cz też zarejestrowany to już zupełnie zależy od Ciebie. Ale warunek jest taki że musi być ta opcja aktywna.


Tutaj podaje link do JComments 2.2.0.2 http://www.joomlatune.com/downloads/jcomments/com_jcomments_v2.2.0.2.zip

TLo
05-09-2011, 11:46
Po kolei - nie mam najmniejszych problemów z captchą. Jest ona u mnie włączona dla niezalogowanych, a JCommentrs to najnowsza wersja 2.2.0.2. Wszystko chodzi od początku świetnie.
Ale dla sportu - chciałem sprawdzić, co też takiego Twój kod robi? I po podmianie plików - captcha u mnie znika. Z tego wyciągnąłem wniosek, który wyartykułowałem wyżej.

aktywny
05-09-2011, 12:23
U mnie dotyczył problem z captche , na początku wszystko było w porządku. Ale po pewnym czasie przestał mi się wyświetlać kod antyspamowy, więc w ten sposób poradziłem sobie z tym problemem.