AzuraCast/app/templates/main.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">&nbsp;</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">&nbsp;</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>