public function getArchiveFileName( $path, $seeds, $prefix = null, $realm = null ) { $dirElements = array(); $dirElements[] = $this->ArchiveDir; if ( isset( $realm ) ) { $dirElements[]= $realm; } $seed = implode ( '', $seeds ); $hash = hash( $this->hashAlgorithm, $seed ); $multiLevelDir = eZDir::createMultiLevelPath( substr( $hash, 0 , $this->ArchiveDirLevels ), $this->ArchiveDirLevels ); $dirElements[] = $multiLevelDir; $fileDirectory = implode( '/', $dirElements ); if ( !file_exists( $fileDirectory ) ) { eZDir::mkdir( $fileDirectory, false, true ); } $archiveFileName = $fileDirectory . '/'; if ( isset( $prefix ) ) { $archiveFileName .= $prefix . '-'; } $archiveFileName .= $hash; return $archiveFileName; }