pragmaMx Support Forum

Archive => veraltete bzw. unsupportete Systeme und Module => Alt Archive => PHPNuke 5.2-6.0 & VKP 5.5 => Thema gestartet von: electracks am 22 Dezember 2002, 14:11:37

Titel: code in Theme einfügen
Beitrag von: electracks am 22 Dezember 2002, 14:11:37
Hallo!

Wie kann ich am besten folgenden Code in meine Theme.php einbinden? Ich will, dass der Text unter dem Datum rechts oben angezeigt wird, oder anstelle des counters:
//////////////////////////////////open connection\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//connect to shoutcast server
include('/usr/www/users/nb1465/html/own/song/config.php');  //you may edit this path to fit your server environment otherwise leave it alone
$scfp = fsockopen("$scip", $scport, &$errno, &$errstr, 30);
 if(!$scfp) {
  $scsuccs=1;
echo''.$scdef.' is Offline';
 }
if($scsuccs!=1){
 fputs($scfp,"GET /admin.cgi?pass=$scpass&mode=viewxml HTTP/1.0\r\nUser-Agent: SHOUTcast Song Status (Mozilla Compatible)\r\n\r\n");
 while(!feof($scfp)) {
  $page .= fgets($scfp, 1000);
 }
######################################################################################################################
/////////////////////////part 1 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//define  xml elements
 $loop = array("STREAMSTATUS", "BITRATE");
 $y=0;
 while($loop[$y]!=''){
  $pageed = ereg_replace(".*<$loop[$y]>", "", $page);
  $scphp = strtolower($loop[$y]);
  $$scphp = ereg_replace("</$loop[$y]>.*", "", $pageed);
  if($loop[$y]==SERVERGENRE || $loop[$y]==SERVERTITLE || $loop[$y]==SONGTITLE)
   $$scphp = urldecode($$scphp);

// uncomment the next line to see all variables
// echo'$'.$scphp.' = '.$$scphp.'<br>';
  $y++;
 }
//end intro xml elements
######################################################################################################################
######################################################################################################################
/////////////////////////part 2\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//get song info and history
 $pageed = ereg_replace(".*<SONGHISTORY>", "", $page);
 $pageed = ereg_replace("<SONGHISTORY>.*", "", $pageed);
 $songatime = explode("<SONG>", $pageed);
 $r=1;
 while($songatime[$r]!=""){
  $t=$r-1;
  $playedat[$t] = ereg_replace(".*<PLAYEDAT>", "", $songatime[$r]);
  $playedat[$t] = ereg_replace("</PLAYEDAT>.*", "", $playedat[$t]);
  $song[$t] = ereg_replace(".*<TITLE>", "", $songatime[$r]);
  $song[$t] = ereg_replace("</TITLE>.*", "", $song[$t]);
  $song[$t] = urldecode($song[$t]);

$r++;
 }
//end song info

fclose($scfp);
}

//display stats
if($streamstatus == "1"){
//you may edit the html below, make sure to keep variable intact
echo'
<html>

<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>'.$scdef.'</title>
</head>
<body>
<p><b>
Current Song:</b> '.$song[0].' </p>
</body>

</html>';
}
Titel: Re: code in Theme einfügen
Beitrag von: Homicide am 23 Dezember 2002, 20:22:33
wenn ich das richtig sehe soll unterhalb des Datums dann der aktuelle Musiktitel angezeigt werden?

ich würde nicht den ganzen Code in die Theme.php schreiben.
erstelle dir eine datei (z.b. shout_titel.php) in diese schreibst du den ganzen Code
unten den Echo Bereich solltest du einfach löschen und durch:

echo "Current Song:</b> '.$song[0].' </p>";

ersetzen.

dann öffnest du die theme.php und an der stelle an der der Titel dann erscheinen soll
schreibst du:

include("shout_titel.php");

und wenn dein ganzer Code richtig ist dann sollte dir dann der titel angezeigt werden.

den befehl "include" sollte man immer anwenden wenn der Code mehr als 2-3 Zeilen beansprucht, dann hat man es leichter wenn man mehrere Themes benutzt oder wenn man das Theme mal eben ändern möchte.