dockerMan: Avoid filename collisions on FAT32

Because under FAT32, my-plexmediaserver == my-PlexMediaServer.  Solves an edge case
This commit is contained in:
Squidly271
2018-08-18 22:59:30 -04:00
committed by GitHub
parent e3c12d3c6a
commit 05facfac62

View File

@@ -81,7 +81,16 @@ if (isset($_POST['contName'])) {
$userTmplDir = $dockerManPaths['templates-user'];
if (!is_dir($userTmplDir)) mkdir($userTmplDir, 0777, true);
if ($Name) {
$filename = sprintf('%s/my-%s.xml', $userTmplDir, $Name);
$filename = sprintf('%s/my-%s', $userTmplDir, $Name);
// look for FAT32 filename hits due to different case
$userTemplates = glob("$userTmplDir/*.xml");
foreach ($userTemplates as $tmpl) {
if ( ($tmpl != "$filename.xml") && (strcasecmp($tmpl,"$filename.xml") == 0) ) {
$filename .= " (1)";
break;
}
}
$filename .= ".xml";
file_put_contents($filename, $postXML);
}
// Run dry