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

This commit is contained in:
martin 2011-11-18 18:30:55 -05:00
commit d0de9b65dd
7 changed files with 5280 additions and 34 deletions

View file

@ -158,7 +158,7 @@ class Application_Form_StreamSettingSubForm extends Zend_Form_SubForm{
$liquidsopa_error_msg = '<div class="stream-status status-info"><h3>Getting information from the server...</h3></div>';
$this->setDecorators(array(
array('ViewScript', array('viewScript' => 'form/stream-setting-form.phtml', "stream_number"=>$stream_number, "liquidsoap_error_msg"=>$liquidsopa_error_msg))
array('ViewScript', array('viewScript' => 'form/stream-setting-form.phtml', "stream_number"=>$stream_number, "enabled"=>$enable->getValue(), "liquidsoap_error_msg"=>$liquidsopa_error_msg))
));
}

View file

@ -2,7 +2,7 @@
$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>
<div class="stream-setting-content" <?php echo $this->stream_number != '1'?'style="display: none;':''?> id="<?=$s_name?>-config">
<div class="stream-setting-content" <?php echo $this->enabled == 0?'style="display: none;':''?> id="<?=$s_name?>-config">
<fieldset class="padded">
<dl class="zend_form clearfix">
<dd id="<?=$s_name?>Liquidsoap-error-msg-element" class="liquidsoap_status">

View file

