|
Perforce Chronicle 2012.2/486814
API Documentation
|
This is the analytics module config form. More...
Public Member Functions | |
| init () | |
| Defines the elements that make up the config form. | |
| isValid ($data) | |
| Extend isValid to verify values. | |
This is the analytics module config form.
| Analytics_Form_Configure::init | ( | ) |
Defines the elements that make up the config form.
Called automatically when the form object is created.
{
// form should use p4cms-ui styles.
$this->setAttrib('class', 'p4cms-ui');
// set the method for the form to POST
$this->setMethod('post');
// add a field to collect the api key.
$this->addElement(
'text',
'accountNumber',
array(
'label' => 'Site Profile Identifier',
'required' => true,
'description' => 'Your Google Analytics site profile identifier has the format UA-XXXXX-X.',
'filters' => array('StringTrim')
)
);
// @todo: this URI should be in a config file somewhere.
$this->getElement('accountNumber')
->getDecorator('label')
->setOption(
'helpUri',
Zend_Controller_Front::getInstance()->getBaseUrl()
. '/' . Ui_Controller_Helper_HelpUrl::HELP_BASE_URL . '/'
. 'analytics.html#analytics.module.configure'
);
$this->addElement(
'multiCheckbox',
'customVars',
array(
'label' => 'Tracking Variables',
'multiOptions' => array(
'userId' => 'Include Active User',
'userRole' => 'Include Active Role',
'contentId' => 'Include Content Id',
'contentType' => 'Include Content Type'
)
)
);
$this->addElement(
'SubmitButton',
'save',
array(
'label' => 'Save',
'required' => false,
'ignore' => true,
'class' => 'preferred'
)
);
// put the buttons in a fieldset.
$this->addDisplayGroup(
array('save'),
'buttons',
array('class' => 'buttons')
);
}
| Analytics_Form_Configure::isValid | ( | $ | data | ) |
Extend isValid to verify values.
| array | $data | array of submitted form values |
Reimplemented from P4Cms_Form.
{
if (!parent::isValid($data)) {
return false;
}
if (!preg_match("/UA-\w{4,10}-\d{1,4}/is", $data['accountNumber'])) {
$this->getElement('accountNumber')->addError('Invalid account number format.');
return false;
}
return true;
}