/** {@inheritdoc} */ public function init() { parent::init(); $config = $this->getOption('config'); $mergeCustomFields = new Element\Checkbox('mergeCustomFields'); $mergeCustomFields->setLabel('Merge user supplied information'); $mergeCustomFields->setChecked($config->defaultMergeCustomFields); $this->add($mergeCustomFields); $mergeGroups = new Element\Checkbox('mergeGroups'); $mergeGroups->setLabel('Merge manual group assignments'); $mergeGroups->setChecked($config->defaultMergeGroups); $this->add($mergeGroups); $mergePackages = new Element\Checkbox('mergePackages'); $mergePackages->setLabel('Merge missing package assignments'); $mergePackages->setChecked($config->defaultMergePackages); $this->add($mergePackages); $submit = new \Library\Form\Element\Submit('submit'); $submit->setLabel('Merge selected clients'); $this->add($submit); // Checkboxes for "clients[]" are generated manually, without // \Zend\Form\Element. Define an input filter to have them processed. $arrayCount = new \Zend\Validator\Callback(); $arrayCount->setCallback(array($this, 'validateArrayCount'))->setMessage('At least 2 different clients have to be selected', \Zend\Validator\Callback::INVALID_VALUE); $inputFilter = new \Zend\InputFilter\InputFilter(); $inputFilter->add(array('name' => 'clients', 'required' => true, 'continue_if_empty' => true, 'filters' => array(array($this, 'clientsFilter')), 'validators' => array($arrayCount, new \Zend\Validator\Explode(array('validator' => new \Zend\Validator\Digits()))), 'error_message' => $arrayCount->getDefaultTranslator()->translate($arrayCount->getMessageTemplates()[\Zend\Validator\Callback::INVALID_VALUE]))); $this->setInputFilter($inputFilter); }
/** {@inheritdoc} */ public function init() { parent::init(); $submit = new \Library\Form\Element\Submit('Submit'); $submit->setLabel('OK'); $this->add($submit); }
/** {@inheritdoc} */ public function init() { parent::init(); $translatedTypes = array('text' => $this->_('Text'), 'clob' => $this->_('Long text'), 'integer' => $this->_('Integer'), 'float' => $this->_('Float'), 'date' => $this->_('Date')); $fields = new \Zend\Form\Fieldset('Fields'); $this->add($fields); $inputFilterFields = new \Zend\InputFilter\InputFilter(); foreach ($this->getOption('CustomFieldManager')->getFields() as $name => $type) { if ($name == 'TAG') { // Static field, can not be edited continue; } $this->_definedFields[$name] = $translatedTypes[$type]; $element = new \Zend\Form\Element\Text($name); $element->setValue($name); $fields->add($element); $filter = array('name' => $name, 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'StringLength', 'options' => array('min' => 1, 'max' => 255)), array('name' => 'Callback', 'options' => array('callback' => array($this, 'validateName'), 'callbackOptions' => $name, 'message' => $this->_('The name already exists'))))); $inputFilterFields->add($filter); } // Empty text field to create new field. $newName = new \Zend\Form\Element\Text('NewName'); $newName->setLabel('Add'); $this->add($newName); // Datatype of new field $newType = new \Zend\Form\Element\Select('NewType'); $newType->setValueOptions($translatedTypes); $this->add($newType); $submit = new \Library\Form\Element\Submit('Submit'); $submit->setLabel('Change'); $this->add($submit); $inputFilter = new \Zend\InputFilter\InputFilter(); $inputFilter->add($inputFilterFields, 'Fields'); $inputFilter->add(array('name' => 'NewName', 'required' => false, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'StringLength', 'options' => array('max' => 255)), array('name' => 'Callback', 'options' => array('callback' => array($this, 'validateName'), 'message' => $this->_('The name already exists')))))); $this->setInputFilter($inputFilter); }
/** {@inheritdoc} */ public function init() { parent::init(); $types = new \Zend\Form\Fieldset('Types'); $this->add($types); $inputFilterTypes = new \Zend\InputFilter\InputFilter(); $this->_definedTypes = $this->getOption('DeviceManager')->getTypeCounts(); foreach ($this->_definedTypes as $name => $count) { $element = new \Zend\Form\Element\Text($name); $element->setValue($name); $types->add($element); $filter = array('name' => $name, 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'StringLength', 'options' => array('min' => 1, 'max' => 255)), array('name' => 'Callback', 'options' => array('callback' => array($this, 'validateName'), 'callbackOptions' => $name, 'message' => $this->_('The name already exists'))))); $inputFilterTypes->add($filter); } $add = new \Zend\Form\Element\Text('Add'); $add->setLabel('Add'); $this->add($add); $submit = new \Library\Form\Element\Submit('Submit'); $submit->setLabel('Change'); $this->add($submit); $inputFilter = new \Zend\InputFilter\InputFilter(); $inputFilter->add($inputFilterTypes, 'Types'); $inputFilter->add(array('name' => 'Add', 'required' => false, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'StringLength', 'options' => array('max' => 255)), array('name' => 'Callback', 'options' => array('callback' => array($this, 'validateName'), 'message' => $this->_('The name already exists')))))); $this->setInputFilter($inputFilter); }
/** {@inheritdoc} */ public function init() { parent::init(); $this->_types = $this->getOption('customFieldManager')->getFields(); $fields = new \Zend\Form\Fieldset('Fields'); $inputFilterField = new \Zend\InputFilter\InputFilter(); foreach ($this->_types as $name => $type) { if ($type == 'clob') { $element = new \Zend\Form\Element\Textarea($name); } else { $element = new \Zend\Form\Element\Text($name); } if ($name == 'TAG') { $element->setLabel('Category'); } else { $element->setLabel($name); } $fields->add($element); $filter = array('name' => $name, 'required' => false, 'filters' => array(array('name' => 'Callback', 'options' => array('callback' => array($this, 'filterField'), 'callback_params' => $type))), 'validators' => array(array('name' => 'Callback', 'options' => array('callback' => array($this, 'validateField'), 'callbackOptions' => $type)))); $inputFilterField->add($filter); } $this->add($fields); $submit = new \Library\Form\Element\Submit('Submit'); $submit->setLabel('Change'); $this->add($submit); $inputFilter = new \Zend\InputFilter\InputFilter(); $inputFilter->add($inputFilterField, 'Fields'); $this->setInputFilter($inputFilter); }
/** {@inheritdoc} */ public function init() { parent::init(); $what = new \Zend\Form\Element\Radio('What'); $what->setValueOptions(array(\Model\Client\Client::MEMBERSHIP_AUTOMATIC => $this->_('Store search parameters. Group memberships will be updated automatically.'), \Model\Client\Client::MEMBERSHIP_ALWAYS => $this->_('Add current search results. Group memberships will be set only this time.'), \Model\Client\Client::MEMBERSHIP_NEVER => $this->_('Exclude search results from a group.'))); $what->setValue(\Model\Client\Client::MEMBERSHIP_AUTOMATIC); $this->add($what); $where = new \Zend\Form\Element\Radio('Where'); $where->setValueOptions(array('new' => $this->_('Store in new group'), 'existing' => $this->_('Store in existing group'))); $where->setValue('new')->setAttribute('onchange', 'selectElements()'); $this->add($where); $newGroup = new \Zend\Form\Element\Text('NewGroup'); $newGroup->setLabel('Name'); $this->add($newGroup); $description = new \Zend\Form\Element\Text('Description'); $description->setLabel('Description'); $this->add($description); $existingGroup = new \Library\Form\Element\SelectSimple('ExistingGroup'); $existingGroup->setLabel('Group'); $groups = array(); foreach ($this->getOption('GroupManager')->getGroups(null, null, 'Name') as $group) { $groups[] = $group['Name']; } $existingGroup->setValueOptions($groups); $this->add($existingGroup); $submit = new \Library\Form\Element\Submit('Submit'); $submit->setLabel('OK'); $this->add($submit); $inputFilter = new \Zend\InputFilter\InputFilter(); $inputFilter->add(array('name' => 'NewGroup', 'continue_if_empty' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'Callback', 'options' => array('callback' => array($this, 'validateLength'), 'callbackOptions' => array(0, 255), 'message' => $this->_('The input is more than 255 characters long')), 'break_chain_on_failure' => true), array('name' => 'Callback', 'options' => array('callback' => array($this, 'validateLength'), 'callbackOptions' => array(1, 255), 'message' => "Value is required and can't be empty"), 'break_chain_on_failure' => true), array('name' => 'Callback', 'options' => array('callback' => array($this, 'validateGroupExists'), 'message' => $this->_('The name already exists')))))); $inputFilter->add(array('name' => 'Description', 'required' => false, 'filters' => array(array('name' => 'StringTrim'), array('name' => 'Null', 'options' => array('type' => 'string'))), 'validators' => array(array('name' => 'Callback', 'options' => array('callback' => array($this, 'validateLength'), 'callbackOptions' => array(0, 255), 'message' => $this->_('The input is more than 255 characters long')))))); $this->setInputFilter($inputFilter); }
/** {@inheritdoc} */ public function init() { parent::init(); $preferences = new \Zend\Form\Fieldset('Preferences'); $this->add($preferences); $submit = new \Library\Form\Element\Submit('Submit'); $submit->setLabel('Set'); $this->add($submit); }
/** {@inheritdoc} */ public function init() { parent::init(); $name = new \Zend\Form\Element\Text('Name'); $name->setLabel('Name'); $this->add($name); $submit = new \Library\Form\Element\Submit('Submit'); $submit->setLabel('OK'); $this->add($submit); $inputFilter = new \Zend\InputFilter\InputFilter(); $inputFilter->add(array('name' => 'Name', 'required' => false, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'StringLength', 'options' => array('max' => 255))))); $this->setInputFilter($inputFilter); }
/** {@inheritdoc} */ public function init() { parent::init(); $key = new \Zend\Form\Element\Text('Key'); $key->setLabel('Product key (if different)'); $this->add($key); $submit = new \Library\Form\Element\Submit('Submit'); $submit->setLabel('OK'); $this->add($submit); $inputFilter = new \Zend\InputFilter\InputFilter(); $inputFilter->add(array('name' => 'Key', 'required' => false, 'filters' => array(array('name' => 'StringTrim'), array('name' => 'StringToUpper')), 'validators' => array(array('name' => 'Library\\Validator\\ProductKey')))); $this->setInputFilter($inputFilter); }
/** {@inheritdoc} */ public function init() { parent::init(); $deleteInterfaces = new \Zend\Form\Element\Checkbox('DeleteInterfaces'); $deleteInterfaces->setLabel('Delete interfaces from network listing')->setChecked($this->getOption('config')->defaultDeleteInterfaces); $this->add($deleteInterfaces); $yes = new \Library\Form\Element\Submit('yes'); $yes->setLabel('Yes'); $this->add($yes); $no = new \Library\Form\Element\Submit('no'); $no->setLabel('No'); $this->add($no); }
/** {@inheritdoc} */ public function init() { parent::init(); $file = new \Zend\Form\Element\File('File'); $file->setLabel('File (*.ocs, *.xml)'); $this->add($file); $submit = new \Library\Form\Element\Submit('Submit'); $submit->setLabel('Import'); $this->add($submit); $inputFilter = new \Zend\InputFilter\InputFilter(); $inputFilter->add(array('name' => 'File')); // Sufficient to force uploaded file $this->setInputFilter($inputFilter); }
/** {@inheritdoc} */ public function init() { parent::init(); $user = new \Zend\Form\Element\Text('User'); $user->setLabel('Username'); $this->add($user); $password = new \Zend\Form\Element\Password('Password'); $password->setLabel('Password'); $this->add($password); $submit = new \Library\Form\Element\Submit('Submit'); $submit->setLabel('Login'); $this->add($submit); $inputFilter = $this->getInputFilter(); $inputFilter->get('User')->setAllowEmpty(true); $inputFilter->get('Password')->setAllowEmpty(true); }
/** {@inheritdoc} */ public function init() { parent::init(); $type = new \Library\Form\Element\SelectSimple('Type'); $type->setLabel('Type')->setValueOptions($this->getOption('DeviceManager')->getTypes()); $this->add($type); $description = new \Zend\Form\Element\Text('Description'); $description->setLabel('Description'); $this->add($description); $submit = new \Library\Form\Element\Submit('Submit'); $submit->setLabel('OK'); $this->add($submit); $inputFilter = new \Zend\InputFilter\InputFilter(); $inputFilter->add(array('name' => 'Description', 'required' => false, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'StringLength', 'options' => array('max' => 255))))); $this->setInputFilter($inputFilter); }
/** {@inheritdoc} */ public function init() { parent::init(); $inputFilter = new \Zend\InputFilter\InputFilter(); // Create list of values as array because nested iteration does not work with ResultSet objects. $this->_definedValues = iterator_to_array($this->getOption('registryManager')->getValueDefinitions()); // Subform for enabling/disabling registry inspection, in addition to // the same setting in preferences. $fieldsetInspect = new \Zend\Form\Fieldset('inspect'); $inspect = new Element\Checkbox('inspect'); $inspect->setLabel('Inspect registry')->setChecked($this->getOption('config')->inspectRegistry); $fieldsetInspect->add($inspect); $this->add($fieldsetInspect); // Subform for existing values $fieldsetExisting = new \Zend\Form\Fieldset('existing'); $inputFilterExisting = new \Zend\InputFilter\InputFilter(); // Create text elements for existing values to rename them foreach ($this->_definedValues as $value) { $name = $value['Name']; $elementName = "value_{$value['Id']}_name"; $element = new Element\Text($elementName); $element->setValue($name)->setLabel($value['FullPath']); $inputFilterExisting->add(array('name' => $elementName, 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'StringLength', 'options' => array('max' => 255)), $this->_createBlacklistValidator($name)))); $fieldsetExisting->add($element); } $this->add($fieldsetExisting); $inputFilter->add($inputFilterExisting, 'existing'); // Subform for new value $fieldsetNew = new \Zend\Form\Fieldset('new_value'); $newName = new Element\Text('name'); $newName->setLabel('Name'); $fieldsetNew->add($newName); $newRootKey = new Element\Select('root_key'); $newRootKey->setLabel('Root key')->setAttribute('type', 'select_untranslated')->setValueOptions(\Model\Registry\Value::rootKeys())->setValue(\Model\Registry\Value::HKEY_LOCAL_MACHINE); $fieldsetNew->add($newRootKey); // Additional validation in isValid() $newSubKeys = new Element\Text('subkeys'); $newSubKeys->setLabel('Subkeys'); $fieldsetNew->add($newSubKeys); $newValue = new Element\Text('value'); $newValue->setLabel('Only this value (optional)'); $fieldsetNew->add($newValue); $submit = new \Library\Form\Element\Submit('submit'); $submit->setLabel('Change'); $fieldsetNew->add($submit); $this->add($fieldsetNew); $inputFilterNew = new \Zend\InputFilter\InputFilter(); $inputFilterNew->add(array('name' => 'name', 'required' => false, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'StringLength', 'options' => array('max' => 255)), $this->_createBlacklistValidator()))); $inputFilterNew->add(array('name' => 'subkeys', 'continue_if_empty' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'Callback', 'options' => array('callback' => array($this, 'validateEmptySubkeys'), 'message' => "Value is required and can't be empty")), array('name' => 'StringLength', 'options' => array('max' => 255))))); $inputFilterNew->add(array('name' => 'value', 'required' => false, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'StringLength', 'options' => array('max' => 255))))); $inputFilter->add($inputFilterNew, 'new_value'); $this->setInputFilter($inputFilter); }
/** {@inheritdoc} */ public function init() { parent::init(); $inputFilter = new \Zend\InputFilter\InputFilter(); $integerFilter = array('name' => 'Callback', 'options' => array('callback' => array($this, 'normalize'), 'callback_params' => 'integer')); $integerValidator = array('name' => 'Callback', 'options' => array('callback' => array($this, 'validateType'), 'callbackOptions' => 'integer')); // Package name $name = new Element\Text('Name'); $name->setLabel('Name'); $this->add($name); $inputFilter->add(array('name' => 'Name', 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'StringLength', 'options' => array('max' => 255)), array('name' => 'Library\\Validator\\NotInArray', 'options' => array('haystack' => $this->getOption('packageManager')->getAllNames(), 'caseSensitivity' => \Library\Validator\NotInArray::CASE_INSENSITIVE))))); // Comment $comment = new Element\Textarea('Comment'); $comment->setLabel('Comment'); $this->add($comment); $inputFilter->add(array('name' => 'Comment', 'required' => false, 'filters' => array(array('name' => 'StringTrim')))); // Platform combobox $platform = new Element\Select('Platform'); $platform->setLabel('Platform')->setAttribute('type', 'select_untranslated')->setAttribute('id', 'form_package_build_platform')->setAttribute('onchange', 'changePlatform()')->setValueOptions(array('windows' => 'Windows', 'linux' => 'Linux', 'mac' => 'MacOS')); $this->add($platform); // Action combobox // Translate labels manually to let xgettext recognize them $action = new Element\Select('DeployAction'); $action->setLabel('Action')->setAttribute('onchange', 'changeParam()')->setValueOptions(array('launch' => $this->_('Download package, execute command, retrieve result'), 'execute' => $this->_('Optionally download package, execute command'), 'store' => $this->_('Just download package to target path'))); $this->add($action); // Command line or target path for action // Label is set by JavaScript code. $actionParam = new Element\Text('ActionParam'); $this->add($actionParam); $inputFilter->add(array('name' => 'ActionParam', 'required' => true)); // Upload file $file = new Element\File('File'); $file->setLabel('File'); $this->add($file); $inputFilter->add(array('name' => 'File')); // Requirement is set in isValid() // Priority combobox $priority = new \Library\Form\Element\SelectSimple('Priority'); $priority->setValueOptions(range(0, 10))->setLabel('Priority (0: exclusive, 10: lowest)'); $this->add($priority); // Maximum fragment size. $maxFragmentSize = new Element\Text('MaxFragmentSize'); $maxFragmentSize->setAttribute('size', '8')->setLabel('Maximum fragment size (kB)'); $this->add($maxFragmentSize); $inputFilter->add(array('name' => 'MaxFragmentSize', 'required' => false, 'filters' => array($integerFilter), 'validators' => array($integerValidator))); // Warn user before installation $warn = new Element\Checkbox('Warn'); $warn->setLabel('Warn user')->setAttribute('id', 'form_package_build_warn')->setAttribute('onchange', 'toggleWarn()'); $this->add($warn); // Message to display to user before installation $warnMessage = new Element\Textarea('WarnMessage'); $warnMessage->setLabel('Message'); $this->add($warnMessage); $inputFilter->add(array('name' => 'WarnMessage', 'required' => false, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'Callback', 'options' => array('callback' => array($this, 'validateNotificationMessage'), 'message' => $this->_('Message must not contain double quotes.')))))); // Countdown before installation starts automatically $warnCountdown = new Element\Text('WarnCountdown'); $warnCountdown->setAttribute('size', '5')->setLabel('Countdown (seconds)'); $this->add($warnCountdown); $inputFilter->add(array('name' => 'WarnCountdown', 'required' => false, 'filters' => array($integerFilter), 'validators' => array($integerValidator))); // Allow user abort $warnAllowAbort = new Element\Checkbox('WarnAllowAbort'); $warnAllowAbort->setLabel('Allow abort by user'); $this->add($warnAllowAbort); // Allow user delay $warnAllowDelay = new Element\Checkbox('WarnAllowDelay'); $warnAllowDelay->setLabel('Allow delay by user'); $this->add($warnAllowDelay); // Message to display to user after deployment $postInstMessage = new Element\Textarea('PostInstMessage'); $postInstMessage->setLabel('Post-installation message'); $this->add($postInstMessage); $inputFilter->add(array('name' => 'PostInstMessage', 'required' => false, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'Callback', 'options' => array('callback' => array($this, 'validateNotificationMessage'), 'message' => $this->_('Message must not contain double quotes.')))))); // Submit button $submit = new \Library\Form\Element\Submit('Submit'); $submit->setLabel('Build'); $this->add($submit); $this->setInputFilter($inputFilter); }
/** {@inheritdoc} */ public function init() { parent::init(); $inputFilter = new \Zend\InputFilter\InputFilter(); // Agent options $agent = new \Zend\Form\Fieldset('Agent'); $inputFilterAgent = new \Zend\InputFilter\InputFilter(); $contactInterval = new Element\Text('contactInterval'); $contactInterval->setLabel('Agent contact interval (in hours)')->setAttribute('size', '5'); $agent->add($contactInterval); $inputFilterAgent->add($this->_getIntegerFilter('contactInterval', 1)); $inventoryInterval = new Element\Text('inventoryInterval'); $inventoryInterval->setLabel('Inventory interval (in days, 0 = always, -1 = never)')->setAttribute('size', '5'); $agent->add($inventoryInterval); $inputFilterAgent->add($this->_getIntegerFilter('inventoryInterval', -1)); $this->add($agent); $inputFilter->add($inputFilterAgent, 'Agent'); // Download options $download = new \Zend\Form\Fieldset('Download'); $inputFilterDownload = new \Zend\InputFilter\InputFilter(); $packageDeployment = new Element\Checkbox('packageDeployment'); $packageDeployment->setLabel('Enable package download')->setAttribute('onchange', 'toggle(this)'); $download->add($packageDeployment); $downloadPeriodDelay = new Element\Text('downloadPeriodDelay'); $downloadPeriodDelay->setLabel('Delay (in seconds) between periods')->setAttribute('size', '5'); $download->add($downloadPeriodDelay); $inputFilterDownload->add($this->_getIntegerFilter('downloadPeriodDelay', 1)); $downloadCycleDelay = new Element\Text('downloadCycleDelay'); $downloadCycleDelay->setLabel('Delay (in seconds) between cycles')->setAttribute('size', '5'); $download->add($downloadCycleDelay); $inputFilterDownload->add($this->_getIntegerFilter('downloadCycleDelay', 1)); $downloadFragmentDelay = new Element\Text('downloadFragmentDelay'); $downloadFragmentDelay->setLabel('Delay (in seconds) between fragments')->setAttribute('size', '5'); $download->add($downloadFragmentDelay); $inputFilterDownload->add($this->_getIntegerFilter('downloadFragmentDelay', 1)); $downloadMaxPriority = new Element\Text('downloadMaxPriority'); $downloadMaxPriority->setLabel('Maximum package priority')->setAttribute('size', '5'); $download->add($downloadMaxPriority); $inputFilterDownload->add($this->_getIntegerFilter('downloadMaxPriority', 1)); $downloadTimeout = new Element\Text('downloadTimeout'); $downloadTimeout->setLabel('Timeout (in days)')->setAttribute('size', '5'); $download->add($downloadTimeout); $inputFilterDownload->add($this->_getIntegerFilter('downloadTimeout', 1)); $this->add($download); $inputFilter->add($inputFilterDownload, 'Download'); // Network scanning options $scan = new \Zend\Form\Fieldset('Scan'); $inputFilterScan = new \Zend\InputFilter\InputFilter(); $allowScan = new Element\Checkbox('allowScan'); $allowScan->setLabel('Allow network scanning')->setAttribute('onchange', 'toggle(this)'); $scan->add($allowScan); $subnets = new \Library\Form\Element\SelectSimple('scanThisNetwork'); $subnets->setLabel('Always scan this network')->setEmptyOption(''); $scan->add($subnets); $inputFilterScan->add(array('name' => 'scanThisNetwork', 'required' => false)); $scanSnmp = new Element\Checkbox('scanSnmp'); $scanSnmp->setLabel('Use SNMP'); $scan->add($scanSnmp); $this->add($scan); $inputFilter->add($inputFilterScan, 'Scan'); $submit = new \Library\Form\Element\Submit('Submit'); $submit->setLabel('OK'); $this->add($submit); $this->setInputFilter($inputFilter); }
public function testSetLabel() { $submit = new \Library\Form\Element\Submit(); $this->assertEquals('test', $submit->setLabel('test')->getValue()); }
/** {@inheritdoc} */ public function init() { parent::init(); $translator = $this->getOption('translator'); $this->_filters = array('Name' => $translator->translate('Name'), 'UserName' => $translator->translate('User name'), 'Windows.UserDomain' => $translator->translate('User domain'), 'Windows.Workgroup' => $translator->translate('Workgroup'), 'OsName' => $translator->translate('OS name'), 'OsVersionNumber' => $translator->translate('OS version number'), 'OsVersionString' => $translator->translate('OS version string'), 'Windows.CpuArchitecture' => $translator->translate('OS architecture'), 'OsComment' => $translator->translate('OS comment'), 'Windows.ProductKey' => $translator->translate('Windows product key'), 'Windows.ManualProductKey' => $translator->translate('Windows product key (manual)'), 'Software.Name' => $translator->translate('Software: Name'), 'Software.Version' => $translator->translate('Software: Version'), 'Software.Publisher' => $translator->translate('Software: Publisher'), 'Software.Comment' => $translator->translate('Software: Comment'), 'Software.InstallLocation' => $translator->translate('Software: Install location'), 'MsOfficeProduct.ProductKey' => $translator->translate('MS Office product key'), 'MsOfficeProduct.ProductId' => $translator->translate('MS Office product ID'), 'InventoryDate' => $translator->translate('Last inventory'), 'LastContactDate' => $translator->translate('Last contact'), 'CpuType' => $translator->translate('CPU type'), 'CpuClock' => $translator->translate('CPU clock (MHz)'), 'CpuCores' => $translator->translate('CPU cores'), 'PhysicalMemory' => $translator->translate('Physical memory'), 'SwapMemory' => $translator->translate('Swap memory'), 'Manufacturer' => $translator->translate('Manufacturer'), 'ProductName' => $translator->translate('Model'), 'Serial' => $translator->translate('Serial number'), 'AssetTag' => $translator->translate('Asset tag'), 'BiosVersion' => $translator->translate('BIOS version'), 'BiosDate' => $translator->translate('BIOS date'), 'Filesystem.Size' => $translator->translate('Filesystem size (MB)'), 'Filesystem.FreeSpace' => $translator->translate('Filesystem free space (MB)'), 'DnsServer' => $translator->translate('DNS server'), 'DefaultGateway' => $translator->translate('Default gateway'), 'NetworkInterface.IpAddress' => $translator->translate('IP address'), 'NetworkInterface.MacAddress' => $translator->translate('MAC address'), 'NetworkInterface.Subnet' => $translator->translate('Network address'), 'NetworkInterface.Netmask' => $translator->translate('Network Mask'), 'Printer.Name' => $translator->translate('Printer name'), 'Printer.Port' => $translator->translate('Printer port'), 'Printer.Driver' => $translator->translate('Printer driver'), 'UserAgent' => $translator->translate('User agent'), 'Display.Manufacturer' => $translator->translate('Monitor: manufacturer'), 'Display.Description' => $translator->translate('Monitor: description'), 'Display.Serial' => $translator->translate('Monitor: serial'), 'Display.Edid' => $translator->translate('Monitor: EDID'), 'DisplayController.Name' => $translator->translate('Display controller'), 'DisplayController.Memory' => $translator->translate('GPU memory'), 'Modem.Name' => $translator->translate('Modem'), 'AudioDevice.Name' => $translator->translate('Audio device'), 'Port.Name' => $translator->translate('Port name')); // Append filters and labels for registry values/data foreach ($this->getOption('registryManager')->getValueDefinitions() as $regValue) { $name = $regValue['Name']; $this->_filters["Registry.{$name}"] = "Registry: {$name}"; } // Append filters and labels for user defined info $template = $translator->translate('User defined: %s'); foreach ($this->getOption('customFieldManager')->getFields() as $name => $type) { $key = "CustomFields.{$name}"; switch ($type) { case 'text': case 'clob': break; case 'integer': case 'float': case 'date': $this->_types[$key] = $type; break; default: throw new \UnexpectedValueException('Unsupported datatype: ' . $type); } if ($name == 'TAG') { $label = $translator->translate('Category'); } else { $label = $name; } $this->_filters[$key] = sprintf($template, $label); } $filter = new Element\Select('filter'); $filter->setLabel('Search for')->setAttribute('type', 'select_untranslated')->setAttribute('onchange', 'filterChanged();')->setValueOptions($this->_filters); $this->add($filter); $search = new Element\Text('search'); $search->setLabel('Value'); $this->add($search); // Operators dropdown. Options are set by JS depending on filter type. // Since valid options are known only after submission, the internal // InArray validator must be disabled and replaced by a callback. $operator = new Element\Select('operator'); $operator->setDisableInArrayValidator(true)->setLabel('Operator'); $this->add($operator); $invert = new Element\Checkbox('invert'); $invert->setLabel('Invert results'); $this->add($invert); $submit = new \Library\Form\Element\Submit('customSearch'); $submit->setLabel('Search'); $this->add($submit); $inputFilter = new \Zend\InputFilter\InputFilter(); $inputFilter->add(array('name' => 'search', 'continue_if_empty' => true, 'filters' => array(array('name' => 'Callback', 'options' => array('callback' => array($this, 'filterSearch')))), 'validators' => array(array('name' => 'Callback', 'options' => array('callback' => array($this, 'validateSearch')))))); $inputFilter->add(array('name' => 'operator', 'validators' => array(array('name' => 'Callback', 'options' => array('callback' => array($this, 'validateOperator')))))); $this->setInputFilter($inputFilter); $this->_operatorsText = array('like' => $translator->translate("Substring match, wildcards '?' and '*' allowed"), 'eq' => $translator->translate('Exact match')); }