/** * 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)); } }
/** * 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; }
/** * 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; }