Replace mkringlist.sh with mkringlist.php

Move from tftpboot/ringtones to Tools
Use PHP instead of Bash to simplify output
Eliminate executables in tftpboot
This commit is contained in:
steve-lad
2021-07-14 15:09:06 +02:00
parent b214fee18a
commit 9fc70cdbca
3 changed files with 95 additions and 83 deletions

View File

@@ -1,23 +0,0 @@
#!/usr/bin/env bash
outfile=ringlist.xml
echo -e "<CiscoIPPhoneRingList>" >$outfile
if [ ! -z "`ls *.pcm 2>/dev/null`" ]; then
for filename in *.pcm;do
basename=`basename ${filename} .pcm`
echo -e "\t<Ring>" >>$outfile
echo -e "\t\t<DisplayName>${basename}</DisplayName>" >>$outfile
echo -e "\t\t<FileName>ringtones/${filename}</FileName>" >>$outfile
echo -e "\t</Ring>" >>$outfile
done
fi
if [ ! -z "`ls *.raw 2>/dev/null`" ]; then
for filename in *.raw;do
basename=`basename ${filename} .raw`
echo -e "\t<Ring>" >>$outfile
echo -e "\t\t<DisplayName>${basename}</DisplayName>" >>$outfile
echo -e "\t\t<FileName>ringtones/${filename}</FileName>" >>$outfile
echo -e "\t</Ring>" >>$outfile
done
fi
echo -e "</CiscoIPPhoneRingList>" >>$outfile

View File

@@ -1,62 +1,63 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<CiscoIPPhoneRingList> <CiscoIPPhoneRingList>
<Ring> <Ring>
<DisplayName>drums1</DisplayName> <DisplayName>drums1</DisplayName>
<FileName>ringtones/drums1.pcm</FileName> <FileName>ringtones/drums1.pcm</FileName>
</Ring> </Ring>
<Ring> <Ring>
<DisplayName>drums2</DisplayName> <DisplayName>drums2</DisplayName>
<FileName>ringtones/drums2.pcm</FileName> <FileName>ringtones/drums2.pcm</FileName>
</Ring> </Ring>
<Ring> <Ring>
<DisplayName>loudc1</DisplayName> <DisplayName>loudc1</DisplayName>
<FileName>ringtones/loudc1.pcm</FileName> <FileName>ringtones/loudc1.pcm</FileName>
</Ring> </Ring>
<Ring> <Ring>
<DisplayName>loudc2</DisplayName> <DisplayName>loudc2</DisplayName>
<FileName>ringtones/loudc2.pcm</FileName> <FileName>ringtones/loudc2.pcm</FileName>
</Ring> </Ring>
<Ring> <Ring>
<DisplayName>loudlaser</DisplayName> <DisplayName>loudlaser</DisplayName>
<FileName>ringtones/loudlaser.pcm</FileName> <FileName>ringtones/loudlaser.pcm</FileName>
</Ring> </Ring>
<Ring> <Ring>
<DisplayName>merlin2</DisplayName> <DisplayName>merlin2</DisplayName>
<FileName>ringtones/merlin2.pcm</FileName> <FileName>ringtones/merlin2.pcm</FileName>
</Ring> </Ring>
<Ring> <Ring>
<DisplayName>merlin3</DisplayName> <DisplayName>merlin3</DisplayName>
<FileName>ringtones/merlin3.pcm</FileName> <FileName>ringtones/merlin3.pcm</FileName>
</Ring> </Ring>
<Ring> <Ring>
<DisplayName>merlin4</DisplayName> <DisplayName>merlin4</DisplayName>
<FileName>ringtones/merlin4.pcm</FileName> <FileName>ringtones/merlin4.pcm</FileName>
</Ring> </Ring>
<Ring> <Ring>
<DisplayName>merlin5</DisplayName> <DisplayName>merlin5</DisplayName>
<FileName>ringtones/merlin5.pcm</FileName> <FileName>ringtones/merlin5.pcm</FileName>
</Ring> </Ring>
<Ring> <Ring>
<DisplayName>merlin6</DisplayName> <DisplayName>merlin6</DisplayName>
<FileName>ringtones/merlin6.pcm</FileName> <FileName>ringtones/merlin6.pcm</FileName>
</Ring> </Ring>
<Ring> <Ring>
<DisplayName>merlin7</DisplayName> <DisplayName>merlin7</DisplayName>
<FileName>ringtones/merlin7.pcm</FileName> <FileName>ringtones/merlin7.pcm</FileName>
</Ring> </Ring>
<Ring> <Ring>
<DisplayName>ringer1</DisplayName> <DisplayName>ringer1</DisplayName>
<FileName>ringtones/ringer1.pcm</FileName> <FileName>ringtones/ringer1.pcm</FileName>
</Ring> </Ring>
<Ring> <Ring>
<DisplayName>ringer2</DisplayName> <DisplayName>ringer2</DisplayName>
<FileName>ringtones/ringer2.pcm</FileName> <FileName>ringtones/ringer2.pcm</FileName>
</Ring> </Ring>
<Ring> <Ring>
<DisplayName>ringer3</DisplayName> <DisplayName>ringer3</DisplayName>
<FileName>ringtones/ringer3.pcm</FileName> <FileName>ringtones/ringer3.pcm</FileName>
</Ring> </Ring>
<Ring> <Ring>
<DisplayName>ringer4</DisplayName> <DisplayName>ringer4</DisplayName>
<FileName>ringtones/ringer4.pcm</FileName> <FileName>ringtones/ringer4.pcm</FileName>
</Ring> </Ring>
</CiscoIPPhoneRingList> </CiscoIPPhoneRingList>

34
tools/mkringlist.php Normal file
View File

@@ -0,0 +1,34 @@
<?php
//Usage: php mkringlist.php;
function createCats($currDirPos){
$xml = '';
if(is_dir($currDirPos)){
// Remove unix ./..
foreach (array_diff(scandir($currDirPos),array('.','..')) as $subDir) {
//remove link information
$subDir = explode(' ', $subDir);
$displayName = explode('.',$subDir[0]);
$fileName = str_replace('../tftpboot/','',$currDirPos) .'/'. $subDir[0];
if (in_array($displayName[1], array('pcm','raw'))) {
$xml .= "<Ring><DisplayName>{$displayName[0]}</DisplayName><FileName>{$fileName}</FileName></Ring>";
}
}
}
return $xml;
}
function saveXml($xml, $filename) {
$xml = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'.'<CiscoIPPhoneRingList>' . $xml . '</CiscoIPPhoneRingList>';
$dom = new \DOMDocument("1.0");
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
$dom->loadXML($xml);
$dom->save($filename);
}
saveXml(createCats('../tftpboot/ringtones'),'../tftpboot/ringtones/ringlist.xml');
?>