/** * Delegate handle that adds Custom Preference Fieldsets * @param string $page * @param array $context */ public function addCustomPreferenceFieldsets($context) { // creates the field set $fieldset = new XMLElement('fieldset'); $fieldset->setAttribute('class', 'settings'); $fieldset->appendChild(new XMLElement('legend', self::EXT_NAME)); // create a paragraph for short intructions $p = new XMLElement('p', __('Define here when and how IP are blocked'), array('class' => 'help')); // append intro paragraph $fieldset->appendChild($p); // outter wrapper $out_wrapper = new XMLElement('div'); // create a wrapper $wrapper = new XMLElement('div'); $wrapper->setAttribute('class', 'two columns'); // append labels to field set $wrapper->appendChild(ViewFactory::generateField(ABF::SETTING_FAILED_COUNT, 'Fail count limit', $this->hasErrors(), $this->errors)); $wrapper->appendChild(ViewFactory::generateField(ABF::SETTING_LENGTH, 'Blocked length <em>in minutes</em>', $this->hasErrors(), $this->errors)); $out_wrapper->appendChild($wrapper); // create a new wrapper $wrapper = new XMLElement('div'); $wrapper->setAttribute('class', 'two columns'); $wrapper->appendChild(ViewFactory::generateField(ABF::SETTING_GL_THRESHOLD, 'Gray list threshold', $this->hasErrors(), $this->errors)); $wrapper->appendChild(ViewFactory::generateField(ABF::SETTING_GL_DURATION, 'Gray list duration <em>in days</em>', $this->hasErrors(), $this->errors)); $out_wrapper->appendChild($wrapper); // create a new wrapper $wrapper = new XMLElement('div'); $wrapper->setAttribute('class', 'two columns'); $wrapper->appendChild(ViewFactory::generateField(ABF::SETTING_REMOTE_ADDR, 'Remote IP address field name', $this->hasErrors(), $this->errors)); $out_wrapper->appendChild($wrapper); // create a new wrapper $wrapper = new XMLElement('div'); $wrapper->setAttribute('class', 'two columns'); $wrapper->appendChild(ViewFactory::generateField(ABF::SETTING_AUTO_UNBAN, 'Users can unban their IP via email', $this->hasErrors(), $this->errors, 'checkbox')); $wrapper->appendChild(ViewFactory::generateField(ABF::SETTING_RESTRICT_ACCESS, 'Restrict access from authors', $this->hasErrors(), $this->errors, 'checkbox')); $out_wrapper->appendChild($wrapper); // wrapper into fieldset $fieldset->appendChild($out_wrapper); // adds the field set to the wrapper $context['wrapper']->appendChild($fieldset); }