This is a little script to display an RSS/RDF channel on a Cisco IP phone.


<?php
  
# rss2ciscoxml.php
  # (C) 2005 Stefan Gofferje
  # http://stefan.gofferje.net/
  # License: GNU General Public License
  # http://www.gnu.org/licenses/gpl.html
  ######################################
 
  
header ("Content-type: text/xml");
  
$rdf parse_url($url);
  
$fp fsockopen($rdf['host'], 80$errno$errstr15);
  if (!
$fp) {
    
$content "";
    echo 
$content;
    return;
  }
  if (
$fp) {
    if (
$rdf['query'] <> ""fputs($fp"GET " $rdf['path'] . "?" $rdf['query'] . " HTTP/1.0\r\n");
    else 
fputs($fp"GET " $rdf['path'] . " HTTP/1.0\r\n");
    
fputs($fp"HOST: " $rdf['host'] . "\r\n\r\n");
    
$string "";
    while(!
feof($fp)) {
      
$pagetext fgets($fp,300);
      
$string .= chop($pagetext);
    }
    
fputs($fp,"Connection: close\r\n\r\n");
    
fclose($fp);
 
    print 
"<CiscoIPPhoneText>\n";
    
$items explode("</title>",$string);
    
$title ereg_replace(".*<title>","",$items[0]);
    print 
"<Title>$title</Title>\n";
    print 
"<Text>";
  
    
$items explode("</item>",$string);
    for (
$i=0;$i<10;$i++) {
      
$link ereg_replace(".*<link>","",$items[$i]);
      
$link ereg_replace("</link>.*","",$link);
      
$title2 ereg_replace(".*<title>","",$items[$i]);
      
$title2 ereg_replace("</title>.*","",$title2);
      if ((
stristr($items[$i],"</rss>")) || (stristr($items[$i],"</rdf:RDF>"))) {
        print 
"</Text>\n";
        print 
"<Prompt></Prompt>\n";
        print 
"<SoftKeyItem>\n";
        print 
"  <Name>Return</Name>\n";
        print 
"  <URL>Softkey:Exit</URL>\n";
        print 
"  <Position>1</Position>\n";
        print 
"</SoftKeyItem>\n";
        print 
"</CiscoIPPhoneText>\n";
        return;
      } else {
        if (
strcmp($link,$title)) {
          print 
"- ".$title2."\n";
        }
      }
    }
    print 
"</Text>\n";
    print 
"<Prompt></Prompt>\n";
    print 
"<SoftKeyItem>\n";
    print 
"  <Name>Return</Name>\n";
    print 
"  <URL>Softkey:Exit</URL>\n";
    print 
"  <Position>1</Position>\n";
    print 
"</SoftKeyItem>\n";
    print 
"</CiscoIPPhoneText>\n";
  }
?>