Skip to content
This repository has been archived by the owner on Nov 9, 2021. It is now read-only.

Commit

Permalink
Added terminal configuration
Browse files Browse the repository at this point in the history
  • Loading branch information
Sergey Avdeev committed Sep 17, 2018
1 parent c8c25b3 commit 03880ea
Show file tree
Hide file tree
Showing 5 changed files with 133 additions and 80 deletions.
20 changes: 20 additions & 0 deletions modules/app_music/app_music.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ function getParams() {
function run() {
global $session;
$out = array();
$this->getConfig();
if($this->action == 'admin') {
$this->admin($out);
} else {
Expand All @@ -80,6 +81,22 @@ function run() {

// BackEnd
function admin(&$out) {
// Save action
if($this->edit_mode == 'save') {
global $terminal;
$this->config['terminal'] = $terminal;
$this->saveConfig();
// Redirect
$this->redirect('?');
}
// Terminal
$out['terminal'] = $this->config['terminal'];
$terminals = SQLSelect('SELECT `NAME`, `TITLE` FROM `terminals` ORDER BY `TITLE`');
if($terminals[0]['NAME']) {
foreach($terminals as $terminal) {
$out['TERMINALS'][] = $terminal;
}
}
}

// Scan directory for audio files
Expand Down Expand Up @@ -107,6 +124,9 @@ function scanDirectory($directory, $results=array()) {

// FrontEnd
function usual(&$out) {
// Config
$out['terminal'] = $this->config['terminal'];

/*
global $ajax;
if(!empty($ajax)) {
Expand Down
24 changes: 24 additions & 0 deletions templates/app_music/action_admin.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<form action="?" method="post" class="form-horizontal">
<fieldset>
<div class="form-group">
<label class="col-lg-3 control-label">Терминал:</label>
<div class="col-lg-5">
<select name="terminal" class="form-control">
<option value=""[#if terminal=""#] selected[#endif#]>Автоопределение</option>
[#begin TERMINALS#]
<option value="[#NAME#]"[#if NAME="<#terminal#>"#] selected[#endif#]>[#TITLE#]</option>
[#end TERMINALS#]
</select>
<small class="form-text text-muted">Терминал на котором будет воспроизводиться музыка.</small>
</div>
</div>
<div class="form-group">
<label class="col-lg-3 control-label">&nbsp;</label>
<div class="col-lg-3">
<button type="submit" name="submit" value="Submit" class="btn btn-primary"><#LANG_UPDATE#></button>
<input type="hidden" name="view_mode" value="<#VIEW_MODE#>">
<input type="hidden" name="edit_mode" value="save">
</div>
</div>
</fieldset>
</form>
62 changes: 62 additions & 0 deletions templates/app_music/action_usual.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<!-- Thanks Rodrigo for a great player: https://github.com/rtone1/audioUI -->

<link rel="stylesheet" href="/templates/app_music/stylesheets/styles.css">
<script type="text/javascript" src="/templates/app_music/javascripts/jquery-ui.min.js"></script>
<script type="text/javascript" src="/templates/app_music/javascripts/app_music.js"></script>

<div id="app_music" class="playerContainer unselectable">
<div class="app_music_loading_screen"></div>
<div class="imageDisplay">
<div class="hamIcon">
<div class="top"></div>
<div class="middle"></div>
<div class="bottom"></div>
</div>
<div class="shadow"></div>
</div>
<div class="audioPlaylist">
<div class="nowPlaying">
<h2>Сейчас играет</h2>
<p class="app_music_track_title_text"></p>
<p class="duration"><em class="app_music_track_time_text">00:00</em> / <em class="app_music_track_length_text">00:00</em></p>
<div class="arrow"></div>
<div class="listShadow"></div>
</div>
<div class="songList">
<ol class="app_music_tracklist_list">
</ol>
</div>
</div>
<div class="controlsContainer" >
<div class="topControls">
<div class="shuffle app_music_pl_random_button" title="Случайный порядок"></div>
<div class="progressMeter" >
<div class="progressBar app_music_track_progress_element"></div>
<div class="thumbScrubber app_music_track_scrubber_element"></div>
<div class="currentTime app_music_track_time_text">00:00</div>
<div class="totalTime app_music_track_length_text">00:00</div>
</div>
<div class="loop app_music_pl_loop_repeat_button" title="Режим повтора: всё, одна дорожка, без повтора"></div>
</div>
<div class="descriptionCtn">
<div class="songDescription app_music_track_title_text marquee"></div>
<div class="songDescription app_music_track_title_text marqueetwo"></div>
</div>
<div class="playPause">
<div class="prev app_music_previous_button" title="Предыдущий трек"></div>
<div class="play_pause app_music_pause_button active" title="Воспроизведение / Пауза"></div>
<div class="next app_music_next_button" title="Следующий трек"></div>
</div>
</div>
</div>

<script type="text/javascript">
var music_player = new app_music('[#terminal#]');
$(document).ready(function () {
music_player.init_player(function() {
$(music_player.container).find('.arrow,.hamIcon').on('click', function() {
$(music_player.container).find('.audioPlaylist').slideToggle(500, 'swing');
});
});
});
</script>
69 changes: 8 additions & 61 deletions templates/app_music/app_music.html
Original file line number Diff line number Diff line change
@@ -1,62 +1,9 @@
<!-- Thanks Rodrigo for a great player: https://github.com/rtone1/audioUI -->
[#if ACTION=""#]
<!-- Frontend -->
[#inc action_usual.html#]
[#endif#]

<link rel="stylesheet" href="/templates/app_music/stylesheets/styles.css">
<script type="text/javascript" src="/templates/app_music/javascripts/jquery-ui.min.js"></script>
<script type="text/javascript" src="/templates/app_music/javascripts/app_music.js"></script>

<div id="app_music" class="playerContainer unselectable">
<div class="app_music_loading_screen"></div>
<div class="imageDisplay">
<div class="hamIcon">
<div class="top"></div>
<div class="middle"></div>
<div class="bottom"></div>
</div>
<div class="shadow"></div>
</div>
<div class="audioPlaylist">
<div class="nowPlaying">
<h2>Сейчас играет</h2>
<p class="app_music_track_title_text"></p>
<p class="duration"><em class="app_music_track_time_text">00:00</em> / <em class="app_music_track_length_text">00:00</em></p>
<div class="arrow"></div>
<div class="listShadow"></div>
</div>
<div class="songList">
<ol class="app_music_tracklist_list">
</ol>
</div>
</div>
<div class="controlsContainer" >
<div class="topControls">
<div class="shuffle app_music_pl_random_button" title="Случайный порядок"></div>
<div class="progressMeter" >
<div class="progressBar app_music_track_progress_element"></div>
<div class="thumbScrubber app_music_track_scrubber_element"></div>
<div class="currentTime app_music_track_time_text">00:00</div>
<div class="totalTime app_music_track_length_text">00:00</div>
</div>
<div class="loop app_music_pl_loop_repeat_button" title="Режим повтора: всё, одна дорожка, без повтора"></div>
</div>
<div class="descriptionCtn">
<div class="songDescription app_music_track_title_text marquee"></div>
<div class="songDescription app_music_track_title_text marqueetwo"></div>
</div>
<div class="playPause">
<div class="prev app_music_previous_button" title="Предыдущий трек"></div>
<div class="play_pause app_music_pause_button active" title="Воспроизведение / Пауза"></div>
<div class="next app_music_next_button" title="Следующий трек"></div>
</div>
</div>
</div>

<script type="text/javascript">
var music_player = new app_music('MAIN');
$(document).ready(function () {
music_player.init_player(function() {
$(music_player.container).find('.arrow,.hamIcon').on('click', function() {
$(music_player.container).find('.audioPlaylist').slideToggle(500, 'swing');
});
});
});
</script>
[#if ACTION="admin"#]
<!-- Control Panel -->
[#inc action_admin.html#]
[#endif#]
38 changes: 19 additions & 19 deletions templates/app_music/javascripts/app_music.js
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ class app_music {
check_features(callback) {
var _this = this;
$.ajax({
url: '/popup/app_player.html?ajax=1&command=features&play_terminal='+this.terminal,
url: '/popup/app_player.html?ajax=1&command=features'+(this.terminal.length>0?'&play_terminal='+this.terminal:''),
dataType: 'json'
}).done(function(json) {
if(json.success) {
Expand Down Expand Up @@ -370,7 +370,7 @@ class app_music {
get_status(callback) {
var _this = this;
$.ajax({
url: '/popup/app_player.html?ajax=1&command=status&play_terminal='+this.terminal,
url: '/popup/app_player.html?ajax=1&command=status'+(this.terminal.length>0?'&play_terminal='+this.terminal:''),
dataType: 'json'
}).done(function(json) {
if(json.success) {
Expand All @@ -395,7 +395,7 @@ class app_music {
play(file, callback) {
var _this = this;
$.ajax({
url: '/popup/app_player.html?ajax=1&command=play&param='+encodeURIComponent(file)+'&play_terminal='+this.terminal,
url: '/popup/app_player.html?ajax=1&command=play&param='+encodeURIComponent(file)+(this.terminal.length>0?'&play_terminal='+this.terminal:''),
dataType: 'json'
}).done(function(json) {
if(json.success) {
Expand All @@ -412,7 +412,7 @@ class app_music {
pause(callback) {
var _this = this;
$.ajax({
url: '/popup/app_player.html?ajax=1&command=pause&play_terminal='+this.terminal,
url: '/popup/app_player.html?ajax=1&command=pause'+(this.terminal.length>0?'&play_terminal='+this.terminal:''),
dataType: 'json'
}).done(function(json) {
if(json.success) {
Expand All @@ -424,12 +424,12 @@ class app_music {
}
});
}

// Stop
stop(callback) {
var _this = this;
$.ajax({
url: '/popup/app_player.html?ajax=1&command=stop&play_terminal='+this.terminal,
url: '/popup/app_player.html?ajax=1&command=stop'+(this.terminal.length>0?'&play_terminal='+this.terminal:''),
dataType: 'json'
}).done(function(json) {
if(json.success) {
Expand All @@ -446,7 +446,7 @@ class app_music {
next(callback) {
var _this = this;
$.ajax({
url: '/popup/app_player.html?ajax=1&command=next&play_terminal='+this.terminal,
url: '/popup/app_player.html?ajax=1&command=next'+(this.terminal.length>0?'&play_terminal='+this.terminal:''),
dataType: 'json'
}).done(function(json) {
if(json.success) {
Expand All @@ -468,7 +468,7 @@ class app_music {
});
} else {
$.ajax({
url: '/popup/app_player.html?ajax=1&command=previous&play_terminal='+this.terminal,
url: '/popup/app_player.html?ajax=1&command=previous'+(this.terminal.length>0?'&play_terminal='+this.terminal:''),
dataType: 'json'
}).done(function(json) {
if(json.success) {
Expand All @@ -486,7 +486,7 @@ class app_music {
seek(position, callback) {
var _this = this;
$.ajax({
url: '/popup/app_player.html?ajax=1&command=seek&param='+parseInt(position, 10)+'&play_terminal='+this.terminal,
url: '/popup/app_player.html?ajax=1&command=seek&param='+parseInt(position, 10)+(this.terminal.length>0?'&play_terminal='+this.terminal:''),
dataType: 'json'
}).done(function(json) {
if(json.success) {
Expand All @@ -503,7 +503,7 @@ class app_music {
set_volume(level, callback) {
var _this = this;
$.ajax({
url: '/popup/app_player.html?ajax=1&command=set_volume&param='+parseInt(level, 10)+'&play_terminal='+this.terminal,
url: '/popup/app_player.html?ajax=1&command=set_volume&param='+parseInt(level, 10)+(this.terminal.length>0?'&play_terminal='+this.terminal:''),
dataType: 'json'
}).done(function(json) {
if(json.success) {
Expand All @@ -520,7 +520,7 @@ class app_music {
pl_get(callback) {
var _this = this;
$.ajax({
url: '/popup/app_player.html?ajax=1&command=pl_get&play_terminal='+this.terminal,
url: '/popup/app_player.html?ajax=1&command=pl_get'+(this.terminal.length>0?'&play_terminal='+this.terminal:''),
dataType: 'json'
}).done(function(json) {
if(json.success) {
Expand All @@ -545,7 +545,7 @@ class app_music {
pl_add(file, callback) {
var _this = this;
$.ajax({
url: '/popup/app_player.html?ajax=1&command=pl_add&param='+encodeURIComponent(file)+'&play_terminal='+this.terminal,
url: '/popup/app_player.html?ajax=1&command=pl_add&param='+encodeURIComponent(file)+(this.terminal.length>0?'&play_terminal='+this.terminal:''),
dataType: 'json'
}).done(function(json) {
if(json.success) {
Expand All @@ -562,7 +562,7 @@ class app_music {
pl_delete(id, callback) {
var _this = this;
$.ajax({
url: '/popup/app_player.html?ajax=1&command=pl_delete&param='+parseInt(id, 10)+'&play_terminal='+this.terminal,
url: '/popup/app_player.html?ajax=1&command=pl_delete&param='+parseInt(id, 10)+(this.terminal.length>0?'&play_terminal='+this.terminal:''),
dataType: 'json'
}).done(function(json) {
if(json.success) {
Expand All @@ -579,7 +579,7 @@ class app_music {
pl_empty(callback) {
var _this = this;
$.ajax({
url: '/popup/app_player.html?ajax=1&command=pl_empty&play_terminal='+this.terminal,
url: '/popup/app_player.html?ajax=1&command=pl_empty'+(this.terminal.length>0?'&play_terminal='+this.terminal:''),
dataType: 'json'
}).done(function(json) {
if(json.success) {
Expand All @@ -596,7 +596,7 @@ class app_music {
pl_play(id, callback) {
var _this = this;
$.ajax({
url: '/popup/app_player.html?ajax=1&command=pl_play&param='+parseInt(id, 10)+'&play_terminal='+this.terminal,
url: '/popup/app_player.html?ajax=1&command=pl_play&param='+parseInt(id, 10)+(this.terminal.length>0?'&play_terminal='+this.terminal:''),
dataType: 'json'
}).done(function(json) {
if(json.success) {
Expand All @@ -613,7 +613,7 @@ class app_music {
pl_sort(order, callback) {
var _this = this;
$.ajax({
url: '/popup/app_player.html?ajax=1&command=pl_sort&param='+encodeURIComponent(file)+'&play_terminal='+this.terminal,
url: '/popup/app_player.html?ajax=1&command=pl_sort&param='+encodeURIComponent(file)+(this.terminal.length>0?'&play_terminal='+this.terminal:''),
dataType: 'json'
}).done(function(json) {
if(json.success) {
Expand All @@ -630,7 +630,7 @@ class app_music {
pl_random(callback) {
var _this = this;
$.ajax({
url: '/popup/app_player.html?ajax=1&command=pl_random&play_terminal='+this.terminal,
url: '/popup/app_player.html?ajax=1&command=pl_random'+(this.terminal.length>0?'&play_terminal='+this.terminal:''),
dataType: 'json'
}).done(function(json) {
if(json.success) {
Expand All @@ -647,7 +647,7 @@ class app_music {
pl_loop(callback) {
var _this = this;
$.ajax({
url: '/popup/app_player.html?ajax=1&command=pl_loop&play_terminal='+this.terminal,
url: '/popup/app_player.html?ajax=1&command=pl_loop'+(this.terminal.length>0?'&play_terminal='+this.terminal:''),
dataType: 'json'
}).done(function(json) {
if(json.success) {
Expand All @@ -664,7 +664,7 @@ class app_music {
pl_repeat(callback) {
var _this = this;
$.ajax({
url: '/popup/app_player.html?ajax=1&command=pl_repeat&play_terminal='+this.terminal,
url: '/popup/app_player.html?ajax=1&command=pl_repeat'+(this.terminal.length>0?'&play_terminal='+this.terminal:''),
dataType: 'json'
}).done(function(json) {
if(json.success) {
Expand Down

0 comments on commit 03880ea

Please sign in to comment.