Merge branch 'master' of dev.sourcefabric.org:airtime

This commit is contained in:
martin 2011-02-01 15:31:38 -05:00
commit be79b21c37
15 changed files with 326 additions and 229 deletions

View File

@ -35,7 +35,6 @@
<actionMethod actionName="delete"/>
<actionMethod actionName="contents"/>
<actionMethod actionName="editFileMd"/>
<actionMethod actionName="quickSearch"/>
</controllerFile>
<controllerFile controllerName="Plupload">
<actionMethod actionName="index"/>
@ -237,9 +236,6 @@
<viewControllerScriptsDirectory forControllerName="Library">
<viewScriptFile forActionName="editFileMd"/>
</viewControllerScriptsDirectory>
<viewControllerScriptsDirectory forControllerName="Library">
<viewScriptFile forActionName="quickSearch"/>
</viewControllerScriptsDirectory>
<viewControllerScriptsDirectory forControllerName="Search">
<viewScriptFile forActionName="newgroup"/>
</viewControllerScriptsDirectory>

View File

@ -46,6 +46,9 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
$view = $this->getResource('view');
$view->headLink()->appendStylesheet('/css/redmond/jquery-ui-1.8.8.custom.css');
$this->view->headLink()->appendStylesheet('/css/pro_dropdown_3.css');
$this->view->headLink()->appendStylesheet('/css/styles.css');
}
protected function _initHeadScript()
@ -56,6 +59,10 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
$view->headScript()->appendFile('/js/libs/stuHover.js','text/javascript');
$view->headScript()->appendFile('/js/libs/jquery.stickyPanel.js','text/javascript');
//scripts for now playing bar
$this->view->headScript()->appendFile('/js/playlist/helperfunctions.js','text/javascript');
$this->view->headScript()->appendFile('/js/playlist/playlist.js','text/javascript');
$view->headScript()->appendFile('/js/airtime/common/common.js','text/javascript');
//TODO: Find better place to put this in.

View File

@ -5,8 +5,6 @@ class LibraryController extends Zend_Controller_Action
protected $pl_sess = null;
protected $search_sess = null;
public function init()
{
if(!Zend_Auth::getInstance()->hasIdentity())
@ -17,11 +15,8 @@ class LibraryController extends Zend_Controller_Action
$ajaxContext = $this->_helper->getHelper('AjaxContext');
$ajaxContext->addActionContext('contents', 'html')
->addActionContext('contents', 'json')
->addActionContext('plupload', 'html')
->addActionContext('upload', 'json')
->addActionContext('delete', 'json')
->addActionContext('context-menu', 'json')
->addActionContext('quick-search', 'json')
->initContext();
$this->pl_sess = new Zend_Session_Namespace(UI_PLAYLIST_SESSNAME);
@ -32,13 +27,9 @@ class LibraryController extends Zend_Controller_Action
{
$this->view->headScript()->appendFile('/js/airtime/onready/library.js','text/javascript');
$this->view->headScript()->appendFile('/js/contextmenu/jjmenu.js','text/javascript');
$this->view->headScript()->appendFile('/js/playlist/helperfunctions.js','text/javascript');
$this->view->headScript()->appendFile('/js/playlist/playlist.js','text/javascript');
$this->view->headScript()->appendFile('/js/jplayer/jquery.jplayer.min.js');
$this->view->headLink()->appendStylesheet('/css/contextmenu.css');
$this->view->headLink()->appendStylesheet('/css/pro_dropdown_3.css');
$this->view->headLink()->appendStylesheet('/css/styles.css');
$this->_helper->layout->setLayout('library');
@ -47,7 +38,6 @@ class LibraryController extends Zend_Controller_Action
$this->_helper->actionStack('index', 'playlist');
$this->_helper->actionStack('contents', 'library');
//$this->_helper->actionStack('quick-search', 'library');
}
public function contextMenuAction()
@ -169,53 +159,6 @@ class LibraryController extends Zend_Controller_Action
$this->view->form = $form;
}
public function quickSearchAction()
{
$this->view->headScript()->appendFile('/js/airtime/library/quicksearch.js','text/javascript');
$this->_helper->viewRenderer->setResponseSegment('quick_search');
$this->view->qs_value = $this->search_sess->quick_string;
$format = $this->_getParam('format', 'layout');
if($format !== 'json')
return;
$search = $this->_getParam('search', null);
$this->search_sess->quick_string = $search;
$categories = array("dc:title", "dc:creator", "dc:source");
$keywords = explode(" ", $search);
$md = array();
for($group_id=1; $group_id <= count($keywords); $group_id++) {
for($row_id=1; $row_id <= count($categories); $row_id++) {
$md["group_".$group_id]["row_".$row_id]["metadata"] = $categories[$row_id-1];
$md["group_".$group_id]["row_".$row_id]["match"] = "0";
$md["group_".$group_id]["row_".$row_id]["search"] = $keywords[$group_id-1];
}
}
$this->search_sess->quick = $md;
$currpage = isset($this->search_sess->page) ? $this->search_sess->page : null;
$order = isset($this->search_sess->order) ? $this->search_sess->order : null;
$count = StoredFile::searchFiles($md, $order, true, null, null, true);
$paginator = new Zend_Paginator(new Zend_Paginator_Adapter_Null($count));
$paginator->setCurrentPageNumber($currpage);
$this->view->paginator = $paginator;
$this->view->files = StoredFile::searchFiles($md, $order, false, $paginator->getCurrentPageNumber(), $paginator->getItemCountPerPage(), true);
$this->view->html = $this->view->render('library/contents.phtml');
unset($this->view->files);
unset($this->view->paginator);
}
}

