JMRI Jython Example Files (Topic Subdirectory)
$strlen) return false;
return substr($string, 0, strlen($test)) == $test;
}
function endswith($string, $test) {
$strlen = strlen($string);
$testlen = strlen($test);
if ($testlen > $strlen) return false;
return substr_compare(strtolower($string), strtolower($test), -$testlen) === 0;
}
function showSubdirs() {
// show subdirectories
$list = array();
$d = dir(".");
while (false !== ($entry = $d->read())) {
if (is_dir($entry) && substr($entry,0,1) != '.') {
$list[] = $entry;
}
}
$d->close();
if (sizeof($list)> 0) {
echo "Subdirectories
\n";
sort($list);
foreach ($list as $entry) {
echo '
'.$entry.''."\n";
}
}
}
function showFilesAndIcons() {
$listIcon = array();
$listOther = array();
$listPy = array();
$d = dir(".");
while (false !== ($entry = $d->read())) {
if (endswith($entry, ".py")) {
$listPy[] = $entry;
}
elseif (endswith($entry, ".gif")
|| endswith($entry, ".jpg")
|| endswith($entry, ".png")
|| endswith($entry, ".EPS")
|| endswith($entry, ".PSD")
) {
$listIcon[] = $entry;
}
elseif (! (startswith($entry, ".") || is_dir($entry) || endswith($entry, ".php")) ) {
$listOther[] = $entry;
}
}
$d->close();
// now show the files
if (sizeof($listPy)> 0) {
echo "
Sample Scripts
\n";
echo '';
sort($listPy);
foreach ($listPy as $entry) {
echo ''."\n";
echo '| '.$entry.' | '."\n";
echo '(download) |
'."\n";
echo ''."\n";
}
echo "
\n";
}
// Show any icons
if (sizeof($listIcon)> 0) {
echo "Icons
\n";
echo '';
sort($listIcon);
foreach ($listIcon as $entry) {
echo ''."\n";
echo '| '.$entry.' | '."\n";
if (endswith($entry, ".gif") || endswith($entry, ".jpg") || endswith($entry, ".png")) {
// display as image
// would be good to add a limiting size here
echo ' |
'."\n";
}
else {
// link without display
echo '(download)'."\n";
}
echo ''."\n";
}
echo " |
\n";
}
// now show the rest of the files
if (sizeof($listOther)> 0) {
echo "Other Files
\n";
echo '';
sort($listOther);
foreach ($listOther as $entry) {
echo ''."\n";
echo '| '.$entry.' | '."\n";
echo '(download) |
'."\n";
echo ''."\n";
}
echo "
\n";
}
}
//MAINLINE
// show README if present
if (file_exists("README.md")) {
echo "\n";
echo file_get_contents( "README.md" );
echo "\n";
}
elseif (file_exists("README")) {
echo "\n";
echo file_get_contents( "README" );
echo "\n";
}
elseif (file_exists("README.txt")) {
echo "\n";
echo file_get_contents( "README.txt" );
echo "\n";
}
showFilesAndIcons();
showSubdirs();
?>