239 lines
10 KiB
PHTML
239 lines
10 KiB
PHTML
<?php
|
|
header("Content-type: text/html; charset=utf-8");
|
|
?>
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
|
|
<?php
|
|
if ($title)
|
|
$page_title = $title.' - '.$this->config->application->name;
|
|
else
|
|
$page_title = $this->config->application->name;
|
|
|
|
$this->tag->setTitle($page_title);
|
|
if (APP_APPLICATION_ENV != "production")
|
|
$this->tag->prependTitle('('.ucfirst(APP_APPLICATION_ENV).') ');
|
|
|
|
echo $this->tag->getTitle();
|
|
|
|
// Set up CSS includes.
|
|
$this->assets->collection('header_css')
|
|
->addCss('vendors/bower_components/animate.css/animate.min.css')
|
|
->addCss('vendors/bower_components/material-design-iconic-font/dist/css/material-design-iconic-font.min.css')
|
|
->addCss('vendors/bower_components/bootstrap-sweetalert/lib/sweet-alert.css')
|
|
->addCss('vendors/bower_components/components-font-awesome/css/font-awesome.min.css')
|
|
->addCss('vendors/bower_components/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.min.css')
|
|
->addCss('vendors/bootgrid/jquery.bootgrid.min.css')
|
|
->addCss('css/app.css');
|
|
|
|
// Establish custom CSS/JS collections in case they don't exist.
|
|
$this->assets->collection('custom_css');
|
|
$this->assets->collection('custom_js');
|
|
|
|
// Output header CSS.
|
|
$this->assets->outputCss('header_css');
|
|
$this->assets->outputCss('custom_css');
|
|
|
|
// Set up JS includes.
|
|
$this->assets->collection('header_js')
|
|
->addJs('vendors/bower_components/jquery/dist/jquery.min.js')
|
|
->addJs('vendors/bower_components/bootstrap/dist/js/bootstrap.min.js');
|
|
|
|
$this->assets->outputJs('header_js');
|
|
|
|
$this->assets->collection('footer_js')
|
|
->addJs('vendors/bower_components/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js')
|
|
->addJs('vendors/bootstrap-growl/bootstrap-growl.min.js')
|
|
->addJs('vendors/bower_components/bootstrap-sweetalert/lib/sweet-alert.min.js')
|
|
->addJs('vendors/bower_components/autosize/dist/autosize.js')
|
|
->addJs('vendors/bootgrid/jquery.bootgrid.updated.min.js')
|
|
->addJs('js/functions.js')
|
|
->addJs('js/app.js');
|
|
?>
|
|
<script>
|
|
var APP_AppEnv = '<?=(defined('APP_APPLICATION_ENV') ? APP_APPLICATION_ENV : '') ?>';
|
|
var APP_BaseUrl = '<?php echo rtrim($this->url->get(''), '/'); ?>';
|
|
var APP_ContentPath = '<?php echo $this->url->getStatic(''); ?>';
|
|
</script>
|
|
</head>
|
|
<body class="<?=$page_class ?> <? if (!empty($station)): ?>toggled sw-toggled<? endif; ?>">
|
|
<header id="header" class="clearfix" data-current-skin="blue">
|
|
<ul class="header-inner">
|
|
<? if (!empty($station)): ?>
|
|
<li id="menu-trigger" data-trigger="#sidebar">
|
|
<div class="line-wrap">
|
|
<div class="line top"></div>
|
|
<div class="line center"></div>
|
|
<div class="line bottom"></div>
|
|
</div>
|
|
</li>
|
|
<? endif; ?>
|
|
|
|
<li class="logo">
|
|
<a href="<?=$this->url->get('') ?>">
|
|
<img src="<?=$this->url->getStatic('img/logo.png') ?>" alt="<?=$this->config->application->name ?>">
|
|
</a>
|
|
</li>
|
|
|
|
<li class="pull-right">
|
|
<ul class="top-menu">
|
|
<!--
|
|
<li id="top-search">
|
|
<a href=""><i class="tm-icon zmdi zmdi-search"></i></a>
|
|
</li>
|
|
-->
|
|
|
|
<li class="dropdown" id="radio-player-controls">
|
|
<a data-toggle="dropdown" href=""><i class="tm-icon zmdi zmdi-radio"></i></a>
|
|
<ul class="dropdown-menu dm-icon pull-right">
|
|
<li>
|
|
<a href="javascript:;" class="jp-pause"><i class="zmdi zmdi-pause"></i> Pause</a>
|
|
</li>
|
|
<li>
|
|
<a href="javascript:;" class="jp-play"><i class="zmdi zmdi-play"></i> Play</a>
|
|
</li>
|
|
<li>
|
|
<a href="javascript:;" class="jp-mute"><i class="zmdi zmdi-portable-wifi-off"></i> Mute</a>
|
|
</li>
|
|
<li>
|
|
<a href="javascript:;" class="jp-unmute"><i class="zmdi zmdi-portable-wifi"></i> Unmute</a>
|
|
</li>
|
|
<li>
|
|
<div class="progress jp-volume-bar">
|
|
<div class="jp-volume-bar-value progress-bar" role="progressbar"></div>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li class="dropdown">
|
|
<a data-toggle="dropdown" href=""><i class="tm-icon zmdi zmdi-more-vert"></i></a>
|
|
<ul class="dropdown-menu dm-icon pull-right">
|
|
<li class="hidden-xs">
|
|
<a data-action="fullscreen" href=""><i class="zmdi zmdi-fullscreen"></i> Toggle Fullscreen</a>
|
|
</li>
|
|
<li class="divider"> </li>
|
|
<? if ($this->acl->isAllowed('administer all')): ?>
|
|
<li><a href="<?=$this->url->get('admin') ?>"><i class="fa fa-cog"></i> System Administration</a></li>
|
|
<? endif; ?>
|
|
<li><a href="<?=$this->url->get('profile') ?>"><i class="fa fa-user"></i> My Account</a></li>
|
|
<li class="divider"> </li>
|
|
<li><a href="<?=$this->url->get('account/logout') ?>"><i class="fa fa-sign-out"></i> Sign Out</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
<!-- Top Search Content
|
|
<div id="top-search-wrap">
|
|
<div class="tsw-inner">
|
|
<i id="top-search-close" class="zmdi zmdi-arrow-left"></i>
|
|
<input type="text">
|
|
</div>
|
|
</div> -->
|
|
</header>
|
|
|
|
<section id="main">
|
|
<? if (!empty($station)): ?>
|
|
<aside id="sidebar" class="sidebar c-overflow">
|
|
<ul class="main-menu">
|
|
<li class="menu-header">
|
|
<a href="<?=$this->url->route(['module' => 'stations', 'station' => $station->id]) ?>">
|
|
<?=$station->name ?>
|
|
</a>
|
|
</li>
|
|
|
|
<li><a href="<?=$this->url->route(['module' => 'stations', 'controller' => 'profile', 'station' => $station->id]) ?>"><i class="zmdi zmdi-image"></i> Profile</a></li>
|
|
<li><a href="<?=$this->url->route(['module' => 'stations', 'controller' => 'streamers', 'station' => $station->id]) ?>"><i class="zmdi zmdi-account"></i> Streamer/DJ Accounts</a></li>
|
|
|
|
<li class="sub-menu">
|
|
<a href=""><i class="zmdi zmdi-collection-music"></i> Media</a>
|
|
|
|
<ul>
|
|
<li><a href="<?=$this->url->route(['module' => 'stations', 'controller' => 'files', 'station' => $station->id]) ?>">Music Files</a></li>
|
|
<li><a href="<?=$this->url->route(['module' => 'stations', 'controller' => 'playlists', 'station' => $station->id]) ?>">Playlists</a></li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li class="sub-menu">
|
|
<a href=""><i class="zmdi zmdi-assignment"></i> Reports</a>
|
|
|
|
<ul>
|
|
<li><a href="<?=$this->url->route(['module' => 'stations', 'controller' => 'index', 'action' => 'timeline', 'station' => $station->id]) ?>">Song Playback Timeline</a></li>
|
|
|
|
<li><a href="<?=$this->url->route(['module' => 'stations', 'controller' => 'reports', 'action' => 'performance', 'station' => $station->id]) ?>">Media Playback Performance</a></li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li class="sub-menu">
|
|
<a href=""><i class="zmdi zmdi-settings"></i> Utilities</a>
|
|
|
|
<ul>
|
|
<li><a href="<?=$this->url->route(['module' => 'stations', 'controller' => 'automation', 'station' => $station->id]) ?>">Automated Assignment</a></li>
|
|
|
|
<li><a href="<?=$this->url->route(['module' => 'stations', 'controller' => 'util', 'action' => 'write', 'station' => $station->id]) ?>">Rebuild Backend Configuration</a></li>
|
|
<li><a href="<?=$this->url->route(['module' => 'stations', 'controller' => 'util', 'action' => 'restart', 'station' => $station->id]) ?>">Restart Broadcasting</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</aside>
|
|
<? endif; ?>
|
|
|
|
<section id="content">
|
|
<div class="container">
|
|
<? if ($manual): ?>
|
|
<?php echo $this->getContent(); ?>
|
|
<? else: ?>
|
|
<div class="block-header">
|
|
<h2><?=$title ?></h2>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<div class="card-body card-padding">
|
|
<?php echo $this->getContent(); ?>
|
|
</div>
|
|
</div>
|
|
<? endif; ?>
|
|
</div>
|
|
</section>
|
|
</section>
|
|
|
|
<footer id="footer">
|
|
Powered by <a href="https://github.com/SlvrEagle23/AzuraCast" target="_blank"><?=$this->config->application->name ?></a> <?=\App\Version::getVersionText() ?>.<br>
|
|
PHP <?=\PHP_VERSION ?>, Phalcon <?=phpversion('phalcon') ?>.
|
|
</footer>
|
|
|
|
<!-- Page Loader -->
|
|
<div class="page-loader">
|
|
<div class="preloader pls-blue">
|
|
<svg class="pl-circular" viewBox="25 25 50 50">
|
|
<circle class="plc-path" cx="50" cy="50" r="20"></circle>
|
|
</svg>
|
|
|
|
<p>Please wait...</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="radio-player"></div>
|
|
|
|
<?
|
|
$this->assets->outputJs('custom_js');
|
|
$this->assets->outputJs('footer_js');
|
|
?>
|
|
|
|
<? if ($this->flash->hasMessages()): ?>
|
|
<script type="text/javascript">
|
|
$(function() {
|
|
<? foreach($this->flash->getMessages() as $message): ?>
|
|
notify("<?=str_replace(array('"', "\n"), array('\'', '<br>'), $message['text']) ?>", '<?=$message['color'] ?>');
|
|
<? endforeach; ?>
|
|
});
|
|
</script>
|
|
<? endif; ?>
|
|
</body>
|
|
</html>
|