예제 #1
0
 /**
  * getRandomStringAlwaysReturnsStringsOfGivenLength Test
  *
  * @param int $length
  * @param bool $uppercase
  * @dataProvider getRandomStringAlwaysReturnsStringsOfGivenLengthDataProvider
  * @return void
  * @test
  */
 public function getRandomStringAlwaysReturnsStringsOfGivenLength($length, $uppercase)
 {
     for ($i = 0; $i < 100; $i++) {
         $string = StringUtility::getRandomString($length, $uppercase);
         $regex = '~[a-z0-9]{' . $length . '}~';
         if ($uppercase) {
             $regex = '~[a-zA-Z0-9]{' . $length . '}~';
         }
         $this->assertSame(1, preg_match($regex, $string));
     }
 }
예제 #2
0
 /**
  * Create a random filename
  *
  * @return void
  */
 protected function createRandomFileName()
 {
     /**
      * Note:
      *        GeneralUtility::writeFileToTypo3tempDir()
      *        allows only filenames which are max 59 characters long
      */
     $fileName = StringUtility::getRandomString(55);
     $fileName .= '.';
     $fileName .= $this->getFormat();
     $this->fileName = $fileName;
 }
예제 #3
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
  * @return void
  */
 public function processDatamap_postProcessFieldArray($status, $table, $uid, &$fieldArray)
 {
     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')) {
         if (isset($fieldArray['marker']) && empty($fieldArray['marker'])) {
             $fieldArray['marker'] = 'marker_' . StringUtility::getRandomString(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];
     }
     // marker should be empty on localized fields
     if (!empty($fieldArray['sys_language_uid']) && $fieldArray['sys_language_uid'] > 0) {
         unset($fieldArray['marker']);
     }
 }
 /**
  * @param string $filename
  * @return string
  */
 protected static function randomizeFileName($filename)
 {
     $fileInfo = pathinfo($filename);
     return StringUtility::getRandomString(8) . '.' . $fileInfo['extension'];
 }
 /**
  * Get path and filename
  *
  * @param bool $absolute
  * @param bool $addHash
  * @return string
  */
 public function getPathAndFilename($absolute = false, $addHash = false)
 {
     $pathAndFilename = $this->pathAndFilename;
     if ($absolute) {
         $pathAndFilename = GeneralUtility::getFileAbsFileName($pathAndFilename);
     }
     if ($addHash) {
         $pathAndFilename .= '?hash=' . StringUtility::getRandomString(8);
     }
     return $pathAndFilename;
 }