1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Small Captcha Addon

Discussion in 'XenForo Development Discussions' started by Slind, Dec 7, 2013.

  1. Slind

    Slind Active Member

    Hey,

    I just tried to write my first xenforo addon but I´m stuck, I did everything I could derive. Because it is quite small you may have a look into it and see what I missed. I would appreciate your support, as I´m working on this for hours and don´t get whats wrong or what I missed.

    [​IMG]

    library/MyM/ForumTag/ForumTag.php
    PHP:
    <?php

    class MyM_ForumTag_ForumTag extends XenForo_Captcha_Abstract
    {
        public function 
    isValid(array $input)
        {
            if (!empty(
    $input['captcha_question_answer'])) {
                
    $captcha $input['captcha_question_answer'];
            } else {
                return 
    false;
            }
            if (!empty(
    $input['username'])) {
                
    $username $input['username'];
            } else {
                return 
    false;
            }

            try {
            
    $dbh = new PDO("mysql:host=localhost;dbname=*****"'*****''*****');
            
    $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARESfalse);
            } catch (
    PDOException $e) {
                echo 
    $e->getMessage();
            }
            
    $sth $dbh->prepare("SELECT username, captcha, timestamp
                  FROM xf_captcha
                  WHERE username = :username"
    ,
                  array(
    PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
            
    $sth->execute(array(':username' => $username));
            
    $row $sth->fetch();

            if(
    $captcha == $row['captcha']){
                return 
    true;
            }
            else
            {
                return 
    false;
            }

            return 
    false;
        }

        public function 
    renderInternal(XenForo_View $view)
        {
            return 
    $view->createTemplateObject('mym_forumtag', array());
        }
    }

    Template: mym_forumtag (addon is selected)
    HTML:
    <div id="Captcha" data-source="{xen:link misc/captcha}">
        <input type="text" name="captcha_question_answer" value="" placeholder="{xen:phrase insert_ingame_captcha_here}" class="textCtrl OptOut" />
        <p class="explain">{xen:phrase execute_forumtag_to_get_the_answer_for_the_captcha}</p>
    </div>

    Code Event Listener:
    [​IMG]
     
  2. Slind

    Slind Active Member

    Is it the wrong forum for these kind of questions ?
     

Share This Page