/**
  * @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());
 }
Example #10
0
 /** {@inheritdoc} */
 public function setData($data)
 {
     foreach ($data['Fields'] as $name => &$content) {
         $content = $this->localize($content, $this->_types[$name]);
     }
     return parent::setData($data);
 }
Example #11
0
 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());
 }
Example #13
0
 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);
 }
Example #15
0
 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);
 }
Example #16
0
 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());
 }
Example #20
0
 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>";
 }
Example #21
0
 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;
 }
Example #22
0
 /**
  * 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();
 }
Example #23
0
 /**
  * @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));
 }
Example #25
0
 /**
  * @return Form
  */
 private function createTaxForm(Tax $tax)
 {
     $form = new Form($this->createTaxFormValidator($tax));
     $form->setData($tax->toArray());
     return $form;
 }
Example #26
0
 private function buildPersonalDataForm(User $user)
 {
     $form = new Form($this->buildPersonalDataValidator($user));
     $form->setData($this->user->toArray());
     return $form;
 }
Example #27
0
 /**
  * @return Form
  */
 private function createClassForm(ShippingClass $class)
 {
     $form = new Form($this->createClassFormValidator($class));
     $form->setData($class->toArray());
     return $form;
 }
Example #28
0
 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> &nbsp&nbsp&nbsp &nbsp&nbsp&nbsp\n                                              \t\t<a name='modal' href='#" . $myDeleteModalID . "'>Delete</a> &nbsp&nbsp&nbsp &nbsp&nbsp&nbsp\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());
 }
Example #30
0
 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;
 }