Modifica a EnhancedXspf

La discussione sul CMS Made Simple in italiano.

Moderator: magallo

Post Reply
Paulin
Forum Members
Forum Members
Posts: 28
Joined: Mon Jul 28, 2008 8:35 am

Modifica a EnhancedXspf

Post by Paulin »

Ho installato il modulo in oggetto e il relativo Upload necessario per farlo funzionare.

Ho quindi fatto alcune prove creando una playlist con 2 canzoni che ho Uploadato sul mio server. Tutto ok funziona alla perfezione.

Ho quindi provato a creare manualmente una playlist in formato xspf con esterne al mio server

richiamo il modulo nella mia pagina con:
{cms_module module=EnhancedXSPF playlist_url="/uploads/musica/prova.xspf"}

(ho provato anche tutte le possibili varianti con/senza virgolette, con/senza percorso assoluto etc..)

ma mi viene restituito l'errore:
Error: no song or playlist parameter given  e come playlist di default mi viene proposta quella creata in automatico.

Code: Select all

<p>Error: no song or playlist parameter given
<object type="application/x-shockwave-flash" width="400" height="170" data="http://www.miohost.it/modules/EnhancedXSPF/xspf/Extended/xspf_player.swf?playlist_url=http://www.miohost.it/modules/EnhancedXSPF/playlist.xml.php%3Fplaylist=1&autoresume=0&autoplay=0&autoload=1&shuffle=0&repeat=0">
	<param name="movie" value="http://www.miohost.it/modules/EnhancedXSPF/xspf/Extended/xspf_player.swf?playlist_url=http://www.miohost.it/modules/EnhancedXSPF/playlist.xml.php%3Fplaylist=1&autoresume=0&autoplay=0&autoload=1&shuffle=0&repeat=0" />
</object></p>






Dove sbaglio?
alby

Re: Modifica a EnhancedXspf

Post by alby »

Paulin wrote: Ho installato il modulo in oggetto e il relativo Upload necessario per farlo funzionare.

Ho quindi fatto alcune prove creando una playlist con 2 canzoni che ho Uploadato sul mio server. Tutto ok funziona alla perfezione.

Ho quindi provato a creare manualmente una playlist in formato xspf con esterne al mio server

richiamo il modulo nella mia pagina con:
{cms_module module=EnhancedXSPF playlist_url="/uploads/musica/prova.xspf"}

(ho provato anche tutte le possibili varianti con/senza virgolette, con/senza percorso assoluto etc..)

ma mi viene restituito l'errore:
Error: no song or playlist parameter given  e come playlist di default mi viene proposta quella creata in automatico.
Mai usato il modulo ma hai controllato la sintassi dall'help?
Mi parla di playlist parameter e non di playlist_url

Alby
Paulin
Forum Members
Forum Members
Posts: 28
Joined: Mon Jul 28, 2008 8:35 am

Re: Modifica a EnhancedXspf

Post by Paulin »

Infatti l'help del modulo non ne parla.
La documentazione del player invece si, presumo si riferisca al caso in cui viene richiamato tramite l'embeed e non come chiamata al modulo.

In ogni caso ho provato a frugare nel file playlist.xml.php che è il responsabile della creazione della parte:

[....]xspf_player.swf?playlist_url=http://www.miohost.it/modules/EnhancedX ... st.xml.php%[....]

Code: Select all


$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>
E' possibile modificarlo in modo che mi valuti se il valore $playlist

$playlist =& $playlist_manager->getPlaylistById($playlist_id);

è un valore numerico (quindi una playlist generata tramite il modulo) e nel caso procede come al solito
oppure
è un valore alfanumerico, quindi un path che ho inserito io, e nel tal caso salta tutta la parte responsabile della creazione del Playlist_url  e si limita a utilizzare la mia varibile.
Non so se mi sono spiegato bene  ;D
alby

Re: Modifica a EnhancedXspf

Post by alby »

Paulin wrote: Infatti l'help del modulo non ne parla.
La documentazione del player invece si, presumo si riferisca al caso in cui viene richiamato tramite l'embeed e non come chiamata al modulo.

