request aangevraagd door luisteraar X

PHP, HTML, Joomla, WordPress, etc..
Radio649

request aangevraagd door luisteraar X

Ongelezen bericht door Radio649 »

Rare titel ik weet het, maar heeft met mijn vraag te maken.
Luisteraars kunnen op mijn site een request aanvragen, dat werkt prima niets mis mee.
Maarrrrrrrrrrrrrrrrrrrrrrrrrrr....................... hoe kan ik in SAM zien wie het heeft aangevraagd :ka:

Ik zie dan wel het leuke regeltje staan ~requested~ maar niet van wie :finga: Lijkt me leuk voor luisteraar X dat ik zijn/haar plaat kan aankondigen 8)

Is hier een mogelijkheid voor dat het wel te zien is?
Gebruikersavatar
Kees
Beheerder
Berichten: 3186
Lid geworden op: 28 nov 2005, 22:07
SAM-versie: 4.2.2.*
Database: MySQL
Windows: 11
Locatie: Bergen op Zoom
Contacteer:

Re: request aangevraagd door luisteraar X

Ongelezen bericht door Kees »

Ligt aan 2 factoren.
Je zult met de PHP versie van de SAM site moeten draaien.
Wanneer bezoekers van je site een verzoekje aan vragen, kunnen ze op een poup scherm invullen van wie het af komt en voor wie en waarom het is bestemd.
Doen ze dit scherm niet invullen dan zie je dus alleen ~requested~.
Hier een (door mij aangeast en vertaald) voorbeeld scherm.
Afbeelding
Radio649

Re: request aangevraagd door luisteraar X

Ongelezen bericht door Radio649 »

Ik draai met PHP en alles werkt ook goed, ik denk dat mijn vraag niet helemaal duidelijk is.

Ik bedoel als luisteraars dus dat formulier hebben ingevuld, dan zie ik alleen maar een request staan in SAM.
Maar ik kan niet zien van wie, en dat is nu juist wat ik graag wil.
Gebruikersavatar
Kees
Beheerder
Berichten: 3186
Lid geworden op: 28 nov 2005, 22:07
SAM-versie: 4.2.2.*
Database: MySQL
Windows: 11
Locatie: Bergen op Zoom
Contacteer:

Re: request aangevraagd door luisteraar X

Ongelezen bericht door Kees »

Ah...juist..nu snap ik je vraag.
Het woord ~request~ zit in de SAMBC.exe file verwerkt.
Dus dat kun je niet zomaar veranderen.
Er is wel een PAL script dat de info naar de encoder(s) verstuurt.

Code: Selecteer alles

{
  Insert Request Dedication information into encoded stream : script by Xgeek (aka Xgeek)
  $Id: Inject Request Dedication.PAL,v 0.05 2004/11/12

  * This script would not have been possible without the help from FesterHead. Thank You!!!

  What this PAL does:
    * On song change checks to see if the song was requested, and if it was:
    * If no dedication information it will inject ~Requested~ in the title stream after Artist - Title
    * If dedication information it will inject ~Requested by <Name> : Who had this to say:- <Message>~ in the title stream after Artist - Title


  What is configurable:
    * Nothing


  PAL built to run continuously:
    * Switch to a desktop with the 'PAL Scripts' window visible

    * Click '+' (Add new PAL script)

    * Check the 'Automatically start script' box

    * Click the folder icon and navigate to this script

    * Click 'OK'

    * Highlight PAL and click 'Start selected PAL script' (VCR type play button)

    * Save settings by clicking the 'File' menu item and selecting 'Save Configuration'
}

PAL.Loop := True;

WriteLn('New song started');

// WriteLn('Waiting 5 Seconds before checking if it is a Request');
// Wait a few seconds just in case this song is a Jingle. If it is, and it is under 10 seconds the script will still get the correct info for the song after.
// PAL.WaitForTime(T['+00:00:05']); //Wait 5 secs
PAL.LockExecution;

// Instantiate a Song Info object
var Song : TSongInfo;
Song := TSongInfo.Create;

WriteLn('Checking if song has been Requested......');
if ((ActivePlayer.GetSongInfo['requestID']) = 0) then WriteLn('Song is not a Request');

