/** * @covers FormValidatorControlledVocab * @covers FormValidator */ public function testIsValid() { // Test form $form = new Form('some template'); // Mock a ControlledVocab object import('lib.pkp.classes.controlledVocab.ControlledVocab'); $mockControlledVocab = $this->getMock('ControlledVocab', array('enumerate')); $mockControlledVocab->setId(1); $mockControlledVocab->setAssocType(ASSOC_TYPE_CITATION); $mockControlledVocab->setAssocId(333); $mockControlledVocab->setSymbolic('testVocab'); // Set up the mock enumerate() method $mockControlledVocab->expects($this->any())->method('enumerate')->will($this->returnValue(array(1 => 'vocab1', 2 => 'vocab2'))); // Mock the ControlledVocabDAO $mockControlledVocabDao = $this->getMock('ControlledVocabDAO', array('getBySymbolic')); // Set up the mock getBySymbolic() method $mockControlledVocabDao->expects($this->any())->method('getBySymbolic')->with('testVocab', ASSOC_TYPE_CITATION, 333)->will($this->returnValue($mockControlledVocab)); DAORegistry::registerDAO('ControlledVocabDAO', $mockControlledVocabDao); // Instantiate validator $validator = new FormValidatorControlledVocab($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key', 'testVocab', ASSOC_TYPE_CITATION, 333); $form->setData('testData', '1'); self::assertTrue($validator->isValid()); $form->setData('testData', '2'); self::assertTrue($validator->isValid()); $form->setData('testData', '3'); self::assertFalse($validator->isValid()); }
/** * @covers FormValidatorCustom * @covers FormValidator */ public function testIsValid() { $form = new Form('some template'); $validationFunction = array($this, 'userValidationFunction'); // Tests are completely bypassed when the validation type is // "optional" and the test field is empty. We make sure this is the // case by returning 'false' for the custom validation function. $form->setData('testData', ''); $validator = new FormValidatorCustom($form, 'testData', FORM_VALIDATOR_OPTIONAL_VALUE, 'some.message.key', $validationFunction, array(false)); self::assertTrue($validator->isValid()); self::assertSame(null, $this->checkedValue); // Simulate valid data $form->setData('testData', 'xyz'); $validator = new FormValidatorCustom($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key', $validationFunction, array(true)); self::assertTrue($validator->isValid()); self::assertSame('xyz', $this->checkedValue); // Simulate invalid data $form->setData('testData', 'xyz'); $validator = new FormValidatorCustom($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key', $validationFunction, array(false)); self::assertFalse($validator->isValid()); self::assertSame('xyz', $this->checkedValue); // Simulate valid data with negation of the user function return value $form->setData('testData', 'xyz'); $validator = new FormValidatorCustom($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key', $validationFunction, array(false), true); self::assertTrue($validator->isValid()); self::assertSame('xyz', $this->checkedValue); }
/** * @covers FormValidatorInSet * @covers FormValidator */ public function testIsValid() { $form = new Form('some template'); // Instantiate test validator $acceptedValues = array('val1', 'val2'); $validator = new FormValidatorInSet($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key', $acceptedValues); $form->setData('testData', 'val1'); self::assertTrue($validator->isValid()); $form->setData('testData', 'anything else'); self::assertFalse($validator->isValid()); }
/** * @covers FormValidatorEmail * @covers FormValidator */ public function testIsValid() { $form = new Form('some template'); $form->setData('testData', '*****@*****.**'); $validator = new FormValidatorEmail($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key'); self::assertTrue($validator->isValid()); self::assertEquals(array('testData' => array('required', 'email')), $form->cssValidation); $form->setData('testData', 'anything else'); $validator = new FormValidatorEmail($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key'); self::assertFalse($validator->isValid()); }
/** * @covers FormValidatorLocaleEmail * @covers FormValidatorLocale * @covers FormValidator */ public function testIsValid() { $form = new Form('some template'); $form->setData('testData', array('en_US' => '*****@*****.**')); $validator = new FormValidatorLocaleEmail($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key'); self::assertTrue($validator->isValid()); $form->setData('testData', '*****@*****.**'); $validator = new FormValidatorLocaleEmail($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key'); self::assertFalse($validator->isValid()); $form->setData('testData', array('en_US' => 'anything else')); $validator = new FormValidatorLocaleEmail($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key'); self::assertFalse($validator->isValid()); }
/** * @covers FormValidatorLocale::getFieldValue */ public function testGetFieldValue() { $form = new Form('some template'); $formValidator = new FormValidatorLocale($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key'); self::assertSame('', $formValidator->getFieldValue()); $form->setData('testData', null); $formValidator = new FormValidatorLocale($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key'); self::assertSame('', $formValidator->getFieldValue()); $form->setData('testData', array('en_US' => null)); $formValidator = new FormValidatorLocale($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key'); self::assertSame('', $formValidator->getFieldValue()); $form->setData('testData', array('en_US' => 0)); $formValidator = new FormValidatorLocale($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key'); self::assertSame('0', $formValidator->getFieldValue()); $form->setData('testData', array('en_US' => '0')); $formValidator = new FormValidatorLocale($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key'); self::assertSame('0', $formValidator->getFieldValue()); $form->setData('testData', ' some text '); $formValidator = new FormValidatorLocale($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key'); self::assertSame('', $formValidator->getFieldValue()); $form->setData('testData', array('de_DE' => ' some text ')); $formValidator = new FormValidatorLocale($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key'); self::assertSame('', $formValidator->getFieldValue()); $form->setData('testData', array('en_US' => ' some text ')); $formValidator = new FormValidatorLocale($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key'); self::assertSame('some text', $formValidator->getFieldValue()); $form->setData('testData', array('en_US' => array(' some text '))); $formValidator = new FormValidatorLocale($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key'); self::assertSame(array(' some text '), $formValidator->getFieldValue()); }
/** * @covers FormValidatorLength * @covers FormValidator */ public function testIsValid() { $form = new Form('some template'); $form->setData('testData', 'test'); // Encode the tests to be run against the validator $tests = array(array('==', 4, true), array('==', 5, false), array('==', 3, false), array('!=', 4, false), array('!=', 5, true), array('!=', 3, true), array('<', 5, true), array('<', 4, false), array('>', 3, true), array('>', 4, false), array('<=', 4, true), array('<=', 5, true), array('<=', 3, false), array('>=', 4, true), array('>=', 3, true), array('>=', 5, false), array('...', 3, false)); foreach ($tests as $test) { $validator = new FormValidatorLength($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key', $test[0], $test[1]); self::assertSame($test[2], $validator->isValid()); } // Test optional validation type $form->setData('testData', ''); $validator = new FormValidatorLength($form, 'testData', FORM_VALIDATOR_OPTIONAL_VALUE, 'some.message.key', '==', 4); self::assertTrue($validator->isValid()); }
/** * @covers FormValidatorBoolean * @covers FormValidator */ public function testIsValid() { $form = new Form('some template'); // Instantiate test validator $validator = new FormValidatorBoolean($form, 'testData', 'some.message.key'); $form->setData('testData', ''); self::assertTrue($validator->isValid()); $form->setData('testData', 'on'); self::assertTrue($validator->isValid()); $form->setData('testData', true); self::assertTrue($validator->isValid()); $form->setData('testData', false); self::assertTrue($validator->isValid()); $form->setData('testData', 'anything else'); self::assertFalse($validator->isValid()); }
/** * @covers FormValidatorUsername * @covers FormValidator */ public function testIsValid() { $form = new Form('some template'); // Allowed characters are a-z, 0-9, -, _. The characters - and _ are // not allowed at the start of the string. $form->setData('testData', 'a-z0123_bkj'); $validator = new FormValidatorUsername($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key'); self::assertTrue($validator->isValid()); // Test invalid strings $form->setData('testData', '-z0123_bkj'); $validator = new FormValidatorUsername($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key'); self::assertFalse($validator->isValid()); $form->setData('testData', 'abc#def'); $validator = new FormValidatorUsername($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key'); self::assertFalse($validator->isValid()); }
/** {@inheritdoc} */ public function setData($data) { foreach ($data['Fields'] as $name => &$content) { $content = $this->localize($content, $this->_types[$name]); } return parent::setData($data); }
private function getForm(EditedCssFile $css) { $form = new Form($this->getValidator('cssFile', $this->request)); $form->setData($css->toArray()); $form->set('code', ''); $form->set('fileName', $css->getFileName()); $form->set('file', $css->getTheme()); return $form; }
/** * @covers FormValidatorRegExp * @covers FormValidator */ public function testIsValid() { $form = new Form('some template'); $form->setData('testData', 'some data'); $validator = new FormValidatorRegExp($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key', '/some.*/'); self::assertTrue($validator->isValid()); $validator = new FormValidatorRegExp($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key', '/some more.*/'); self::assertFalse($validator->isValid()); }
function showAll($headingName, $titles, $data, $handlers = array(), $mouseType = 0) { parent::setTitles($titles); parent::setData($data); parent::setEventHandler($handlers); parent::setHeadings($headingName); parent::setSortable(true); parent::setMouseHandlerType($mouseType); return parent::showForm(90); }
/** {@inheritdoc} */ public function setData($data) { if (isset($data['Groups'])) { $groups = array_keys($data['Groups']); } else { $groups = array(); } $this->setGroups($groups); return parent::setData($data); }
function editModalForm($headingName, $titleName, $infoArray, $infoKey, $modalID, $value) { parent::setHeadings($headingName); parent::setTitles($titleName); parent::setData($infoArray); parent::setSortable(false); parent::setDatabase($infoKey); parent::setModalID($modalID); parent::setUpdateValue($value); return parent::modalForm(10); }
function get_config($id = '') { // MUST HAVE<input type='hidden' name='id' value=".$id."></input> // the name of the property must follow the conventions plugin_<Classname>_<propertyName> // have the form post and make sure the submit button is named widget_update // make sure there is also a hidden value giving the name of this Class file // Get defaults $subquery = "select device_id, enabled FROM plugin_SNMPPoller_devices"; $result2 = mysql_query($subquery); if (!$result2) { return "<b>Oops something went wrong, unable to read plugin_SNMPPoller_devices SQL table </b>"; } $devices = array(); while ($obj = mysql_fetch_object($result2)) { $devices[$obj->device_id] = $obj->enabled; } // Now we have the defaults in $devices; $content .= "<h1>Please select the Devices you would like to Monitor with the SNMP poller</h1>"; $content .= "<form id='configForm' method='post' name='edit_devices'>\r\n\t\t\t<input type='hidden' name='class' value='SNMPPoller'></input>\r\n\t\t\t<input type='hidden' name='id' value=" . $id . "></input> "; $select_all = "<input name='all' type='checkbox' value='Select All' onclick=\"checkAll(document.edit_devices['devices[]'],this)\""; #$content .= "<table border=1><tr><th>$select_all</th><th>Device</th><th>Device Type</th><th>Location</th></tr>"; $form = new Form("auto", 4); $keyHandlers = array(); $keyData = array(); $keyTitle = array(); foreach (Device::get_devices() as $id => $name) { if (array_key_exists($id, $devices) && $devices[$id] == 1) { $checked = "checked='yes'"; } else { $checked = ""; } $deviceInfo = new Device($id); array_push($keyData, "<input type=checkbox name=devices[] value='{$id}' {$checked} >"); array_push($keyData, $name); array_push($keyData, $deviceInfo->get_type_name()); array_push($keyData, $deviceInfo->get_location_name()); #$content .= "<tr><td><input type=checkbox name=devices[] value='$id' $checked ></td>"; #$content .= "<td>$name</td><td>". $deviceInfo->get_type_name() ."</td>"; #$content .= "<td>". $deviceInfo->get_location_name() ."</td></tr>"; } #$content .= "</table> <br>"; //get all the device and display them all in the 3 sections "Device Name", "Device Type", "Location". $heading = array($select_all, "Device Name", "Device Type", "Location "); $form->setSortable(true); // or false for not sortable $form->setHeadings($heading); $form->setEventHandler($handler); $form->setData($keyData); $form->setTableWidth("auto"); $content .= $form->showForm(); $content .= "<div style='clear:both;'></div><input type='submit' class='submitBut' name='plugin_update' value='Update configuration'/>\r\n\t\t\t</form> "; return "{$content}"; }
/** * @covers FormValidatorUrl * @covers FormValidator */ public function testIsValid() { $form = new Form('some template'); // test valid urls $form->setData('testUrl', 'http://some.domain.org/some/path?some=query#fragment'); $validator = new FormValidatorUrl($form, 'testUrl', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key'); self::assertTrue($validator->isValid()); self::assertEquals(array('testUrl' => array('required', 'url')), $form->cssValidation); $form->setData('testUrl', 'http://192.168.0.1/'); $validator = new FormValidatorUrl($form, 'testUrl', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key'); self::assertTrue($validator->isValid()); // test invalid urls $form->setData('testUrl', 'gopher://some.domain.org/'); $validator = new FormValidatorUrl($form, 'testUrl', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key'); self::assertFalse($validator->isValid()); $form->setData('testUrl', 'http://some.domain.org/#frag1#frag2'); $validator = new FormValidatorUrl($form, 'testUrl', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key'); self::assertFalse($validator->isValid()); $form->setData('testUrl', 'http://256.168.0.1/'); $validator = new FormValidatorUrl($form, 'testUrl', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key'); self::assertFalse($validator->isValid()); }
/** * @covers FormValidatorCaptcha * @covers FormValidator */ public function testIsValid() { // Test form $form = new Form('some template'); $form->setData('testCaptchaId', 'test captcha id'); // Create a test Captcha import('lib.pkp.classes.captcha.Captcha'); $captcha = new Captcha(); $captcha->setValue('expected captcha value'); $this->registerMockCaptchaDAO($captcha); // Instantiate validator $validator = new FormValidatorCaptcha($form, 'testData', 'testCaptchaId', 'some.message.key'); // Test valid captcha $form->setData('testData', 'expected captcha value'); self::assertTrue($validator->isValid()); // Simulate invalid captcha value $form->setData('testData', 'unexpected captcha value'); self::assertFalse($validator->isValid()); // Simulate invalid captcha id $this->registerMockCaptchaDAO(null); $form->setData('testData', 'expected captcha value'); self::assertFalse($validator->isValid()); }
/** * @covers FormValidatorArray * @covers FormValidator */ public function testIsValid() { $form = new Form('some template'); // Tests are completely bypassed when the validation type is "optional" values. $form->setData('testData', ''); $validator = new FormValidatorArray($form, 'testData', FORM_VALIDATOR_OPTIONAL_VALUE, 'some.message.key'); self::assertTrue($validator->isValid()); self::assertEquals(array(), $validator->getErrorFields()); // Field data must be an array, otherwise validation fails $form->setData('testData', ''); $validator = new FormValidatorArray($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key'); self::assertFalse($validator->isValid()); self::assertEquals(array(), $validator->getErrorFields()); // We can either require all sub-fields (which is default)... $form->setData('testData', array('subfield1' => 'abc', 'subfield2' => '0')); $validator = new FormValidatorArray($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key'); self::assertTrue($validator->isValid()); self::assertEquals(array(), $validator->getErrorFields()); $form->setData('testData', array('subfield1' => '', 'subfield2' => null)); $validator = new FormValidatorArray($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key'); self::assertFalse($validator->isValid()); self::assertEquals(array('testData[subfield1]', 'testData[subfield2]'), $validator->getErrorFields()); // ..or the same explicit sub-sub-fields within all sub-fields. $testArray = array('subfield1' => array('subsubfield1' => 'abc', 'subsubfield2' => 'def'), 'subfield2' => array('subsubfield1' => '0', 'subsubfield2' => 0)); $form->setData('testData', $testArray); $validator = new FormValidatorArray($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key', array('subsubfield1', 'subsubfield2')); self::assertTrue($validator->isValid()); self::assertEquals(array(), $validator->getErrorFields()); $testArray = array('subfield1' => array('subsubfield1' => 'abc', 'subsubfield2' => 'def'), 'subfield2' => array('subsubfield1' => '', 'subsubfield2' => 'xyz')); $form->setData('testData', $testArray); $validator = new FormValidatorArray($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key', array('subsubfield1', 'subsubfield2')); self::assertFalse($validator->isValid()); self::assertEquals(array('testData[subfield2][subsubfield1]'), $validator->getErrorFields()); // Test border conditions... // ...pass in a one-dimensional array where a two-dimensional array is expected $testArray = array('subfield1' => 'abc', 'subfield2' => 'def'); $form->setData('testData', $testArray); $validator = new FormValidatorArray($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key', array('subsubfield')); self::assertFalse($validator->isValid()); self::assertEquals(array('testData[subfield1]', 'testData[subfield2]'), $validator->getErrorFields()); // ...pass in a two-dimensional array but leave out expected subsubfields $testArray = array('subfield1' => array('subsubfield1' => 'abc', 'subsubfield2' => null), 'subfield2' => array('subsubfield2' => 'xyz')); $form->setData('testData', $testArray); $validator = new FormValidatorArray($form, 'testData', FORM_VALIDATOR_REQUIRED_VALUE, 'some.message.key', array('subsubfield1', 'subsubfield2')); self::assertFalse($validator->isValid()); self::assertEquals(array('testData[subfield1][subsubfield2]', 'testData[subfield2][subsubfield1]'), $validator->getErrorFields()); }
function get_content() { $last_events = Event::get_last_events(10); $form = new Form(); $keyData = array(); $keyHandlers = array(); foreach ($last_events as $event_id => $status) { $event = new Event($event_id); $status = 3; $status = $event->get_status(); $status_name = $this->status_array[$status]; array_push($keyData, "<font color=" . $this->status_collors[$status] . "> {$status_name} </font>"); array_push($keyData, $event->get_hostname()); array_push($keyData, $event->get_check_name()); //array_push($keyData, $event->get_check_name() .".tip.". $event->get_key1() ." ". $event->get_key2()); array_push($keyData, $this->getHowLongAgo($event->get_insert_date())); // array_push($keyData, $event->get_last_updated()); $insert_time = strtotime($event->get_insert_date()); $last_time = strtotime($event->get_last_updated()); $diff = $this->strTime($last_time - $insert_time); array_push($keyData, $diff); // array_push($keyData, $event->get_info_msg() ); $check_id = $event->get_check_id(); $check = new Check($check_id); if (is_null($check_id)) { array_push($keyHandlers, ""); } else { array_push($keyHandlers, "handleEvent('monitor.php?action=showCheck&checkid={$check_id}')"); } } $headings = array("Status", "Host", "Service", "Date", "Duration"); $form->setCols(5); $form->setTableWidth("100%"); $form->setData($keyData); $form->setEventHandler($keyHandlers); $form->setHeadings($headings); $form->setSortable(true); return $form->showForm() . " <div style='clear:both'></div>"; }
public static function createFromConfig($config, $data = [], $errors = []) { $form = new Form($data, $errors); if (isset($config['fields'])) { if (isset($config['defaults']) && isset($config['defaults']['fields'])) { $field_defaults = $config['defaults']['fields'] + self::$fieldsDefaults; } else { $field_defaults = self::$fieldsDefaults; } foreach ($config['fields'] as $key => $fc) { if (!isset($fc['name'])) { trigger_error('Skipping index "' . $key . '". No name attibute.', E_USER_WARNING); continue; } extract(self::parseDynamicValues(array_replace_recursive($field_defaults, $fc))); if (!isset($data[$name]) && !is_null($default)) { $data[$name] = $default; } if ($required) { $attributes["required"] = "required"; } $field = $form->addField($type, $name, $label, $choices, $group, $attributes, $container_attributes, $html); } $form->setData($data); if (isset($config['layout'])) { $form->setGroupLayout($config['layout']); } if (isset($config['groups'])) { foreach ($config['groups'] as $groupname => $groupconfig) { $groupconfig = array_replace_recursive(self::$groupsDefaults, $groupconfig); $form->defineGroup($groupname, $groupconfig['label'], $groupconfig['attributes']); } } } return $form; }
/** * Displays an edit form to customize the email. * @param $formActionUrl string * @param $hiddenFormParams array * @return void */ function displayEditForm($formActionUrl, $hiddenFormParams = null, $alternateTemplate = null, $additionalParameters = array()) { import('form.Form'); $form = new Form($alternateTemplate != null ? $alternateTemplate : 'email/email.tpl'); $form->setData('formActionUrl', $formActionUrl); $form->setData('subject', $this->getSubject()); $form->setData('body', $this->getBody()); $form->setData('to', $this->getRecipients()); $form->setData('cc', $this->getCcs()); $form->setData('bcc', $this->getBccs()); $form->setData('blankTo', Request::getUserVar('blankTo')); $form->setData('blankCc', Request::getUserVar('blankCc')); $form->setData('blankBcc', Request::getUserVar('blankBcc')); $form->setData('from', $this->getFromString(false)); $form->setData('addressFieldsEnabled', $this->getAddressFieldsEnabled()); $user =& Request::getUser(); if ($user) { $form->setData('senderEmail', $user->getEmail()); $form->setData('bccSender', $this->bccSender); } if ($this->attachmentsEnabled) { $form->setData('attachmentsEnabled', true); $form->setData('persistAttachments', $this->persistAttachments); } $form->setData('errorMessages', $this->errorMessages); if ($hiddenFormParams != null) { $form->setData('hiddenFormParams', $hiddenFormParams); } foreach ($additionalParameters as $key => $value) { $form->setData($key, $value); } $form->display(); }
/** * @return Form */ private function createUserGroupForm(UserGroup $group) { $form = new Form($this->createUserGroupFormValidator($group)); $form->setData($group->toArray()); return $form; }
/** * Sets the values of both fields to this value * * @param mixed $data */ public function setData($data) { parent::setData(array($this->getOption('first_key') => $data, $this->getOption('second_key') => $data)); }
/** * @return Form */ private function createTaxForm(Tax $tax) { $form = new Form($this->createTaxFormValidator($tax)); $form->setData($tax->toArray()); return $form; }
private function buildPersonalDataForm(User $user) { $form = new Form($this->buildPersonalDataValidator($user)); $form->setData($this->user->toArray()); return $form; }
/** * @return Form */ private function createClassForm(ShippingClass $class) { $form = new Form($this->createClassFormValidator($class)); $form->setData($class->toArray()); return $form; }
private function list_secret_data() { $content = ''; $modal_forms; $tool = new EdittingTools(); $content .= $tool->createNewFilters(); $content .= "<a name='modal' href='#Add_privatedata_modal'><img src='icons/Add.png' height=18>Add Private Data</a><br><br>"; // We need to know all groups this user is in: $user = new User($_SESSION['userid']); $user_groups = $user->get_groups(); $data = array(); // Create modal for adding a new Private data entry // This modal should ask for which group to add it as and the password // We need to know all groups this user is in: $user = new User($_SESSION['userid']); $user_groups = $user->get_groups(); if (sizeof($user_groups) == 1) { foreach ($user_groups as $gid => $gname) { $group_data = $gname; } } else { $group_data = ""; } $modalForm = new Form("auto", 2); $modalForm->setHeadings(array("For which group would you like to add private")); $modalForm->setTitles(array("Group", "Group Password.tip.This is the shared secret for the group you selected above.", "Fill in Private Data Details below:", "Description", "Private Data <br><small><i>Stored encrypted</i></small>.tip.This data will be AES encrypted", "Type <br><small><a name='modal' href='#add_pdtype_modal'>Add Private data type</a></small>", "Notes <br><small><i>Stored encrypted</i></small>.tip.This data will be AES encrypted", "device_id")); $modalForm->setData(array("{$group_data}", "", "", "", "", "", "", $_GET['ID'])); $modalForm->setDatabase(array("group_id", "group_pass", "dummy", "private_data_desc", "private_data_password", "private_data_type", "private_data_notes", "device_id")); $modalForm->setFieldType(array(0 => 'drop_down', 1 => 'password_autocomplete_off', 2 => 'static', 5 => 'drop_down', 6 => 'text_area', 7 => 'hidden')); // Drop down // We need to know all groups this user is in: $modalForm->setType($user_groups); $dataTypes = PrivateDataType::get_private_data_types(); $modalForm->setType($dataTypes); //End Dropdown // Change button text $modalForm->setUpdateValue("add_private_data_for_group"); $modalForm->setUpdateValue("add_private_data_for_group"); $modalForm->setUpdateText("Add"); $modalForm->setModalID("Add_privatedata_modal"); $modal_forms .= $modalForm->modalForm(); unset($modalForm); // End modal // Create modal forms // Add Modal for adding Private data types $modalForm = new Form("auto", 2); $modalForm->setHeadings(array("<br><br>Add Private Data Type")); $modalForm->setTitles(array("Name.tip.Descriptive String for this type", "Description")); $modalForm->setData(array("", "")); $modalForm->setDatabase(array("pdtype_name", "pdtype_desc")); // Change button text $modalForm->setUpdateValue("add_private_data_type"); $modalForm->setUpdateText("Add Private Data Type"); $modalForm->setModalID("add_pdtype_modal"); $modal_forms .= $modalForm->modalForm(); unset($modalForm); // End Modal for adding Private data types foreach ($user_groups as $gid => $gname) { // Create a modal per group, that asks for the group password // We only need one per group, as passwords are unqiue per group $modalForm = new Form("auto", 2); $modalForm->setHeadings(array("Please provide group password for {$gname}")); $modalForm->setTitles(array("Password", "group_id")); $modalForm->setData(array("", $gid)); $modalForm->setDatabase(array('group_pass', 'group_id')); $modalForm->setFieldType(array(0 => 'password_autocomplete_off', 1 => 'hidden')); $myModalID = "modal_group_pass_" . $gid; // Change button text $modalForm->setUpdateValue("Decrypt_Private_Data"); $modalForm->setUpdateText("Submit"); $modalForm->setModalID($myModalID); $modal_forms .= $modalForm->modalForm(); unset($modalForm); // End modal $group_private_data = PrivateData::get_private_data_by_group($gid); if ($group_private_data) { foreach ($group_private_data as $id => $pdname) { $privDataObj = new PrivateData($id); if (is_numeric($privDataObj->get_device_id())) { // Means device assocication continue; } // Here we check if the user submitted a group password // Only for the group for which the pasword has been provided $password = "******"; $actions = "<a name='modal' href='#modal_group_pass_" . $gid . "'>Unlock Private Data</a>"; if (isset($_POST['group_pass']) && $_POST['group_pass'] != '' && $privDataObj->get_group_id() == $_POST['group_id']) { // now get private data (password) $password = $privDataObj->get_private_data($_POST['group_pass']); if ($password != false) { // Decrypted successful! // Get historical data, and create modal $modalForm = new Form("auto", 2); $modalForm->setHeadings(array("Changed (exipred) at:", "Private Data")); // Loop through old data and fill arrays for form $Htitles = array(); $Hdata = array(); $HfieldType = array(); $historical_passwords = $privDataObj->get_history($_POST['group_pass']); if ($historical_passwords) { foreach ($historical_passwords as $old_date => $old_data) { array_push($Htitles, $old_date); array_push($Hdata, $old_data); array_push($HfieldType, "static"); } } $modalForm->setTitles($Htitles); $modalForm->setData($Hdata); $modalForm->setFieldType($HfieldType); unset($Htitles); unset($Hdata); unset($HfieldType); $modalForm->setTitleWidth("40%"); $modalForm->setDatabase(array('date', 'old_data')); $myHistoryModalID = "modal_old_pass_" . $id; // Change button text $modalForm->setUpdateValue("close"); $modalForm->setUpdateText("Press cancel"); $modalForm->setModalID($myHistoryModalID); $modal_forms .= $modalForm->modalForm(); unset($modalForm); // End modal if ($privDataObj->get_notes($_POST['group_pass']) != '') { $name_tooltip = ".tip.<b>Notes:</b><br>" . nl2br($privDataObj->get_notes($_POST['group_pass'])); } // Now create a modal that allows us to update the private data object // Start Update Modal $PdataModal = new Form("auto", 2); $PdataModal->setHeadings(array("Update Private Data")); $PdataModal->setTitles(array("Description", "Private Data <br><small><i>Stored encrypted</i></small>.tip.This data will be AES encrypted", "Type <br><small><a name='modal' href='#add_pdtype_modal'>\n\t\t\t\t\t\t\tAdd Private data type</a></small>", "Notes<br><small><i>Stored encrypted</i></small>.tip.This data will be AES encrypted", "PDid", "", "")); $PdataModal->setData(array($privDataObj->get_name(), $password, $privDataObj->get_type_name(), $privDataObj->get_notes($_POST['group_pass']), $id, $_POST['group_id'], $_POST['group_pass'])); $PdataModal->setDatabase(array('private_data_desc', 'private_data_password', 'private_data_type', 'private_data_notes', 'private_data_id', 'group_id', 'group_pass')); $PdataModal->setFieldType(array(2 => 'drop_down', 3 => 'text_area', 4 => 'hidden', 5 => 'hidden', 6 => 'hidden')); // Creat dropdown $dataTypes = PrivateDataType::get_private_data_types(); $PdataModal->setType($dataTypes); $PdataModal->setUpdateValue('update_private_data'); $PdataModalID = "modal_private_data_id" . $id; // Change button text $PdataModal->setModalID($PdataModalID); $modalForms .= $PdataModal->modalForm(); // End Update modal // Now a Modal to Delete an Entry // We'll ask for the password again. $modalFormDelete = new Form("auto", 2); $modalFormDelete->setHeadings(array("Delete " . $privDataObj->get_name() . "<br>Please provide group password for " . $privDataObj->get_group_name())); $modalFormDelete->setTitles(array("Password", "group_id", "")); $modalFormDelete->setData(array("", $privDataObj->get_group_id(), $id)); $modalFormDelete->setDatabase(array('group_pass', 'group_id', 'private_data_id')); $modalFormDelete->setFieldType(array(0 => 'password_autocomplete_off', 1 => 'hidden', 2 => 'hidden')); $myDeleteModalID = "modal_delete_pass_" . $id; // Change button text $modalFormDelete->setUpdateValue("delete_private_data"); $modalFormDelete->setUpdateText("Delete"); $modalFormDelete->setModalID($myDeleteModalID); $modalForms .= $modalFormDelete->modalForm(); // End Delete modal if (count($historical_passwords) > 0) { $history_string = "<a name='modal' href='#" . $myHistoryModalID . "'>History</a>"; } else { $history_string = "<i>No History</i>"; } $actions = "<a name='modal' href='#" . $PdataModalID . "'>Edit</a>        \n \t\t<a name='modal' href='#" . $myDeleteModalID . "'>Delete</a>        \n\t\t\t\t\t\t\t{$history_string}"; } else { $form = new Form(); $content .= $form->error("Warning: " . $privDataObj->get_error()); } } if (count($historical_passwords) > 0) { $history_string = "<a name='modal' href='#" . $myHistoryModalID . "'>History</a>"; } else { $history_string = "<i>No History</i>"; } array_push($data, $privDataObj->get_type_desc() . $type_tooltip, $privDataObj->get_name() . $name_tooltip, $password, $privDataObj->get_group_name(), $actions); } } } $heading = array("Type", "Description", "Private Data", "Group", "Actions"); $pdata_form = new Form("auto", 5); $pdata_form->setSortable(true); $pdata_form->setHeadings($heading); $pdata_form->setData($data); $pdata_form->setTableWidth("800px"); $content .= $pdata_form->showForm(); $content .= $modalForms; return "{$content} {$modal_forms} {$private_data_type_modal}"; }
public function setFormResponse(ActionResponse $response, Form $form, $prefix = '') { $specFields = $this->owner->getSpecification()->getSpecificationFieldSet(ActiveRecordModel::LOAD_REFERENCES); $specFieldArray = $specFields->toArray(); // set select values $selectors = EavFieldCommon::getSelectorValueTypes(); foreach ($specFields as $key => $field) { if (in_array($field->type->get(), $selectors)) { $values = $field->getValuesSet()->toArray(); $specFieldArray[$key]['values'] = array('' => ''); foreach ($values as $value) { $specFieldArray[$key]['values'][$value['ID']] = isset($value['value_lang']) ? $value['value_lang'] : $value['value']; } } } // arrange SpecFields's into groups $specFieldsByGroup = array(); $prevGroupID = -1; $groupClass = $this->getFieldClass() . 'Group'; foreach ($specFieldArray as $field) { $groupID = isset($field[$groupClass]['ID']) ? $field[$groupClass]['ID'] : ''; if ((int) $groupID && $prevGroupID != $groupID) { $prevGroupID = $groupID; } $specFieldsByGroup[$groupID][] = $field; } // get multi language spec fields $multiLingualSpecFields = array(); foreach ($specFields as $key => $field) { if ($field->isTextField()) { $multiLingualSpecFields[] = $field->toArray(); } } if (!$prefix) { $response->set("specFieldList", $specFieldsByGroup); } $response->set("groupClass", $groupClass); $response->set("multiLingualSpecFieldss", $multiLingualSpecFields); // set fields by prefix $prefixed = $response->get("specFieldList_prefix", array()); $prefixed[$prefix] = $specFieldsByGroup; $response->set("specFieldList_prefix", $prefixed); $this->owner->load(); // set fields by owner if ($this->owner instanceof EavObject && ($owner = $this->owner->getOwner())) { $byOwner = $response->get("specFieldListByOwner", array()); $byOwner[get_class($owner)][$owner->getID()] = $specFieldsByGroup; $response->set("specFieldListByOwner", $byOwner); } $form->setData($this->getFormData($prefix)); //$this->setFormValidator($form->getValidator()); }
private function getEmailTemplateForm(EmailTemplate $template) { $form = new Form($this->getValidator('template', $this->request)); $form->setData($template->toArray()); $form->set('code', ''); foreach ($template->getOtherLanguages() as $lang => $temp) { $form->set('body_' . $lang, $temp->getBody()); $form->set('html_' . $lang, $temp->getHTML()); $form->set('subject_' . $lang, $temp->getSubject()); } return $form; }