| Uutiset | Koodikirjasto | Wiki | Keskustelut | FAQ | Info |
foobar2000 WAP Remote Controllerempty 15.07.04 11:01 WAP lärpäke foobar2000 :n kontrollointiin. Osaa muutamat foobar2000 :n peruskomennot. Tarvitsee toimiakseen HTTP Writer pluginin.
<?php /* * Foobar2000 WAP Remote Controller * * Simppeli WAP käyttöliittymä foobar2000 :n HTTP Writer -pluginille, * joka mahdollistaa foobar2000 :n hallitsemisen etänä HTTP- * protokollan kautta. * * Soitettavan kappaleen tietojen esitystapaa ei aseteta tässä * skriptissä, vaan se tottelee HTTP Writer pluginin asetuksiin syötettyä * muotoa. * * * Tarvittavat palikat: * - Foobar2000 <http://foobar2000.com/> * - HTTP Writer <http://www.abo.fi/~ernylund/foobar/> * * * Copyright (c) 2004, Joona Kulmala <joona at fiveam dot org> * */ // // Asetukset // $host = ''; // HTTP Writer serverin osoite $port = 4800; // Serverin portti, oletus 4800 $passwd = ''; // Salasana, mikäli olet asettanut $cmnds = array( 'Random', 'Previous', 'Next', 'Start', 'Stop', ); // Headerit kuntoon, tarjoillaan WML :aa HTML :n sijaan header("Content-type: text/vnd.wap.wml"); // Validi WML maan perii print "<?xml version=\"1.0\"?>\n<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \n\t\"http://www.wapforum.org/DTD/wml_1.1.xml\">\n"; // Aloitellaan (t)ulostusta print "<wml>\n<card id=\"foobar2k\" title=\"Foobar2k\">\n<p>\n"; // Muodostetaan query-string $query = ($passwd ? '?pwd=' . $passwd . '&' : '?') . ($_GET['cmd'] ? $query .= 'cmd=' . $_GET['cmd'] : ""); // Tarkistetaan, että serveriin saadaan yhteys, muuten lykätään ulospäin // virheilmoitusta if (@fsockopen($host, $port)) { // Yritetaan perustyperästi hakea kamaa file() funktiolla // HTTP Writer -serveriltä. Vaatii tietenkin php.ini :sta // URL-tuen fopen() funktiolle. $ret = file(sprintf("http://%s:%d/%s", $host, $port, $query)); // Oletetaan, että serveri palauttaa ensimmäisellä rivillä // juuri pyörimässä olevan levyn. if ($ret[0]) $np = $ret[0]; else $np = 'Player stopped.'; // Tulostetaan soimassa oleva levy. print $np . "<br /><br />\n\n"; // Tulostellaan hallintanamiskat foreach ($cmnds as $c) printf("<a href=\"%s?cmd=Playback/%s\">- %s</a><br />\n", $_SERVER['PHP_SELF'], $c, $c); } else { print "Yhteyttä palvelimeen ei voitu muodostaa."; } // Lopetetaan dokumentti print "</p>\n</card>\n</wml>"; ?> editoitu: 13:27 16.7.04 dredge 13:12 16.7.04 Ethän sinä sitä voi killata tuolla välissä jos tulee erroria, jää print "</p>\n</card>\n</wml>"; ajamatta ja sivu ei toimi luurissa. Viittaan siis tuohon "Yhteyttä palvelimeen ei voitu muodostaa." -riviin. if(@fsockopen($host, $port)) { $ret = file(sprintf("http://%s:%d/%s", $host, $port, $query)); //+loput rivit tähän väliin tuolta } else { print "Yhteyttä palvelimeen ei voitu muodostaa."; } print "</p>\n</card>\n</wml>"; empty 14:48 16.7.04 Totta. Todellisuudessa en edes testannut ko. pätkää enää tuossa muodossa luurilla, siksi tuollainen kämmi. Kirjoittelin sen vaan vähän edustavampaan muotoon omasta purkkavirityksestäni. Editoinpa vähän. editoitu: 23:41 14.8.04 TiM 23:41 14.8.04 Mikäs mulla on vikana, kun tulee "Parse error: parse error, unexpected T_DNUMBER in d:\docs\foobar.php on line 28" tuommoinen virheilmoitus? oipo 20:11 3.3.05 Vielä tämä kannattais lisää tohon, ettei tartte käyttää sivun päivitystä puhelimella: header("Cache-Control: no-cache"); |
![]() Haku
|