// Check if current song has a request ID
if ((ActivePlayer.GetSongInfo['requestID']) > 0) then
  Begin
      WriteLn('Song is a Request');
      var reqInfo : TDataSet = Query('SELECT name, msg FROM requestlist WHERE id = ' + ActivePlayer.GetSongInfo['requestID'], [], true);
      var Requested_by : String = reqInfo['name'];
      var Dedication_Message : String = reqInfo['msg'];
      reqInfo.Free;

      If (Requested_by = '') then Requested_by := 'Anonymous';
      If (Dedication_Message = '') then Dedication_Message := 'Nothing...';

      If ((Requested_by = 'Anonymous') and (Dedication_Message = 'Nothing...')) then
         Begin
           WriteLn('Song is a Request without Dedication');
           WriteLn(Requested_by); // This should aways echo Anonymous
           WriteLn(Dedication_Message); // This should aways echo Nothing...
           Song['artist'] := ActivePlayer.GetSongInfo['artist'] + ' - ' + ActivePlayer.GetSongInfo['title'];
           Song['title'] := '~Verzoekje~';
           Encoders.SongChange(Song);
         End
     else
         Begin
           WriteLn('Song is a Request with a Dedication');
           WriteLn(Requested_by);
           WriteLn(Dedication_Message);
           Song['artist'] := ActivePlayer.GetSongInfo['artist'] + ' - ' + ActivePlayer.GetSongInfo['title'];
           Song['title'] := 'Aangevraagd door ' + Requested_by + ' : Voor wie ? ' + Dedication_Message + ' !';
           Encoders.SongChange(Song);
        End;
  End;

PAL.UnlockExecution;
WriteLn('Done....');

Song.Free;

WriteLn('Waiting for next song to start');
PAL.WaitForPlayCount(1); {Wait for 1 songs to play}
Req.QueueTop;
Misschien dat dit met een windows popup scherm is uit te breiden.
Moet ik eens nakijken of dit kan.
Ik meen dat eens ergens gezien te hebben op het forum van Spacialaudio.
Radio649

Re: request aangevraagd door luisteraar X

Ongelezen bericht door Radio649 »

Dank je kees,
Ik ga met dat scriptje ff prutten en testen.

Het woord ~request~ zit niet in Samba.exe verstopt, het zit ingebakken in de PHP script. Die kan je dus zelf veranderen naar iets leukers.
Gebruikersavatar
Kees
Beheerder
Berichten: 3186
Lid geworden op: 28 nov 2005, 22:07
SAM-versie: 4.2.2.*
Database: MySQL
Windows: 11
Locatie: Bergen op Zoom
Contacteer:

Re: request aangevraagd door luisteraar X

Ongelezen bericht door Kees »

Hetgeen wat je in het SAM scherm ziet staan, komt echt uit SAMBC.exe.
Wat je in de website ziet staan, komt uit je php script.
Gebruikersavatar
cyberneticorganism
VIP
Berichten: 941
Lid geworden op: 11 jun 2008, 18:14
SAM-versie: 2025.3
Database: MySQL
Windows: Virtual machine
Contacteer:

Re: request aangevraagd door luisteraar X

Ongelezen bericht door cyberneticorganism »

Ik herinner mij deze topic nog, en ik wil eigenlijk hetzelfde. Achteraf kunnen zien (en ook meteen) wie er een request aanvraagt, en het bericht dat hij/zij achterlaat. En kijk eens wat ik heb gevonden:

Code: Selecteer alles

<?php
// SAM 4 Request Viewer for samPHPweb v0.3
// This php script will allow you to view all requests made by your visitors,
// regardless if they're pending in the queue, already played or ignored/failed; newest on top.
// If a dedication messages exist, it will be displayed on a line under.
// Page layout is similar to RacketRadio's script for SAM v2 at:
// http://www.spacialaudio.com/knowledge/question.php?qstId=263
// Put this file in your SAM directory.
// Your station name can be changed in your config.php file

/////////////////
// Configurables
/////////////////

// How many rows do you want to display per page?
$limit = 50;

// If you plan on using the script to monitor dedications in the queue, you'll want to
// refresh the page, add desired delay in seconds, or 0 to turn off.
$refresh_rate = 0;

//Display Track durations in table? (default = 1)
$dspl_duration = 1;

