visualfail: remove common path prefix from file names

Change-Id: I5806f0e4ca3ebe4e9aae3423e04d8ffb36fff2a6
This commit is contained in:
Horst Schirmeier
2015-01-09 14:58:08 +01:00
parent be6e4e687c
commit f0a4dacd87

View File

@ -140,6 +140,35 @@ function getVariants()
echo json_encode($variants);
}
function remove_common_prefix($files)
{
if (count($files) == 0) {
return array();
}
// start with arbitrary file
$commonprefix = dirname(current($files));
foreach ($files AS $id => $file) {
for ($i = 0; $i < strlen($commonprefix); ++$i) {
if ($i >= strlen($file) || $file[$i] != $commonprefix[$i]) {
$commonprefix = substr($commonprefix, 0, $i);
break;
}
}
if (strlen($commonprefix) == 0) {
break;
}
}
$out = array();
foreach ($files AS $id => $file) {
$out[$id] = substr($file, strlen($commonprefix));
}
return $out;
}
function getSourceFiles()
{
$sourceFiles = array();
@ -152,6 +181,8 @@ function getSourceFiles()
$sourceFiles[$row->file_id] = $row->path;
}
$sourceFiles = remove_common_prefix($sourceFiles);
echo json_encode($sourceFiles);
}