Пример #1
0
 /**
  * Initially fill the marker field from title
  *
  * @param \string $status mode of change
  * @param \string $table the table which gets changed
  * @param \string $uid uid of the record
  * @param \array $fieldArray the updateArray
  * @param \array $pObj
  * @return void
  */
 public function processDatamap_postProcessFieldArray($status, $table, $uid, &$fieldArray, $pObj)
 {
     if ($table != 'tx_powermail_domain_model_fields') {
         return;
     }
     $markers = array_merge((array) $this->existingMarkers, (array) $this->marker);
     $this->makeUniqueValueInArray($markers);
     // set marker for new field
     if (isset($this->data['tx_powermail_domain_model_fields'][$uid]['marker']) || stristr($uid, 'NEW')) {
         $fieldArray['marker'] = 'marker_' . Div::createRandomString(8, FALSE);
         if (!empty($markers['_' . $uid])) {
             $fieldArray['marker'] = $markers['_' . $uid];
         }
     }
     // revise marker if related to a new page and not allowed
     if (!empty($markers['_' . $uid]) && $markers['_' . $uid] !== $this->marker['_' . $uid]) {
         $fieldArray['marker'] = $markers['_' . $uid];
     }
 }
Пример #2
0
 /**
  * Get Randomized Filename and overwrite $_FILES array
  *
  * @param string &$filename
  * @param bool $randomized
  * @return void
  */
 public function getAndSetRandomizedFileName(&$filename, $randomized)
 {
     if (!$randomized) {
         return;
     }
     $newFilename = Div::createRandomString(32, FALSE) . '.' . pathinfo($filename, PATHINFO_EXTENSION);
     if (isset($_FILES['tx_powermail_pi1']['name']['field'])) {
         foreach (array_keys($_FILES['tx_powermail_pi1']['name']['field']) as $marker) {
             foreach ($_FILES['tx_powermail_pi1']['name']['field'][$marker] as $key => $originalFileName) {
                 self::cleanFileName($originalFileName);
                 if ($originalFileName === $filename) {
                     $_FILES['tx_powermail_pi1']['name']['field'][$marker][$key] = $newFilename;
                 }
             }
         }
     }
     $filename = $newFilename;
 }
Пример #3
0
 /**
  * createRandomStringAlwaysReturnsStringsOfGivenLength Test
  *
  * @param int $length
  * @param bool $uppercase
  * @dataProvider createRandomStringAlwaysReturnsStringsOfGivenLengthDateProvider
  * @return void
  * @test
  */
 public function createRandomStringAlwaysReturnsStringsOfGivenLength($length, $uppercase)
 {
     for ($i = 0; $i < 10; $i++) {
         $string = \In2code\Powermail\Utility\Div::createRandomString($length, $uppercase);
         if ($uppercase) {
             $regex = '~[a-zA-Z0-9]{' . $length . '}~';
         } else {
             $regex = '~[a-z0-9]{' . $length . '}~';
         }
         $this->assertSame(1, preg_match($regex, $string));
     }
 }