// Perform Reverse DNS? (May be slower) 1 to turn on, 0 to turn off.
// If this is enabled, use lower rows per page! (default = 1)
$reverse = 1;

//Display ETA? Use when requests are delayed. (default = 0)
$dspl_eta = 0;

// WordWrap. This will cut loooong words (like sticky fingers) into easier-to-read blocks in Name and
// Dedication fields, so you won't have to scroll left to right. Pick a number, use 1 million to turn off :)
$wrap = 25;

// Colors
$dark="FFDDDD"; //background color for the tables 
$light="DDFFDD"; //background color for the tables 
$pagebgcolor="DDDDFF"; //background color for the whole page 

// If you want to change the Language, do so here.
// Error code descriptions can be translated at the bottom of the script
$lang['header'] = 'Request Viewer';
$lang['artist'] = 'Artist';
$lang['title'] = 'Title';
$lang['current_filter'] = 'Current Filter';
$lang['mmss'] = 'Duration';
$lang['host'] = 'IP Address';
$lang['domain'] = 'Hostname';
$lang['songid'] = 'Song ID';
$lang['t_stamp'] = 'Time Requested';
$lang['eta'] = 'ETA';
$lang['status'] = 'Status';
$lang['name'] = 'Requested by';
$lang['msg'] = 'Dedication';
$lang['nextpage'] = 'Next Page';
$lang['legend'] = 'Legend';

// If you changed the filename for your config.php, do so here, otherwise don't touch it.
require("config.php");

// End of Configurables

if ((empty($_GET["host"])) && (empty($_GET["songid"])) && (empty($_GET["code"])) && (empty($_GET["status"])) && (empty($_GET["nom"]))) $where = "";
else {
   $where = " WHERE ";
   if (!empty($_GET["host"])) $where = $where."(host='$host') AND ";
   if (!empty($_GET["songid"])) $where = $where."(songid='$songid') AND ";
   if (!empty($_GET["code"])) $where = $where."(code='$code') AND ";
   if (!empty($_GET["status"])) $where = $where."(requestlist.status='$status') AND ";
   if (!empty($_GET["nom"])) $where = $where."(name='$nom') AND ";
   $where = substr($where,0,-4);
}

if (empty($start)) $start=0;
$db->open("SELECT requestlist.*,songlist.artist,songlist.title,songlist.duration FROM requestlist LEFT JOIN songlist ON requestlist.songid=songlist.id $where ORDER BY requestlist.id DESC",$limit,$start);
$reqlst = $db->rows();
reset($reqlst);

function GetTheDamnHost($addy){
   global $reverse, $song;
   if ($addy == "127.0.0.1") echo "<br>(localhost)";
   elseif (substr($addy,0,7)=="192.168") echo "<br>(Local Area)";
   elseif (substr($addy,0,3)=="10.") echo "<br>(Local Area)";
   elseif ((substr($addy,0,3)=="172") && (substr($addy,4,4)>="16.0") && (substr($addy,4,4)<"32.0")) echo "<br>(Local Area)";
   elseif ($reverse==1) echo "<br>(".gethostbyaddr($addy).")";
   // You can add pointers about some IP addresses (like non-human requests) here by adding elseif entries.
   if (substr($song['host'],0,5)=="74.6.") echo "<br>(Yahoo Bot)";
   elseif (substr($song['host'],0,6)=="65.55.") echo "<br>(MSNbot)";
}