View File

@ -10,8 +10,6 @@ class LoginController extends Zend_Controller_Action
public function indexAction()
{
$this->view->headLink()->appendStylesheet('/css/redmond/jquery-ui-1.8.8.custom.css');
$this->view->headLink()->appendStylesheet('/css/styles.css');
if(Zend_Auth::getInstance()->hasIdentity())
{
$this->_redirect('Nowplaying');

View File

@ -6,18 +6,14 @@ class NowplayingController extends Zend_Controller_Action
public function init()
{
$ajaxContext = $this->_helper->getHelper('AjaxContext');
$ajaxContext->addActionContext('get-data-grid-data', 'json')->initContext();
$ajaxContext->addActionContext('get-data-grid-data', 'json')
->initContext();
}
public function indexAction()
{
$this->view->headScript()->appendFile('/js/datatables/js/jquery.dataTables.min.js','text/javascript');
$this->view->headScript()->appendFile('/js/playlist/nowplayingdatagrid.js','text/javascript');
$this->view->headScript()->appendFile('/js/playlist/helperfunctions.js','text/javascript');
$this->view->headScript()->appendFile('/js/playlist/playlist.js','text/javascript');
$this->view->headLink()->appendStylesheet('/css/pro_dropdown_3.css');
$this->view->headLink()->appendStylesheet('/css/styles.css');
}
public function getDataGridDataAction()

View File

@ -146,8 +146,6 @@ class PlaylistController extends Zend_Controller_Action
public function editAction()
{
$this->view->headScript()->appendFile('/js/airtime/playlist/playlist.js','text/javascript');
$pl_id = $this->_getParam('id', null);
if(!is_null($pl_id)) {

View File

@ -164,12 +164,9 @@ class PluploadController extends Zend_Controller_Action
$this->view->headScript()->appendFile('/js/plupload/plupload.full.min.js','text/javascript');
$this->view->headScript()->appendFile('/js/plupload/jquery.plupload.queue.min.js','text/javascript');
$this->view->headScript()->appendFile('/js/airtime/library/plupload.js','text/javascript');
$this->view->headScript()->appendFile('/js/playlist/helperfunctions.js','text/javascript');
$this->view->headScript()->appendFile('/js/playlist/playlist.js','text/javascript');
$this->view->headLink()->appendStylesheet('/css/plupload.queue.css');
$this->view->headLink()->appendStylesheet('/css/pro_dropdown_3.css');
$this->view->headLink()->appendStylesheet('/css/styles.css');
}

View File

@ -37,14 +37,9 @@ class ScheduleController extends Zend_Controller_Action
$this->view->headScript()->appendFile('/js/datatables/js/jquery.dataTables.js','text/javascript');
$this->view->headScript()->appendFile('/js/airtime/schedule/full-calendar-functions.js','text/javascript');
$this->view->headScript()->appendFile('/js/airtime/schedule/schedule.js','text/javascript');
$this->view->headScript()->appendFile('/js/playlist/helperfunctions.js','text/javascript');
$this->view->headScript()->appendFile('/js/playlist/playlist.js','text/javascript');
$this->view->headLink()->appendStylesheet('/css/jquery.contextMenu.css');
$this->view->headLink()->appendStylesheet('/css/fullcalendar.css');
$this->view->headLink()->appendStylesheet('/css/schedule.css');
$this->view->headLink()->appendStylesheet('/css/pro_dropdown_3.css');
$this->view->headLink()->appendStylesheet('/css/styles.css');
$eventDefaultMenu = array();
//$eventDefaultMenu[] = array('action' => '/Schedule/delete-show', 'text' => 'Delete');
@ -82,15 +77,11 @@ class ScheduleController extends Zend_Controller_Action
$this->view->headScript()->appendFile('/js/colorpicker/js/colorpicker.js','text/javascript');
$this->view->headScript()->appendFile('/js/airtime/schedule/full-calendar-functions.js','text/javascript');
$this->view->headScript()->appendFile('/js/airtime/schedule/add-show.js','text/javascript');
$this->view->headScript()->appendFile('/js/playlist/helperfunctions.js','text/javascript');
$this->view->headScript()->appendFile('/js/playlist/playlist.js','text/javascript');
$this->view->headLink()->appendStylesheet('/css/jquery-ui-timepicker.css');
$this->view->headLink()->appendStylesheet('/css/fullcalendar.css');
$this->view->headLink()->appendStylesheet('/css/colorpicker/css/colorpicker.css');
$this->view->headLink()->appendStylesheet('/css/add-show.css');
$this->view->headLink()->appendStylesheet('/css/pro_dropdown_3.css');
$this->view->headLink()->appendStylesheet('/css/styles.css');
$request = $this->getRequest();
$formWhat = new Application_Form_AddShowWhat();
@ -301,6 +292,7 @@ class ScheduleController extends Zend_Controller_Action
$this->view->showContent = $show->getShowContent($start_timestamp);
$this->view->timeFilled = $show->getTimeScheduled($start_timestamp, $end_timestamp);
$this->view->showName = $show->getName();
$this->view->showLength = $show->getShowLength($start_timestamp, $end_timestamp);
$this->view->percentFilled = Schedule::getPercentScheduledInRange($start_timestamp, $end_timestamp);

View File

@ -16,14 +16,7 @@ class UserController extends Zend_Controller_Action
}
public function addUserAction()
{
$this->view->headScript()->appendFile('/js/playlist/helperfunctions.js','text/javascript');
$this->view->headScript()->appendFile('/js/playlist/playlist.js','text/javascript');
$this->view->headLink()->appendStylesheet('/css/pro_dropdown_3.css');
$this->view->headLink()->appendStylesheet('/css/styles.css');
{
$request = $this->getRequest();
$form = new Application_Form_AddUser();

View File

@ -11,6 +11,18 @@ class Show {
$this->_showId = $showId;
}
public function getName() {
$show = CcShowQuery::create()->findPK($this->_showId);
return $show->getDbName();
}
public function setName($name) {
$show = CcShowQuery::create()->findPK($this->_showId);
$show->setDbName($name);
}
//end dates are non inclusive.
public function addShow($data) {

View File

@ -1,4 +1,5 @@
<div id="schedule_playlist_dialog">
<h2 id="scheduled_playlist_name"><?php echo $this->showName; ?>, <span><?php echo $this->showLength; ?></span></h2>
<div>
<table id="schedule_playlists" cellpadding="0" cellspacing="0" class="datatable">
<thead>

View File

@ -298,7 +298,7 @@ table.fc-header {
.fc-event-time,
.fc-event-title {
padding: 0 1px;
padding: 0 3px;
}
/* for fake rounded corners */

View File

@ -150,13 +150,14 @@
#spl_sortable a.big_play .ui-icon-play {
margin: 17px 0 0 1px;
}
#spl_sortable a.big_play .ui-icon-pause {
margin: 17px 0 0 1px;
}
#spl_sortable a.big_play:hover .ui-icon-play {
background-image:url(redmond/images/ui-icons_ff5d1a_256x240.png);
margin: 17px 0 0 1px;
}
#spl_sortable a.big_play:hover .ui-icon-play, #spl_sortable a.big_play:hover .ui-icon-pause {
background-image:url(redmond/images/ui-icons_ff5d1a_256x240.png);
}
#spl_sortable .ui-icon-closethick {
position:absolute;
top:3px;
@ -186,6 +187,7 @@
overflow: hidden;
padding: 0 30px 0 10px;
text-indent: 2px;
margin:-1px 0 0 0;
float:none;
}
#spl_sortable .top {
@ -235,4 +237,4 @@
#spl_sortable li .spl_fade_end.ui-state-active {
background: transparent url(images/fade_out.png) no-repeat 0 -30px;
border:none;
}
}

