/** * Get form instance * * @return object */ public function getForm() { // get form builder if (!$this->form) { // add extra filters $this->formElements['name']['filters'] = [['name' => 'stringtolower']]; // set the default file name $this->formElements['name']['value'] = $this->isDirectory ? $this->fileName : FileSystemUtility::getFileName($this->fileName); // remove the file's extension // init the max file name length $this->maxFileNameLength = $this->isDirectory ? (int) SettingService::getSetting('file_manager_file_name_length') : (int) SettingService::getSetting('file_manager_file_name_length') - (strlen(FileSystemUtility::getFileExtension($this->fileName)) + 1); // init a directory or file settings $this->isDirectory ? $this->initDirectorySettings() : $this->initFileSettings(); $this->form = new ApplicationCustomFormBuilder($this->formName, $this->formElements, $this->translator, $this->ignoredElements, $this->notValidatedElements, $this->method); } return $this->form; }
/** * Slugify a file name * * @param string $fileName * @param boolean $addSalt * @param boolean $processFullName * @return string */ public static function slugifyFileName($fileName, $addSalt = true, $processFullName = false) { $fileExtension = FileSystemUtility::getFileExtension($fileName); $fileName = FileSystemUtility::getFileName($fileName); $maxFileNameLength = !$processFullName && $fileExtension ? (int) SettingService::getSetting('file_manager_file_name_length') - (strlen($fileExtension) + 1) : (int) SettingService::getSetting('file_manager_file_name_length'); $slug = SlugUtility::slugify($processFullName && $fileExtension ? $fileName . '.' . $fileExtension : $fileName, $maxFileNameLength, '_', 0, self::$fileNamePattern); if (!$slug && $addSalt) { $slug = SlugUtility::generateRandomSlug($maxFileNameLength); } return $slug; }