function PutSongRow(&$song) 
{
global $rc, $lang, $dspl_duration, $dspl_eta, $reverse, $host, $songid, $code, $status, $nom, $wrap, $dark, $light;
PrepareSong($song);
$bgcolor = $dark;$rc = $song['id'];if ($rc % 2) $bgcolor = $light;
echo "<tr bgcolor=$bgcolor><td>".$song['id']."</td><td><a href=\"?host=".$host."&code=".$code."&status=".$status."&songid=".$song['songid']."&nom=".$nom."\">".$song['artist']." - ".$song['title']."</a>";
if ($dspl_duration==1) echo " (".$song['mmss'].")";
echo "</td><td align=\"center\"><a href=\"?songid=".$songid."&code=".$code."&status=".$status."&host=".$song['host']."&nom=".$nom."\">".$song['host']."</a>";
GetTheDamnHost($song['host']);
echo "</td><td align=\"center\">".$song['t_stamp']."</td>";
if ($dspl_eta==1) echo "<td align=\"center\">".$song['eta']."</td>";
echo "<td align=\"center\"><a href=\"?host=".$host."&songid=".$songid."&code=".$code."&status=".$song['status']."&nom=".$nom."\">".$song['status']."<br><a href=\"?host=".$host."&songid=".$songid."&status=".$status."&code=".$song['code']."&nom=".$nom."\">".$song['code']."</a></td><td align=\"center\"><a href=\"?host=".$host."&songid=".$songid."&code=".$code."&status=".$status."&nom=".$song['name']."\">".stripslashes(wordwrap($song['name'],$wrap," ",TRUE))."</a></td></tr>\n";
if (isset($song['msg'])) {
   $the_msg = stripslashes(wordwrap($song['msg'],$wrap," ",TRUE));
   echo "<tr><td colspan=7><b>".$lang['msg'].":</b> ".Text2Html(trim($the_msg))."</td></tr>\n";
}
}

if ($refresh_rate>0) echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"$refresh_rate\">\n";
echo "<html><head><title>".$station." ".$lang['header']."</title></head>\n<body bgcolor=\"$pagebgcolor\">\n<center><h2>".$station." ".$lang['header']."</h2></center><br>\n";
echo "<b>".$lang['current_filter']."</b>: ";
if (!empty($host)) { echo $lang['domain']."=".$host;if ((!empty($songid)) || (!empty($status)) || (!empty($code)) || (!empty($nom))) echo " & "; }
if (!empty($songid)) { echo $lang['songid']."=".$songid;if ((!empty($status)) || (!empty($code)) || (!empty($nom))) echo " & "; }
if (!empty($status)) { echo $lang['status']."=".$status;if ((!empty($code)) || (!empty($nom))) echo " & "; }
if (!empty($code)) { echo "Code=".$code;if (!empty($nom)) echo " & "; }
if (!empty($nom)) echo "Name=".$nom;
// table headers
echo "<table border=0 width=\"100%\"><tr align=\"center\"><td>#</td><td><b>".$lang['artist']." - ".$lang['title'];
if ($dspl_duration==1) echo " (".$lang['mmss'].")";
echo "</b></td><td><b>".$lang['host'];if ($reverse==1) echo "<br>(".$lang['domain'].")";
echo "</b></td><td><b>".$lang['t_stamp']."</b></td>";
if ($dspl_eta==1) echo "<td><b>".$lang['eta']."</b></td>";
echo "<td><b>".$lang['status']."</b></td><td><b>".$lang['name']."</b></td></tr>\n";
$rc=0;
while(list($key, $song) = each($reqlst)) {
    PutSongRow($song);
  }
if ($rc>1) {
   $start = $start+$limit;
    echo "<tr><td colspan=\"7\"><center><a href=\"?host=$host&songid=$songid&status=$status&code=$code&nom=$nom&start=$start\">".$lang['nextpage']." >></a></center></td></tr>";
}
echo "</table><br>\n<table border=\"1\"><tr><td align=\"center\" colspan=\"2\"><b>".$lang['legend']."</b></td></tr><tr><td>
600 - Requested song is offline and can not be played<br>
601 - Song recently played.<br>
602 - Artist recently played<br>
603 - Song already in queue to be played<br>
604 - Artist already in queue to be played.<br>
605 - Song already in request list<br>
606 - Artist already in request list<br>
609 - Track recently played<br> 
610 - Track already in queue to be played<br>
611 - Track already in request list<br>
612 - Album already in queue to be played</td><td valign=\"top\">
700 - Invalid request. (Unknown error with request)<br>
701 - Banned<br>
702 - Banned until mm:ss<br>
703 - Requested song ID invalid<br>
704 - Request limit reached. You can only request xx songs every xx minutes<br>
705 - Request limit reached. You can only request xx songs per day<br>
706 - Requests are disabled.<br>
707 - Authorization failed. IP not in allowed list.<br>
708 - You have already requested this song and it is waiting in the request queue to be played.</td>
</tr></table>
&copy; ".date('Y')." $station</body></html>"
?>
Ik heb hem al getest, en het werkt echt uitstekend. Je moet de code opslaan als php bestand, en vervolgens in de request php map zetten op je webhost/server. Je hoeft verder niets in te stellen, het werkt meteen. Voorwaarde is wel dat je gebruik maakt van het SAM php gedeelte. Onder html werkt dit dus niet!

