phpBB API Documentation
Class

phpbb\captcha\plugins\qa

class qa

And now to something completely different.

Let's make a captcha without extending the abstract class. QA CAPTCHA sample implementation

Properties

$confirm_id
$answer
$question_ids
$question_text
$question_lang
$question_strict
$attempts
$type
$solved

Methods

__construct(string $table_captcha_questions, string $table_captcha_answers, string $table_qa_confirm)

Constructor

init(int $type)

is_installed()

See if the captcha has created its tables.

is_available()

API function - for the captcha to be available, it must have installed itself and there has to be at least one question in the board's default lang

has_config()

API function

static  get_name()

API function

string get_service_name()

set_name(string $name)

Set the name of the plugin

execute_demo()

API function - not needed as we don't display an image

execute()

API function - not needed as we don't display an image

get_template()

API function - send the question to the template

get_demo_template()

API function - we just display a mockup so that the captcha doesn't need to be installed

get_hidden_fields()

API function

garbage_collect($type)

API function

uninstall()

API function - we don't drop the tables here, as that would cause the loss of all entered questions.

install()

API function - set up shop

validate()

API function - see what has to be done to validate

select_question()

Select a question

reselect_question()

New Question, if desired.

new_attempt()

Wrong answer, so we increase the attempts and use a different question.

load_confirm_id()

See if there is already an entry for the current session.

load_answer()

Look up everything we need and populate the instance variables.

check_answer()

The actual validation

get_attempt_count()

API function

reset()

API function

is_solved()

API function

acp_page($id, $module)

API function - The ACP backend, this marks the end of the easy methods

acp_question_list($module)

This handles the list overview

acp_get_question_data($question_id)

Grab a question and bring it into a format the editor understands

acp_get_question_input()

Grab a question from input and bring it into a format the editor understands

acp_update_question($data, $question_id)

Update a question.

acp_add_question($data)

Insert a question.

acp_insert_answers($data, $question_id)

Insert the answers.

acp_delete_question($question_id)

Delete a question.

validate_input($question_data)

Check if the entered data can be inserted/used param mixed $data : an array as created from acpgetquestioninput or acpgetquestiondata

get_languages()

List the installed language packs

acp_is_last($question_id)

See if there is a question other than the one we have

Details

at line 49
public __construct(string $table_captcha_questions, string $table_captcha_answers, string $table_qa_confirm)

Constructor

Parameters

string $table_captcha_questions
string $table_captcha_answers
string $table_qa_confirm

at line 59
public init(int $type)

Parameters

int $type as per the CAPTCHA API docs, the type

at line 135
public is_installed()

See if the captcha has created its tables.

at line 147
public is_available()

API function - for the captcha to be available, it must have installed itself and there has to be at least one question in the board's default lang

at line 172
public has_config()

API function

at line 180
static public get_name()

API function

at line 188
public string get_service_name()

Return Value

string the name of the service corresponding to the plugin

at line 198
public set_name(string $name)

Set the name of the plugin

Parameters

string $name

at line 206
public execute_demo()

API function - not needed as we don't display an image

at line 213
public execute()

API function - not needed as we don't display an image

at line 220
public get_template()

API function - send the question to the template

at line 250
public get_demo_template()

API function - we just display a mockup so that the captcha doesn't need to be installed

at line 274
public get_hidden_fields()

API function

at line 291
public garbage_collect($type)

API function

Parameters

$type

at line 326
public uninstall()

API function - we don't drop the tables here, as that would cause the loss of all entered questions.

at line 334
public install()

API function - set up shop

at line 391
public validate()

API function - see what has to be done to validate

at line 437
public select_question()

Select a question

at line 463
public reselect_question()

New Question, if desired.

at line 487
public new_attempt()

Wrong answer, so we increase the attempts and use a different question.

at line 509
public load_confirm_id()

See if there is already an entry for the current session.

at line 534
public load_answer()

Look up everything we need and populate the instance variables.

at line 571
public check_answer()

The actual validation

at line 601
public get_attempt_count()

API function

at line 609
public reset()

API function

at line 625
public is_solved()

API function

at line 640
public acp_page($id, $module)

API function - The ACP backend, this marks the end of the easy methods

Parameters

$id
$module

at line 778
public acp_question_list($module)

This handles the list overview

Parameters

$module

at line 808
public acp_get_question_data($question_id)

Grab a question and bring it into a format the editor understands

Parameters

$question_id

at line 848
public acp_get_question_input()

Grab a question from input and bring it into a format the editor understands

at line 875
public acp_update_question($data, $question_id)

Update a question.

param mixed $data : an array as created from acpgetquestioninput or acpgetquestiondata

Parameters

$data
$question_id

at line 902
public acp_add_question($data)

Insert a question.

param mixed $data : an array as created from acpgetquestioninput or acpgetquestiondata

Parameters

$data

at line 926
public acp_insert_answers($data, $question_id)

Insert the answers.

param mixed $data : an array as created from acpgetquestioninput or acpgetquestiondata

Parameters

$data
$question_id

at line 947
public acp_delete_question($question_id)

Delete a question.

Parameters

$question_id

at line 967
public validate_input($question_data)

Check if the entered data can be inserted/used param mixed $data : an array as created from acpgetquestioninput or acpgetquestiondata

Parameters

$question_data

at line 993
public get_languages()

List the installed language packs

at line 1019
public acp_is_last($question_id)

See if there is a question other than the one we have

Parameters

$question_id