View File

@ -1,129 +0,0 @@
body {
overflow: hidden;
}
#schedule_calendar {
}
div.ui-datepicker {
font-size: 75%;
}
#schedule_playlist_dialog > div {
float: left;
width: 510px;
padding: 5px;
}
#schedule_playlist_dialog ul {
list-style-type: none;
overflow: auto;
margin: 0;
padding: 10px 5px;
height: 275px;
}
#schedule_playlist_chosen li {
float: left;
clear: left;
margin: 0;
width: 95%;
}
#schedule_playlist_chosen li > h3 {
float: left;
padding: 0;
margin: 0;
width: 475px;
}
#schedule_playlist_chosen li > h3 > div {
float: left;
margin: 0 5px 2px 0;
}
#schedule_playlist_chosen li > h3 > div > span.ui-icon {
margin-top: 4px;
}
#schedule_playlist_chosen li div{
float: left;
}
#schedule_playlist_chosen li > div{
width: 475px;
}
#schedule_playlist_chosen li > div > div > span{
float: left;
}
#schedule_playlist_chosen li > div > div{
clear: left;
padding-top: 5px;
padding-left: 5px;
}
.sched_description {
clear: left;
font-size: 85%;
margin-left: 2em;
}
.sh_pl_name {
width: 150px;
}
.sh_pl_creator {
width: 125px;
}
.sh_pl_time {
width: 125px;
}
.sh_file_name {
display: inline-block;
width: 325px;
}
.sh_file_artist {
font-size: 90%;
padding-bottom: 5px;
}
#show_time_info > div, #show_time_info > span{
float: left;
}
#show_progressbar {
width: 150px;
height: 5px;
margin-top: 12px;
}
.time {
width: 150px;
margin: 5px;
text-align: center;
}
/* Add show Dialog----------------------------------------------------------------------------------------------------
*
*
*
*/
#add_show_name {
}
#add_show_description {
width: 400px;
height: 200px;
}
#fullcalendar_show_display {
width: 400px;
}