Je hebt op deze manier eigenlijk een soort log van alle aangevraagde verzoekjes, met bijhorende ip adressen van aanvragers, namen, welk nummer is aangevraagd, hoe lang het nummer duurt, of die is geaccepteerd en zo nee de foutmelding, de bijhorende datum en tijd, en de provider waar de persoon bijzit. In 1 woord: Ideaal!
FataMorgana

Re: request aangevraagd door luisteraar X

Ongelezen bericht door FataMorgana »

cyberneticorganism schreef:...en vervolgens in de request php map zetten op je webhost/server. Je hoeft verder niets in te stellen, het werkt meteen.
Wat bedoelde je met de request php map?
Maar het werkt inderdaad perfect nadat ik 'm gewoon in de samphpweb map had gezet!
Heel goede vondst, ga ik zeker gebruiken als soms mensen vragen waarom ze een bepaald nummer een keer niet konden aanvragen!
Gebruikersavatar
cyberneticorganism
VIP
Berichten: 941
Lid geworden op: 11 jun 2008, 18:14
SAM-versie: 2025.3
Database: MySQL
Windows: Virtual machine
Contacteer:

Re: request aangevraagd door luisteraar X

Ongelezen bericht door cyberneticorganism »

Ja dat bedoel ik: samphpweb map. Bij mij heet ie de request map, en ik gebruik dat php gedeelte ook alleen voor de request vandaar. Ik moet het scriptje wat de artiest + titel op mijn webpagina weer geeft ook nog even een keer veranderen naar de php variant, alleen met php is het zo'n gekloot om de lay-out dan te wijzigen :x Maar dat terzijde, dat komt nog wel.

Het is inderdaad erg handig, ook om te zien wat iedereen eigenlijk voor berichtjes achterlaat :-D
FataMorgana

Re: request aangevraagd door luisteraar X

Ongelezen bericht door FataMorgana »

cyberneticorganism schreef:Het is inderdaad erg handig, ook om te zien wat iedereen eigenlijk voor berichtjes achterlaat :-D
Dat werkt bij mij dus niet omdat ik geen "private requests" aan kan zetten, alleen via Audiorealm Maar daar ben ik in een ander topic mee bezig. ;)
Gebruikersavatar
cyberneticorganism
VIP
Berichten: 941
Lid geworden op: 11 jun 2008, 18:14
SAM-versie: 2025.3
Database: MySQL
Windows: Virtual machine
Contacteer:

Re: request aangevraagd door luisteraar X

Ongelezen bericht door cyberneticorganism »

Router het raam uit smijten! :lol: Ow nee, dan heb je helemaal geen stream meer... :rolleyes:
ADOVT

Re: request aangevraagd door luisteraar X

Ongelezen bericht door ADOVT »

Hallo allen,

Weet 1 van jullie misschien of dit ook werkt met sam2?
demuziekschool

Re: request aangevraagd door luisteraar X

Ongelezen bericht door demuziekschool »

en onder welke naam sla je dat op svp?
Dank

cyberneticorganism schreef:Ik herinner mij deze topic nog, en ik wil eigenlijk hetzelfde. Achteraf kunnen zien (en ook meteen) wie er een request aanvraagt, en het bericht dat hij/zij achterlaat. En kijk eens wat ik heb gevonden:

Code: Selecteer alles

<?php
// SAM 4 Request Viewer for samPHPweb v0.3
// This php script will allow you to view all requests made by your visitors,
// regardless if they're pending in the queue, already played or ignored/failed; newest on top.
// If a dedication messages exist, it will be displayed on a line under.
// Page layout is similar to RacketRadio's script for SAM v2 at:
// http://www.spacialaudio.com/knowledge/question.php?qstId=263
// Put this file in your SAM directory.
// Your station name can be changed in your config.php file

/////////////////
// Configurables
/////////////////

// How many rows do you want to display per page?
$limit = 50;

// If you plan on using the script to monitor dedications in the queue, you'll want to
// refresh the page, add desired delay in seconds, or 0 to turn off.
$refresh_rate = 0;

