Merge branch 'devel' of dev.sourcefabric.org:airtime into devel

This commit is contained in:
Martin Konecny 2012-09-17 10:57:19 -04:00
commit 7fed5bcd18
14 changed files with 246 additions and 218 deletions

View File

@ -138,15 +138,16 @@ class ShowbuilderController extends Zend_Controller_Action
$disableLib = true;
}
$this->view->disableLib = $disableLib;
$this->view->showLib = $showLib;
$this->view->showLib = $showLib;
//populate date range form for show builder.
$now = time();
$now = time();
$from = $request->getParam("from", $now);
$to = $request->getParam("to", $now + (24*60*60));
$to = $request->getParam("to", $now + (24*60*60));
$start = DateTime::createFromFormat("U", $from, new DateTimeZone("UTC"));
$start->setTimezone(new DateTimeZone(date_default_timezone_get()));
$end = DateTime::createFromFormat("U", $to, new DateTimeZone("UTC"));
$end->setTimezone(new DateTimeZone(date_default_timezone_get()));
@ -154,8 +155,8 @@ class ShowbuilderController extends Zend_Controller_Action
$form->populate(array(
'sb_date_start' => $start->format("Y-m-d"),
'sb_time_start' => $start->format("H:i"),
'sb_date_end' => $end->format("Y-m-d"),
'sb_time_end' => $end->format("H:i")
'sb_date_end' => $end->format("Y-m-d"),
'sb_time_end' => $end->format("H:i")
));
$this->view->sb_form = $form;
@ -310,13 +311,9 @@ class ShowbuilderController extends Zend_Controller_Action
} catch (OutDatedScheduleException $e) {
$this->view->error = $e->getMessage();
Logging::info($e->getMessage());
Logging::info("{$e->getFile()}");
Logging::info("{$e->getLine()}");
} catch (Exception $e) {
$this->view->error = $e->getMessage();
Logging::info($e->getMessage());
Logging::info("{$e->getFile()}");
Logging::info("{$e->getLine()}");
}
}
@ -332,13 +329,9 @@ class ShowbuilderController extends Zend_Controller_Action
} catch (OutDatedScheduleException $e) {
$this->view->error = $e->getMessage();
Logging::info($e->getMessage());
Logging::info("{$e->getFile()}");
Logging::info("{$e->getLine()}");
} catch (Exception $e) {
$this->view->error = $e->getMessage();
Logging::info($e->getMessage());
Logging::info("{$e->getFile()}");
Logging::info("{$e->getLine()}");
}
}

View File

