Obrázek   
Přihlášení
Uživatelské jméno:

Heslo:

Pamatovat si mne



Zapomenuté heslo

Nová registrace
Kam dále?
Hledání
Vzhled

(3 vzhledů)
Kdo je Online
14 uživatel(ů) je online (4 uživatel(ů) si prohlíží Články a povídání)

Uživatelé: 0
Hosté: 14

více...
Noví uživatelé
Athon
Athon
26.01.2026
wagant
wagant
13.10.2025
guchar
guchar
16.09.2025
Bosh666
Bosh666
11.03.2025
viktor
viktor
07.07.2024
Chlaban
Chlaban
19.04.2024
Kubrt
Kubrt
16.04.2024
Mirek
Mirek
14.04.2024
POKEC
POKEC
21.03.2024
Luigi
Luigi
14.03.2024
Kdo za co může
Administrátorka
Žirafka
Žirafka
Žirafička
Žirafička
Redaktoři
bernard
bernard
IvanH
IvanH
 
Emeritní
KatyH
KatyH

Textová CAPTCHA pro XOOPS na druhý pokus

Napsal/a Žirafka Odesláno 23. 05. 2015 v 6:06

     Nedávno jsem zde uveřejnila postup, jak upravit CAPTCHA systém tak, aby nechtěl čísla zadávat pomocí číslic, ale pomocí slov. Řešení je funkční, ale nějak se mi nezdálo, že to je úplně dokonalé řešení. Takže jsem onu funkci opět trošku přepsala. Výsledek je o něco hezčí a kratší, funkční je úplně stejně, takže, pokud nemáte morální důvod ke změně, není potřeba nic měnit Každopádně nově zapsaná funkce je, přeci jenom, poněkud čistší řešení.

     Druhá změna je drobnost určená zahraničním čtenářům, pokud se náhodou najdou, a totiž změna názvu proměnné $vysledek na $capt_result. Opět, je to jen estetická záležitost, nic víc.

     A proč změna zrovna na angličtinu? No proto, protože většina lidí se při psaní pro XOOPS snaží držet základního pravidla a to, psát všechno anglicky. Neplatí to vždy, ve zdrojových souborech lze najít i dost poznámek francouzských a některé dokonce i japonské. Ty jsou však úplně na draka, protože evropské počítače s japonštinou většinou nepočítají a tak je místo znaků zobrazený jen zmatek. Nemluvě o tom, kolik lidí v Evropě rozumí japonsky?

     Takže tady je ta slibovaná upravená funkce:

/**
     * XoopsCaptchaText::loadText()
     *
     * @return string
     */
    
function loadText()
    {
        
$capt_result=array("nula""jedna""dva""tři""čtyři""pět""šest""sedm""osm""devět""deset""jedenáct""dvanáct""třináct""čtrnáct""patnáct""šestnáct""sedmnáct""osmnáct"); 
          
        
$val_a rand(09);
        
$val_b rand(09);
        if (
$val_a $val_b) {
            
$expression "{$val_a} - {$val_b} = ? (slovem)";
            
$this->code $capt_result[($val_a $val_b)];
        } else {
            
$expression "{$val_a} + {$val_b} = ? (slovem)";
            
$this->code $capt_result[($val_a $val_b)];
        }

        return 
'<span style="font-style: normal; font-weight: bold; font-size: 100%; font-color: #333; border: 1px solid #333; padding: 1px 5px;">'.$expression.'</span>';
    }


     Patří do souboru XOOPS_ROOT/CLASS/CAPTCHA/text.php.

     Úplně nejlepší řešení by bylo takové, který by místo přímo vložených slov používalo jazykové soubory, jenže to by znamenalo takový soubor vytvořit, což není složité, a pak jej přilinkovat do tohoto souboru. Nicméně se tím ztratí přehlednost a navíc je tu okolnost vrozené lenosti

     A to je pro dnešek všechno. U těchto krátkých článků si vždy říkám, jestli je zařadit do rubriky Zápisník nebo XOOPS, ale pak si vždy řeknu, že se týkají XOOPSu, tak patří do jeho rubriky. Věřím, že se vám dnešní povídání líbilo a že si třeba svůj Xoops zase o trochu vylepšíte

Odeslat komentář
Pravidla komentářů*
Všechny komentáře se automaticky schválí.
Nadpis*
Jméno*
Email*
Webová stránka*
Ikona zprávy*
       
Zpráva*


    


Klikněte na Náhled a uvidíte sami.
Možnosti*
 
 
 
Potvrzovací kód*
Kolik je 4 - 3 ?  
Slovem napište výsledek tohoto příkladu.
Maximální počet pokusů je omezen na 4.

Pomůcka: nula, jedna, dvě, tři, čtyři, pět, šest, sedm, osm, devět, deset, jedenáct, dvanáct, třináct, čtrnáct, patnáct, šestnáct, sedmnáct, osmnáct, devatenáct.
 
Obrázek Obrázek
ObrázekObrázekObrázekObrázekObrázek
Obrázek
Redakční systém XOOPS 2.5.10
Obsah © 2008-2020 Žirafoviny