copy current state of medienstaatsvertrag.org, to be verified
This commit is contained in:
17
website/agenda/js/.htaccess
Normal file
17
website/agenda/js/.htaccess
Normal file
@@ -0,0 +1,17 @@
|
||||
Options -Indexes +FollowSymLinks +MultiViews -ExecCGI
|
||||
#Order allow,deny
|
||||
#allow from all
|
||||
Require all granted
|
||||
|
||||
<IfModule mod_expires.c>
|
||||
ExpiresActive On
|
||||
ExpiresDefault "access plus 10 minutes"
|
||||
</IfModule>
|
||||
|
||||
<IfModule mod_headers.c>
|
||||
<FilesMatch "\.(jpg|jpeg|png|gif|js|css|swf)$">
|
||||
# Header set Cache-Control "public"
|
||||
Header set Cache-Control "max-age=600, public"
|
||||
</FilesMatch>
|
||||
</IfModule>
|
||||
|
||||
403
website/agenda/js/calcms.cust.js
Normal file
403
website/agenda/js/calcms.cust.js
Normal file
@@ -0,0 +1,403 @@
|
||||
var calcms_settings = new Array();
|
||||
|
||||
(function($, calcms) {
|
||||
|
||||
// show current project
|
||||
calcms.selectProject = function selectProject() {
|
||||
var project = calcms.getProject();
|
||||
console.log("project=" + project)
|
||||
|
||||
calcms.clearOnChangeArchive();
|
||||
calcms.showProjectCategories(project);
|
||||
calcms.showProjectSeriesNames(project);
|
||||
calcms.selectFirstOption('#calcms_series_name_'
|
||||
+ calcms.getJsName(project));
|
||||
calcms.selectFirstOption('#calcms_category_'
|
||||
+ calcms.getJsName(project));
|
||||
}
|
||||
|
||||
// search events
|
||||
calcms.selectSearchEventListener = function selectSearchEventListener() {
|
||||
var project = calcms.getProject();
|
||||
|
||||
calcms.showSearchResultsByProject(project, calcms.getSearchElement()
|
||||
.val(), calcms.isArchive());
|
||||
calcms.selectFirstOption('#calcms_series_name_'
|
||||
+ calcms.getJsName(project));
|
||||
calcms.selectFirstOption('#calcms_category_'
|
||||
+ calcms.getJsName(project));
|
||||
|
||||
calcms.registerOnChangeArchive(function() {
|
||||
calcms.showSearchResultsByProject(project, calcms
|
||||
.getSearchElement().val(), calcms.isArchive());
|
||||
});
|
||||
}
|
||||
|
||||
// show events for selected category of project
|
||||
calcms.selectCategory = function selectCategory(project, category) {
|
||||
calcms.showEventsByProjectAndCategory(project, category, calcms
|
||||
.isArchive());
|
||||
calcms.selectFirstOption('#calcms_series_name_'
|
||||
+ calcms.getJsName(project));
|
||||
calcms.resetSearch();
|
||||
|
||||
calcms.registerOnChangeArchive(function() {
|
||||
calcms.showEventsByProjectAndCategory(project, category, calcms
|
||||
.isArchive());
|
||||
});
|
||||
}
|
||||
|
||||
// show events for selected series of project
|
||||
calcms.selectSeries = function selectSeries(project, seriesName) {
|
||||
calcms.showEventsByProjectAndSeriesName(project, seriesName, calcms
|
||||
.isArchive());
|
||||
calcms.selectFirstOption('#calcms_category_'
|
||||
+ calcms.getJsName(project));
|
||||
calcms.resetSearch();
|
||||
|
||||
calcms.registerOnChangeArchive(function() {
|
||||
calcms.showEventsByProjectAndSeriesName(project, seriesName, calcms
|
||||
.isArchive());
|
||||
});
|
||||
}
|
||||
|
||||
// calendar events
|
||||
calcms.selectMonthEventListener = function selectMonthEventListener(month) {
|
||||
calcms.showCalendarAndEventsByMonth(month);
|
||||
}
|
||||
|
||||
calcms.selectWeekdayEventListener = function selectWeekdayEventListener(
|
||||
start_date, end_date, weekday) {
|
||||
calcms.showEventsByWeekday(start_date, end_date, weekday);
|
||||
}
|
||||
|
||||
calcms.selectDateRangeEventListener = function selectDateRangeEventListener(
|
||||
from, till) {
|
||||
calcms.showEventsByDateRange(from, till);
|
||||
}
|
||||
|
||||
calcms.selectDateEventListener = function selectDateEventListener(date) {
|
||||
calcms.showEventsByDate(date);
|
||||
}
|
||||
|
||||
// initial initialize
|
||||
function initCalcms() {
|
||||
calcms.set('base_url', '');
|
||||
|
||||
calcms.set('calendar_url', '/agenda/kalender');
|
||||
calcms.set('menu_url', '/agenda/menu');
|
||||
|
||||
calcms.set('events_url', '/agenda/sendungen');
|
||||
calcms.set('list_url', '/agenda/sendung');
|
||||
calcms.set('next_series_url', '/programm/sendung/serie_plus');
|
||||
calcms.set('prev_series_url', '/programm/sendung/serie_minus');
|
||||
|
||||
calcms.set('ical_url', '/agenda/ical');
|
||||
calcms.set('feed_url', '/agenda/feed/');
|
||||
calcms.set('playlist_url', '/agenda/playlist/');
|
||||
|
||||
calcms.set('search_url', '/agenda/suche/');
|
||||
calcms.set('search_category_url', '/agenda/kategorie/');
|
||||
calcms.set('search_series_name_url', '/agenda/sendereihe/');
|
||||
|
||||
calcms.set('category_url', '/agenda/kategorien/');
|
||||
calcms.set('series_name_url', '/agenda/sendereihen/');
|
||||
|
||||
calcms.set('comments_url', '/agenda/kommentare/');
|
||||
calcms.set('add_comment_url', '/agenda/kommentar_neu/');
|
||||
calcms.set('newest_comments_url', '/agenda/neueste_kommentare/');
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
var loadedSearchComponents = 0;
|
||||
// load projects, series and categories and show search fields
|
||||
// remove empty projects if both series and categories have been loaded
|
||||
calcms.showAdvancedSearch = function showAdvancedSearch(id) {
|
||||
searchReady = 0;
|
||||
var element = $('#calcms_enhanced_search');
|
||||
if (element.length == 0)
|
||||
return;
|
||||
|
||||
if (element.css('display') == 'none') {
|
||||
var url = calcms.get('category_url');
|
||||
calcms.updateContainer('calcms_categories', url, 1, function() {
|
||||
calcms.selectProject();
|
||||
loadedSearchComponents++;
|
||||
if (loadedSearchComponents == 2) {
|
||||
calcms.removeEmptyProjects();
|
||||
}
|
||||
});
|
||||
|
||||
url = calcms.get('series_name_url');
|
||||
calcms.updateContainer('calcms_series_names', url, 1, function() {
|
||||
calcms.selectProject();
|
||||
loadedSearchComponents++;
|
||||
if (loadedSearchComponents == 2) {
|
||||
calcms.removeEmptyProjects();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
calcms.showProjectCategories(calcms.getProject());
|
||||
calcms.showProjectSeriesNames(calcms.getProject());
|
||||
}
|
||||
|
||||
$("#" + id).slideToggle();
|
||||
}
|
||||
|
||||
calcms.insertDeskNextShows = function insertDeskNextShows(desk) {
|
||||
var url = '/agenda/suche/all/' + desk + '/kommende/';
|
||||
calcms.updateContainer('showDesk', url, 1);
|
||||
return false;
|
||||
}
|
||||
|
||||
calcms.insertDeskPrevShows = function insertDeskPrevShows(desk) {
|
||||
var url = '/agenda/suche/all/' + desk + '/vergangene/';
|
||||
calcms.updateContainer('showDesk', url, 1);
|
||||
return false;
|
||||
}
|
||||
|
||||
function insertDeskDetails() {
|
||||
var pattern = new RegExp(/redaktion\/(.*)$/);
|
||||
var matchs = pattern.exec(document.location.href);
|
||||
if ((matchs != null) && (matchs.length > 0) && (matchs[1] != '')) {
|
||||
var desk = $('#center h2:first').text();
|
||||
desk = desk.replace('Redaktion: ', '');
|
||||
desk = escape(desk);
|
||||
$('#center .content').append(
|
||||
'<div>' + '<a onclick="insertDeskPrevShows(\'' + desk
|
||||
+ '\');return false;" href="#">«letzte«</a>'
|
||||
+ ' Sendungen '
|
||||
+ '<a onclick="insertDeskNextShows(\'' + desk
|
||||
+ '\');return false;" href="#">»nächste»</a>'
|
||||
+ '<div id="showDesk" />' + '</div>');
|
||||
}
|
||||
}
|
||||
|
||||
function fixBlogEntries() {
|
||||
if (document.location.href.match('/redaktionen/')
|
||||
|| document.location.href.match('/redaktionen?')
|
||||
|| document.location.href.match('/redaktionen$')) {
|
||||
$('img.image-thumbnail').css('width', '3em');
|
||||
$('img.image-thumbnail').css('height', '3em');
|
||||
$('div.image-attach-teaser').css('width', '3em');
|
||||
$('div.node').css('padding', '0');
|
||||
$('div.node').css('margin', '0');
|
||||
$('#center .submitted').remove();
|
||||
$('#center .clear-block h2 a')
|
||||
.each(
|
||||
function(index) {
|
||||
$(this)
|
||||
.html(
|
||||
$(this)
|
||||
.text()
|
||||
.replace('Redaktion: ',
|
||||
'<font color="gray">Redaktion:</font> '));
|
||||
if ($(this).text().match(/Information:/))
|
||||
$(this).remove();
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function setImageSize() {
|
||||
var image = '#calcms_list div.content img';
|
||||
var size = $(window).width();
|
||||
size = Math.floor(size * 0.16);
|
||||
$(image).css('width', size + 'px');
|
||||
$(image).css('height', size + 'px');
|
||||
if (size > 200) {
|
||||
$(image).each(function(index) {
|
||||
var url = $(this).attr('src');
|
||||
if (url != null) {
|
||||
url = url.replace('/thumbs/', '/images/');
|
||||
console.log(url);
|
||||
$(this).attr('src', url);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
$(image).each(function(index) {
|
||||
var url = $(this).attr('src');
|
||||
if (url != null) {
|
||||
url = url.replace('/images/', '/thumbs/');
|
||||
$(this).attr('src', url);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function setThumbs() {
|
||||
$('#calcms_playlist img').each(function(index) {
|
||||
var url = $(this).attr('src');
|
||||
if (url != null) {
|
||||
url = url.replace('/images/', '/thumbs/');
|
||||
$(this).attr('src', url);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function addCommentsOnAgendaPages() {
|
||||
if (calcms.contains(window.location.href, '/programm/')
|
||||
|| calcms.contains(window.location.href, '/agenda/')) {
|
||||
$('#sidebar-right')
|
||||
.append(
|
||||
'<div id="block-block-2" class="clear-block block block-block"><h2>Kommentare</h2><div class="content">'
|
||||
+ '<div id="calcms_newest_comments">Bitte warten…</div>'
|
||||
+ '</div></div>');
|
||||
}
|
||||
}
|
||||
|
||||
function scrollNextEvent() {
|
||||
if ($('#calcms_running_event').length == 0)
|
||||
return;
|
||||
$('#playlist_container').scrollLeft(0);
|
||||
setInterval(nextSlideEvent, 10000);
|
||||
}
|
||||
|
||||
var numberOfComingShows = 100;
|
||||
var slideCount = 0;
|
||||
var slideOffset = 1;
|
||||
var slideEvents = 1;
|
||||
|
||||
// slideEvents will be updated at onmouseenter/leave handler at
|
||||
// playlist_long
|
||||
function nextSlideEvent() {
|
||||
if (slideEvents == 0)
|
||||
return;
|
||||
if ($('#coming_shows a').length == 0)
|
||||
return;
|
||||
if (slideCount == 0) {
|
||||
numberOfComingShows = $('#coming_shows a').length;
|
||||
$('#playlist_container').scrollLeft(0)
|
||||
$('#playlist_container').css('overflow', 'auto');
|
||||
$('#playlist_container').css('-webkit-overflow-scrolling', 'touch');
|
||||
$('#playlist_container').css('height', '150');
|
||||
$('#coming_shows').css('white-space', 'nowrap');
|
||||
$('#coming_shows').css('overflow-x', 'hidden');
|
||||
$('#coming_shows').css('height', '150');
|
||||
}
|
||||
|
||||
// console.log(slideCount+" "+slideOffset)
|
||||
$('#playlist_container').animate({
|
||||
scrollLeft : slideCount * 115 + "px"
|
||||
}, 5000);
|
||||
|
||||
if (slideCount < 0)
|
||||
slideOffset = 1
|
||||
if (slideCount > numberOfComingShows + 1 - $('#coming_shows').width()
|
||||
/ 100)
|
||||
slideOffset = -1
|
||||
slideCount += slideOffset;
|
||||
}
|
||||
|
||||
function mobilise() {
|
||||
if (!navigator.userAgent.match(/Mobi/))
|
||||
return;
|
||||
|
||||
$('#wrapper #container #sidebar-left').before(
|
||||
$('#wrapper #container #center'));
|
||||
$('#wrapper #container #sidebar-left').before(
|
||||
$('#wrapper #container #sidebar-right'));
|
||||
|
||||
$('body.sidebars').css('min-width', '100%');
|
||||
$('body.sidebar-left').css('min-width', '100%');
|
||||
$('body.sidebar-right').css('min-width', '100%');
|
||||
|
||||
$('#wrapper #container .sidebar').css('width', '100%');
|
||||
$('#wrapper #container').css('width', '100%');
|
||||
$('#wrapper #container').css('max-width', '100%');
|
||||
$('#wrapper #container').css('margin', '0');
|
||||
$('#wrapper #container').css('padding', '0');
|
||||
|
||||
$('#center').css('margin', '0');
|
||||
$('#center #squeeze').css('margin', '0');
|
||||
$('#center *').css('margin-left', '0');
|
||||
$('#center *').css('margin-right', '0');
|
||||
$('#center .right-corner').css('position', 'static');
|
||||
$('#center .right-corner').css('left', '0');
|
||||
$('#center .right-corner').css('padding-left', '0');
|
||||
$('#center .right-corner').css('padding-right', '0');
|
||||
$('#center .right-corner').css('background-image', 'url()');
|
||||
$('#center .left-corner').css('position', 'static');
|
||||
$('#center .left-corner').css('padding-left', '0');
|
||||
$('#center .left-corner').css('padding-right', '0');
|
||||
$('#center .left-corner').css('background-image', 'url()');
|
||||
$('#center *').css('background-image', 'url()');
|
||||
|
||||
$('#wrapper #container #header').css('height', '100px');
|
||||
|
||||
var padding = '0.5em'
|
||||
$('#center .left-corner').css('padding-left', padding);
|
||||
$('#center .left-corner').css('padding-right', padding);
|
||||
$('#wrapper #container #sidebar-left').css('padding-left', padding);
|
||||
$('#wrapper #container #sidebar-left').css('padding-right', padding);
|
||||
|
||||
// $('*').css('background','none');
|
||||
// $('#sidebar-left div.content').css('text-align','center');
|
||||
// $('#sidebar-left *').css('margin-left','0');
|
||||
// $('#sidebar-left *').css('margin-right','0');
|
||||
// $('#sidebar-right *').css('margin-left','0');
|
||||
// $('#sidebar-right *').css('margin-right','0');
|
||||
// $('#sidebar-left').css('width','90%');
|
||||
$('.node').css('padding-left', '0');
|
||||
$('.node').css('padding-right', '0');
|
||||
|
||||
$('#calcms_search input').css("padding", "1em");
|
||||
$('#calcms_search select').css("padding", "1em");
|
||||
|
||||
var menu = "ul.links.primary-links";
|
||||
$(menu).addClass('mobileMenu');
|
||||
$(menu).before('<div id="mobileMenuButton"></div>');
|
||||
$(menu).hide();
|
||||
|
||||
var menu2 = "ul.links.secondary-links";
|
||||
$(menu2).each(function() {
|
||||
$(menu).append($(this).html());
|
||||
})
|
||||
$(menu2).remove();
|
||||
|
||||
$('#calcms_calendar table').css('width', '90%');
|
||||
|
||||
// move footer down
|
||||
var footer = $('#wrapper #footer').html();
|
||||
$('body').append(footer);
|
||||
$('#wrapper #footer').remove();
|
||||
|
||||
$("#mobileMenuButton").click(function() {
|
||||
$(menu).slideToggle();
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
function initSearch() {
|
||||
var base = $('#calcms_search_show_details');
|
||||
var elem = $('#calcms_search_show_details #plus');
|
||||
if (elem.length == 0) {
|
||||
base.append('<span id="plus"> ▼ </span>');
|
||||
base.prepend('<span id="plus"></span>');
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function initAll() {
|
||||
initCalcms();
|
||||
addCommentsOnAgendaPages();
|
||||
calcms.showPlaylist();
|
||||
calcms.showNewestComments();
|
||||
// insertDeskDetails();
|
||||
// fixBlogEntries();
|
||||
calcms.removeCurrentPlayingHeader();
|
||||
// setImageSize();
|
||||
// setThumbs();
|
||||
// scrollNextEvent();
|
||||
// mobilise();
|
||||
initSearch();
|
||||
console.log("calcms inited")
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
initAll();
|
||||
});
|
||||
|
||||
}(jQuery, calcms));
|
||||
|
||||
6
website/agenda/js/calcms.jquery.min.js
vendored
Normal file
6
website/agenda/js/calcms.jquery.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
790
website/agenda/js/calcms.js
Normal file
790
website/agenda/js/calcms.js
Normal file
@@ -0,0 +1,790 @@
|
||||
var calcms = (function($) {
|
||||
// define this
|
||||
var my = {};
|
||||
|
||||
// calcms base functions
|
||||
// event handlers are customized at herbstradio.org
|
||||
|
||||
my.updateContainer = function updateContainer(id, url, onLoading, callback) {
|
||||
if (id == null)
|
||||
return;
|
||||
if ($("#" + id).length == 0)
|
||||
return;
|
||||
// if (onLoading)document.getElementById(id).innerHTML="lade ...";
|
||||
$("#" + id).load(url, null, callback);
|
||||
}
|
||||
|
||||
my.load = function load(url) {
|
||||
window.location.href = url;
|
||||
// $(window).load(url);
|
||||
// $('html').load(url);
|
||||
}
|
||||
|
||||
my.postContainer = function postContainer(url, parameters, callback) {
|
||||
if (url != '')
|
||||
$.post(url, parameters, callback);
|
||||
}
|
||||
|
||||
// get calcms setting
|
||||
my.get = function get(name) {
|
||||
if (calcms_settings[name] == null)
|
||||
return '';
|
||||
return calcms_settings[name];
|
||||
}
|
||||
|
||||
// set calcms setting
|
||||
my.set = function set(name, value) {
|
||||
calcms_settings[name] = value;
|
||||
}
|
||||
|
||||
// get select box value
|
||||
my.selectValue = function selectValue(element) {
|
||||
value = element.options[element.selectedIndex].value;
|
||||
return value;
|
||||
}
|
||||
|
||||
my.selectFirstOption = function selectFirstOption(id) {
|
||||
if ($(id) && $(id).length > 0)
|
||||
$(id)[0].selectedIndex = 0;
|
||||
}
|
||||
|
||||
my.contains = function contains(s, t) {
|
||||
if (s == false)
|
||||
return false;
|
||||
if (t == false)
|
||||
return false;
|
||||
return s.indexOf(t) != -1;
|
||||
}
|
||||
|
||||
my.getJsName = function getJsName(s) {
|
||||
s = s.replace(/[^a-zA-Z\_0-9]/g, '_');
|
||||
s = s.replace(/_+/g, '_');
|
||||
return s;
|
||||
}
|
||||
|
||||
my.isArchive = function isArchive() {
|
||||
if ($('#calcms_archive:checked').length == 0)
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
my.getSearchElement = function getSearchElement() {
|
||||
return $("#calcms_search input[name='search']");
|
||||
}
|
||||
|
||||
my.resetSearch = function resetSearch() {
|
||||
$("#calcms_search_field").val('');
|
||||
}
|
||||
|
||||
// set calcms_settings to parameters from URL
|
||||
my.evaluateParametersFromUrl = function evaluateParametersFromUrl() {
|
||||
var location = new String(window.location);
|
||||
|
||||
if (!location.match(my.get("base_url")))
|
||||
return;
|
||||
|
||||
if (window.location.search != "") {
|
||||
var parameters = window.location.search.split("?")[1].split("&");
|
||||
for (var i = 0; i < parameters.length; i++) {
|
||||
var pair = parameters[i];
|
||||
var name_values = pair.split("=");
|
||||
if (name_values != null) {
|
||||
// alert(name_values[0]+"="+name_values[1]);
|
||||
// set(name_values[0],name_values[1]);
|
||||
var element = document.getElementById(name_values[0]);
|
||||
if (element != null)
|
||||
element.value = name_values[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var sendung = /\/sendung\/(\d+)\//;
|
||||
sendung.exec(location);
|
||||
|
||||
if (RegExp.$1 != null && RegExp.$1 != '') {
|
||||
// alert(RegExp.$1);
|
||||
set('event_id', RegExp.$1);
|
||||
set('last_event_id', my.get('event_id'));
|
||||
} else {
|
||||
|
||||
var sendungen = /\/sendungen\/(\d{4}\-\d{2}\-\d{2})\/(\d{4}\-\d{2}\-\d{2})\/(\d)\//;
|
||||
sendungen.exec(location);
|
||||
if (RegExp.$1 != '' && RegExp.$2 != '' && RegExp.$3 != '') {
|
||||
set('from_date', RegExp.$1);
|
||||
set('till_date', RegExp.$2);
|
||||
set('weekday', RegExp.$3);
|
||||
} else {
|
||||
|
||||
var sendungen = /\/sendungen\/(\d{4}\-\d{2}\-\d{2})\/(\d{4}\-\d{2}\-\d{2})\//;
|
||||
sendungen.exec(location);
|
||||
if (RegExp.$1 != '' && RegExp.$2 != '') {
|
||||
set('from_date', RegExp.$1);
|
||||
set('till_date', RegExp.$2);
|
||||
} else {
|
||||
var sendungen = /\/sendungen\/(\d{4}\-\d{2}\-\d{2})\//;
|
||||
sendungen.exec(location);
|
||||
if (RegExp.$1 != '') {
|
||||
set('date', RegExp.$1);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
var kalender = /\/kalender\/(\d{4}\-\d{2}\-\d{2})\/(\d{4}\-\d{2}\-\d{2})\//;
|
||||
kalender.exec(location);
|
||||
if (RegExp.$1 != '' && RegExp.$2 != '') {
|
||||
set('from_date', RegExp.$1);
|
||||
set('till_date', RegExp.$2);
|
||||
} else {
|
||||
var kalender = /\/kalender\/(\d{4}\-\d{2}\-\d{2})\//;
|
||||
kalender.exec(location);
|
||||
if (RegExp.$1 != '') {
|
||||
set('date', RegExp.$1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// return URL from calcms_settings
|
||||
// parameters can be overwritten by field and value
|
||||
// This handles main controller interaction logics
|
||||
my.setAndGetUrlParameters = function setAndGetUrlParameters(field, value) {
|
||||
|
||||
// overwrite fields by field and value
|
||||
if (field != null && value != null && field != '') {
|
||||
// alert(target+" "+field+" "+value);
|
||||
set(field, value);
|
||||
}
|
||||
|
||||
// read fields
|
||||
var debug = my.get('debug');
|
||||
var from_date = my.get('from_date');
|
||||
var till_date = my.get('till_date');
|
||||
var date = my.get('date');
|
||||
var month = my.get('month');
|
||||
var weekday = my.get('weekday');
|
||||
var time_of_day = '';
|
||||
var time = '';
|
||||
var program = my.get('program');
|
||||
var series_name = my.get('series_name');
|
||||
var category = my.get('category');
|
||||
var tag = my.get('tag');
|
||||
var search_field = my.get('search');
|
||||
|
||||
// delete filters by current action
|
||||
if ((field == 'search' && search_field != '')
|
||||
|| (field == 'category' && category != '')
|
||||
|| (field == 'series_name' && series_name != '')
|
||||
|| (field == 'program' && program != '') || (field == 'tag')
|
||||
&& tag != '') {
|
||||
weekday = '';
|
||||
date = '';
|
||||
from_date = '';
|
||||
till_date = '';
|
||||
}
|
||||
|
||||
if (field == 'search') {
|
||||
category = '';
|
||||
series_name = '';
|
||||
program = '';
|
||||
}
|
||||
|
||||
if (field == 'category') {
|
||||
search_field = '';
|
||||
series_name = '';
|
||||
program = '';
|
||||
}
|
||||
|
||||
if (field == 'program') {
|
||||
search_field = '';
|
||||
series_name = '';
|
||||
category = '';
|
||||
}
|
||||
|
||||
if (field == 'series_name') {
|
||||
search_field = '';
|
||||
program = '';
|
||||
category = '';
|
||||
}
|
||||
|
||||
if (field == 'month') {
|
||||
if (month != '') {
|
||||
from_date = month;
|
||||
till_date = month.substring(0, month.length - 2) + "31";
|
||||
}
|
||||
weekday = '';
|
||||
date = '';
|
||||
category = '';
|
||||
program = '';
|
||||
series_name = '';
|
||||
tags = '';
|
||||
search_field = '';
|
||||
}
|
||||
|
||||
if (field == 'week') {
|
||||
weekday = '';
|
||||
date = '';
|
||||
category = '';
|
||||
program = '';
|
||||
series_name = '';
|
||||
tags = '';
|
||||
search_field = '';
|
||||
}
|
||||
|
||||
if (field == 'weekday') {
|
||||
/*
|
||||
* if (month != ''){ from_date=month;
|
||||
* till_date=month.substring(0,month.length-2)+"31" ; }
|
||||
*/
|
||||
category = '';
|
||||
program = '';
|
||||
series_name = '';
|
||||
tags = '';
|
||||
search_field = '';
|
||||
}
|
||||
|
||||
if (field == 'date') {
|
||||
weekday = '';
|
||||
from_date = '';
|
||||
till_date = '';
|
||||
category = '';
|
||||
program = '';
|
||||
series_name = '';
|
||||
tags = '';
|
||||
search_field = '';
|
||||
}
|
||||
|
||||
if (field == 'time') {
|
||||
if (time == 'null') {
|
||||
return
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} else {
|
||||
weekday = '';
|
||||
time_of_day = '';
|
||||
}
|
||||
}
|
||||
|
||||
if (field == 'month' || field == 'week' || field == 'weekday'
|
||||
|| field == 'time_of_day') {
|
||||
time = '';
|
||||
}
|
||||
|
||||
// build target URL
|
||||
var url = '';
|
||||
|
||||
if (field == 'month' || field == 'week') {
|
||||
if (from_date != '')
|
||||
url += '/' + from_date;
|
||||
if (till_date != '')
|
||||
url += '/' + till_date;
|
||||
} else if (weekday != '') {
|
||||
if (from_date != '')
|
||||
url += '/' + from_date;
|
||||
if (till_date != '')
|
||||
url += '/' + till_date;
|
||||
url += '/' + weekday;
|
||||
} else if (date != '') {
|
||||
if (date == 'today') {
|
||||
url += '/heute/';
|
||||
} else {
|
||||
url += '/' + date;
|
||||
}
|
||||
}
|
||||
|
||||
if (search_field != '') {
|
||||
url += "/suche/" + search_field;
|
||||
}
|
||||
|
||||
if (category != null && category != '') {
|
||||
url += "/kategorie/" + category;
|
||||
}
|
||||
|
||||
if (series_name != null && series_name != '') {
|
||||
url += "/sendereihe/" + series_name;
|
||||
}
|
||||
|
||||
if (url.substr(url.length - 1, url.length) != '/') {
|
||||
url += '/';
|
||||
}
|
||||
|
||||
if (time_of_day != '') {
|
||||
url += "&time_of_day=" + time_of_day;
|
||||
} else if (time != '' && time != 'null') {
|
||||
url += "&" + time;
|
||||
}
|
||||
|
||||
if (tag != null && tag != '') {
|
||||
url += "&tag=" + tag;
|
||||
}
|
||||
|
||||
if (program != null && program != '') {
|
||||
url += "&program=" + program;
|
||||
}
|
||||
|
||||
if (field == 'print') {
|
||||
url += "&print=1";
|
||||
}
|
||||
|
||||
if (debug != '') {
|
||||
url += '&debug=' + debug;
|
||||
}
|
||||
|
||||
return url;
|
||||
}
|
||||
|
||||
// show current project categories
|
||||
my.showProjectCategories = function showProjectCategories(project) {
|
||||
var projectJsName = calcms.getJsName(project);
|
||||
$('#calcmsCategoryForm select').each(function() {
|
||||
var id = $(this).attr('id');
|
||||
if (id == "calcms_category_" + projectJsName) {
|
||||
if ($(this).css('display') == 'none')
|
||||
$(this).show();
|
||||
} else {
|
||||
if ($(this).css('display') != 'none')
|
||||
$(this).hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// show current series categories
|
||||
my.showProjectSeriesNames = function showProjectSeriesNames(project) {
|
||||
var projectJsName = calcms.getJsName(project);
|
||||
$('#calcmsSeriesNamesForm select').each(function() {
|
||||
var id = $(this).attr('id');
|
||||
if (id == "calcms_series_name_" + projectJsName) {
|
||||
if ($(this).css('display') == 'none')
|
||||
$(this).show();
|
||||
} else {
|
||||
if ($(this).css('display') != 'none')
|
||||
$(this).hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// get current project
|
||||
my.getProject = function getProject() {
|
||||
var project = $('#calcms_project');
|
||||
if (project.length == 0)
|
||||
return 'all';
|
||||
return project.val();
|
||||
}
|
||||
|
||||
// remove projects from form without categories and series_names
|
||||
my.removeEmptyProjects = function removeEmptyProjects() {
|
||||
$('#calcms_project option').each(
|
||||
function() {
|
||||
var project = $(this).val();
|
||||
var hasCategories = $('#calcms_category_'
|
||||
+ calcms.getJsName(project)).length;
|
||||
var hasSeries = $('#calcms_series_name_'
|
||||
+ calcms.getJsName(project)).length;
|
||||
if ((hasCategories == 0) && (hasSeries == 0)) {
|
||||
$(this).remove();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
my.clearOnChangeArchive = function clearOnChangeArchive() {
|
||||
$('#calcms_archive').off();
|
||||
}
|
||||
|
||||
// register action on changing archive
|
||||
my.registerOnChangeArchive = function registerOnChangeArchive(action) {
|
||||
my.clearOnChangeArchive();
|
||||
$('#calcms_archive').on('click', action);
|
||||
}
|
||||
|
||||
// show all events for a given project
|
||||
my.showSearchResultsByProject = function showSearchResultsByProject(
|
||||
project, value, archive) {
|
||||
if (value != null && value != '') {
|
||||
var url = my.get('search_url');
|
||||
if (project != '' && project != null)
|
||||
url += escape(project) + '/';
|
||||
else
|
||||
url += 'all/';
|
||||
if (value != '' && value != null)
|
||||
url += escape(value) + '/';
|
||||
if (archive != null && archive == 0)
|
||||
url += 'kommende/';
|
||||
if (archive != null && archive == 1)
|
||||
url += 'vergangene/';
|
||||
my.updateContainer('calcms_list', url, 1);
|
||||
}
|
||||
}
|
||||
|
||||
// show all events for a given category
|
||||
my.showEventsByCategory = function showEventsByCategory(value) {
|
||||
if (value != '' && value != null) {
|
||||
my.updateContainer('calcms_list', my.get('search_category_url')
|
||||
+ escape(value) + '/', 1);
|
||||
}
|
||||
}
|
||||
|
||||
// show all events for a given project and category
|
||||
my.showEventsByProjectAndCategory = function showEventsByProjectAndCategory(
|
||||
project, category, archive) {
|
||||
if (category != '' && category != null) {
|
||||
var url = my.get('search_category_url');
|
||||
if (project != '' && project != null)
|
||||
url += escape(project) + '/';
|
||||
if (category != '' && category != null)
|
||||
url += escape(category) + '/';
|
||||
if (archive != null && archive == 0)
|
||||
url += 'kommende/';
|
||||
if (archive != null && archive == 1)
|
||||
url += 'vergangene/';
|
||||
my.updateContainer('calcms_list', url, 1);
|
||||
}
|
||||
}
|
||||
|
||||
// show all events for a given project and series
|
||||
my.showEventsByProjectAndSeriesName = function showEventsByProjectAndSeriesName(
|
||||
project, seriesName, archive) {
|
||||
if (seriesName != '' && seriesName != null) {
|
||||
var url = my.get('search_series_name_url');
|
||||
if (project != '' && project != null)
|
||||
url += escape(project) + '/';
|
||||
if (seriesName != '' && seriesName != null)
|
||||
url += escape(seriesName) + '/';
|
||||
if (archive != null && archive == 0)
|
||||
url += 'kommende/';
|
||||
if (archive != null && archive == 1)
|
||||
url += 'vergangene/';
|
||||
my.updateContainer('calcms_list', url, 1);
|
||||
}
|
||||
}
|
||||
|
||||
// show all events for a given series
|
||||
my.showEventsBySeriesName = function showEventsBySeriesName(value) {
|
||||
if (value != '' && value != null) {
|
||||
my.updateContainer('calcms_list', my.get('search_series_name_url')
|
||||
+ escape(value) + '/', 1);
|
||||
}
|
||||
}
|
||||
|
||||
// show all events for a given program
|
||||
my.showEventsByProgram = function showEventsByProgram(value) {
|
||||
var events_url = my.get('events_url');
|
||||
var url = my.setAndGetUrlParameters('program', value);
|
||||
if (value != '' && value != null) {
|
||||
// my.updateContainer('calcms_list', events_url+url, 1);
|
||||
my.updateContainer('calcms_list', url, 1);
|
||||
}
|
||||
}
|
||||
|
||||
// show next event of a given series
|
||||
my.showNextSeriesEvent = function showNextSeriesEvent(value) {
|
||||
var events_url = my.get('next_series_url');
|
||||
my.load(events_url + '/' + value + '.html');
|
||||
}
|
||||
|
||||
// show previous event of a given series
|
||||
my.showPrevSeriesEvent = function showPrevSeriesEvent(value) {
|
||||
var events_url = my.get('prev_series_url');
|
||||
my.load(events_url + '/' + value + '.html');
|
||||
}
|
||||
|
||||
my.showMenuAndList = function showMenuAndList(target, field, value) {
|
||||
|
||||
var events_url = my.get('events_url');
|
||||
var menu_url = my.get('menu_url');
|
||||
var event_id = my.get('event_id');
|
||||
|
||||
var url = my.setAndGetUrlParameters(field, value);
|
||||
|
||||
if (target == 'window') {
|
||||
window.location.href = events_url + url;
|
||||
} else {
|
||||
my.updateContainer('calcms_menu', menu_url + url, 1);
|
||||
|
||||
if (event_id != '' && event_id != null && Number(event_id) != 'NaN') {
|
||||
// load list selected by url
|
||||
my.showEvents(event_id, '');
|
||||
my.set('event_id', '');
|
||||
} else {
|
||||
// load event list
|
||||
my.updateContainer('calcms_list', events_url + url, 1);
|
||||
my.set('last_list_url', events_url + url);
|
||||
}
|
||||
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// load given event details into list
|
||||
my.showEvents = function showEvents(event_id, view) {
|
||||
if (view == null || view == '')
|
||||
view = 'list_url';
|
||||
if (event_id != '') {
|
||||
var url = my.get(view) + '/' + event_id + '/';
|
||||
my.updateContainer('calcms_list', url, 1);
|
||||
} else {
|
||||
document.getElementById('calcms_list').innerHTML = 'keine Sendung gefunden...';
|
||||
}
|
||||
}
|
||||
|
||||
// load given event details into list
|
||||
my.showEvent = function showEvent(event_id) {
|
||||
var old_url = my.get('last_list_url');
|
||||
var url = my.get('list_url') + '/' + event_id + '/';
|
||||
if (url != old_url) {
|
||||
my.set('last_event_id', event_id);
|
||||
my
|
||||
.updateContainer(
|
||||
'calcms_list',
|
||||
url,
|
||||
1,
|
||||
function(responseText, textStatus, XMLHttpRequest) {
|
||||
var back_link = '<a href="#" onclick="updateContainer(\'calcms_list\',\''
|
||||
+ old_url
|
||||
+ '\');return false;">zurück</a>';
|
||||
document.getElementById('calcms_list').innerHTML = back_link
|
||||
+ document
|
||||
.getElementById('calcms_list').innerHTML
|
||||
+ '<p><hr/>' + back_link;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// Calendar actions
|
||||
|
||||
// update menu and list by given date
|
||||
my.showEventsByDate = function showEventsByDate(date) {
|
||||
// my.set('date',date);
|
||||
my.showMenuAndList('', 'date', date);
|
||||
return false;
|
||||
|
||||
};
|
||||
|
||||
// update menu and list by events from weekday at given date range
|
||||
my.showEventsByWeekday = function showEventsByWeekday(from, till, weekday) {
|
||||
my.set('from_date', from);
|
||||
my.set('till_date', till);
|
||||
my.set('weekday', weekday);
|
||||
my.showMenuAndList('', 'weekday');
|
||||
return false;
|
||||
|
||||
};
|
||||
|
||||
// update menu and list by events from given date range
|
||||
my.showEventsByDateRange = function showEventsByDateRange(from, till) {
|
||||
my.set('from_date', from);
|
||||
my.set('till_date', till);
|
||||
my.showMenuAndList('', 'week');
|
||||
return false;
|
||||
};
|
||||
|
||||
// load calendar content
|
||||
my.showCalendar = function showCalendar(target, field) {
|
||||
var calendar_debug = my.get('calendar_debug');
|
||||
var calendar_url = my.get('calendar_url');
|
||||
var debug = my.get('debug');
|
||||
var date = my.get('month');
|
||||
|
||||
var url = calendar_url;
|
||||
|
||||
if (field == 'month') {
|
||||
url += '/' + date + '/';
|
||||
}
|
||||
if (debug != '') {
|
||||
url += '&debug=' + debug;
|
||||
}
|
||||
|
||||
if (target == 'window') {
|
||||
window.location.href = events_url + url;
|
||||
} else {
|
||||
my.updateContainer('calcms_calendar', url);
|
||||
}
|
||||
|
||||
if (calendar_debug != null) {
|
||||
calendar_debug.innerHTML = url;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// update menu, list and calendar widget by entries of given month YYYY-MM
|
||||
// (current day)
|
||||
my.showTodaysCalendarAndEvents = function showTodaysCalendarAndEvents(month) {
|
||||
my.set('month', month);
|
||||
// my.set(date,'today');
|
||||
my.showMenuAndList('', 'date', 'today');
|
||||
my.showCalendar('', 'month');
|
||||
return false;
|
||||
|
||||
};
|
||||
|
||||
// update menu, list and calendar widget by entries of given month YYYY-MM
|
||||
my.showCalendarAndEventsByMonth = function showCalendarAndEventsByMonth(
|
||||
month) {
|
||||
my.set('month', month);
|
||||
my.showMenuAndList('', 'month');
|
||||
my.showCalendar('', 'month');
|
||||
return false;
|
||||
|
||||
};
|
||||
|
||||
// update menu, list and calendar widget by entries of given date YYYY-MM-DD
|
||||
my.showCalendarAndEventsByDate = function showCalendarAndEventsByDate(date) {
|
||||
my.set('date', date);
|
||||
my.showMenuAndList('', 'date');
|
||||
|
||||
my.set('month', date);
|
||||
my.showCalendar('', 'month');
|
||||
return false;
|
||||
|
||||
};
|
||||
|
||||
// end of Calendar actions
|
||||
|
||||
// show comment for given event id and start time
|
||||
my.showCommentsByEventIdOrEventStart = function showCommentsByEventIdOrEventStart(
|
||||
event_id, event_start) {
|
||||
var url = my.get('comments_url');
|
||||
if (event_id == '' || event_start == '' || url == '')
|
||||
return false;
|
||||
|
||||
my.set('comments_event_start', event_start);
|
||||
my.set('comments_event_id', event_id);
|
||||
|
||||
url += event_id + '/' + event_start + '/';
|
||||
|
||||
my.updateContainer('calcms_comments', url);
|
||||
}
|
||||
|
||||
// add a comment to a event
|
||||
my.addComment = function addComment(id, comment) {
|
||||
var url = my.get('add_comment_url');
|
||||
if (url != '')
|
||||
$.post(url, $("#" + id).serialize(), function(data) {
|
||||
my.showCommentsByEventIdOrEventStart(my
|
||||
.get('comments_event_id'), my
|
||||
.get('comments_event_start'));
|
||||
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
// insert new comment form
|
||||
my.showCommentForm = function showCommentForm(id, parent_id, event_id,
|
||||
event_start) {
|
||||
var response = '<div>';
|
||||
if (parent_id != '')
|
||||
response += 'Deine Anwort:';
|
||||
document.getElementById(id).innerHTML = response
|
||||
+ '<form id="add_comment_'
|
||||
+ parent_id
|
||||
+ '" '
|
||||
+ ' action="/agenda/kommentar_neu/?" method="post" '
|
||||
+ ' onsubmit="calcms.addComment(\'add_comment_'
|
||||
+ parent_id
|
||||
+ '\',this);return false;" '
|
||||
+ '>'
|
||||
+ ' Name: *<br /> '
|
||||
+ ' <input name="author" maxlength="40" /><br /> '
|
||||
+ ' Was ich sagen will, ist: *<br /> '
|
||||
+ ' <textarea name="content" cols="60" rows="10" '
|
||||
+ ' onkeyup="javascript:if (this.value.length>1000) this.value=this.value.substr(0,1000)" '
|
||||
+ ' ></textarea><br />'
|
||||
|
||||
+ ' Email: (für Rückmeldungen, wird nicht angezeigt)<br /> '
|
||||
+ ' <input name="email" maxlength="40" /><br /> '
|
||||
|
||||
+ ' <input type="submit" value="abschicken!" /> '
|
||||
+ ' <input name="event_id" value="' + event_id
|
||||
+ '" type="hidden" /> '
|
||||
+ ' <input name="parent_id" value="' + parent_id
|
||||
+ '" type="hidden" /> '
|
||||
+ ' <input name="event_start" value="' + event_start
|
||||
+ '" type="hidden" /> ' + '</form>' + '</div>';
|
||||
// $("#"+id).show("drop");
|
||||
my.show(id);
|
||||
}
|
||||
// end of Comment actions
|
||||
|
||||
// used to embed playlist in external pages
|
||||
my.showPlaylist = function showPlaylist() {
|
||||
var url = my.get('playlist_url');
|
||||
my.updateContainer('calcms_playlist', url);
|
||||
}
|
||||
|
||||
// load comments into #calcms_newest_comments if not embedded yet
|
||||
my.showNewestComments = function showNewestComments() {
|
||||
if (my.get('preloaded') == '') {
|
||||
var url = my.get('newest_comments_url');
|
||||
my.updateContainer('calcms_newest_comments', url);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// export selected events to ical
|
||||
my.exportSelectedToICal = function exportSelectedToICal() {
|
||||
window.location = my.get('ical_url') + my.setAndGetUrlParameters();
|
||||
;
|
||||
return false;
|
||||
}
|
||||
|
||||
// init search interface: load search form content if not loaded yet
|
||||
my.initSearch = function initSearch(target, field) {
|
||||
if (my.get('preloaded') == '') {
|
||||
var category_url = my.get('category_url');
|
||||
var program_url = my.get('program_url');
|
||||
var series_name_url = my.get('series_name_url');
|
||||
var debug = my.get('debug');
|
||||
|
||||
if (category_url != null && category_url != '')
|
||||
my.updateContainer('calcms_categories', category_url, 1);
|
||||
if (program_url != null && program_url != '')
|
||||
my.updateContainer('calcms_programs', program_url, 1);
|
||||
if (series_name_url != null && series_name_url != '')
|
||||
my.updateContainer('calcms_series_names', series_name_url, 1);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// wrapper to show an id
|
||||
my.show = function show(id) {
|
||||
$("#" + id).show("drop");
|
||||
document.getElementById(id).style.visibility = "visible";
|
||||
// document.getElementById(id).style.display="block";
|
||||
}
|
||||
|
||||
// wrapper to hide an id
|
||||
my.hide = function hide(id) {
|
||||
$("#" + id).hide("drop");
|
||||
document.getElementById(id).style.visibility = "hidden";
|
||||
// document.getElementById(id).style.display="none";
|
||||
}
|
||||
|
||||
// return max date
|
||||
my.setDateIfBefore = function setDateIfBefore(date1, date2) {
|
||||
if (date1 < date2)
|
||||
return date2;
|
||||
return date1;
|
||||
}
|
||||
|
||||
// return min date
|
||||
my.setDateIfAfter = function setDateIfAfter(date1, date2) {
|
||||
if (date1 > date2)
|
||||
return date2;
|
||||
return date1;
|
||||
}
|
||||
|
||||
// remove Drupal header for currently playing entry at topic overview page
|
||||
my.removeCurrentPlayingHeader = function removeCurrentPlayingHeader() {
|
||||
$("h2 a[href$='/testing']").each(function() {
|
||||
$(this).css("display", "none");
|
||||
});
|
||||
}
|
||||
|
||||
// return instance
|
||||
return my;
|
||||
}(jQuery));
|
||||
|
||||
3
website/agenda/js/jquery.jplayer.min.js
vendored
Normal file
3
website/agenda/js/jquery.jplayer.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
6
website/agenda/js/jquery.min.js
vendored
Normal file
6
website/agenda/js/jquery.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user