Forse ci sono....
il codice originale è questo:
Code: Select all
if (!isset($_GET['playlist']))
{
die();
}
$playlist_id = (int) $_GET['playlist'];
$encoding = $config['admin_encoding'];
header("Content-Type: application/xspf+xml; charset=$encoding");
echo '<?xml version="1.0" encoding="'.$encoding.'"?>'. "\n";
?>
<playlist version="0" xmlns="http://xspf.org/ns/0/">
<trackList>
<?php
if (version_compare($CMS_VERSION, '1.0.4', '>='))
{
load_adodb();
$db =& adodb_connect();
}
$playlist_manager =& new PlaylistManager($db);
$playlist =& $playlist_manager->getPlaylistById($playlist_id);
$count_downloads = isset($_GET['count_downloads']) && (bool) $_GET['count_downloads'] == false ? false : true;
if(no_direct_downloads())
{
$count_downloads = true;
}
foreach ($playlist->Songs as $song)
{
echo '<track>' . "\n";
switch ($count_downloads)
{
case true:
echo '<location>' . $config['root_url'] . '/index.php?mact=Uploads,cntnt01,getfile,0&cntnt01showtemplate=false&cntnt01upload_id=' . $song->UploadId . '</location>' . "\n";
break;
case false:
echo '<location>' . $config['root_url'] . '/uploads/' . $song->UploadCategoryPath . '/' . $song->Filename . '</location>' . "\n";
break;
}
if (trim($song->Author) != '')
{
echo '<creator>' . $song->Author . '</creator>' . "\n";
}
if (trim($song->Description) != '')
{
echo '<info>' . $song->Description . '</info>' . "\n";
}
echo '<title>' . $song->Summary . '</title>' . "\n";
$thumb = $playlist_manager->getThumb($config, $song);
if ($thumb)
{
echo "<image>$thumb</image>\n";
}
echo '</track>' . "\n";
}
?>
</trackList>
</playlist>
Aiutami ad interpretarlo....
Code: Select all
if (!isset($_GET['playlist']))
{
die();
}
$playlist_id = (int) $_GET['playlist'];
Verifica se è stato passato il parametro playlist... se non c'è esce con messaggio d'errore. Se lo trova ricava l'intero di quel valore. giusto?
A questo punto potrei intervenire io...
Se il parametro playlist è una stringa (per esempio il path del mio file prova.xspf) la funzione che restituisce l'intero dovrebbe darmi errore... giusto?
In caso di controllo errato voglio fare l'echo del mio file .xspf e uscire. Che dici può essere una soluzione?
E siccome sono un po scarso in programmazione...
il parametro "/uploads/musica/prova.xspf" lo trovo con $_GET[playlist] giusto?
quindi:
$personal_playlist = $_GET['playlist'];
poi dovrebbe essere
echo $personal_playlist;
il controllo d'errore sulla funzione (int) invece come lo faccio?