//Display Track durations in table? (default = 1)
$dspl_duration = 1;

// Perform Reverse DNS? (May be slower) 1 to turn on, 0 to turn off.
// If this is enabled, use lower rows per page! (default = 1)
$reverse = 1;

//Display ETA? Use when requests are delayed. (default = 0)
$dspl_eta = 0;

// WordWrap. This will cut loooong words (like sticky fingers) into easier-to-read blocks in Name and
// Dedication fields, so you won't have to scroll left to right. Pick a number, use 1 million to turn off :)
$wrap = 25;

// Colors
$dark="FFDDDD"; //background color for the tables 
$light="DDFFDD"; //background color for the tables 
$pagebgcolor="DDDDFF"; //background color for the whole page 

// If you want to change the Language, do so here.
// Error code descriptions can be translated at the bottom of the script
$lang['header'] = 'Request Viewer';
$lang['artist'] = 'Artist';
$lang['title'] = 'Title';
$lang['current_filter'] = 'Current Filter';
$lang['mmss'] = 'Duration';
$lang['host'] = 'IP Address';
$lang['domain'] = 'Hostname';
$lang['songid'] = 'Song ID';
$lang['t_stamp'] = 'Time Requested';
$lang['eta'] = 'ETA';
$lang['status'] = 'Status';
$lang['name'] = 'Requested by';
$lang['msg'] = 'Dedication';
$lang['nextpage'] = 'Next Page';
$lang['legend'] = 'Legend';

// If you changed the filename for your config.php, do so here, otherwise don't touch it.
require("config.php");

// End of Configurables

if ((empty($_GET["host"])) && (empty($_GET["songid"])) && (empty($_GET["code"])) && (empty($_GET["status"])) && (empty($_GET["nom"]))) $where = "";
else {
   $where = " WHERE ";
   if (!empty($_GET["host"])) $where = $where."(host='$host') AND ";
   if (!empty($_GET["songid"])) $where = $where."(songid='$songid') AND ";
   if (!empty($_GET["code"])) $where = $where."(code='$code') AND ";
   if (!empty($_GET["status"])) $where = $where."(requestlist.status='$status') AND ";
   if (!empty($_GET["nom"])) $where = $where."(name='$nom') AND ";
   $where = substr($where,0,-4);
}

if (empty($start)) $start=0;
$db->open("SELECT requestlist.*,songlist.artist,songlist.title,songlist.duration FROM requestlist LEFT JOIN songlist ON requestlist.songid=songlist.id $where ORDER BY requestlist.id DESC",$limit,$start);
$reqlst = $db->rows();
reset($reqlst);

function GetTheDamnHost($addy){
   global $reverse, $song;
   if ($addy == "127.0.0.1") echo "<br>(localhost)";
   elseif (substr($addy,0,7)=="192.168") echo "<br>(Local Area)";
   elseif (substr($addy,0,3)=="10.") echo "<br>(Local Area)";
   elseif ((substr($addy,0,3)=="172") && (substr($addy,4,4)>="16.0") && (substr($addy,4,4)<"32.0")) echo "<br>(Local Area)";
   elseif ($reverse==1) echo "<br>(".gethostbyaddr($addy).")";
   // You can add pointers about some IP addresses (like non-human requests) here by adding elseif entries.
   if (substr($song['host'],0,5)=="74.6.") echo "<br>(Yahoo Bot)";
   elseif (substr($song['host'],0,6)=="65.55.") echo "<br>(MSNbot)";
}