In ogni caso ho provato a frugare nel file playlist.xml.php che è il responsabile della creazione della parte:

.....

E' possibile modificarlo in modo che mi valuti se il valore $playlist
.....
Semmai è un oggetto  ;)

sta cercando i file (Filename) in uploads/[UploadCategoryPath]/Filename
intanto controlla se è corretto questo

Alby
Paulin
Forum Members
Forum Members
Posts: 28
Joined: Mon Jul 28, 2008 8:35 am

Re: Modifica a EnhancedXspf

Post by Paulin »

alby wrote:
Semmai è un oggetto  ;)

sta cercando i file (Filename) in uploads/[UploadCategoryPath]/Filename
intanto controlla se è corretto questo

Alby
Si alby,
come funzionamento "canonico" il modulo funziona.
Mi consente di creare playlist, di aggiungerci canzoni che col modulo Upload ho inserito nella cartella [UploadCategoryPath] e richiamandolo con
{cms_module module=EnhancedXSPF playlist=1} funziona alla perfezione.

L'unico modo per inserire le canzoni nella playlist è il drag&drop dalla cartella [UploadCategoryPath] quindi solo ed esclusivamente file mp3 presenti sul mio server. Io vorrei inserire mp3 che si trovano sul server www.tiziocazio.it&nbsp;  ma con questo modulo mi sembra di aver capito che non puoi.
Avevo quindi creato ad-hoc  una playlist in formato xml con estensione .xspf  con le canzoni del sito TIZIOCAIO.it
http://www.TIZIOCAIO.it/1.mp3
.. 2.mp3 
etc..

Ma questo file non riesco (e non so se sia possibile) a passarlo al modulo che cerca sempre e comunque di utilizzare le sue playlist.
alby

Re: Modifica a EnhancedXspf

Post by alby »

Paulin wrote: Avevo quindi creato ad-hoc  una playlist in formato xml con estensione .xspf  con le canzoni del sito TIZIOCAIO.it
http://www.TIZIOCAIO.it/1.mp3
.. 2.mp3 
etc..

Ma questo file non riesco (e non so se sia possibile) a passarlo al modulo che cerca sempre e comunque di utilizzare le sue playlist.
Bè prova a modificare il modulo in questo modo per vedere se funziona:
foreach ($playlist->Songs as $song)
{
echo '' . "\n";
switch ($count_downloads)
{
case true:
echo '' . $config['root_url'] . '/index.php?mact=Uploads,cntnt01,getfile,0&cntnt01showtemplate=false&cntnt01upload_id=' . $song->UploadId . '' . "\n";
break;
case false:
echo 'http://www.TIZIOCAIO.it/' . $song->Filename . '' . "\n";
break;
}
if (trim($song->Author) != '')
{
echo '' . $song->Author . '' . "\n";
}
if (trim($song->Description) != '')
{
echo '' . $song->Description . '' . "\n";
}
echo '' . $song->Summary . '' . "\n";
$thumb = $playlist_manager->getThumb($config, $song);
if ($thumb)
{
echo "$thumb\n";
}
echo '' . "\n";
}
?>

Alby
Paulin
Forum Members
Forum Members
Posts: 28
Joined: Mon Jul 28, 2008 8:35 am

Re: Modifica a EnhancedXspf

Post by Paulin »

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?
alby

Re: Modifica a EnhancedXspf

Post by alby »

Paulin wrote: 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?
No, 0 od un numero se c'è alla sinistra

Paulin wrote: In caso di controllo errato voglio fare l'echo del mio file .xspf e uscire.  Che dici può essere una soluzione?
Devi prima caricarlo per fare l'echo  ;)

Paulin wrote: E siccome sono un po scarso in programmazione...
il parametro "/uploads/musica/prova.xspf" lo trovo con $_GET[playlist] giusto?
Hummm.... ho l'impressione che tu non sappia cos'è $GET[], o sbaglio?

Alby
Post Reply

Return to “Italian - Italiano”