/**
* Implement the simple plugin configuration.
* @return FormUI The configuration form
*/
public function configure()
{
$ui = new FormUI('defensio');
// Add a text control for the address you want the email sent to
$api_key = $ui->append('text', 'api_key', 'option:' . self::OPTION_API_KEY, _t('Defensio API Key: ', 'defensio'));
$api_key->add_validator('validate_required');
$api_key->add_validator(array($this, 'validate_api_key'));
// min spamines flag
$spaminess = $ui->append('select', 'min_spaminess', 'option:' . self::OPTION_FLAG_SPAMINESS, _t('Minimum Spaminess to Flag as Spam (%): ', 'defensio'));
$spaminess->options = array_combine(range(0, 100, 5), range(0, 100, 5));
$spaminess->add_validator('validate_required');
// using yes/no is not ideal but it's what we got :(
$announce_posts = $ui->append('select', 'announce_posts', 'option:' . self::OPTION_ANNOUNCE_POSTS, _t('Announce New Posts To Defensio: ', 'defensio'));
$announce_posts->options = array('yes' => _t('Yes', 'defensio'), 'no' => _t('No', 'defensio'));
$announce_posts->add_validator('validate_required');
$auto_approve = $ui->append('select', 'auto_approve', 'option:' . self::OPTION_AUTO_APPROVE, _t('Automatically Approve Non-Spam Comments: ', 'defensio'));
$auto_approve->options = array('no' => _t('No', 'defensio'), 'yes' => _t('Yes', 'defensio'));
$auto_approve->add_validator('validate_required');
$register = $ui->append('static', 'register', '<a href="http://defensio.com/signup">' . _t('Get A New Defensio API Key.', 'defensio') . '</a>');
$ui->append('submit', 'save', _t('Save', 'defensio'));
$ui->on_success(array($this, 'formui_submit'));
return $ui->get();
}