function PutSongRow(&$song) 
{
global $rc, $lang, $dspl_duration, $dspl_eta, $reverse, $host, $songid, $code, $status, $nom, $wrap, $dark, $light;
PrepareSong($song);
$bgcolor = $dark;$rc = $song['id'];if ($rc % 2) $bgcolor = $light;
echo "<tr bgcolor=$bgcolor><td>".$song['id']."</td><td><a href=\"?host=".$host."&code=".$code."&status=".$status."&songid=".$song['songid']."&nom=".$nom."\">".$song['artist']." - ".$song['title']."</a>";
if ($dspl_duration==1) echo " (".$song['mmss'].")";
echo "</td><td align=\"center\"><a href=\"?songid=".$songid."&code=".$code."&status=".$status."&host=".$song['host']."&nom=".$nom."\">".$song['host']."</a>";
GetTheDamnHost($song['host']);
echo "</td><td align=\"center\">".$song['t_stamp']."</td>";
if ($dspl_eta==1) echo "<td align=\"center\">".$song['eta']."</td>";
echo "<td align=\"center\"><a href=\"?host=".$host."&songid=".$songid."&code=".$code."&status=".$song['status']."&nom=".$nom."\">".$song['status']."<br><a href=\"?host=".$host."&songid=".$songid."&status=".$status."&code=".$song['code']."&nom=".$nom."\">".$song['code']."</a></td><td align=\"center\"><a href=\"?host=".$host."&songid=".$songid."&code=".$code."&status=".$status."&nom=".$song['name']."\">".stripslashes(wordwrap($song['name'],$wrap," ",TRUE))."</a></td></tr>\n";
if (isset($song['msg'])) {
   $the_msg = stripslashes(wordwrap($song['msg'],$wrap," ",TRUE));
   echo "<tr><td colspan=7><b>".$lang['msg'].":</b> ".Text2Html(trim($the_msg))."</td></tr>\n";
}
}

if ($refresh_rate>0) echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"$refresh_rate\">\n";
echo "<html><head><title>".$station." ".$lang['header']."</title></head>\n<body bgcolor=\"$pagebgcolor\">\n<center><h2>".$station." ".$lang['header']."</h2></center><br>\n";
echo "<b>".$lang['current_filter']."</b>: ";
if (!empty($host)) { echo $lang['domain']."=".$host;if ((!empty($songid)) || (!empty($status)) || (!empty($code)) || (!empty($nom))) echo " & "; }
if (!empty($songid)) { echo $lang['songid']."=".$songid;if ((!empty($status)) || (!empty($code)) || (!empty($nom))) echo " & "; }
if (!empty($status)) { echo $lang['status']."=".$status;if ((!empty($code)) || (!empty($nom))) echo " & "; }
if (!empty($code)) { echo "Code=".$code;if (!empty($nom)) echo " & "; }
if (!empty($nom)) echo "Name=".$nom;
// table headers
echo "<table border=0 width=\"100%\"><tr align=\"center\"><td>#</td><td><b>".$lang['artist']." - ".$lang['title'];
if ($dspl_duration==1) echo " (".$lang['mmss'].")";
echo "</b></td><td><b>".$lang['host'];if ($reverse==1) echo "<br>(".$lang['domain'].")";
echo "</b></td><td><b>".$lang['t_stamp']."</b></td>";
if ($dspl_eta==1) echo "<td><b>".$lang['eta']."</b></td>";
echo "<td><b>".$lang['status']."</b></td><td><b>".$lang['name']."</b></td></tr>\n";
$rc=0;
while(list($key, $song) = each($reqlst)) {
    PutSongRow($song);
  }
if ($rc>1) {
   $start = $start+$limit;
    echo "<tr><td colspan=\"7\"><center><a href=\"?host=$host&songid=$songid&status=$status&code=$code&nom=$nom&start=$start\">".$lang['nextpage']." >></a></center></td></tr>";
}
echo "</table><br>\n<table border=\"1\"><tr><td align=\"center\" colspan=\"2\"><b>".$lang['legend']."</b></td></tr><tr><td>
600 - Requested song is offline and can not be played<br>
601 - Song recently played.<br>
602 - Artist recently played<br>
603 - Song already in queue to be played<br>
604 - Artist already in queue to be played.<br>
605 - Song already in request list<br>
606 - Artist already in request list<br>
609 - Track recently played<br> 
610 - Track already in queue to be played<br>
611 - Track already in request list<br>
612 - Album already in queue to be played</td><td valign=\"top\">
700 - Invalid request. (Unknown error with request)<br>
701 - Banned<br>
702 - Banned until mm:ss<br>
703 - Requested song ID invalid<br>
704 - Request limit reached. You can only request xx songs every xx minutes<br>
705 - Request limit reached. You can only request xx songs per day<br>
706 - Requests are disabled.<br>
707 - Authorization failed. IP not in allowed list.<br>
708 - You have already requested this song and it is waiting in the request queue to be played.</td>
</tr></table>
&copy; ".date('Y')." $station</body></html>"
?>
Ik heb hem al getest, en het werkt echt uitstekend. Je moet de code opslaan als php bestand, en vervolgens in de request php map zetten op je webhost/server. Je hoeft verder niets in te stellen, het werkt meteen. Voorwaarde is wel dat je gebruik maakt van het SAM php gedeelte. Onder html werkt dit dus niet!