View File

@ -34,6 +34,9 @@ h3 {
padding:0 0 10px 0;
margin:0;
}
a, a:focus {
outline:none;
}
label {
font-size:12px;
}
@ -79,7 +82,7 @@ select {
position:relative;
}
.now-playing-block, .show-block, .on-air-block, .time-info-block, .personal-block {
.now-playing-block, .show-block, .on-air-block, .time-info-block, .personal-block, .listen-control-block {
height:100px;
float:left;
margin-right:10px;
@ -234,6 +237,50 @@ select {
background:#575050 url(images/on-off-air.png) repeat-x 0 -36px;
color:#a5a5a5;
}
.listen-control-block a {
font-size:11px;
text-transform:uppercase;
padding:0;
border:1px solid #242424;
color:#fff;
text-decoration:none;
font-weight:bold;
margin-top:34px;
display:block;
}
.listen-control-block a span {
background-color: #6e6e6e;
background: -moz-linear-gradient(top, #868686 0, #6e6e6e 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #868686), color-stop(100%, #6e6e6e));
padding:5px 10px;
border:1px solid #a1a1a1;
border-width:1px 0;
border-bottom-color:#646464;
color:#dcdcdc;
text-shadow: #555555 0px -1px;
display:block;
}
.listen-control-block a:hover {
border:1px solid #000;
}
.listen-control-block a:hover span {
background-color: #292929;
background: -moz-linear-gradient(top, #3b3b3b 0, #292929 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #3b3b3b), color-stop(100%, #292929));
border:1px solid #555555;
border-width:1px 0;
border-bottom-color:#1e1e1e;
color:#fff;
color:#0C0;
text-shadow: #000 0px -1px;
display:block;
}
.listen-control-block a:active span {
color:#fff;
}
/* END Master Panel */
@ -656,4 +703,248 @@ dt.block-display, dd.block-display {
margin-top:0;
width:99.99%;
z-index:9999;
}
}
/*---//////////////////// Schedule Show ////////////////////---*/
#schedule_playlist_dialog > div {
float: left;
width: 50%;
padding: 0;
}
#schedule_playlist_dialog > div:first-child {
margin-right:2%;
width: 48%;
}
#schedule_playlist_dialog div:first-child .ui-widget-header:first-child {
background: none repeat scroll 0 0 transparent;
border-width: 0 0 1px;
color: #444444;
font-weight: bold;
}
#schedule_playlist_dialog div:first-child .ui-widget-header:first-child {
background: none repeat scroll 0 0 transparent;
border-width: 0 0 1px;
color: #444444;
font-weight: bold;
}
#schedule_playlist_dialog .ui-widget-header:first-child .dataTables_filter,
#schedule_playlist_dialog .ui-widget-header:first-child .dataTables_length {
margin: 0;
}
.ui-dialog #schedule_playlist_dialog.ui-dialog-content {
background: none repeat scroll 0 0 transparent;
border: 1px solid #8f8f8f;
overflow: auto;
padding: 8px;
margin:8px;
}
#schedule_playlist_dialog > div h4 {
padding: 13px 0 12px 0;
margin: 0;
font-size:16px;
font-weight:normal;
}
#schedule_calendar {
width:98%
}
div.ui-datepicker {
font-size: 75%;
}
#schedule_playlist_dialog ul {
list-style-type: none;
overflow: auto;
margin: 0 0 8px 0;
padding: 0;
height: 280px;
background:#9a9a9a;
width:100%;
}
#schedule_playlist_chosen li {
float: left;
clear: left;
margin: 0;
width: 100%;
display:block;
margin-bottom:-1px;
}
#schedule_playlist_chosen li > h3 {
font-size:15px;
padding: 7px 0 0 0;
margin: 0;
min-height:25px;
}
#schedule_playlist_chosen li > h3 > div {
float: left;
margin: 0 5px 2px 0;
}
#schedule_playlist_chosen li > h3 > div > span.ui-icon {
margin-top: 0px;
}
#schedule_playlist_chosen li > h3 > span.ui-icon.ui-icon-triangle-1-e {
float:left;
margin-right: 8px;
}
#schedule_playlist_chosen li > h3 > span.ui-icon.ui-icon-close {
float:right;
margin-right: 8px;
}
#schedule_playlist_chosen div.group_list {
border-width:0 1px 1px 1px;
}
/*#schedule_playlist_chosen li div{
float: left;
}
#schedule_playlist_chosen li > div{
width: 475px;
}
*/
#schedule_playlist_chosen li > div > div{
clear: left;
padding-top: 5px;
padding-left: 5px;
}
#schedule_playlist_chosen li > div:first-child {
border-bottom:1px solid #b1b1b1;
}
.sched_description {
clear: left;
font-size: 85%;
margin-left: 2em;
}
.sh_pl_name {
min-width: 150px;
}
.sh_pl_creator {
}
#schedule_playlist_chosen li > h3 > div.sh_pl_time {
float:right;
margin-right:22px;
}
#schedule_playlist_chosen li > div > div > span {
float: right;
margin-right:46px;
}
#schedule_playlist_chosen li > div > div > span.sh_file_name {
display: inline-block;
float: left;
margin-right:0;
}
.sh_file_artist, #schedule_playlist_chosen li > div > div.sh_file_artist {
font-size: 11px;
padding-top: 2px;
padding-bottom: 8px;
color:#5b5b5b;
}
#schedule_playlist_chosen li > div > div.sched_description {
font-size: 12px;
padding-top: 5px;
padding-bottom: 7px;
border-bottom:1px solid #b1b1b1;
color:#5b5b5b;
margin:0;
background:#dddddd;
}
#show_time_info {
font-size:12px;
}
#show_time_info > div, #show_time_info > span{
float: left;
}
#show_progressbar {
width: 46%;
height: 5px;
margin: 9px 9px 0 0;
}
#show_progressbar.ui-widget-content {
background: #646464 url(images/schedule-show_progressbar_bg.png) repeat-x 0 0;
border-color:#343434;
border-bottom-color:#cfcfcf;
}
#show_progressbar .ui-progressbar-value {
background: #ff5d1a;
border-color:#343434;
border-width: 1px 0 0 1px;
}
h2#scheduled_playlist_name {
font-size:21px;
font-weight:normal;
margin:0;
padding:16px 0 0px 12px;
color:#1c1c1c;
}
h2#scheduled_playlist_name span {
color:#656565;
}
.time {
width: 80px;
margin: 5px;
text-align: left;
}
/* --- Add show Dialog --- */
#add_show_name {
}
#add_show_description {
width: 400px;
height: 200px;
}
#fullcalendar_show_display {
width: 400px;
}
.fc-agenda-body {
max-height:560px;
}
#schedule_calendar .ui-progressbar {
width: 46%;
height: 5px;
margin: 9px 9px 0 0;
}
#schedule_calendar .ui-progressbar.ui-widget-content {
background: #646464 url(images/schedule-show_progressbar_bg.png) repeat-x 0 0;
border-color:#343434;
border-bottom-color:#cfcfcf;
}
#schedule_calendar .ui-progressbar .ui-progressbar-value {
background: #ff5d1a;
border-color:#343434;
border-width: 1px 0 0 1px;
}
/*---//////////////////// Advenced Search ////////////////////---*/