mirror of
https://github.com/Yetangitu/ampache
synced 2025-10-06 03:49:56 +02:00
Fix private broadcasts and add automatic broadcast by default web player
This commit is contained in:
parent
54ab51873c
commit
991b16f860
7 changed files with 53 additions and 7 deletions
|
@ -49,7 +49,7 @@ if ($cargv > 1) {
|
|||
}
|
||||
}
|
||||
|
||||
$app = new Ratchet\App('0.0.0.0', $port);
|
||||
$app = new Ratchet\App('localhost', $port);
|
||||
$brserver = new Broadcast_Server();
|
||||
$brserver->verbose = $verbose;
|
||||
$app->route('/broadcast', $brserver);
|
||||
|
|
|
@ -228,7 +228,13 @@ class Broadcast_Server implements MessageComponentInterface
|
|||
|
||||
protected function authSid($conn, $sid)
|
||||
{
|
||||
|
||||
if (Session::exists('stream', $sid)) {
|
||||
$this->sids[$conn->resourceId] = $sid;
|
||||
} else {
|
||||
if ($this->verbose) {
|
||||
echo "Wrong listener session " . $sid . "\r\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected function unregisterListener($conn)
|
||||
|
|
|
@ -381,6 +381,9 @@ class Update
|
|||
|
||||
$update_string = '- Set user field on playlists as optional.<br />';
|
||||
$version[] = array('version' => '360045','description' => $update_string);
|
||||
|
||||
$update_string = '- Add broadcast web player by default preference.<br />';
|
||||
$version[] = array('version' => '360046','description' => $update_string);
|
||||
|
||||
return $version;
|
||||
}
|
||||
|
@ -2297,4 +2300,21 @@ class Update
|
|||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* update_360046
|
||||
*
|
||||
* Add broadcast web player by default preference
|
||||
*/
|
||||
public static function update_360046()
|
||||
{
|
||||
$sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
|
||||
"VALUES ('broadcast_by_default','0','Broadcast web player by default',25,'boolean','streaming')";
|
||||
Dba::write($sql);
|
||||
$id = Dba::insert_id();
|
||||
$sql = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
|
||||
Dba::write($sql, array($id));
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -181,6 +181,7 @@ function create_preference_input($name,$value)
|
|||
case 'stream_beautiful_url':
|
||||
case 'share':
|
||||
case 'share_social':
|
||||
case 'broadcast_by_default':
|
||||
if ($value == '1') { $is_true = "selected=\"selected\""; } else { $is_false = "selected=\"selected\""; }
|
||||
echo "<select name=\"$name\">\n";
|
||||
echo "\t<option value=\"1\" $is_true>" . T_("Enable") . "</option>\n";
|
||||
|
|
|
@ -71,6 +71,7 @@ class Ampacheflickr {
|
|||
public function get_photos($search) {
|
||||
$photos = array();
|
||||
$url = "https://api.flickr.com/services/rest/?&method=flickr.photos.search&api_key=" . $this->api_key . "&per_page=20&content_type=1&text=" . rawurlencode($search . " concert");
|
||||
debug_event($this->name, 'Calling ' . $url, '5');
|
||||
$request = Requests::get($url);
|
||||
if ($request->status_code == 200) {
|
||||
$xml = simplexml_load_string($request->body);
|
||||
|
|
|
@ -54,7 +54,7 @@ switch ($_REQUEST['action']) {
|
|||
$broadcast = new Broadcast($broadcast_id);
|
||||
if ($broadcast->id) {
|
||||
$broadcast->update_state(false);
|
||||
$results['broadcast'] = Broadcast::get_broadcast_link($broadcast_id) . '' .
|
||||
$results['broadcast'] = Broadcast::get_broadcast_link() . '' .
|
||||
'<script type="text/javascript">stopBroadcast();</script>';
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -340,7 +340,7 @@ function startBroadcastListening(broadcast_id)
|
|||
$('.jp-seek-bar').css('pointer-events', 'none');
|
||||
|
||||
brconn.onopen = function(e) {
|
||||
sendBroadcastMessage('AUTH_SID', '<?php echo session_id(); ?>');
|
||||
sendBroadcastMessage('AUTH_SID', '<?php echo Stream::$session; ?>');
|
||||
sendBroadcastMessage('REGISTER_LISTENER', broadcast_id);
|
||||
};
|
||||
}
|
||||
|
@ -407,7 +407,7 @@ function receiveBroadcastMessage(e)
|
|||
|
||||
function sendBroadcastMessage(cmd, value)
|
||||
{
|
||||
if (brconn != null) {
|
||||
if (brconn != null && brconn.readyState == 1) {
|
||||
var msg = cmd + ':' + value + ';';
|
||||
brconn.send(msg);
|
||||
}
|
||||
|
@ -416,7 +416,9 @@ function sendBroadcastMessage(cmd, value)
|
|||
function stopBroadcast()
|
||||
{
|
||||
brkey = '';
|
||||
brconn.close();
|
||||
if (brconn != null && brconn.readyState == 1) {
|
||||
brconn.close();
|
||||
}
|
||||
brconn = null;
|
||||
}
|
||||
|
||||
|
@ -561,7 +563,23 @@ if ($isVideo) {
|
|||
<div class="player_actions">
|
||||
<?php if (AmpConfig::get('broadcast')) { ?>
|
||||
<div id="broadcast" class="broadcast">
|
||||
<?php echo Broadcast::get_broadcast_link(); ?>
|
||||
<?php
|
||||
if (AmpConfig::get('broadcast_by_default')) {
|
||||
$broadcasts = Broadcast::get_broadcasts($GLOBALS['user']->id);
|
||||
if (count($broadcasts) < 1) {
|
||||
$broadcast_id = Broadcast::create(T_('My Broadcast'));
|
||||
} else {
|
||||
$broadcast_id = $broadcasts[0];
|
||||
}
|
||||
|
||||
$broadcast = new Broadcast($broadcast_id);
|
||||
$key = Broadcast::generate_key();
|
||||
$broadcast->update_state(true, $key);
|
||||
echo Broadcast::get_unbroadcast_link($broadcast_id) . '<script type="text/javascript">startBroadcast(\'' . $key . '\');</script>';
|
||||
} else {
|
||||
echo Broadcast::get_broadcast_link();
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<?php } ?>
|
||||
<?php if ($iframed) { ?>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue