Fix directory path when is symlink

Change the directory path to follow symlinks
This commit is contained in:
steve-lad
2021-07-15 08:38:24 +02:00
parent 6e5cfaa3eb
commit 6e28b501e9
2 changed files with 16 additions and 15 deletions

View File

@@ -9,15 +9,16 @@ function createCats($currDirPos){
if(is_dir($currDirPos)){ if(is_dir($currDirPos)){
// Remove unix ./.. // Remove unix ./..
foreach (array_diff(scandir($currDirPos),array('.','..')) as $subDir) { foreach (array_diff(scandir($currDirPos),array('.','..')) as $subDir) {
//remove link information if (is_dir("{$currDirPos}/{$subDir}")) {
$subDir = (explode(' ', $subDir)); $thisPath = "{$currDirPos}/{$subDir}";
if (is_link("{$currDirPos}/{$subDir}")) {
if(is_dir("{$currDirPos}/{$subDir[0]}")) { $thisPath= $currDirPos . "/" . readlink("{$currDirPos}/{$subDir}");
$xml .= "<Directory name = '{$subDir[0]}'><DirectoryPath>" . ltrim("{$currDirPos}/{$subDir[0]}",'./') . "/</DirectoryPath>"; }
$xml .= createCats("{$currDirPos}/{$subDir[0]}"); $xml .= "<Directory name = '{$subDir}'><DirectoryPath>" . ltrim($thisPath,'./') . "/</DirectoryPath>";
$xml .= createCats("{$currDirPos}/{$subDir}");
$xml .= "</Directory>"; $xml .= "</Directory>";
} else { } else {
$xml .= "<FileName>{$subDir[0]}</FileName>"; $xml .= "<FileName>{$subDir}</FileName>";
} }
} }
} }

View File

@@ -61,7 +61,7 @@
<FileName>P00405000700.sbn</FileName> <FileName>P00405000700.sbn</FileName>
</Directory> </Directory>
<Directory name="7911"> <Directory name="7911">
<DirectoryPath>tftpboot/firmware/7911/</DirectoryPath> <DirectoryPath>tftpboot/firmware/7906/</DirectoryPath>
<FileName>SCCP11.9-4-2SR3-1S.loads</FileName> <FileName>SCCP11.9-4-2SR3-1S.loads</FileName>
<FileName>apps11.9-4-2ES26.sbn</FileName> <FileName>apps11.9-4-2ES26.sbn</FileName>
<FileName>cnu11.9-4-2ES26.sbn</FileName> <FileName>cnu11.9-4-2ES26.sbn</FileName>
@@ -194,7 +194,7 @@
<FileName>term65.default.loads</FileName> <FileName>term65.default.loads</FileName>
</Directory> </Directory>
<Directory name="7960"> <Directory name="7960">
<DirectoryPath>tftpboot/firmware/7960/</DirectoryPath> <DirectoryPath>tftpboot/firmware/7940/</DirectoryPath>
<FileName>P0030801SR02.bin</FileName> <FileName>P0030801SR02.bin</FileName>
<FileName>P0030801SR02.loads</FileName> <FileName>P0030801SR02.loads</FileName>
<FileName>P0030801SR02.sb2</FileName> <FileName>P0030801SR02.sb2</FileName>
@@ -202,7 +202,7 @@
<FileName>P0030801SR02.txt</FileName> <FileName>P0030801SR02.txt</FileName>
</Directory> </Directory>
<Directory name="7961"> <Directory name="7961">
<DirectoryPath>tftpboot/firmware/7961/</DirectoryPath> <DirectoryPath>tftpboot/firmware/7941/</DirectoryPath>
<FileName>SCCP41.9-4-2SR3-1S.loads</FileName> <FileName>SCCP41.9-4-2SR3-1S.loads</FileName>
<FileName>apps41.9-4-2ES26.sbn</FileName> <FileName>apps41.9-4-2ES26.sbn</FileName>
<FileName>cnu41.9-4-2ES26.sbn</FileName> <FileName>cnu41.9-4-2ES26.sbn</FileName>
@@ -213,7 +213,7 @@
<FileName>term61.default.loads</FileName> <FileName>term61.default.loads</FileName>
</Directory> </Directory>
<Directory name="7962"> <Directory name="7962">
<DirectoryPath>tftpboot/firmware/7962/</DirectoryPath> <DirectoryPath>tftpboot/firmware/7942/</DirectoryPath>
<FileName>SCCP42.9-4-2SR3-1S.loads</FileName> <FileName>SCCP42.9-4-2SR3-1S.loads</FileName>
<FileName>apps42.9-4-2ES26.sbn</FileName> <FileName>apps42.9-4-2ES26.sbn</FileName>
<FileName>cnu42.9-4-2ES26.sbn</FileName> <FileName>cnu42.9-4-2ES26.sbn</FileName>
@@ -224,7 +224,7 @@
<FileName>term62.default.loads</FileName> <FileName>term62.default.loads</FileName>
</Directory> </Directory>
<Directory name="7965"> <Directory name="7965">
<DirectoryPath>tftpboot/firmware/7965/</DirectoryPath> <DirectoryPath>tftpboot/firmware/7945/</DirectoryPath>
<FileName>SCCP45.9-3-1SR1-1S.loads</FileName> <FileName>SCCP45.9-3-1SR1-1S.loads</FileName>
<FileName>SCCP45.9-4-2SR4-3S.loads</FileName> <FileName>SCCP45.9-4-2SR4-3S.loads</FileName>
<FileName>apps45.9-3-1ES8.sbn</FileName> <FileName>apps45.9-3-1ES8.sbn</FileName>
@@ -252,7 +252,7 @@
<FileName>term71.default.loads</FileName> <FileName>term71.default.loads</FileName>
</Directory> </Directory>
<Directory name="7971"> <Directory name="7971">
<DirectoryPath>tftpboot/firmware/7971/</DirectoryPath> <DirectoryPath>tftpboot/firmware/7970/</DirectoryPath>
<FileName>SCCP70.9-4-2SR3-1S.loads</FileName> <FileName>SCCP70.9-4-2SR3-1S.loads</FileName>
<FileName>apps70.9-4-2ES26.sbn</FileName> <FileName>apps70.9-4-2ES26.sbn</FileName>
<FileName>cnu70.9-4-2ES26.sbn</FileName> <FileName>cnu70.9-4-2ES26.sbn</FileName>
@@ -302,12 +302,12 @@
<FileName>ATA030204SCCP090202A.zup</FileName> <FileName>ATA030204SCCP090202A.zup</FileName>
</Directory> </Directory>
<Directory name="ata188"> <Directory name="ata188">
<DirectoryPath>tftpboot/firmware/ata188/</DirectoryPath> <DirectoryPath>tftpboot/firmware/ata186/</DirectoryPath>
<FileName>ATA030204SCCP090202A.zup</FileName> <FileName>ATA030204SCCP090202A.zup</FileName>
</Directory> </Directory>
<FileName>mkregex.py</FileName> <FileName>mkregex.py</FileName>
<Directory name="spa30x"> <Directory name="spa30x">
<DirectoryPath>tftpboot/firmware/spa30x/</DirectoryPath> <DirectoryPath>tftpboot/firmware/spa50x/</DirectoryPath>
<Directory name="locale"> <Directory name="locale">
<DirectoryPath>tftpboot/firmware/spa30x/locale/</DirectoryPath> <DirectoryPath>tftpboot/firmware/spa30x/locale/</DirectoryPath>
<FileName>spa50x_30x_bg_v756.xml</FileName> <FileName>spa50x_30x_bg_v756.xml</FileName>