diff options
Diffstat (limited to 'index.php')
-rw-r--r-- | index.php | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/index.php b/index.php new file mode 100644 index 0000000..d7eec31 --- /dev/null +++ b/index.php @@ -0,0 +1,52 @@ +<?php + +if (!array_key_exists('what',$_GET)) { + die(); +} + +$max_line_len = 50; + +switch ($_GET["what"]) { + case "all": + $list = substr(shell_exec("head -n1 ~musix/.moc/_playlist.m3u"),0,-1); + $cnt = substr(shell_exec("wc -l < ~musix/.moc/Listen/" . $list),0,-1); + print $list . " (" . $cnt . ")<br>\n"; + foreach (explode("\n",shell_exec("mocp -M ~musix/.moc -i 2>/dev/null")) as $line) { + if (substr($line,0,7)=="State: ") + $state = substr($line,7); + if (substr($line,0,6)=="File: ") + $file = basename(substr($line,6)); + if (substr($line,0,10)=="TimeLeft: ") + $time = substr($line,10); + } + print $state . " " . $file . " (" . $time . ")<br>\n"; + print trim(shell_exec("cryptstatus")); + break; + case "info": + $list = substr(shell_exec("head -n1 ~musix/.moc/_playlist.m3u"),0,-1); + $cnt = substr(shell_exec("wc -l < ~musix/.moc/Listen/" . $list),0,-1); + $max_list_len = $max_line_len - 3 - strlen($cnt); + if (strlen($list) > $max_list_len) + $list = "..." . substr($list,3-$max_list_len); + print $list . " (" . $cnt . ")"; + break; + case "details": + foreach (explode("\n",shell_exec("mocp -M ~musix/.moc -i 2>/dev/null")) as $line) { + if (substr($line,0,7)=="State: ") + $state = substr($line,7); + if (substr($line,0,6)=="File: ") + $file = basename(substr($line,6)); + if (substr($line,0,10)=="TimeLeft: ") + $time = substr($line,10); + } + $max_file_len = $max_line_len - 4 - strlen($state) - strlen($time); + if (strlen($file) > $max_file_len) + $file = "..." . substr($file,3-$max_file_len); + print $state . " " . $file . " (" . $time . ")"; + break; + case "crypt": + print shell_exec("cryptstatus"); + break; + default: + die(); +} |