public function render(\In2code\Powermail\Domain\Model\Answer $answer = null)
 {
     $textAnswer = '';
     if ($answer) {
         $field = $answer->getField();
         $answerValue = $answer->getValue();
         switch ($field->getType()) {
             case 'select':
             case 'check':
             case 'radio':
                 $possibleAnswers = $field->getModifiedSettings();
                 if (!is_array($answerValue)) {
                     $answerValue = array($answerValue);
                 }
                 $i = 0;
                 foreach ($answerValue as $value) {
                     foreach ($possibleAnswers as $possibleAnswer) {
                         if ($possibleAnswer['value'] == $value) {
                             $textAnswer .= $possibleAnswer['label'];
                         }
                     }
                     if ($i == count($possibleAnswers) - 1) {
                         $textAnswer .= ', ';
                     }
                     $i++;
                 }
                 break;
             default:
                 $textAnswer = $answerValue;
                 break;
         }
     }
     return $textAnswer;
 }
Esempio n. 2
0
 /**
  * View helper check if value should be returned or not
  *
  * @param \In2code\Powermail\Domain\Model\Answer $answer
  * @param string $type "createAction", "confirmationAction", "sender", "receiver"
  * @param array $settings
  * @return bool
  */
 public function render(Answer $answer, $type, $settings = array())
 {
     // excludeFromFieldTypes
     if ($answer->getField() && in_array($answer->getField()->getType(), $this->getExcludedValues($type, $settings, 'excludeFromFieldTypes'))) {
         return FALSE;
     }
     // excludeFromMarkerNames
     if ($answer->getField() && in_array($answer->getField()->getMarker(), $this->getExcludedValues($type, $settings, 'excludeFromMarkerNames'))) {
         return FALSE;
     }
     return TRUE;
 }
 /**
  * Test for isValid()
  *
  * @param string $value
  * @param bool $expectedResult
  * @return void
  * @dataProvider validateIsValidReturnsBoolDataProvider
  * @test
  */
 public function validateIsValidReturnsBool($value, $expectedResult)
 {
     $mail = new Mail();
     $field = new Field();
     $field->setType(1);
     $answer1 = new Answer();
     $answer1->setValueType(3);
     $answer1->setValue($value);
     $answer1->setField($field);
     $objectStorage = new ObjectStorage();
     $objectStorage->attach($answer1);
     $mail->setAnswers($objectStorage);
     if ($expectedResult === false) {
         $this->generalValidatorMock->expects($this->once())->method('setErrorAndMessage');
     } else {
         $this->generalValidatorMock->expects($this->never())->method('setErrorAndMessage');
     }
     $this->generalValidatorMock->_callRef('isValid', $mail);
 }
 /**
  * Manipulate values through TypoScript before rendering
  *
  * @param Answer $answer
  * @param string $type "createAction", "confirmationAction", "sender", "receiver"
  * @return string
  */
 public function render(Answer $answer, $type)
 {
     $value = $this->renderChildren();
     if ($answer->getField()) {
         if (!empty($this->typoScriptContext[$this->typeToTsType[$type] . '.'][$answer->getField()->getMarker()])) {
             $this->contentObjectRenderer->start($answer->_getProperties());
             $value = $this->contentObjectRenderer->cObjGetSingle($this->typoScriptContext[$this->typeToTsType[$type] . '.'][$answer->getField()->getMarker()], $this->typoScriptContext[$this->typeToTsType[$type] . '.'][$answer->getField()->getMarker() . '.']);
         }
     }
     return $value;
 }
Esempio n. 5
0
 /**
  * Test for setValue()
  *
  * @param mixed $value
  * @param mixed $expectedResult
  * @param string $fieldType
  * @param string $datepickerSettings
  * @return void
  * @dataProvider setValueReturnVoidDataProvider
  * @test
  */
 public function setValueReturnVoid($value, $expectedResult, $fieldType = null, $datepickerSettings = null)
 {
     $this->generalValidatorMock->_setProperty('valueType', 0);
     if ($fieldType || $datepickerSettings) {
         $field = new Field();
         if ($fieldType) {
             $field->setType($fieldType);
         }
         if ($datepickerSettings) {
             $formats = array('date' => 'Y-m-d', 'datetime' => 'Y-m-d H:i', 'time' => 'H:i');
             $this->generalValidatorMock->_setProperty('translateFormat', $formats[$datepickerSettings]);
             $this->generalValidatorMock->_setProperty('valueType', 2);
             $field->setDatepickerSettings($datepickerSettings);
         }
         $this->generalValidatorMock->_callRef('setField', $field);
     }
     $this->generalValidatorMock->_callRef('setValue', $value);
     $this->assertSame($expectedResult, $this->generalValidatorMock->_getProperty('value'));
 }
 /**
  * Test for getSenderNameFromArguments()
  *
  * @param array $values
  * @param string $fallback
  * @param string $defaultMailFromAddress
  * @param string $expectedResult
  * @return void
  * @dataProvider getSenderNameFromArgumentsReturnsStringDataProvider
  * @test
  */
 public function getSenderNameFromArgumentsReturnsString($values, $fallback, $defaultMailFromAddress, $expectedResult)
 {
     $GLOBALS['TYPO3_CONF_VARS']['MAIL']['defaultMailFromName'] = $defaultMailFromAddress;
     $mail = new Mail();
     if (is_array($values)) {
         foreach ($values as $value) {
             $answer = new Answer();
             $answer->_setProperty('translateFormat', 'Y-m-d');
             $answer->_setProperty('valueType', is_array($values) ? 2 : 0);
             $field = new Field();
             $field->setType('input');
             $field->setSenderName(true);
             $answer->_setProperty('value', $value);
             $answer->setValueType(is_array($value) ? 1 : 0);
             $answer->setField($field);
             $mail->addAnswer($answer);
         }
     }
     $result = $this->generalValidatorMock->_callRef('getSenderNameFromArguments', $mail, $fallback);
     $this->assertSame($expectedResult, $result);
 }
 /**
  * Test for blacklistStringCheck()
  *
  * @param int $spamIndicator
  * @param array $answerProperties
  * @param string $blacklist
  * @param int $expectedOverallSpamIndicator
  * @return void
  * @dataProvider blacklistStringCheckReturnsVoidDataProvider
  * @test
  */
 public function blacklistStringCheckReturnsVoid($spamIndicator, $answerProperties, $blacklist, $expectedOverallSpamIndicator)
 {
     $mail = new Mail();
     foreach ($answerProperties as $value) {
         $answer = new Answer();
         $answer->setValueType(123);
         $answer->setValue($value);
         $mail->addAnswer($answer);
     }
     $this->generalValidatorMock->_set('settings', ['spamshield.' => ['indicator.' => ['blacklistStringValues' => $blacklist]]]);
     $this->generalValidatorMock->_callRef('blacklistStringCheck', $mail, $spamIndicator);
     $this->assertSame($expectedOverallSpamIndicator, $this->generalValidatorMock->_callRef('getSpamIndicator'));
 }