@ -19,7 +19,6 @@ class WebstreamController extends Zend_Controller_Action
if (!$this->isAuthorized(-1)) {
// TODO: this header call does not actually print any error message
header("Status: 401 Not Authorized");
Logging::info("Ain't not Authorized");
return;
}
@ -112,8 +111,6 @@ class WebstreamController extends Zend_Controller_Action
host/dj, that he has the correct permission.*/
$user = Application_Model_User::getCurrentUser();
//only allow when webstream belongs to the DJ
Logging::info("Webstream id:".$webstream->getDbCreatorId());
Logging::info("User id:".$user->getId());
return $webstream->getDbCreatorId() == $user->getId();
}
/*we are creating a new stream. Don't need to check whether the
@ -122,7 +119,6 @@ class WebstreamController extends Zend_Controller_Action
} else {
Logging::info( $user );
}
Logging::info("what the fuck");
return false;
}
@ -133,15 +129,12 @@ class WebstreamController extends Zend_Controller_Action
$id = $request->getParam("id");
$parameters = array();
$parameters['id'] = trim($request->getParam("id"));
$parameters['length'] = trim($request->getParam("length"));
$parameters['name'] = trim($request->getParam("name"));
$parameters['description'] = trim($request->getParam("description"));
$parameters['url'] = trim($request->getParam("url"));
foreach (array('id','length','name','description','url') as $p) {
$parameters[$p] = trim($request->getParam($p));
}
if (!$this->isAuthorized($id)) {
header("Status: 401 Not Authorized");
return;
}

View File

@ -335,11 +335,14 @@ class Application_Model_User
public static function getUserData($id)
{
$sql = "SELECT login, first_name, last_name, type, id, email, cell_phone, skype_contact, jabber_contact"
." FROM cc_subjs"
." WHERE id = :id";
return Application_Common_Database::prepareAndExecute($sql, array(":id" => $id), 'single');
$sql = <<<SQL
SELECT login, first_name, last_name, type, id, email, cell_phone, skype_contact,
jabber_contact
FROM cc_subjs
WHERE id = :id
SQL;
return Application_Common_Database::prepareAndExecute($sql, array(
":id" => $id), 'single');
}
public static function getCurrentUser()

View File

@ -1,6 +1,7 @@
<form id="smart-block-form" method="post" action="">
<fieldset class='toggle <?php echo $this->openOption ? "" : "closed"?>' id='smart_block_options'>
<fieldset class='toggle <?php echo $this->openOption ? "" : "closed"?> sb-criteria-fieldset' id='smart_block_options'>
<legend style='cursor: pointer;'><span class='ui-icon ui-icon-triangle-2-n-s'></span>Smart Block Options</legend>
<dl class='zend_form search-criteria'>
<div class='btn-toolbar clearfix'>
<div class='btn-group pull-right'>
@ -100,8 +101,8 @@
?>
</div>
<?php } ?>
</dl>
</fieldset>
</form>

View File

@ -1,7 +1,7 @@
<?php
$s_name = "s".$this->stream_number;
?>
<h3 class="collapsible-header <?php echo $this->stream_number == '1'?"close":""?>"><span class="arrow-icon"></span>Stream <?php echo $this->stream_number?></h3>
<h3 class="collapsible-header <?php echo $this->stream_number == '1'?"closed":""?>"><span class="arrow-icon"></span>Stream <?php echo $this->stream_number?></h3>
<div class="stream-setting-content" <?php echo $this->enabled == 0?'style="display: none;':''?> id="<?php echo $s_name?>-config">
<fieldset class="padded">
<dl class="zend_form clearfix">

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -1,149 +1,154 @@
/*
* jQuery contextMenu - Plugin for simple contextMenu handling
*
* Version: 1.5.2
*
* Authors: Rodney Rehm, Addy Osmani (patches for FF)
* Web: http://medialize.github.com/jQuery-contextMenu/
*
* Licensed under
* MIT License http://www.opensource.org/licenses/mit-license
* GPL v3 http://opensource.org/licenses/GPL-3.0
*
*/
.context-menu-list {
margin:0;
padding:0;
min-width: 120px;
max-width: 250px;
display: inline-block;
position: absolute;
list-style-type: none;
border: 1px solid #333333;
background: #f0f0f0;
-webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
-moz-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
-ms-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
-o-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
}
.context-menu-item {
padding: 2px 5px;
background-color: #f0f0f0;
position: relative;
min-height: 18px;
-moz-user-select: -moz-none;
}
.context-menu-item.icon {
padding: 2px 2px 2px 28px;
}
.context-menu-separator {
padding-bottom:0;
border-bottom: 1px solid #DDD;
min-height: 2px;
}
.context-menu-item > label {
-moz-user-select: text;
}
.context-menu-item.hover {
cursor: pointer;
background-color: #ff5d1a;
}
.context-menu-item.disabled {
color: #666;
}
.context-menu-input.hover,
.context-menu-item.disabled.hover {
cursor: default;
background-color: #EEE;
}
.context-menu-submenu:after {
content: ">";
color: #666;
position: absolute;
top: 0;
right: 3px;
z-index: 1;
}
/* icons
#protip:
In case you want to use sprites for icons (which I would suggest you do) have a look at
http://css-tricks.com/13224-pseudo-spriting/ to get an idea of how to implement
.context-menu-item.icon:before {}
*/
.context-menu-item.icon { min-height: 18px; background-repeat: no-repeat; background-position: 4px 2px; }
.context-menu-item.icon-edit { background-image: url(images/icon_edit_cm.png); }
.context-menu-item.icon-cut { background-image: url(images/icon_cut_cm.png); }
.context-menu-item.icon-copy { background-image: url(images/icon_copy_cm.png); }
.context-menu-item.icon-paste { background-image: url(images/icon_paste_cm.png); }
.context-menu-item.icon-delete { background-image: url(images/icon_delete_cm.png); }
.context-menu-item.icon-quit { background-image: url(images/icon_door_cm.png); }
.context-menu-item.icon-soundcloud { background-image: url(images/icon_soundcloud_cm.png); }
.context-menu-item.icon-download { background-image: url(images/icon_download_cm.png); }
.context-menu-item.icon-overview { background-image: url(images/icon_overview_cm.png); }
.context-menu-item.icon-play { background-image: url(images/icon_play_cm.png); }
.context-menu-item.icon-select-cursor { background-image: url(images/icon_select-cursor_cm.png); }
.context-menu-item.icon-add-playlist { background-image: url(images/icon_add_playlist_cm.png); }
.context-menu-item.icon-add-remove-content { background-image: url(images/icon_add_content_cm.png); }
.context-menu-item.icon-remove-all-content { background-image: url(images/icon_remove_all_content_cm.png); }
/* vertically align inside labels */
.context-menu-input > label > * { vertical-align: top; }
/* position checkboxes and radios as icons */
.context-menu-input > label > input[type="checkbox"],
.context-menu-input > label > input[type="radio"] {
margin-left: -17px;
}
.context-menu-input > label > span {
margin-left: 5px;
}
.context-menu-input > label,
.context-menu-input > label > input[type="text"],
.context-menu-input > label > textarea,
.context-menu-input > label > select {
display: block;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
-o-box-sizing: border-box;
box-sizing: border-box;
}
.context-menu-input > label > textarea {
height: 100px;
}
.context-menu-item > .context-menu-list {
display: none;
/* re-positioned by js */
right: -5px;
top: 5px;
}
.context-menu-item.hover > .context-menu-list {
display: block;
}
.context-menu-accesskey {
text-decoration: underline;
}
/*
* jQuery contextMenu - Plugin for simple contextMenu handling
*
* Version: 1.5.2
*
* Authors: Rodney Rehm, Addy Osmani (patches for FF)
* Web: http://medialize.github.com/jQuery-contextMenu/
*
* Licensed under
* MIT License http://www.opensource.org/licenses/mit-license
* GPL v3 http://opensource.org/licenses/GPL-3.0
*
*/
.context-menu-list {
margin:0;
padding:0;
min-width: 120px;
max-width: 250px;
display: inline-block;
position: absolute;
list-style-type: none;
border: 1px solid #333333;
background: #f0f0f0;
-webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
-moz-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
-ms-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
-o-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
}
.context-menu-item {
padding: 2px 5px;
background-color: #f0f0f0;
position: relative;
min-height: 18px;
-moz-user-select: -moz-none;
display: block;
width: 100%;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.context-menu-item.icon {
padding: 2px 2px 2px 28px;
}
.context-menu-separator {
padding-bottom:0;
border-bottom: 1px solid #DDD;
min-height: 2px;
}
.context-menu-item > label {
-moz-user-select: text;
}
.context-menu-item.hover {
cursor: pointer;
background-color: #ff5d1a;
}
.context-menu-item.disabled {
color: #666;
}
.context-menu-input.hover,
.context-menu-item.disabled.hover {
cursor: default;
background-color: #EEE;
}
.context-menu-submenu:after {
content: ">";
color: #666;
position: absolute;
top: 0;
right: 3px;
z-index: 1;
}
/* icons
#protip:
In case you want to use sprites for icons (which I would suggest you do) have a look at
http://css-tricks.com/13224-pseudo-spriting/ to get an idea of how to implement
.context-menu-item.icon:before {}
*/
.context-menu-item.icon { min-height: 18px; background-repeat: no-repeat; background-position: 4px 2px; }
.context-menu-item.icon-edit { background-image: url(images/icon_edit_cm.png); }
.context-menu-item.icon-cut { background-image: url(images/icon_cut_cm.png); }
.context-menu-item.icon-copy { background-image: url(images/icon_copy_cm.png); }
.context-menu-item.icon-paste { background-image: url(images/icon_paste_cm.png); }
.context-menu-item.icon-delete { background-image: url(images/icon_delete_cm.png); }
.context-menu-item.icon-quit { background-image: url(images/icon_door_cm.png); }
.context-menu-item.icon-soundcloud { background-image: url(images/icon_soundcloud_cm.png); }
.context-menu-item.icon-download { background-image: url(images/icon_download_cm.png); }
.context-menu-item.icon-overview { background-image: url(images/icon_overview_cm.png); }
.context-menu-item.icon-play { background-image: url(images/icon_play_cm.png); }
.context-menu-item.icon-select-cursor { background-image: url(images/icon_select-cursor_cm.png); }
.context-menu-item.icon-add-playlist { background-image: url(images/icon_add_playlist_cm.png); }
.context-menu-item.icon-add-remove-content { background-image: url(images/icon_add_content_cm.png); }
.context-menu-item.icon-remove-all-content { background-image: url(images/icon_remove_all_content_cm.png); }
/* vertically align inside labels */
.context-menu-input > label > * { vertical-align: top; }
/* position checkboxes and radios as icons */
.context-menu-input > label > input[type="checkbox"],
.context-menu-input > label > input[type="radio"] {
margin-left: -17px;
}
.context-menu-input > label > span {
margin-left: 5px;
}
.context-menu-input > label,
.context-menu-input > label > input[type="text"],
.context-menu-input > label > textarea,
.context-menu-input > label > select {
display: block;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
-o-box-sizing: border-box;
box-sizing: border-box;
}
.context-menu-input > label > textarea {
height: 100px;
}
.context-menu-item > .context-menu-list {
display: none;
/* re-positioned by js */
right: -5px;
top: 5px;
}
.context-menu-item.hover > .context-menu-list {
display: block;
}
.context-menu-accesskey {
text-decoration: underline;
}

View File

@ -21,7 +21,14 @@
.spl_fade_out {
clear: left;
}
#spl_sortable > li {
width: 100%;
margin-bottom:-1px;
position:relative;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
/*#side_playlist button {
float: left;
font-size: 12px;
@ -48,12 +55,6 @@
margin-bottom:0;
}
/*#side_playlist li {
width: 99.5%;
margin-bottom:-1px;
position:relative;
}*/
#side_playlist li div.list-item-container, #side_playlist li div.list-item-container.ui-state-active {
height:56px;
border: none;
@ -480,3 +481,25 @@ li.spl_empty {
height: 56px;
}
/*---////// SMART BLOCK /////---*/
.smart-block-info {
padding: 5px 35px 10px 36px;
width: 100%;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.smart-block-info > li {
display: block;
float: none;
margin-bottom: 4px;
width: 100%;
}
.smart-block-info > li span {
text-align: right;
float: right;
color: #D5D5D5;
font-size: 12px;
}

View File

@ -1373,7 +1373,11 @@ h2#scheduled_playlist_name span {
}
.simple-formblock .liquidsoap_status{
width: 95%;
width: 100%;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 4px 0 8px;
}
.simple-formblock dd.block-display {
@ -1642,8 +1646,8 @@ span.errors.sp-errors{
top:8px;
}
.collapsible-header.close .arrow-icon, collapsible-header-disabled.close .arrow-icon {
background-position: 0 -11px;
.collapsible-header.closed .arrow-icon, collapsible-header-disabled.close .arrow-icon {
background-position: 0 -11px !important;
}
#schedule-add-show .button-bar {
@ -1936,8 +1940,8 @@ span.errors.sp-errors{
margin-top: 0px !important;
}
.small-icon.now-playing {
background:url(images/icon_nowplaying_n.png) no-repeat 0 0;
height:8px;
background:url(images/icon_play_cal.png) no-repeat 0 0;
height:10px;
}
.small-icon.progress {
background:url(images/upload-icon.gif) no-repeat;
@ -1956,9 +1960,7 @@ span.errors.sp-errors{
margin-left:1px;
}
.small-icon.show-empty {
background:url(redmond/images/ui-icons_ff5d1a_256x240.png) no-repeat 0 -144px;
width: 16px;
margin-top: 0px !important;
background:url(images/icon_alert_cal_alt.png) no-repeat 0 0;
}
.medium-icon {
display:block;
@ -2278,6 +2280,10 @@ fieldset.closed, fieldset.display_field.closed {
margin-bottom: -6px;
margin-left: 1px;
}
fieldset.sb-criteria-fieldset{
min-width:670px;
overflow-x:auto;
}
fieldset.closed dl, fieldset.closed textarea, fieldset.closed div, fieldset.closed h2 {
display:none;

View File

@ -49,7 +49,10 @@ var AIRTIME = (function(AIRTIME) {
var cItem,
selected,
$trs;
// TODO : hack, get rid of this crap library
if (!$libTable) { return ; }
// Get visible items and check if any chosenItems are visible
$trs = $libTable.find("tbody input:checkbox").parents("tr");
$trs.each(function(i){
@ -332,6 +335,7 @@ var AIRTIME = (function(AIRTIME) {
};
libraryInit = function() {
return;
$libContent = $("#library_content");
@ -424,27 +428,27 @@ var AIRTIME = (function(AIRTIME) {
/* Title */ { "sTitle" : "Title" , "mDataProp" : "track_title" , "sClass" : "library_title" , "sWidth" : "170px" } ,
/* Creator */ { "sTitle" : "Creator" , "mDataProp" : "artist_name" , "sClass" : "library_creator" , "sWidth" : "160px" } ,
/* Album */ { "sTitle" : "Album" , "mDataProp" : "album_title" , "sClass" : "library_album" , "sWidth" : "150px" } ,
/* Bit Rate */ { "sTitle" : "Bit Rate" , "mDataProp" : "bit_rate" , "bVisible" : false , "sClass" : "library_bitrate" , "sWidth" : "80px" } ,
/* BPM */ { "sTitle" : "BPM" , "mDataProp" : "bpm" , "bVisible" : false , "sClass" : "library_bpm" , "sWidth" : "50px" } ,
/* Composer */ { "sTitle" : "Composer" , "mDataProp" : "composer" , "bVisible" : false , "sClass" : "library_composer" , "sWidth" : "150px" } ,
/* Conductor */ { "sTitle" : "Conductor" , "mDataProp" : "conductor" , "bVisible" : false , "sClass" : "library_conductor" , "sWidth" : "125px" },
/* Copyright */ { "sTitle" : "Copyright" , "mDataProp" : "copyright" , "bVisible" : false , "sClass" : "library_copyright" , "sWidth" : "125px" } ,
/* Encoded */ { "sTitle" : "Encoded By" , "mDataProp" : "encoded_by" , "bVisible" : false , "sClass" : "library_encoded" , "sWidth" : "150px" } ,
/* Genre */ { "sTitle" : "Genre" , "mDataProp" : "genre" , "bVisible" : false , "sClass" : "library_genre" , "sWidth" : "100px" } ,
/* ISRC Number */ { "sTitle" : "ISRC" , "mDataProp" : "isrc_number" , "bVisible" : false , "sClass" : "library_isrc" , "sWidth" : "150px" } ,
/* Label */ { "sTitle" : "Label" , "mDataProp" : "label" , "bVisible" : false , "sClass" : "library_label" , "sWidth" : "125px" } ,
/* Language */ { "sTitle" : "Language" , "mDataProp" : "language" , "bVisible" : false , "sClass" : "library_language" , "sWidth" : "125px" } ,
/* Last Modified */ { "sTitle" : "Last Modified" , "mDataProp" : "mtime" , "bVisible" : false , "sClass" : "library_modified_time" , "sWidth" : "125px" } ,
/* Last Played */ { "sTitle" : "Last Played " , "mDataProp" : "lptime" , "bVisible" : false , "sClass" : "library_modified_time" , "sWidth" : "125px" } ,
/* Bit Rate */ { "sTitle" : "Bit Rate" , "mDataProp" : "bit_rate" , "bVisible" : false , "sClass" : "library_bitrate" , "sWidth" : "80px" },
/* BPM */ { "sTitle" : "BPM" , "mDataProp" : "bpm" , "bVisible" : false , "sClass" : "library_bpm" , "sWidth" : "50px" },
/* Composer */ { "sTitle" : "Composer" , "mDataProp" : "composer" , "bVisible" : false , "sClass" : "library_composer" , "sWidth" : "150px" },
/* Conductor */ { "sTitle" : "Conductor" , "mDataProp" : "conductor" , "bVisible" : false , "sClass" : "library_conductor" , "sWidth" : "125px" },
/* Copyright */ { "sTitle" : "Copyright" , "mDataProp" : "copyright" , "bVisible" : false , "sClass" : "library_copyright" , "sWidth" : "125px" },
/* Encoded */ { "sTitle" : "Encoded By" , "mDataProp" : "encoded_by" , "bVisible" : false , "sClass" : "library_encoded" , "sWidth" : "150px" },
/* Genre */ { "sTitle" : "Genre" , "mDataProp" : "genre" , "bVisible" : false , "sClass" : "library_genre" , "sWidth" : "100px" },
/* ISRC Number */ { "sTitle" : "ISRC" , "mDataProp" : "isrc_number" , "bVisible" : false , "sClass" : "library_isrc" , "sWidth" : "150px" },
/* Label */ { "sTitle" : "Label" , "mDataProp" : "label" , "bVisible" : false , "sClass" : "library_label" , "sWidth" : "125px" },
/* Language */ { "sTitle" : "Language" , "mDataProp" : "language" , "bVisible" : false , "sClass" : "library_language" , "sWidth" : "125px" },
/* Last Modified */ { "sTitle" : "Last Modified" , "mDataProp" : "mtime" , "bVisible" : false , "sClass" : "library_modified_time" , "sWidth" : "125px" },
/* Last Played */ { "sTitle" : "Last Played " , "mDataProp" : "lptime" , "bVisible" : false , "sClass" : "library_modified_time" , "sWidth" : "125px" },
/* Length */ { "sTitle" : "Length" , "mDataProp" : "length" , "sClass" : "library_length" , "sWidth" : "80px" } ,
/* Mime */ { "sTitle" : "Mime" , "mDataProp" : "mime" , "bVisible" : false , "sClass" : "library_mime" , "sWidth" : "80px" } ,
/* Mood */ { "sTitle" : "Mood" , "mDataProp" : "mood" , "bVisible" : false , "sClass" : "library_mood" , "sWidth" : "70px" } ,
/* Owner */ { "sTitle" : "Owner" , "mDataProp" : "owner_id" , "bVisible" : false , "sClass" : "library_language" , "sWidth" : "125px" } ,
/* Replay Gain */ { "sTitle" : "Replay Gain" , "mDataProp" : "replay_gain" , "bVisible" : false , "sClass" : "library_replay_gain" , "sWidth" : "80px" },
/* Sample Rate */ { "sTitle" : "Sample Rate" , "mDataProp" : "sample_rate" , "bVisible" : false , "sClass" : "library_sr" , "sWidth" : "80px" } ,
/* Track Number */ { "sTitle" : "Track Number" , "mDataProp" : "track_number" , "bVisible" : false , "sClass" : "library_track" , "sWidth" : "65px" } ,
/* Mime */ { "sTitle" : "Mime" , "mDataProp" : "mime" , "bVisible" : false , "sClass" : "library_mime" , "sWidth" : "80px" },
/* Mood */ { "sTitle" : "Mood" , "mDataProp" : "mood" , "bVisible" : false , "sClass" : "library_mood" , "sWidth" : "70px" },
/* Owner */ { "sTitle" : "Owner" , "mDataProp" : "owner_id" , "bVisible" : false , "sClass" : "library_language" , "sWidth" : "125px" },
/* Replay Gain */ { "sTitle" : "Replay Gain" , "mDataProp" : "replay_gain" , "bVisible" : false , "sClass" : "library_replay_gain" , "sWidth" : "80px" },
/* Sample Rate */ { "sTitle" : "Sample Rate" , "mDataProp" : "sample_rate" , "bVisible" : false , "sClass" : "library_sr" , "sWidth" : "80px" },
/* Track Number */ { "sTitle" : "Track Number" , "mDataProp" : "track_number" , "bVisible" : false , "sClass" : "library_track" , "sWidth" : "65px" },
/* Upload Time */ { "sTitle" : "Uploaded" , "mDataProp" : "utime" , "sClass" : "library_upload_time" , "sWidth" : "125px" } ,
/* Website */ { "sTitle" : "Website" , "mDataProp" : "info_url" , "bVisible" : false , "sClass" : "library_url" , "sWidth" : "150px" } ,
/* Website */ { "sTitle" : "Website" , "mDataProp" : "info_url" , "bVisible" : false , "sClass" : "library_url" , "sWidth" : "150px" },
/* Year */ { "sTitle" : "Year" , "mDataProp" : "year" , "bVisible" : false , "sClass" : "library_year" , "sWidth" : "60px" }
],

View File

@ -85,7 +85,7 @@ $(document).ready(function() {
$('.collapsible-header').live('click',function() {
$(this).next().toggle('fast');
$(this).toggleClass("close");
$(this).toggleClass("closed");
return false;
}).next().hide();

View File

@ -238,7 +238,7 @@ $(document).ready(function() {
$('.collapsible-header').click(function() {
$(this).next().toggle('fast');
$(this).toggleClass("close");
$(this).toggleClass("closed");
return false;
})