@ -8,9 +8,9 @@ function getContent() {
var msg = "";
if(isUpToDate()) {
msg = "You are running the latest version";
} else if(diff <= 2) {
} else if(diff == 1) {
msg = "New version available: " + link;
} else if(diff == 3) {
} else if(diff == 2) {
msg = "This version will soon be obsolete.<br/>Please upgrade to " + link;
} else {
msg = "This version is no longer supported.<br/>Please upgrade to " + link;
@ -44,7 +44,7 @@ function getLatestVersion() {
* Returns the download link to latest release in HTML
*/
function getLatestLink() {
return "<a href='" + $("#version-link").html() + "'>" + getLatestVersion() + "</a>";
return "<a href='' onclick='openLatestLink();'>" + getLatestVersion() + "</a>";
}
/**
@ -58,6 +58,13 @@ function isUpToDate() {
return (diff == 0 && current == latest) || diff < 0;
}
/**
* Opens the link in a new window
*/
function openLatestLink() {
window.open($("#version-link").html());
}
/**
* Sets up the tooltip for version notification
*/

View file

@ -1,11 +1,28 @@
Before you overwrite fullcalendar.js, note that we have changed one line
of this file.
Before you overwrite fullcalendar.js, note that we have changed a few lines
in this file.
Running a diff between the original fullcalendar.js and our modified one:
$diff -u fullcalendar_original.js fullcalendar.js
--- fullcalendar_original.js 2011-04-09 17:13:15.000000000 -0400
+++ fullcalendar.js 2011-08-19 11:58:49.672894583 -0400
martin@Thinkpad-T410:~/workspace/airtime/airtime_mvc/public/js/fullcalendar$ diff -u fullcalendar_orig.js fullcalendar.js
--- fullcalendar_orig.js 2011-04-09 17:13:15.000000000 -0400
+++ fullcalendar.js 2011-11-18 17:03:57.000000000 -0500
@@ -1,6 +1,6 @@
/**
* @preserve
- * FullCalendar v1.5.1
+ * FullCalendar v1.5.1-CUSTOM (Changes by Martin Konecny -added primitive support for timezones)
* http://arshaw.com/fullcalendar/
*
* Use fullcalendar.css for basic styling.
@@ -227,7 +227,7 @@
var absoluteViewElement;
var resizeUID = 0;
var ignoreWindowResize = 0;
- var date = new Date();
+ var date = adjustDateToServerDate(new Date(), options["serverTimezoneOffset"]);
var events = [];
var _dragElement;
@@ -2275,7 +2275,7 @@
function updateCells(firstTime) {
var dowDirty = firstTime || rowCnt == 1; // could the cells' day-of-weeks need updating?
@ -15,7 +32,22 @@ $diff -u fullcalendar_original.js fullcalendar.js
var cell;
var date;
var row;
@@ -3108,7 +3108,7 @@
var headCell;
var bodyCell;
var date;
- var today = clearTime(new Date());
+ var today = clearTime(adjustDateToServerDate(new Date(), opt("serverTimezoneOffset")));
for (i=0; i<colCnt; i++) {
date = colDate(i);
headCell = dayHeadCells.eq(i);
@@ -5205,4 +5205,4 @@
}
-})(jQuery);
\ No newline at end of file
+})(jQuery);
adjustDateToServerDate() function is defined in "js/airtime/schedule/full-calendar-functions.js"

View file

@ -1,6 +1,6 @@
/**
* @preserve
* FullCalendar v1.5.1
* FullCalendar v1.5.1-CUSTOM (Changes by Martin Konecny -added primitive support for timezones)
* http://arshaw.com/fullcalendar/
*
* Use fullcalendar.css for basic styling.
@ -227,7 +227,7 @@ function Calendar(element, options, eventSources) {
var absoluteViewElement;
var resizeUID = 0;
var ignoreWindowResize = 0;
var date = new Date();
var date = adjustDateToServerDate(new Date(), options["serverTimezoneOffset"]);
var events = [];
var _dragElement;
@ -3108,7 +3108,7 @@ function AgendaView(element, calendar, viewName) {
var headCell;
var bodyCell;
var date;
var today = clearTime(new Date());
var today = clearTime(adjustDateToServerDate(new Date(), opt("serverTimezoneOffset")));
for (i=0; i<colCnt; i++) {
date = colDate(i);
headCell = dayHeadCells.eq(i);
@ -5205,4 +5205,4 @@ function HorizontalPositionCache(getElement) {
}
})(jQuery);
})(jQuery);

File diff suppressed because it is too large Load diff

View file

@ -41,17 +41,17 @@ def get_os_codename():
if (sts == 0):
#lsb_release is available on this system. Let's get the os codename
p = Popen("lsb_release -sc", shell=True, stdout=PIPE)
return p.communicate()[0].strip('\r\n')
codename = p.communicate()[0].strip('\r\n')
p = Popen("lsb_release -sd", shell=True, stdout=PIPE)
fullname = p.communicate()[0].strip('\r\n')
return (codename, fullname)
except Exception, e:
pass
return "unknown"
def get_current_script_dir():
current_script_dir = os.path.realpath(__file__)
index = current_script_dir.rindex('/')
return current_script_dir[0:index]
return ("unknown", "unknown")
def generate_liquidsoap_config(ss):
data = ss['msg']
fh = open('/etc/airtime/liquidsoap.cfg', 'w')
@ -76,6 +76,7 @@ def generate_liquidsoap_config(ss):
fh.close()
PATH_INI_FILE = '/etc/airtime/pypo.cfg'
PATH_LIQUIDSOAP_BIN = '/usr/lib/airtime/pypo/bin/liquidsoap_bin'
#any debian/ubuntu codename in this et will automatically use the natty liquidsoap binary
codenames_for_natty_binary = set(["natty", "oneiric", "precise", "squeeze"])
@ -87,30 +88,28 @@ except Exception, e:
print 'Error loading config file: ', e
sys.exit(1)
try:
current_script_dir = get_current_script_dir()
try:
#select appropriate liquidsoap file for given system os/architecture
architecture = platform.architecture()[0]
#natty = is_natty()
codename = get_os_codename()
print "* Detecting OS: ...",
(codename, fullname) = get_os_codename()
print " Found %s" % fullname
natty = codename in codenames_for_natty_binary
print "* Detecting system architecture for Liquidsoap"
if architecture == '64bit' and natty:
print " * Installing 64-bit liquidsoap binary (Natty)"
shutil.copy("%s/../liquidsoap_bin/liquidsoap-natty-amd64"%current_script_dir, "%s/../liquidsoap_bin/liquidsoap"%current_script_dir)
shutil.copy("%s/liquidsoap-natty-amd64"%PATH_LIQUIDSOAP_BIN, "%s/liquidsoap"%PATH_LIQUIDSOAP_BIN)
elif architecture == '32bit' and natty:
print " * Installing 32-bit liquidsoap binary (Natty)"
shutil.copy("%s/../liquidsoap_bin/liquidsoap-natty-i386"%current_script_dir, "%s/../liquidsoap_bin/liquidsoap"%current_script_dir)
shutil.copy("%s/liquidsoap-natty-i386"%PATH_LIQUIDSOAP_BIN, "%s/liquidsoap"%PATH_LIQUIDSOAP_BIN)
elif architecture == '64bit' and not natty:
print " * Installing 64-bit liquidsoap binary"
shutil.copy("%s/../liquidsoap_bin/liquidsoap-amd64"%current_script_dir, "%s/../liquidsoap_bin/liquidsoap"%current_script_dir)
shutil.copy("%s/liquidsoap-amd64"%PATH_LIQUIDSOAP_BIN, "%s/liquidsoap"%PATH_LIQUIDSOAP_BIN)
elif architecture == '32bit' and not natty:
print " * Installing 32-bit liquidsoap binary"
shutil.copy("%s/../liquidsoap_bin/liquidsoap-i386"%current_script_dir, "%s/../liquidsoap_bin/liquidsoap"%current_script_dir)
shutil.copy("%s/liquidsoap-i386"%PATH_LIQUIDSOAP_BIN, "%s/liquidsoap"%PATH_LIQUIDSOAP_BIN)
else:
print "Unknown system architecture."
sys.exit(1)