Je hebt op deze manier eigenlijk een soort log van alle aangevraagde verzoekjes, met bijhorende ip adressen van aanvragers, namen, welk nummer is aangevraagd, hoe lang het nummer duurt, of die is geaccepteerd en zo nee de foutmelding, de bijhorende datum en tijd, en de provider waar de persoon bijzit. In 1 woord: Ideaal!
Gebruikersavatar
Wout
Beheerder
Berichten: 3522
Lid geworden op: 03 dec 2007, 14:17
SAM-versie: 2019.3
Database: MariaDB
Windows: 11
Locatie: West-Brabant
Contacteer:

Re: request aangevraagd door luisteraar X

Ongelezen bericht door Wout »

demuziekschool schreef:en onder welke naam sla je dat op svp?
Je kan het een willekeurig naam geven.
Bij mijn heet het pr.php
Afbeelding
demuziekschool

Re: request aangevraagd door luisteraar X

Ongelezen bericht door demuziekschool »

thnks
waalstad

Re: request aangevraagd door luisteraar X

Ongelezen bericht door waalstad »

Kees schreef:Ligt aan 2 factoren.
Je zult met de PHP versie van de SAM site moeten draaien.
Wanneer bezoekers van je site een verzoekje aan vragen, kunnen ze op een poup scherm invullen van wie het af komt en voor wie en waarom het is bestemd.
Doen ze dit scherm niet invullen dan zie je dus alleen ~requested~.
Hier een (door mij aangeast en vertaald) voorbeeld scherm.
Afbeelding
dit wil ik juist zo ja.
hoe deed ik dat ook alweer kees.

gr berry
www.waalstad.com
Gebruikersavatar
Kees
Beheerder
Berichten: 3186
Lid geworden op: 28 nov 2005, 22:07
SAM-versie: 4.2.2.*
Database: MySQL
Windows: 11
Locatie: Bergen op Zoom
Contacteer:

Re: request aangevraagd door luisteraar X

Ongelezen bericht door Kees »

Hoef je niks voor te doen.
Zit standaard in samPHPweb.
Ik heb hem alleen vertaald en de kleuren gewijzigd.
schlagerfoxradio

Re: request aangevraagd door luisteraar X

Ongelezen bericht door schlagerfoxradio »

pfffff allemaal moeilijk te volgen voor mij
werk nog maar net met sam 8 jaar
maar ik heb gewoon een reque lijst maakt sam zelf aan
bij mij is dat gewoon
http://www.flameofbeauty.nl/wunschbox/John.php
wand daar licht mijn jukebox
kan zijn dat je nummers in sam moet zetten (daar waar je ook je ip in zet )
maar die zie je van zelf
gewoon goed kijken
groetjes john (dj fox)
http://www.schlagerfoxradio.de
draaiende met sam2 mengpaneel
tt limiter
readers op 192 kbs
jacqueline

Re: request aangevraagd door luisteraar X

Ongelezen bericht door jacqueline »

Ideaal script
Bij mij doet die ook KEIGOED .. heb dan ook mijn kleurtjes veranderd :P
kuneara

Re: request aangevraagd door luisteraar X

Ongelezen bericht door kuneara »

Het is al weer een tijdje geleden dat dit topic is gestart, maar ik heb er toch nog een vraagje over.
Werkt dit ook met Sam 4.7.4?

Als ik de php code gebruik zoals aangegeven dan krijg ik de volgende fout melding:

Code: Selecteer alles

Fatal error: Call to undefined method Zend_Db_Adapter_Mysqli::open() in /home/voiceoff/domains/voiceoffreedom.eu/public_html/samPHPweb/verzoek.php on line 76
Iemand een sugestie?

Alvast bedankt
Plaats reactie
  • Vergelijkbare Onderwerpen
    Reacties
    Weergaves
    Laatste bericht