Compare commits
83 Commits
f71d6e9030
...
aura_expor
| Author | SHA1 | Date | |
|---|---|---|---|
| a5f818116c | |||
| 62d7044721 | |||
| 852aa897a2 | |||
| 2d63521d0b | |||
| 425ec77b14 | |||
| 196d242e95 | |||
| 3349ea882d | |||
| 0b7f362c80 | |||
| 3410f93767 | |||
|
|
ab8952feea | ||
|
|
492bc44cda | ||
|
|
80cbaf70bc | ||
|
|
4689dee215 | ||
|
|
b7ff85f3a2 | ||
|
|
0c7cf1071a | ||
|
|
61405a2644 | ||
|
|
6744123447 | ||
|
|
521772acdf | ||
|
|
0460f06d02 | ||
|
|
35c697a825 | ||
|
|
e881ec16ae | ||
|
|
e896d03f4b | ||
|
|
09c8bd7ded | ||
|
|
454f0374da | ||
|
|
9e0ea0e09d | ||
|
|
f5611bacdd | ||
|
|
45066f704c | ||
|
|
9ca6ccdac1 | ||
|
|
9f834fd4f0 | ||
|
|
f4298cf4f9 | ||
|
|
3336b07b64 | ||
|
|
a45f2ab241 | ||
|
|
f52f57e0d5 | ||
|
|
751643a90d | ||
|
|
6f8f1a3f8b | ||
|
|
c1877ff18e | ||
|
|
89aa2845d1 | ||
|
|
bb19780bd6 | ||
|
|
6109330614 | ||
|
|
f6eb7c8154 | ||
|
|
e5c5a5a0f8 | ||
|
|
1c35ed7628 | ||
|
|
af56448c6e | ||
|
|
bef663c474 | ||
|
|
5e8eac8b7b | ||
|
|
28ee623c35 | ||
|
|
5295dfd173 | ||
|
|
b4df3860c0 | ||
|
|
5c141e5b02 | ||
|
|
9f8aa2c8c0 | ||
|
|
f65fe825e6 | ||
|
|
0580a0c3fa | ||
|
|
b984858770 | ||
|
|
8c80c55011 | ||
|
|
bc0fe2fcc7 | ||
|
|
35d7784059 | ||
|
|
72eada03c4 | ||
|
|
d6ee7aa0c7 | ||
|
|
34d620e89c | ||
|
|
147a1dfd32 | ||
|
|
4bbdb94359 | ||
|
|
de2dcd37f7 | ||
|
|
cf1acaaa82 | ||
|
|
5aa42ebf34 | ||
|
|
1da6032c9a | ||
|
|
7dc128752f | ||
|
|
d10b249b6b | ||
|
|
7aa432fd1e | ||
|
|
58726b06c6 | ||
|
|
e1ed70cb6b | ||
|
|
5b105fb4e4 | ||
|
|
1339171c33 | ||
|
|
27684c4f54 | ||
|
|
84c59e179a | ||
|
|
7de61cd887 | ||
|
|
f626c510ad | ||
|
|
1d4f5051df | ||
|
|
72ff702fe2 | ||
|
|
509535fbf8 | ||
|
|
bdf572956f | ||
|
|
ebb1ecce5e | ||
|
|
e74b8e53cb | ||
|
|
194fa799ea |
19
.gitignore
vendored
19
.gitignore
vendored
@@ -2,8 +2,17 @@
|
||||
sync.data
|
||||
old
|
||||
config.cgi
|
||||
website/agenda_files/media/icons/*.jpg
|
||||
website/agenda_files/media/image/*.jpg
|
||||
website/agenda_files/media/thumbs/*.jpg
|
||||
website/agenda_files/media/upload/*.jpg
|
||||
recordings/*.mp3
|
||||
website/media/**/*.jpg
|
||||
website/media/**/*.jpeg
|
||||
website/media/**/*.png
|
||||
website/recordings/*
|
||||
*.php
|
||||
logs/*
|
||||
|
||||
# static frontend for programm.coloradio.org
|
||||
website/programm/*
|
||||
!website/programm/.htaccess
|
||||
# remove this after a while
|
||||
website/bak_to-delete
|
||||
|
||||
website/agenda/timestamp.cgi
|
||||
|
||||
34
docker/Dockerfile
Normal file
34
docker/Dockerfile
Normal file
@@ -0,0 +1,34 @@
|
||||
# Use the official Debian image as a base
|
||||
FROM debian:bullseye
|
||||
|
||||
# Set environment variables
|
||||
# ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# Update the package list and install Apache2 and MariaDB
|
||||
RUN apt-get update && \
|
||||
apt-get install -y apache2 apache2-dev && \
|
||||
apt-get clean && \
|
||||
a2dismod mpm_event && \
|
||||
a2enmod mpm_prefork && \
|
||||
# apt-get install -y libapache2-rewrite && \
|
||||
a2enmod rewrite && \
|
||||
apt-get install -y libapache2-mod-perl2 libperl-dev libapache2-reload-perl libapache2-request-perl libapache2-mod-apreq2 build-essential imagemagick libapreq2-3 libapache-dbi-perl libauthen-sasl-perl libauthen-passphrase-perl libcalendar-simple-perl libcrypt-blowfish-perl libcgi-pm-perl libcgi-session-perl libcgi-simple-perl libconfig-general-perl libdatetime-perl libdate-calc-perl libdate-manip-perl libdbi-perl libdbd-mysql-perl libemail-sender-perl libencode-perl libjson-perl libhtml-formattext-withlinks-andtables-perl libhtml-parser-perl libhtml-template-perl libhtml-template-compiled-perl libmime-tools-perl libsession-token-perl libtext-multimarkdown-perl libtext-unidecode-perl libtext-wikicreole-perl liburi-escape-xs-perl perlmagick sox libsox-fmt-all && \
|
||||
a2enmod perl && \
|
||||
service apache2 restart && \
|
||||
cpan App::cpanminus && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# RUN ["cpanm", "--force", "Image::Magick", "Image::Magick::Square" ]
|
||||
# RUN ["cpanm", "--force", "Apache2::Reload", "Apache2::Request", "Apache2::Upload", "Apache::DBI", "Authen::Passphrase", "Authen::Passphrase::BlowfishCrypt", "Calendar::Simple", "CGI", "CGI::Carp", "CGI::Cookie", "CGI::Session", "CGI::Simple", "Config::General", "Data::Dumper", "Date::Calc", "Date::Manip", "DateTime", "DBD::mysql", "DBI", "Digest::MD5", "Encode::Locale", "HTML::Entities", "HTML::FormatText", "HTML::Parse", "HTML::Template::Compiled", "HTML::Template::Compiled::Plugin::XMLEscape", "Image::Magick", "Image::Magick::Square", "JSON", "ModPerl::Util", "Session::Token", "Text::Diff::FormatedHtml", "Text::Markdown", "Text::WikiCreole", "URI::Escape" ]
|
||||
|
||||
# Copy your website files to the Apache document root (optional)
|
||||
COPY . /var/www/html/.
|
||||
COPY ./install/apache2-sites/calcms.conf /etc/apache2/sites-enabled/
|
||||
COPY ./website/agenda/config/config.cgi.off /var/www/html/website/config/config.cgi
|
||||
COPY ./website/agenda/config/config.cgi.off /var/www/html/website/agenda/config/config.cgi
|
||||
# Expose ports for Apache and MariaDB
|
||||
EXPOSE 80
|
||||
|
||||
# Start both Apache and MariaDB
|
||||
CMD service apache2 restart && \
|
||||
tail -f /var/log/apache2/access.log & tail -f /var/log/apache2/error.log
|
||||
24
docker/docker-compose.yml
Normal file
24
docker/docker-compose.yml
Normal file
@@ -0,0 +1,24 @@
|
||||
services:
|
||||
web:
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: ./docker/Dockerfile
|
||||
ports:
|
||||
- "80:80"
|
||||
#volumes:
|
||||
#- ../:/var/www/html/
|
||||
#- ./httpd.conf:/etc/apache2/sites-available/000-default.conf
|
||||
|
||||
db:
|
||||
image: mariadb:10
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: yourpassword
|
||||
#MYSQL_DATABASE: yourdatabase
|
||||
MYSQL_USER: test
|
||||
MYSQL_PASSWORD: test
|
||||
ports:
|
||||
- "3306:3306"
|
||||
volumes:
|
||||
- ../install/init.sql:/docker-entrypoint-initdb.d/01-init.sql
|
||||
#- ../install/create.sql:/docker-entrypoint-initdb.d/02-create.sql
|
||||
- ./calcms.sql:/docker-entrypoint-initdb.d/03-calcms.sql
|
||||
12
docker/initdb.sh
Executable file
12
docker/initdb.sh
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Call the original entrypoint script
|
||||
exec docker-entrypoint.sh
|
||||
|
||||
# Run the first script as root
|
||||
mariadb -h 127.0.0.1 -u root -p"$MYSQL_ROOT_PASSWORD" < /init/01-init.sql
|
||||
#
|
||||
## Run the second script as caladmin
|
||||
mariadb -h 127.0.0.1 -u calcms_admin -pcaladmin000 < /init/02-create.sql
|
||||
|
||||
@@ -6,9 +6,9 @@ LimitInternalRecursion 4
|
||||
# Redirect permanent /agenda/planung https://${domain}/agenda/planung
|
||||
|
||||
Define domain localhost
|
||||
Define base_dir /home/calcms/racalmas
|
||||
Define web_dir /home/calcms/racalmas/website/
|
||||
Define perl_lib /home/calcms/racalmas/lib
|
||||
Define base_dir /var/www/html
|
||||
Define web_dir /var/www/html/website/
|
||||
Define perl_lib /var/www/html/lib
|
||||
Define archive_dir /home/radio/archive/
|
||||
|
||||
# Redirect permanent /agenda/planung https://${domain}/agenda/planung
|
||||
@@ -23,19 +23,19 @@ Alias /programm ${web_dir}/programm
|
||||
Alias /agenda ${web_dir}/agenda
|
||||
|
||||
# image base
|
||||
Alias /media ${base_dir}/media
|
||||
Alias /media ${web_dir}/media
|
||||
|
||||
# icons
|
||||
Alias /images ${base_dir}/media/images
|
||||
|
||||
# thumbs
|
||||
Alias /thumbs ${base_dir}/media/thumbs
|
||||
Alias /thumbs ${web_dir}/media/thumbs
|
||||
|
||||
# icons
|
||||
Alias /icons ${base_dir}/media/icons
|
||||
Alias /icons ${web_dir}/media/icons
|
||||
|
||||
# audio upload
|
||||
Alias /recordings ${base_dir}/recordings
|
||||
Alias /recordings ${web_dir}/recordings
|
||||
|
||||
# audio download
|
||||
Alias /listen ${archive_dir}/${domain}
|
||||
|
||||
77
install/apache2-sites/coloradio.conf
Normal file
77
install/apache2-sites/coloradio.conf
Normal file
@@ -0,0 +1,77 @@
|
||||
# Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
|
||||
LogLevel info
|
||||
|
||||
# limit redirection on injecting into your website
|
||||
LimitInternalRecursion 4
|
||||
|
||||
Define domain localhost
|
||||
Define base_dir /var/www/html/
|
||||
Define perl_lib /var/www/html/lib/calcms
|
||||
Define web_dir /var/www/html/website/
|
||||
Define archive_dir /home/radio/archive/
|
||||
|
||||
# calcms endpoints for your website
|
||||
# frontend
|
||||
Alias /programm ${web_dir}/programm
|
||||
|
||||
# backend
|
||||
Alias /agenda ${web_dir}/agenda
|
||||
|
||||
# image base
|
||||
Alias /media ${web_dir}/media
|
||||
|
||||
# thumbs
|
||||
Alias /thumbs ${web_dir}/media/thumbs
|
||||
|
||||
# icons
|
||||
Alias /icons ${web_dir}/media/icons
|
||||
|
||||
# images
|
||||
Alias /images ${web_dir}/media/images
|
||||
|
||||
# audio upload
|
||||
Alias /recordings ${base_dir}/recordings
|
||||
|
||||
# audio download
|
||||
Alias /listen ${archive_dir}/${domain}
|
||||
|
||||
# upload playout status
|
||||
ScriptAlias /agenda/planung/upload ${archive_dir}/${domain}/agenda/planung/upload
|
||||
|
||||
<Directory ${web_dir}/agenda>
|
||||
AllowOverride All
|
||||
Options -Indexes +FollowSymLinks +MultiViews +ExecCGI
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
||||
<Directory ${web_dir}/programm>
|
||||
AllowOverride All
|
||||
Options -Indexes +FollowSymLinks -MultiViews -ExecCGI
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
||||
<Directory ${web_dir}/media>
|
||||
AllowOverride All
|
||||
Options -Indexes -FollowSymLinks -MultiViews -ExecCGI
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
||||
<IfModule mod_perl.c>
|
||||
PerlSetEnv LC_ALL en_US.UTF-8
|
||||
PerlSetEnv LANGUAGE en_US.UTF-8
|
||||
|
||||
PerlWarn On
|
||||
PerlModule ModPerl::RegistryPrefork
|
||||
|
||||
PerlModule Apache2::Reload
|
||||
PerlInitHandler Apache2::Reload
|
||||
|
||||
# set local tmp dir
|
||||
SetEnv TMPDIR ${base_dir}/tmp/
|
||||
|
||||
# set library directory
|
||||
PerlSetEnv PERL5LIB ${base_dir}/lib/calcms/
|
||||
|
||||
# preload libraries
|
||||
PerlPostConfigRequire ${base_dir}/lib/calcms/startup.pl
|
||||
</IfModule>
|
||||
@@ -19,6 +19,7 @@
|
||||
-- Table structure for table `calcms_audio_recordings`
|
||||
--
|
||||
|
||||
USE calcms;
|
||||
DROP TABLE IF EXISTS `calcms_audio_recordings`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
@@ -1532,7 +1533,7 @@ CREATE TABLE `calcms_user_series` (
|
||||
KEY `project_id` (`project_id`),
|
||||
KEY `studio_id` (`studio_id`),
|
||||
KEY `series_id` (`series_id`),
|
||||
KEY `user_id` (`user_id`),
|
||||
KEY `user_id` (`user_id`)
|
||||
) ENGINE=MyISAM AUTO_INCREMENT=1019 DEFAULT CHARSET=utf8mb3;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
@@ -1542,7 +1543,7 @@ CREATE TABLE `calcms_user_series` (
|
||||
|
||||
LOCK TABLES `calcms_user_series` WRITE;
|
||||
/*!40000 ALTER TABLE `calcms_user_series` DISABLE KEYS */;
|
||||
INSERT INTO `calcms_user_series` (`id`, `project_id`, `studio_id`, `series_id`, `user_id`, `active`, `modified_by`, `modified_at`) VALUES (800,1,1,1,4,'','ccAdmin','2023-02-19 20:15:03');
|
||||
INSERT INTO `calcms_user_series` (`id`, `project_id`, `studio_id`, `series_id`, `user_id`, `modified_by`, `modified_at`) VALUES (800,1,1,1,4,'ccAdmin','2023-02-19 20:15:03');
|
||||
/*!40000 ALTER TABLE `calcms_user_series` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
@@ -1816,3 +1817,5 @@ CHANGE COLUMN `email` `email` VARCHAR(100) NULL DEFAULT NULL ;
|
||||
|
||||
ALTER TABLE `calcms`.`calcms_user_selected_events`
|
||||
CHANGE COLUMN `user` `user` VARCHAR(100) NOT NULL ;
|
||||
|
||||
CREATE INDEX idx_covering ON calcms_events (start, end, id);
|
||||
|
||||
@@ -3,15 +3,15 @@ CREATE DATABASE IF NOT EXISTS calcms;
|
||||
CREATE DATABASE IF NOT EXISTS calcms_test;
|
||||
|
||||
--- Create admin user
|
||||
CREATE USER IF NOT EXISTS 'calcms_admin'@'localhost' IDENTIFIED BY 'caladmin000';
|
||||
GRANT ALL PRIVILEGES ON calcms.* TO 'calcms_admin'@'localhost';
|
||||
GRANT ALL PRIVILEGES ON calcms_test.* TO 'calcms_admin'@'localhost';
|
||||
CREATE USER IF NOT EXISTS 'calcms_admin'@'%' IDENTIFIED BY 'caladmin000';
|
||||
GRANT ALL PRIVILEGES ON calcms.* TO 'calcms_admin'@'%';
|
||||
GRANT ALL PRIVILEGES ON calcms_test.* TO 'calcms_admin'@'%';
|
||||
--- Create write user
|
||||
CREATE USER IF NOT EXISTS 'calcms_write'@'localhost' IDENTIFIED BY 'calwrite000';
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON calcms.* TO 'calcms_write'@'localhost';
|
||||
GRANT ALL PRIVILEGES ON calcms_test.* TO 'calcms_write'@'localhost';
|
||||
CREATE USER IF NOT EXISTS 'calcms_write'@'%' IDENTIFIED BY 'calwrite000';
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON calcms.* TO 'calcms_write'@'%';
|
||||
GRANT ALL PRIVILEGES ON calcms_test.* TO 'calcms_write'@'%';
|
||||
--- Create read user
|
||||
CREATE USER IF NOT EXISTS 'calcms_read'@'localhost' IDENTIFIED BY 'calread000';
|
||||
GRANT SELECT ON calcms.* TO 'calcms_read'@'localhost';
|
||||
GRANT ALL PRIVILEGES ON calcms_test.* TO 'calcms_read'@'localhost';
|
||||
CREATE USER IF NOT EXISTS 'calcms_read'@'%' IDENTIFIED BY 'calread000';
|
||||
GRANT SELECT ON calcms.* TO 'calcms_read'@'%';
|
||||
GRANT ALL PRIVILEGES ON calcms_test.* TO 'calcms_read'@'%';
|
||||
|
||||
|
||||
@@ -361,4 +361,6 @@ ADD COLUMN `week_of_month` INT UNSIGNED NULL AFTER `weekday`,
|
||||
ADD COLUMN `month` INT UNSIGNED NULL AFTER `week_of_month`,
|
||||
CHANGE COLUMN `frequency` `frequency` INT UNSIGNED NULL ;
|
||||
|
||||
update `calcms_studio_timeslot_schedule` set period_type = 'days' where period_type = '';
|
||||
update `calcms_studio_timeslot_schedule` set period_type = 'days' where period_type = '';
|
||||
|
||||
CREATE INDEX idx_covering ON calcms_events (start, end, id);
|
||||
@@ -86,9 +86,11 @@ sub insert ($$) {
|
||||
|
||||
$entry->{pid} = $$;
|
||||
$entry->{expires_at} = time::time_to_datetime( time() + $entry->{timeout} );
|
||||
|
||||
$config->{access}->{write} = 1;
|
||||
my $dbh = db::connect($config);
|
||||
return db::insert( $dbh, 'calcms_user_sessions', $entry );
|
||||
my $result = db::insert( $dbh, 'calcms_user_sessions', $entry );
|
||||
$config->{access}->{write} = 0;
|
||||
return $result;
|
||||
}
|
||||
|
||||
# start session and return generated session id
|
||||
@@ -176,6 +178,7 @@ sub update ($$) {
|
||||
|
||||
return undef unless defined $entry->{session_id};
|
||||
|
||||
$config->{access}->{write} = 1;
|
||||
my $dbh = db::connect($config);
|
||||
my @keys = sort keys %$entry;
|
||||
my $values = join( ",", map { $_ . '=?' } @keys );
|
||||
@@ -187,7 +190,9 @@ sub update ($$) {
|
||||
set $values
|
||||
where session_id=?
|
||||
};
|
||||
return db::put( $dbh, $query, \@bind_values );
|
||||
my $result = db::put( $dbh, $query, \@bind_values );
|
||||
$config->{access}->{write} = 0;
|
||||
return $result;
|
||||
}
|
||||
|
||||
#map schedule id to id
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
perl -I /home/calcms/lib/calcms update_program.pl
|
||||
perl -I /var/www/html/lib/calcms/update_program.pl
|
||||
#perl -I /home/radio/calcms/calcms aggregate.cgi date=today 2>/dev/null > /home/radio/radio/agenda/programm.html
|
||||
|
||||
@@ -8,8 +8,8 @@ use Date::Calc;
|
||||
use config;
|
||||
use template;
|
||||
|
||||
my $perlPath='-I /home/calcms/lib/calcms';
|
||||
my $configPath=$ARGV[0]||'/home/calcms/website/agenda/config/config.cgi';
|
||||
my $perlPath='-I /var/www/html/lib/calcms';
|
||||
my $configPath=$ARGV[0]||'/var/www/html/website/agenda/config/config.cgi';
|
||||
|
||||
unless (defined $config::config){
|
||||
config::get($configPath);
|
||||
|
||||
3
website/.htaccess
Normal file
3
website/.htaccess
Normal file
@@ -0,0 +1,3 @@
|
||||
RedirectMatch ^/$ /programm/
|
||||
RedirectMatch ^/agenda/?$ /programm/#programm
|
||||
RedirectMatch ^/datenschutzerklaerung/$ https://coloradio.org/?page_id=576
|
||||
@@ -1,14 +1,16 @@
|
||||
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteBase /agenda
|
||||
|
||||
RewriteEngine on
|
||||
|
||||
RewriteBase /agenda
|
||||
RewriteCond %{REQUEST_FILENAME} -f
|
||||
RewriteRule (.*) $1 [L]
|
||||
RewriteCond %{REQUEST_FILENAME} -d
|
||||
RewriteRule (.*) $1 [L]
|
||||
|
||||
RewriteRule ^kommentare/(\d+)/(\d{4}-\d{2}-\d{2}[T\+]\d{2}\:\d{2})(\:\d{2})?/(.*)$ comments.cgi?template=comments.html&event_id=$1&event_start=$2&sort_order=asc&$4 [L]
|
||||
RewriteRule ^neueste_kommentare/(.*)$ comments.cgi?template=comments_newest.html&limit=20&show_max=3&type=list&$1 [L]
|
||||
RewriteRule ^neueste_kommentare/(.*)$ comments.cgi?template=comments_newest.html&limit=400&show_max=40&type=list&$1 [L]
|
||||
RewriteRule ^feed_kommentare/(.*)$ comments.cgi?template=comments.xml&limit=20&$1 [L]
|
||||
RewriteRule ^kommentar_neu/(.*)$ add_comment.cgi?$1 [L]
|
||||
|
||||
@@ -18,7 +20,7 @@ RewriteRule ^sendung/(.*)$ events.cgi?$1 [L]
|
||||
RewriteRule ^sendungen/(\d{4}-\d{2}-\d{2})/(\d{4}-\d{2}-\d{2})/(\d)/(.*)$ events.cgi?template=event_list.html&from_date=$1&till_date=$2&weekday=$3&$4 [L]
|
||||
RewriteRule ^sendungen/(\d{4}-\d{2}-\d{2})/(\d{4}-\d{2}-\d{2})/(.*)$ events.cgi?template=event_list.html&from_date=$1&till_date=$2&$3 [L]
|
||||
RewriteRule ^sendungen/(\d{4}-\d{2}-\d{2})/(.*)$ events.cgi?template=event_list.html&date=$1&$2 [L]
|
||||
RewriteRule ^sendungen/heute/(.*)$ events.cgi?template=event_list.html&date=today&$1 [L]
|
||||
RewriteRule ^sendungen/heute/(.*)$ events.cgi?template=event_list_2.html&date=today&$1 [L]
|
||||
RewriteRule ^sendungen/(.*)$ events.cgi?$1 [L]
|
||||
|
||||
RewriteRule ^menu/(\d{4}-\d{2}-\d{2})/(\d{4}-\d{2}-\d{2})/(\d)/(.*)$ events.cgi?template=event_menu.html&from_date=$1&till_date=$2&weekday=$3&$4 [L]
|
||||
@@ -27,9 +29,9 @@ RewriteRule ^menu/(\d{4}-\d{2}-\d{2})/(.*)$ events.cgi?template=even
|
||||
RewriteRule ^menu/heute/(.*)$ events.cgi?template=event_menu.html&date=today&$1 [L]
|
||||
RewriteRule ^menu/(.*)$ events.cgi?$1 [L]
|
||||
|
||||
RewriteRule ^kalender/(\d{4}-\d{2}-\d{2})/$ cal.cgi?date=$1 [L]
|
||||
RewriteRule ^kalender/(\d{4}-\d{2}-\d{2})/(\d{4}-\d{2}-\d{2})/$ cal.cgi?from_date=$1&till_date=$2 [L]
|
||||
RewriteRule ^kalender/(.*)$ cal.cgi?$1 [L]
|
||||
RewriteRule ^kalender/(\d{4}-\d{2}-\d{2})/$ cal.cgi?date=$1&template=calendar.html&open_end=1 [L]
|
||||
RewriteRule ^kalender/(\d{4}-\d{2}-\d{2})/(\d{4}-\d{2}-\d{2})/$ cal.cgi?from_date=$1&till_date=$2&template=calendar.html&open_end=1 [L]
|
||||
RewriteRule ^kalender/(.*)$ cal.cgi?$1&template=calendar.html&open_end=1 [L]
|
||||
|
||||
RewriteRule ^sendereihen/(.*)$ series_names.cgi?$1 [L]
|
||||
|
||||
@@ -38,6 +40,7 @@ RewriteRule ^playlistLong/(.*)$ events.cgi?template=event_playlist_long.html&t
|
||||
RewriteRule ^playlistUtc/(.*)$ events.cgi?template=event_utc_time.json&limit=1
|
||||
|
||||
RewriteRule ^running_event/(.*)$ events.cgi?template=event_running.html&time=now&limit=1&$1 [L]
|
||||
RewriteRule ^running_event_id/(.*)$ events.cgi?template=event_running_id.html&time=now&limit=1&$1 [L]
|
||||
RewriteRule ^feed/(.*)$ events.cgi?template=event.atom.xml&time=future&limit=100&$1 [L]
|
||||
RewriteRule ^feed.xml[\?]?(.*)$ events.cgi?template=event.atom.xml&time=future&limit=100&$1 [L]
|
||||
RewriteRule ^atom/(.*)$ events.cgi?template=event.atom.xml&time=future&limit=100&$1 [L]
|
||||
@@ -79,12 +82,6 @@ RewriteRule ^freefm.xml$ events.cgi?template=event_freefm.xml&loc
|
||||
RewriteRule ^frrapo-programm.html$ events.cgi?location=potsdam&template=event_frrapo
|
||||
RewriteRule ^upload_playout_piradio$ upload_playout.cgi?project_id=1&studio_id=1
|
||||
|
||||
RewriteRule ^redaktionen-piradio$ series.cgi?project_id=1&location=piradio
|
||||
RewriteRule ^redaktionen-studio-ansage$ series.cgi?project_id=1&location=ansage
|
||||
RewriteRule ^redaktionen-frrapo$ series.cgi?project_id=1&location=potsdam
|
||||
RewriteRule ^redaktionen-colabo-radio$ series.cgi?project_id=1&location=colabo
|
||||
RewriteRule ^redaktionen-frb$ series.cgi?project_id=1&location=frb
|
||||
|
||||
</IfModule>
|
||||
|
||||
# MOD_PERL
|
||||
@@ -106,15 +103,3 @@ Options -Indexes +FollowSymLinks +MultiViews +ExecCGI
|
||||
</IfModule>
|
||||
|
||||
Require all granted
|
||||
|
||||
## compress
|
||||
#<IfModule mod_headers.c>
|
||||
# SetOutputFilter DEFLATE
|
||||
# SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|zip|mp3)$ no-gzip dont-vary
|
||||
# Header append Vary User-Agent env=!dont-vary
|
||||
#
|
||||
# <FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
|
||||
# Header set Cache-Control "max-age=600, public"
|
||||
# </FilesMatch>
|
||||
#</IfModule>
|
||||
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
#!/usr/bin/perl
|
||||
print "Content-type:text/plain\n\nAccess denies.";
|
||||
exit;
|
||||
__END__
|
||||
#print "Content-type:text/plain\n\nAccess denies.";
|
||||
#exit;
|
||||
#__END__
|
||||
|
||||
<config>
|
||||
|
||||
Define DOMAIN localhost
|
||||
Define BASE_DIR /home/calcms/racalmas/website
|
||||
Define BASE_DIR /var/www/html/website
|
||||
|
||||
# default project from database
|
||||
project my-project
|
||||
project coloradio
|
||||
domain ${DOMAIN}
|
||||
|
||||
<filter>
|
||||
@@ -100,7 +100,7 @@ domain ${DOMAIN}
|
||||
</permissions>
|
||||
|
||||
<access>
|
||||
hostname localhost
|
||||
hostname db
|
||||
port 3306
|
||||
database calcms
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 12 KiB |
@@ -1,88 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>calcms</title>
|
||||
<meta name="viewport" content="width=device-width; initial-scale=1; maximum-scale=1">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="Cache-Control" content="no-cache">
|
||||
<link rel="stylesheet" href="/css/style.css"> <!--calcms start-->
|
||||
<link rel="alternate" type="application/atom+xml" title="Sendeplan Atom" href="/agenda/atom/" />
|
||||
<link rel="alternate" type="application/rss+xml" title="Sendeplan RSS" href="/agenda/rss/" />
|
||||
<link rel="alternate" type="application/atom+xml" title="Sendekommentare" href="/agenda/feed_kommentare/" />
|
||||
<link rel="stylesheet" type="text/css" media="screen" href="/agenda/css/calcms.css" />
|
||||
<script type="text/javascript" src="/agenda/js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="/agenda/js/calcms.js"></script>
|
||||
<script type="text/javascript" src="/agenda/js/calcms.cust.js"></script>
|
||||
<!--calcms end-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="container">
|
||||
|
||||
<header id="header">
|
||||
<nav id="nav-main">
|
||||
<ul>
|
||||
<li><a href="/">home</a></li>
|
||||
<li><a href="/agenda/programm.html">schedule</a> </li>
|
||||
<li><a href="/agenda/planung/">editor</a></li>
|
||||
</ul>
|
||||
</header>
|
||||
|
||||
<div id="content">
|
||||
|
||||
<article >
|
||||
<!-- include daily schedule with excerpt -->
|
||||
<div id="calcms_list" class="content">bitte warten</div>
|
||||
</article>
|
||||
|
||||
<aside class="left">
|
||||
<center>
|
||||
|
||||
<h2>Programm</h2>
|
||||
<div class="content">
|
||||
<!-- include short list of schedules -->
|
||||
<div id="calcms_menu">bitte warten...</div>
|
||||
</div>
|
||||
|
||||
<h2>Kommende Sendung</h2>
|
||||
<div class="content">
|
||||
<!-- show coming shows -->
|
||||
<div id="calcms_playlist">bitte warten…</div>
|
||||
</div>
|
||||
|
||||
</center>
|
||||
</aside>
|
||||
|
||||
<aside class="right">
|
||||
<center>
|
||||
|
||||
<h2>Kalender</h2>
|
||||
<div class="content">
|
||||
<!-- show calendar -->
|
||||
<div id="calcms_calendar">bitte warten...</div>
|
||||
</div>
|
||||
|
||||
<h2>Suche</h2>
|
||||
<div class="content">
|
||||
<!-- calcms search start -->
|
||||
|
||||
<div id="calcms_search">
|
||||
<input id="calcms_search_field" name="search" value="" />
|
||||
<input value="suchen" onclick="calcms.selectSearchEventListener();return false;" type="button" />
|
||||
<a id="calcms_search_show_details" href="#" onclick="calcms.showAdvancedSearch('calcms_enhanced_search');return false;">erweitert</a><br />
|
||||
|
||||
<div id="calcms_enhanced_search" style="display: none;">
|
||||
Archiv
|
||||
<input type="checkbox" name="calcms_archive" id="calcms_archive" /><span id="calcms_categories"></span><span id="calcms_series_names"></span><span id="calcms_programs"></span>
|
||||
</div>
|
||||
</div> <!-- calcms search end -->
|
||||
|
||||
</div> <!-- calcms content end -->
|
||||
|
||||
</center>
|
||||
</aside>
|
||||
|
||||
<footer>calcms 2010 - 2023 by <a href="http://radiopiloten.de">http://radiopiloten.de</a></footer>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -264,14 +264,14 @@ var calcms_settings = new Array();
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
if (window.location.href.match(/\/programm\//)) scrollTo( $("h1"), -16,0 );
|
||||
//if (window.location.href.match(/\/programm\//)) scrollTo( $("h1"), -16,0 );
|
||||
initCalcms();
|
||||
initWordpress();
|
||||
calcms.showPlaylist();
|
||||
//initWordpress();
|
||||
//calcms.showPlaylist();
|
||||
calcms.showNewestComments();
|
||||
calcms.insertEditors();
|
||||
//calcms.insertEditors();
|
||||
initSearch();
|
||||
initEventScroll();
|
||||
//initEventScroll();
|
||||
console.log("calcms inited")
|
||||
});
|
||||
|
||||
|
||||
@@ -29,7 +29,6 @@ my $config = config::get('../config/config.cgi');
|
||||
my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
|
||||
return if ( ( !defined $user ) || ( $user eq '' ) );
|
||||
|
||||
#print STDERR $params->{project_id}."\n";
|
||||
my $user_presets = uac::get_user_presets(
|
||||
$config,
|
||||
{
|
||||
@@ -42,7 +41,6 @@ $params->{default_studio_id} = $user_presets->{studio_id};
|
||||
$params = uac::setDefaultStudio( $params, $user_presets );
|
||||
$params = uac::setDefaultProject( $params, $user_presets );
|
||||
|
||||
#print STDERR $params->{project_id}."\n";
|
||||
my $request = {
|
||||
url => $ENV{QUERY_STRING} || '',
|
||||
params => {
|
||||
@@ -80,7 +78,6 @@ sub show_events {
|
||||
uac::permissions_denied('read_events');
|
||||
return;
|
||||
}
|
||||
|
||||
my $events = getDates( $config, $request );
|
||||
$params->{events} = $events;
|
||||
$params->{total} = scalar(@$events);
|
||||
@@ -107,8 +104,6 @@ sub create_events {
|
||||
print STDERR "<pre>found " . ( scalar @$dates ) . " dates\n";
|
||||
my $events = [];
|
||||
for my $date (@$dates) {
|
||||
|
||||
#print STDERR $date->{start}."\n";
|
||||
push @$events, createEvent( $config, $request, $date );
|
||||
}
|
||||
$params->{events} = $events;
|
||||
|
||||
@@ -2,8 +2,19 @@ table#events{
|
||||
transition:all 2s;
|
||||
}
|
||||
|
||||
table#events.done{
|
||||
background:#cfc;
|
||||
table#events div.error{
|
||||
background: #f33;
|
||||
color:white;
|
||||
padding:1rem;
|
||||
width: 30rem;
|
||||
}
|
||||
|
||||
|
||||
table#events div.done{
|
||||
background: #3f3;
|
||||
color:white;
|
||||
padding:1rem;
|
||||
width: 30rem;
|
||||
}
|
||||
|
||||
table#events td:nth-of-type(1){
|
||||
|
||||
@@ -1,13 +1,20 @@
|
||||
function register_buttons() {
|
||||
$("#forms form").on('click', 'button', function( event ) {
|
||||
event.preventDefault();
|
||||
var form = $(this).closest('form');
|
||||
let form = $(this).closest('form');
|
||||
let formId = form.attr('id');
|
||||
let table = $('#' + formId+" table");
|
||||
let status = table.find("td.result div");
|
||||
status.text('').removeClass("error").removeClass("done");
|
||||
|
||||
$.post("notify-events.cgi", form.serialize())
|
||||
.done( function(data) {
|
||||
var content = $(data).find("#content");
|
||||
$('#result').html(content);
|
||||
var formId = form.attr('id');
|
||||
$('#' + formId+" table").addClass("done");
|
||||
.always( function(data) {
|
||||
if (data.includes("done")){
|
||||
status.text("ok").removeClass("error").addClass("done");
|
||||
} else {
|
||||
status.text(data).removeClass("ok").addClass("error");
|
||||
}
|
||||
table.find("tr.result").show();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ no warnings 'redefine';
|
||||
use utf8;
|
||||
|
||||
use Data::Dumper;
|
||||
use Try::Tiny;
|
||||
|
||||
use params();
|
||||
use config();
|
||||
@@ -53,11 +54,10 @@ my $request = {
|
||||
|
||||
#set user at params->presets->user
|
||||
$request = uac::prepare_request( $request, $user_presets );
|
||||
|
||||
$params = $request->{params}->{checked};
|
||||
|
||||
#show header
|
||||
unless ( params::isJson() || ( $params->{template} =~ /\.txt/ ) ) {
|
||||
unless ( params::isJson() || ( $params->{template} =~ /\.txt/ ) || $params->{action}eq'send' ) {
|
||||
my $headerParams = uac::set_template_permissions( $request->{permissions}, $params );
|
||||
$headerParams->{loc} = localization::get( $config, { user => $user, file => 'menu' } );
|
||||
template::process( $config, 'print', template::check( $config, 'default.html' ), $headerParams );
|
||||
@@ -162,8 +162,13 @@ sub sendMail {
|
||||
$mail->{Cc} = $params->{cc} if defined $params->{cc};
|
||||
$mail->{Subject} = $params->{subject} if defined $params->{subject};
|
||||
$mail->{Data} = $params->{content} if defined $params->{content};
|
||||
my $result = mail::send($mail);
|
||||
print "Content-type:text/plain\n\nresult:".Dumper($result);
|
||||
|
||||
try {
|
||||
my $result = mail::send($mail);
|
||||
print "Content-type:text/plain\n\ndone:$result\n";
|
||||
} catch {
|
||||
printf "Content-type:text/plain\n\nresult:%s\n", $_->{message} // $_;
|
||||
}
|
||||
}
|
||||
|
||||
sub getMail {
|
||||
@@ -214,8 +219,6 @@ sub eventToText {
|
||||
$s .= $event->{user_excerpt} . "\n";
|
||||
$s .= $event->{topic} . "\n";
|
||||
$s .= $event->{content} . "\n";
|
||||
|
||||
#print STDERR "DUMP\n$s";
|
||||
return $s;
|
||||
|
||||
}
|
||||
|
||||
@@ -28,3 +28,5 @@ msgstr "Inhalt"
|
||||
msgid "show_details"
|
||||
msgstr "Zeige Details"
|
||||
|
||||
msgid "result"
|
||||
msgstr "Ergebnis"
|
||||
|
||||
@@ -28,3 +28,5 @@ msgstr "Content"
|
||||
msgid "show_details"
|
||||
msgstr "Show Details"
|
||||
|
||||
msgid "result"
|
||||
msgstr "Result"
|
||||
|
||||
@@ -43,15 +43,15 @@
|
||||
<TMPL_IF playout><img src="image/play.svg" title="playout"></TMPL_IF>
|
||||
</td>
|
||||
|
||||
<TMPL_IF noRecipient>
|
||||
<TMPL_IF noRecipient>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Warning</td>
|
||||
<td><div class="error">no recipient configured at series!</div></td>
|
||||
</tr>
|
||||
<TMPL_ELSE>
|
||||
<tr>
|
||||
<td>Warning</td>
|
||||
<td><div class="error">no recipient configured at series!</div></td>
|
||||
</tr>
|
||||
<TMPL_ELSE>
|
||||
<td class="action"><button type="submit"><TMPL_VAR .loc.button_send></button></td>
|
||||
</tr>
|
||||
|
||||
@@ -63,12 +63,18 @@
|
||||
</tr>
|
||||
</TMPL_IF>
|
||||
|
||||
<tr class="result" style="display:none">
|
||||
<td><TMPL_VAR .loc.result></td>
|
||||
<td class="result"><div></div></td>
|
||||
</tr>
|
||||
|
||||
<TMPL_IF mail.Subject>
|
||||
<tr class="subject details">
|
||||
<td><TMPL_VAR .loc.subject></td>
|
||||
<td class="mailSubject"><input name="subject" value="<TMPL_VAR mail.Subject>"></td>
|
||||
</tr>
|
||||
</TMPL_IF>
|
||||
|
||||
<TMPL_IF mail.From>
|
||||
<tr class="details">
|
||||
<td><TMPL_VAR .loc.from></td>
|
||||
@@ -97,7 +103,7 @@
|
||||
</tr>
|
||||
</TMPL_IF>
|
||||
|
||||
</TMPL_IF>
|
||||
</TMPL_IF>
|
||||
</table>
|
||||
</form>
|
||||
</TMPL_LOOP>
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
<td>
|
||||
<button
|
||||
class="selectImage"
|
||||
onclick="selectImage('<TMPL_VAR name escape=javascript>', '<TMPL_VAR image escape=javascript>', 'studio', '<TMPL_VAR .project_id escape=js>','<TMPL_VAR .studio_id escape=js>'); return false;"
|
||||
onclick="selectImage('<TMPL_VAR name escape=javascript>', '<TMPL_VAR image escape=javascript>', 'studios', '<TMPL_VAR .project_id escape=js>','<TMPL_VAR .studio_id escape=js>'); return false;"
|
||||
>
|
||||
<img id="imagePreview" src="show-image.cgi?project_id=<TMPL_VAR .project_id escape=js>&studio_id=<TMPL_VAR .studio_id escape=js>&filename=<TMPL_VAR image escape=js>&type=icon">
|
||||
</button>
|
||||
|
||||
87
website/agenda/templates/coloradio/aura.xml
Normal file
87
website/agenda/templates/coloradio/aura.xml
Normal file
@@ -0,0 +1,87 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<import
|
||||
xmlns="https://roko.li/_schema/aura/import-0.1"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="https://roko.li/_schema/aura/import-0.1 import.xsd"
|
||||
version="0.1"
|
||||
>
|
||||
<created-at datetime="2024-10-11T02:28:16" timezone="Europe/Berlin">11. Oktober 2024</created-at>
|
||||
<!-- Das System aus dem dieses Dokument exportiert wurde (URL ist empfohlen). -->
|
||||
<exported-from>https:<TMPL_VAR base_domain></exported-from>
|
||||
<defaults>
|
||||
<import-operation>update-or-create</import-operation>
|
||||
</defaults>
|
||||
<payload>
|
||||
<episode id="DMF-1">
|
||||
<title><TMPL_VAR full_title></title>
|
||||
<summary><TMPL_VAR excerpt></summary>
|
||||
<description> <TMPL_VAR content ESCAPE=0><!-- TODO: find way to get description --> </description>
|
||||
|
||||
<created-at datetime="<TMPL_VAR created_at>" timezone="Europe/Berlin">11. Oktober 2024</created-at>
|
||||
|
||||
<!-- List of tags here, but do they exist? -->
|
||||
<tag>Sendung</tag>
|
||||
|
||||
<!-- Bild dieser Episode -->
|
||||
<image-ref ref="https:<TMPL_VAR base_domain><TMPL_VAR image_url>"/>
|
||||
|
||||
<!-- Mitwirkende an dieser Episode -->
|
||||
<contributor-ref ref="person-konrad"/>
|
||||
|
||||
<!-- Sprachen dieser Episode -->
|
||||
<language-ref ref="https://aura.roko.li/steering/api/v1/languages/20/"/>
|
||||
<language-ref ref="https://aura.roko.li/steering/api/v1/languages/9/"/>
|
||||
|
||||
<!-- Themen dieser Episode -->
|
||||
<topic-ref ref="https://aura.roko.li/steering/api/v1/topics/3/"/>
|
||||
<topic-ref ref="<TMPL_VAR topic ESCAPE=0"/>
|
||||
|
||||
<media>
|
||||
<!-- Dieses Playable wird direkt in AURA hochgeladen (HTTP Upload) -->
|
||||
<TMPL_IF media_url>
|
||||
<playable>
|
||||
<audio src="<TMPL_VAR media_url"/>
|
||||
</playable>
|
||||
</TMPL_IF>
|
||||
</media>
|
||||
</episode>
|
||||
|
||||
<license id="license-cc-by-sa-4.0">
|
||||
<identifier>CC-BY-SA</identifier>
|
||||
<needs-author>true</needs-author>
|
||||
</license>
|
||||
<license id="license-unsplash">
|
||||
<identifier>Unsplash</identifier>
|
||||
</license>
|
||||
|
||||
<topic id="topic-soziales">
|
||||
<name>Soziales</name>
|
||||
</topic>
|
||||
|
||||
<profile id="person-konrad">
|
||||
<name>Bastian Baltasar Bux</name>
|
||||
</profile>
|
||||
|
||||
<image id="image-01">
|
||||
<filename>28771759517_54ecd90cf9_o.jpg</filename>
|
||||
<author>Enrico Strocchi</author>
|
||||
<alt>Ein abgesägter und von Moos überzogener Baumstamm</alt>
|
||||
<license-ref ref="license-cc-by-sa-4.0"/>
|
||||
<img src="file:///28771759517_54ecd90cf9_o-800x.jpg"/>
|
||||
</image>
|
||||
|
||||
<image id="image-02">
|
||||
<filename>ilnur-kalimullin-KJedOlSAdO8-unsplash.jpg</filename>
|
||||
<author>Ilnur Kalimullin</author>
|
||||
<author-grants-use>true</author-grants-use>
|
||||
<alt>Große Balkons mit integrierten Pflanzenkübeln an einem Plattenbau</alt>
|
||||
<attribution>
|
||||
<![CDATA[Foto von <a href="https://unsplash.com/de/@kalimullin">Ilnur Kalimullin</a> auf <a href="https://unsplash.com/de/fotos/gebaude-aus-grauem-beton-KJedOlSAdO8">Unsplash</a>]]>
|
||||
</attribution>
|
||||
<license-ref ref="license-unsplash"/>
|
||||
<img src="file:///ilnur-kalimullin-KJedOlSAdO8-unsplash-800x.jpg"/>
|
||||
</image>
|
||||
</payload>
|
||||
</import>
|
||||
|
||||
|
||||
67
website/agenda/templates/coloradio/calendar.html
Normal file
67
website/agenda/templates/coloradio/calendar.html
Normal file
@@ -0,0 +1,67 @@
|
||||
Content-type:text/html; charset=UTF-8;
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Script-Type" content="javascript" />
|
||||
<meta http-equiv="Content-Style-Type" content="text/css" />
|
||||
<title>Calendar <TMPL_VAR project_title></title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<TMPL_UNLESS no_result>
|
||||
<TMPL_UNLESS no_search_result>
|
||||
|
||||
<div>
|
||||
<TMPL_IF debug>
|
||||
<div id="calendar_debug"></div>
|
||||
</TMPL_IF>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="first">
|
||||
<a href="<TMPL_VAR .widget_render_url>/<TMPL_VAR .controllers.calendar>/<TMPL_VAR previous_month>.html" onclick="calcms.selectMonthEventListener('<TMPL_VAR previous_month>');return false;"
|
||||
>«</a>
|
||||
</th>
|
||||
<th colspan="5" align="center">
|
||||
<a class="calmonthclick" href="<TMPL_VAR .widget_render_url>/<TMPL_VAR .controllers.calendar>/<TMPL_VAR start_date>_<TMPL_VAR end_date>.html"
|
||||
><TMPL_VAR start_month_name> <TMPL_VAR start_year></a>
|
||||
<!-- onclick="calcms.selectMonthEventListener('<TMPL_VAR start_date>');return false;" -->
|
||||
</th>
|
||||
<th class="last">
|
||||
<a href="<TMPL_VAR .widget_render_url>/<TMPL_VAR .controllers.calendar>/<TMPL_VAR next_month>.html" onclick="calcms.selectMonthEventListener('<TMPL_VAR next_month>');return false;"
|
||||
>»</a>
|
||||
</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<!--<th>Wo</th>
|
||||
-->
|
||||
<TMPL_LOOP weekdays><th><!--<a href="<TMPL_VAR .local_base_url>/<TMPL_VAR .controllers.events>/<TMPL_VAR start_date>/<TMPL_VAR end_date>/<TMPL_VAR weekday>/" onclick="calcms.selectDateRangeEventListener('<TMPL_VAR from_date>','<TMPL_VAR till_date>');return false;">--><TMPL_VAR "weekday_short_name"><!--</a>--></th></TMPL_LOOP>
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<TMPL_LOOP week_and_days>
|
||||
<tr>
|
||||
<!--
|
||||
<TMPL_LOOP week><th class="<TMPL_VAR class>"><a href="<TMPL_VAR .local_base_url>/<TMPL_VAR .controllers.events>/<TMPL_VAR from_date>/<TMPL_VAR till_date>/" title="Woche anzeigen" onclick="calcms.selectDateRangeEventListener('<TMPL_VAR from_date>','<TMPL_VAR till_date>');return false;" ><TMPL_VAR week_of_year></a></th></TMPL_LOOP>
|
||||
-->
|
||||
<TMPL_LOOP days><td class="<TMPL_VAR class>"><a class="caldayclick" href="<TMPL_VAR .widget_render_url>/<TMPL_VAR .controllers.events>/<TMPL_VAR date>.html" title="<TMPL_VAR day>.<TMPL_VAR month>. zeigen"
|
||||
><TMPL_VAR day></a></td>
|
||||
</TMPL_LOOP>
|
||||
|
||||
<!-- onclick="calcms.selectDateEventListener('<TMPL_VAR date>');return false;" -->
|
||||
</tr>
|
||||
</TMPL_LOOP>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</TMPL_UNLESS>
|
||||
</TMPL_UNLESS>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
83
website/agenda/templates/coloradio/calendar_js.html
Normal file
83
website/agenda/templates/coloradio/calendar_js.html
Normal file
@@ -0,0 +1,83 @@
|
||||
Content-type:text/html; charset=UTF-8;
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Script-Type" content="javascript" />
|
||||
<meta http-equiv="Content-Style-Type" content="text/css" />
|
||||
|
||||
<title>Calendar <TMPL_VAR project_title></title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div >
|
||||
<TMPL_IF debug>
|
||||
<div id="calendar_debug"></div>
|
||||
</TMPL_IF>
|
||||
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="190">
|
||||
<tr>
|
||||
<th class="first">
|
||||
<a href="<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.calendar>/<TMPL_VAR previous_month>.html"
|
||||
><</a>
|
||||
<!--onclick="calcms.selectMonthEventListener('<TMPL_VAR previous_month>');return false;"-->
|
||||
</th>
|
||||
<th colspan="6" width="180" align="center">
|
||||
<a href="<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.calendar>/<TMPL_VAR start_date>_<TMPL_VAR end_date>.html"
|
||||
>
|
||||
<TMPL_VAR start_month_name> <TMPL_VAR start_year>
|
||||
</a>
|
||||
<!--onclick="calcms.selectMonthEventListener('<TMPL_VAR start_date>');return false;"-->
|
||||
</th>
|
||||
<th class="last">
|
||||
<a href="<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.calendar>/<TMPL_VAR next_month>.html"
|
||||
>></a>
|
||||
</th>
|
||||
<!--onclick="calcms.selectMonthEventListener('<TMPL_VAR next_month>');return false;"-->
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Wo</th>
|
||||
<TMPL_LOOP NAME=weekdays>
|
||||
<th>
|
||||
<a href="<TMPL_VAR base_url>/<TMPL_VAR .controllers.events>/<TMPL_VAR start_date>/<TMPL_VAR end_date>/<TMPL_VAR weekday>/"
|
||||
onclick="calcms.selectWeekdayEventListener('<TMPL_VAR start_date>','<TMPL_VAR end_date>','<TMPL_VAR weekday>');return false;"
|
||||
>
|
||||
<TMPL_VAR "weekday_short_name">
|
||||
</a>
|
||||
</th>
|
||||
</TMPL_LOOP>
|
||||
</tr>
|
||||
|
||||
<TMPL_LOOP NAME=week_and_days>
|
||||
<tr>
|
||||
<TMPL_LOOP NAME=week>
|
||||
<th class="<TMPL_VAR class>">
|
||||
<a href="<TMPL_VAR base_url>/<TMPL_VAR .controllers.events>/<TMPL_VAR from_date>/<TMPL_VAR till_date>/"
|
||||
title="<TMPL_VAR description>"
|
||||
onclick="calcms.selectDateRangeEventListener('<TMPL_VAR from_date>','<TMPL_VAR till_date>');return false;"
|
||||
>
|
||||
<TMPL_VAR week_of_year>
|
||||
</a>
|
||||
</th>
|
||||
</TMPL_LOOP>
|
||||
|
||||
<TMPL_LOOP NAME=days>
|
||||
<td class="<TMPL_VAR class>">
|
||||
<TMPL_IF is_day>
|
||||
<a href="<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.events>/<TMPL_VAR date>.html"
|
||||
title="<TMPL_VAR description>"
|
||||
>
|
||||
<TMPL_VAR day>
|
||||
</a>
|
||||
<!--onclick="calcms.selectDateEventListener('<TMPL_VAR date>');return false;"-->
|
||||
</TMPL_IF>
|
||||
</td>
|
||||
</TMPL_LOOP>
|
||||
</tr>
|
||||
</TMPL_LOOP>
|
||||
</table>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
71
website/agenda/templates/coloradio/calendar_mobile.html
Normal file
71
website/agenda/templates/coloradio/calendar_mobile.html
Normal file
@@ -0,0 +1,71 @@
|
||||
Content-type:text/html; charset=UTF-8;
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Script-Type" content="javascript" />
|
||||
<meta http-equiv="Content-Style-Type" content="text/css" />
|
||||
|
||||
<title>Calendar <TMPL_VAR project_title></title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div >
|
||||
<TMPL_IF debug>
|
||||
<div id="calendar_debug"></div>
|
||||
</TMPL_IF>
|
||||
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<th class="first">
|
||||
<a href="<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.calendar>/<TMPL_VAR previous_month>.html"
|
||||
>«</a>
|
||||
</th>
|
||||
<th colspan="6" align="center">
|
||||
<a href="<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.calendar>/<TMPL_VAR start_date>_<TMPL_VAR end_date>.html"
|
||||
><TMPL_VAR start_month_name> <TMPL_VAR start_year></a>
|
||||
</th>
|
||||
<th class="last">
|
||||
<a href="<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.calendar>/<TMPL_VAR next_month>.html"
|
||||
>»</a>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Wo</th>
|
||||
<TMPL_LOOP NAME=weekdays>
|
||||
<th>
|
||||
<a href="<TMPL_VAR base_url>/<TMPL_VAR .controllers.events>/<TMPL_VAR start_date>/<TMPL_VAR end_date>/<TMPL_VAR weekday>/"
|
||||
onclick="calcms.selectWeekdayEventListener('<TMPL_VAR start_date>','<TMPL_VAR end_date>','<TMPL_VAR weekday>');return false;"
|
||||
><TMPL_VAR "weekday_short_name"></a>
|
||||
</th>
|
||||
</TMPL_LOOP>
|
||||
</tr>
|
||||
|
||||
<TMPL_LOOP NAME=week_and_days>
|
||||
<tr>
|
||||
<TMPL_LOOP NAME=week>
|
||||
<th class="<TMPL_VAR class>">
|
||||
<a href="<TMPL_VAR base_url>/<TMPL_VAR .controllers.events>/<TMPL_VAR from_date>/<TMPL_VAR till_date>/"
|
||||
title="<TMPL_VAR description>"
|
||||
onclick="calcms.selectDateRangeEventListener('<TMPL_VAR from_date>','<TMPL_VAR till_date>');return false;"
|
||||
><TMPL_VAR week_of_year></a>
|
||||
</th>
|
||||
</TMPL_LOOP>
|
||||
|
||||
<TMPL_LOOP NAME=days>
|
||||
<td class="<TMPL_VAR class>">
|
||||
<TMPL_IF is_day>
|
||||
<a href="<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.events>/<TMPL_VAR date>.html"
|
||||
title="<TMPL_VAR description>"
|
||||
><TMPL_VAR day></a>
|
||||
</TMPL_IF>
|
||||
</td>
|
||||
</TMPL_LOOP>
|
||||
</tr>
|
||||
</TMPL_LOOP>
|
||||
</table>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
34
website/agenda/templates/coloradio/categories.html
Normal file
34
website/agenda/templates/coloradio/categories.html
Normal file
@@ -0,0 +1,34 @@
|
||||
Content-type:text/html; charset=UTF-8;
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<body>
|
||||
<form id="calcms_projects" name="calcms_project">
|
||||
<select id="calcms_project" name="project"
|
||||
onchange="calcms.selectProject()"
|
||||
>
|
||||
<TMPL_LOOP projects><option value="<TMPL_VAR name escape=none>"><TMPL_VAR title></option>
|
||||
</TMPL_LOOP>
|
||||
</select>
|
||||
</form>
|
||||
|
||||
<TMPL_IF projects>
|
||||
<form id="calcmsCategoryForm" name="calcms_category">
|
||||
<TMPL_LOOP projects>
|
||||
<TMPL_UNLESS isEmpty>
|
||||
<select id="calcms_category_<TMPL_VAR js_name escape=none>" name="category_<TMPL_VAR js_name escape=none>"
|
||||
title="Kategorien durchsuchen"
|
||||
onchange="calcms.selectCategory('<TMPL_VAR name escape=js>', jQuery(this).val())"
|
||||
style="display:none;"
|
||||
>
|
||||
<option value="">- Kategorie -</option>
|
||||
<TMPL_LOOP categories><option value="<TMPL_VAR name escape=none>"<TMPL_VAR selected>><TMPL_VAR name> (<TMPL_VAR sum>)</option>
|
||||
</TMPL_LOOP>
|
||||
</select>
|
||||
</TMPL_UNLESS>
|
||||
</TMPL_LOOP>
|
||||
</form>
|
||||
</TMPL_IF>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
75
website/agenda/templates/coloradio/comments.html
Normal file
75
website/agenda/templates/coloradio/comments.html
Normal file
@@ -0,0 +1,75 @@
|
||||
Content-type:text/html; charset=UTF-8;
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Kommentare zu Sendungen - <TMPL_VAR project_title></title>
|
||||
<meta http-equiv="Content-Script-Type" content="javascript" />
|
||||
<meta http-equiv="Content-Style-Type" content="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<a name="comments" />
|
||||
|
||||
<TMPL_IF comments>
|
||||
|
||||
<br>
|
||||
<h4>
|
||||
|
||||
<div class="eventlist_kommentarzahl submitted<TMPL_IF comment_count> comments</TMPL_IF>">💬 <TMPL_VAR comment_count> <!--Kommentar<TMPL_UNLESS one_comment>e</TMPL_UNLESS>--></div>
|
||||
|
||||
<!--
|
||||
<a href="/agenda/feed_kommentare/" title="Kommentare als Feed abonnieren">
|
||||
<img src="<TMPL_VAR static_files_url>image/feed.png" style="float:none">
|
||||
</a>
|
||||
-->
|
||||
</h4>
|
||||
</TMPL_IF>
|
||||
<TMPL_LOOP comments>
|
||||
<div class="comment level<TMPL_VAR level>" style="float:clear;" >
|
||||
<a name="comment_<TMPL_VAR id>" />
|
||||
<div class="w1"><div class="w2"><div class="w3"><div class="w4">
|
||||
|
||||
<div class="content"><TMPL_VAR content escape=0></div>
|
||||
|
||||
<div class="comment_meta">
|
||||
<span class="author"><TMPL_VAR author escape=0></span>,
|
||||
<span class="date"><TMPL_VAR start_date_name> - <TMPL_VAR start_time_name></span>
|
||||
|
||||
<TMPL_IF allow.new_comments>
|
||||
<div class="kommentare_antwort_link_container">
|
||||
<a class="kommentare_antwort_link" href="#calcms_add_comment_<TMPL_VAR id>_anchor"
|
||||
onclick="calcms.showCommentForm('calcms_add_comment_<TMPL_VAR id>','<TMPL_VAR id>','<TMPL_VAR event_id>','<TMPL_VAR event_start>');return false;">antworten</a>
|
||||
</div>
|
||||
<div class="antwort_kommentar_input" id="calcms_add_comment_<TMPL_VAR id>"> </div>
|
||||
</TMPL_IF>
|
||||
</div>
|
||||
|
||||
</div></div></div></div>
|
||||
</div>
|
||||
|
||||
<div style="clear:both;"></div>
|
||||
</TMPL_LOOP>
|
||||
|
||||
<TMPL_IF allow.new_comments>
|
||||
<a href="#comments" class="add_new_comment_link"
|
||||
onclick="calcms.showCommentForm('calcms_add_comment','','<TMPL_VAR event_id>','<TMPL_VAR event_start>');return false;"
|
||||
>Neuen Kommentar schreiben</a>
|
||||
<div>
|
||||
<div id="calcms_add_comment" style="display:none;visibility:hidden;" > </div>
|
||||
</div>
|
||||
</TMPL_IF>
|
||||
|
||||
<TMPL_IF allow.new_comments>
|
||||
|
||||
<div style="clear:both"></div>
|
||||
|
||||
<!-- Button: Reload Page -->
|
||||
|
||||
<a class="reload_page" title="Neu laden" id="reload_<TMPL_VAR event_id>" href="#"></a>
|
||||
|
||||
<div style="clear:both"></div>
|
||||
|
||||
</TMPL_IF>
|
||||
|
||||
|
||||
</body>
|
||||
37
website/agenda/templates/coloradio/comments.xml
Normal file
37
website/agenda/templates/coloradio/comments.xml
Normal file
@@ -0,0 +1,37 @@
|
||||
Content-type:application/atom+xml; charset=UTF-8
|
||||
Access-Control-Allow-Origin: *
|
||||
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<feed xmlns='http://www.w3.org/2005/Atom' xmlns:gCal='http://schemas.google.com/gCal/2005'>
|
||||
<id><TMPL_VAR widget_render_url>comments</id>
|
||||
|
||||
<title type='text'><TMPL_VAR project_title> - Kommentare</title>
|
||||
<updated><TMPL_VAR created_at></updated>
|
||||
<category term='Radioprogramm'/>
|
||||
<subtitle type='text'>Das Schaerfste kommentiert noch</subtitle>
|
||||
|
||||
<author>
|
||||
<name><TMPL_VAR project_title></name>
|
||||
<email>info@radiopiloten.de</email>
|
||||
</author>
|
||||
<link rel='alternate' type='text/html' href='<TMPL_VAR widget_render_url>feed_kommentare/'/>
|
||||
<generator version='0.1' uri='http://radiopiloten.org'>calcms</generator>
|
||||
<gCal:timezone value='Europe/Berlin'/>
|
||||
<gCal:timesCleaned value='0'/>
|
||||
<TMPL_LOOP comments>
|
||||
<entry>
|
||||
<id><TMPL_VAR static_files_url><TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html#<TMPL_VAR event_uri escape=url><TMPL_VAR id></id>
|
||||
<published><TMPL_VAR created_at></published>
|
||||
<updated><TMPL_VAR created_at></updated>
|
||||
|
||||
<category term='Kommentar'/>
|
||||
<TMPL_IF short_content><title type='text'><TMPL_VAR short_content></title></TMPL_IF>
|
||||
<TMPL_IF content><summary type='text'><TMPL_VAR content></summary></TMPL_IF>
|
||||
<TMPL_IF content><content type='html'><![CDATA[<TMPL_VAR content>]]></content></TMPL_IF>
|
||||
|
||||
<link rel='alternate' type='text/html' href='<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event escape=url>/<TMPL_VAR event_id escape=url>.html#comment_<TMPL_VAR id escape=url>' title='alternate'/>
|
||||
<link rel='self' type='application/atom+xml' href='<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event escape=url>/<TMPL_VAR event_id escape=url>.html#comment_<TMPL_VAR id escape=url>'/>
|
||||
<author><name><TMPL_VAR author></name></author>
|
||||
</entry>
|
||||
</TMPL_LOOP>
|
||||
</feed>
|
||||
22
website/agenda/templates/coloradio/comments_newest.html
Normal file
22
website/agenda/templates/coloradio/comments_newest.html
Normal file
@@ -0,0 +1,22 @@
|
||||
Content-type:text/html; charset=UTF-8;
|
||||
Access-Control-Allow-Origin: *
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Neueste Kommentare zu Sendungen - <TMPL_VAR project_title></title>
|
||||
<meta http-equiv="Content-Script-Type" content="javascript" />
|
||||
<meta http-equiv="Content-Style-Type" content="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="sendungen">
|
||||
</div>
|
||||
<TMPL_LOOP comments>
|
||||
<a id="event_list_id_<TMPL_VAR event_id>" class="click_for_detail" href="<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html#comments">
|
||||
<div class="comments level<TMPL_VAR level>">
|
||||
<span class="author"><TMPL_VAR author escape=none></span>:
|
||||
<span class="content"><TMPL_VAR short_content escape=none></span>
|
||||
</a>
|
||||
</div>
|
||||
</TMPL_LOOP>
|
||||
</body>
|
||||
2
website/agenda/templates/coloradio/default.html
Normal file
2
website/agenda/templates/coloradio/default.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<TMPL_INCLUDE header.html>
|
||||
|
||||
46
website/agenda/templates/coloradio/event.atom.xml
Normal file
46
website/agenda/templates/coloradio/event.atom.xml
Normal file
@@ -0,0 +1,46 @@
|
||||
Content-type:application/atom+xml; charset=UTF-8
|
||||
Access-Control-Allow-Origin: *
|
||||
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<feed xmlns='http://www.w3.org/2005/Atom' xmlns:gCal='http://schemas.google.com/gCal/2005'>
|
||||
<id><TMPL_VAR widget_render_url></id>
|
||||
|
||||
<title type='text'><TMPL_VAR project_title></title>
|
||||
<updated><TMPL_VAR modified_at></updated>
|
||||
<category term='<TMPL_VAR location_mapped>'/>
|
||||
<subtitle type='text'><TMPL_VAR project_subtitle></subtitle>
|
||||
|
||||
<author>
|
||||
<name><TMPL_VAR project_title></name>
|
||||
<email><TMPL_VAR project_email></email>
|
||||
</author>
|
||||
<link rel='alternate' type='text/html' href='<TMPL_VAR source_base_url>'/>
|
||||
<link rel='self' type='application/atom+xml' href='<TMPL_VAR widget_render_url>/feed/'/>
|
||||
|
||||
<generator version='0.1' uri='http://radiopiloten.de'>calcms</generator>
|
||||
<gCal:timezone value='<TMPL_VAR time_zone>'/>
|
||||
<gCal:timesCleaned value='0'/>
|
||||
<TMPL_LOOP events>
|
||||
<entry>
|
||||
<id><TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html</id>
|
||||
<published><TMPL_VAR created_at></published>
|
||||
<updated><TMPL_VAR modified_at></updated>
|
||||
|
||||
<category term='Sendung'/>
|
||||
<title type='text'><TMPL_VAR weekday_short_name>, <TMPL_VAR start_date_name> - <TMPL_VAR start_time_name> - <TMPL_VAR end_time_name> | <TMPL_VAR full_title></title>
|
||||
<summary type='text'><TMPL_VAR excerpt></summary>
|
||||
<content type='html'><![CDATA[<TMPL_VAR weekday_short_name>, <TMPL_VAR start_date_name> - <TMPL_VAR start_time_name> - <TMPL_VAR end_time_name> | <TMPL_VAR full_title><p><TMPL_VAR content_html>]]></content>
|
||||
|
||||
<link rel='alternate' type='text/html' href='<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html#<TMPL_VAR event_uri escape=url>' title='alternate'/>
|
||||
<link rel='self' type='application/atom+xml' href='<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html#<TMPL_VAR event_uri escape=url>'/>
|
||||
<TMPL_IF media_url><link rel="enclosure" type="audio/mpeg" href="<TMPL_VAR media_url>"/>
|
||||
</TMPL_IF>
|
||||
<TMPL_IF project_title><author>
|
||||
<name><TMPL_VAR project_title></name>
|
||||
<email><TMPL_VAR project_email></email>
|
||||
</author>
|
||||
</TMPL_IF>
|
||||
|
||||
</entry>
|
||||
</TMPL_LOOP>
|
||||
</feed>
|
||||
48
website/agenda/templates/coloradio/event.ics
Normal file
48
website/agenda/templates/coloradio/event.ics
Normal file
@@ -0,0 +1,48 @@
|
||||
Content-Type:text/calendar; charset="UTF-8"
|
||||
Content-Disposition: attachment; filename="<TMPL_VAR project_title>-programm.ics"
|
||||
Access-Control-Allow-Origin: *
|
||||
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//calcms//DE
|
||||
VERSION:2.0
|
||||
CALSCALE:GREGORIAN
|
||||
METHOD:PUBLISH
|
||||
X-WR-CALNAME:<TMPL_VAR project_title> Programm (ical)
|
||||
X-WR-TIMEZONE:<TMPL_VAR time_zone>
|
||||
X-WR-CALDESC:
|
||||
BEGIN:VTIMEZONE
|
||||
TZID:<TMPL_VAR time_zone>
|
||||
X-LIC-LOCATION:<TMPL_VAR time_zone>
|
||||
BEGIN:DAYLIGHT
|
||||
TZOFFSETFROM:+0100
|
||||
TZOFFSETTO:+0200
|
||||
TZNAME:CEST
|
||||
DTSTART:19700329T020000
|
||||
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
|
||||
END:DAYLIGHT
|
||||
BEGIN:STANDARD
|
||||
TZOFFSETFROM:+0200
|
||||
TZOFFSETTO:+0100
|
||||
TZNAME:CET
|
||||
DTSTART:19701025T030000
|
||||
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
|
||||
END:STANDARD
|
||||
END:VTIMEZONE
|
||||
<TMPL_LOOP NAME=events><TMPL_IF NAME=dtstart>BEGIN:VEVENT
|
||||
DTSTART;TZID=<TMPL_VAR time_zone>:<TMPL_VAR NAME=dtstart>
|
||||
<TMPL_IF NAME=dtend>DTEND;TZID=<TMPL_VAR time_zone>:<TMPL_VAR NAME=dtend>
|
||||
</TMPL_IF>DTSTAMP;TZID=<TMPL_VAR time_zone>:<TMPL_VAR modified_at>
|
||||
UID:<TMPL_VAR NAME=event_id>
|
||||
CLASS:PUBLIC
|
||||
CREATED;TZID=<TMPL_VAR time_zone>:<TMPL_VAR created_at>
|
||||
DESCRIPTION:<TMPL_VAR NAME=content_ical>
|
||||
LAST-MODIFIED;TZID=<TMPL_VAR time_zone>:<TMPL_VAR modified_at>
|
||||
LOCATION:<TMPL_VAR location_mapped>
|
||||
SEQUENCE:0
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:<TMPL_VAR full_title> - coloRadio
|
||||
URL:<TMPL_VAR base_url><TMPL_VAR .controllers.domain><TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html#<TMPL_VAR event_uri>
|
||||
TRANSP:OPAQUE
|
||||
CATEGORIES:<TMPL_VAR project_title>
|
||||
END:VEVENT
|
||||
</TMPL_IF></TMPL_LOOP>END:VCALENDAR
|
||||
65
website/agenda/templates/coloradio/event.json-p
Normal file
65
website/agenda/templates/coloradio/event.json-p
Normal file
@@ -0,0 +1,65 @@
|
||||
Content-type:application/json; charset=UTF-8
|
||||
Access-Control-Allow-Origin: *
|
||||
|
||||
if(typeof(Feed) == 'undefined') Feed = {};
|
||||
Feed = {
|
||||
"version" : "1.0",
|
||||
"encoding" : "UTF-8",
|
||||
"feed" : {
|
||||
"xmlns" : "http://www.w3.org/2005/Atom",
|
||||
"xmlns$openSearch" : "http://a9.com/-/spec/opensearchrss/1.0/",
|
||||
"id" : { "$t" : "<TMPL_VAR source_base_url>" },
|
||||
"updated" : { "$t" : "<TMPL_VAR modified_at>" },
|
||||
"title" : {
|
||||
"type" : "text",
|
||||
"$t" : "<TMPL_VAR project_title> Sendeplan>"
|
||||
},
|
||||
"subtitle" : {
|
||||
"type" : "text",
|
||||
"$t" : "<TMPL_VAR project_subtitle>"
|
||||
},
|
||||
"author" : [ {
|
||||
"name": { "$t" : "<TMPL_VAR project>" },
|
||||
"email" : { "$t" : "<TMPL_VAR project_email>" }
|
||||
} ],
|
||||
"link" : [ {
|
||||
"rel" : "alternate",
|
||||
"type" : "text/html",
|
||||
"href" : "<TMPL_VAR <TMPL_VAR source_base_url>"
|
||||
} ],
|
||||
"generator" : {
|
||||
"version" : "0.1",
|
||||
"uri" : "<TMPL_VAR <TMPL_VAR source_base_url>>",
|
||||
"$t" : "calcms"
|
||||
},
|
||||
"openSearch$totalResults" : { "$t" : "<TMPL_VAR event_count>" },
|
||||
<TMPL_LOOP events>
|
||||
"entry" : [ {
|
||||
"id" : { "$t" : "<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html/" },
|
||||
"published" : { "$t": "<TMPL_VAR created_at>" },
|
||||
"updated" : { "$t": "<TMPL_VAR modified_at>" },
|
||||
"category" : [ {
|
||||
"scheme" : "http://www.blogger.com/atom/ns#",
|
||||
"term" : "Sendung"
|
||||
} ],
|
||||
"title" : {
|
||||
"type" : "text",
|
||||
"$t" : "<TMPL_VAR weekday_short_name>, <TMPL_VAR start_date_name> - <TMPL_VAR start_time_name> - <TMPL_VAR end_time_name> | <TMPL_VAR full_title>"
|
||||
},
|
||||
"link" : [ {
|
||||
"rel" : "alternate",
|
||||
"type" : "text/html",
|
||||
"href" : "<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html#<TMPL_VAR event_uri>"
|
||||
},{
|
||||
"rel" : "self",
|
||||
"type" : "application/atom+xml",
|
||||
"href" : "<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html#<TMPL_VAR event_uri>"
|
||||
} ],
|
||||
"author" : [ {
|
||||
"name" : { "$t" : "<TMPL_VAR project_email>" },
|
||||
"email" : { "$t" : "<TMPL_VAR project_email>" }
|
||||
} ]
|
||||
} ]
|
||||
<TMPL_UNLESS NAME="__last__">,</TMPL_UNLESS>
|
||||
</TMPL_LOOP>
|
||||
}}
|
||||
37
website/agenda/templates/coloradio/event.rss.xml
Normal file
37
website/agenda/templates/coloradio/event.rss.xml
Normal file
@@ -0,0 +1,37 @@
|
||||
Content-type:application/rss+xml; charset=UTF-8
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/">
|
||||
|
||||
<channel>
|
||||
<atom:link href="http:<TMPL_VAR base_domain><TMPL_VAR widget_render_url>/rss" rel="self" type="application/rss+xml" />
|
||||
<link>http:<TMPL_VAR base_domain><TMPL_VAR widget_render_url>/event.rss.xml</link>
|
||||
<title><TMPL_VAR project_title></title>
|
||||
<description><TMPL_VAR project_subtitle></description>
|
||||
<language>de-de</language>
|
||||
<copyright><TMPL_VAR project_title>, <TMPL_VAR project_email></copyright>
|
||||
<pubDate><TMPL_VAR modified_at></pubDate>
|
||||
<ttl>3600</ttl>
|
||||
<image>
|
||||
<url>http:<TMPL_VAR base_domain>sites/default/files/images/piradio-logo-kreis.preview.gif</url>
|
||||
<link>http:<TMPL_VAR base_domain><TMPL_VAR widget_render_url>/event.rss.xml</link>
|
||||
<title><TMPL_VAR project_title></title>
|
||||
</image>
|
||||
|
||||
|
||||
<TMPL_LOOP events>
|
||||
<item>
|
||||
<title><TMPL_VAR weekday_short_name>, <TMPL_VAR start_date_name> - <TMPL_VAR start_time_name> - <TMPL_VAR end_time_name> | <TMPL_VAR full_title></title>
|
||||
<description><TMPL_VAR excerpt></description>
|
||||
<link>http:<TMPL_VAR base_domain><TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html#<TMPL_VAR event_uri escape=url></link>
|
||||
<guid>http:<TMPL_VAR base_domain><TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html</guid>
|
||||
<pubDate><TMPL_VAR modified_at></pubDate>
|
||||
<comments>http:<TMPL_VAR base_domain><TMPL_VAR cache_base_domain>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html#comments</comments>
|
||||
<media:content url="http:<TMPL_VAR base_domain><TMPL_VAR image_url>" medium="image">
|
||||
<media:title type="html"><TMPL_VAR full_title></media:title>
|
||||
</media:content>
|
||||
|
||||
</item>
|
||||
</TMPL_LOOP>
|
||||
</channel>
|
||||
</rss>
|
||||
164
website/agenda/templates/coloradio/event_details.html
Normal file
164
website/agenda/templates/coloradio/event_details.html
Normal file
@@ -0,0 +1,164 @@
|
||||
Content-type:text/html; charset=utf-8;
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<body>
|
||||
|
||||
<TMPL_UNLESS no_result>
|
||||
<TMPL_UNLESS no_search_result>
|
||||
|
||||
<div>
|
||||
<TMPL_LOOP NAME=events>
|
||||
<TMPL_IF event_id>
|
||||
|
||||
<span class="summary title" title="Mehr Infos zur Sendung" >
|
||||
|
||||
<!-- Sendestart -->
|
||||
<!--<TMPL_VAR start_time_name>-->
|
||||
|
||||
<!-- Titel der Sendung -->
|
||||
|
||||
<!--<a href="<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html#<TMPL_VAR event_uri escape=url>" >-->
|
||||
|
||||
<h1><TMPL_VAR full_title></h1>
|
||||
|
||||
<!--</a>-->
|
||||
|
||||
<!-- Location -->
|
||||
|
||||
<!--<span style="float:right;font-weight:100"><TMPL_IF location_mapped><TMPL_VAR location_mapped></TMPL_IF></span>-->
|
||||
</span>
|
||||
|
||||
<div class="excerpt">
|
||||
|
||||
<!--
|
||||
<TMPL_VAR excerpt> <TMPL_VAR user_excerpt>
|
||||
|
||||
<TMPL_IF excerpt>
|
||||
<hr>
|
||||
<TMPL_ELSE>
|
||||
<TMPL_IF user_excerpt>
|
||||
<hr>
|
||||
</TMPL_IF>
|
||||
</TMPL_IF>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<TMPL_IF no_image_in_text>
|
||||
<p>
|
||||
<a href="<TMPL_VAR image_url>">
|
||||
<img alt="<TMPL_VAR series_name>" src="<TMPL_VAR thumb_url>">
|
||||
</a>
|
||||
</p>
|
||||
</TMPL_IF>
|
||||
-->
|
||||
|
||||
<!-- Sendezeit: Start & Ende -->
|
||||
|
||||
<TMPL_IF name="is_first_of_day">
|
||||
<div class="date">
|
||||
<TMPL_VAR weekday_short_name>, <TMPL_VAR start_date_name>
|
||||
<!--<TMPL_IF project_title> - <TMPL_VAR project_title></TMPL_IF>-->
|
||||
|
||||
<!-- ICAL EVENT -->
|
||||
|
||||
<div class="ical_event">
|
||||
<a href="<TMPL_VAR .controllers.domain><TMPL_VAR .controllers.ical>/<TMPL_VAR event_id>/<TMPL_IF series_name><TMPL_VAR series_name escape=url>-</TMPL_IF><TMPL_VAR title escape=url>.ics" title="Termin merken"><!--<img width="16" height="16" alt="ICalendar" src="<TMPL_VAR static_files_url>images/ical.png" />-->im Kalender speichern</a>
|
||||
</div>
|
||||
</div>
|
||||
</TMPL_IF>
|
||||
|
||||
<div style="clear:both"></div>
|
||||
|
||||
<div class="event_time">
|
||||
<TMPL_VAR start_time_name> <TMPL_IF name="__last__"> - <TMPL_VAR end_time_name></TMPL_IF>
|
||||
</div>
|
||||
|
||||
<TMPL_IF is_running> (läuft gerade)</TMPL_IF>
|
||||
|
||||
|
||||
<!-- ICAL ALLE SENDUNGEN DES MONATS -->
|
||||
|
||||
<div id="icon_bar" style="display:none;">
|
||||
<a href="<TMPL_VAR .controllers.domain><TMPL_VAR .controllers.ical>/<TMPL_VAR month>/" title="alle Sendungen des Monats merken"><img width="16" height="16" alt="Icalendar" src="<TMPL_VAR static_files_url>images/icals.png" /></a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<TMPL_IF recurrence_date><a href="<TMPL_VAR recurrence>.html">Wiederholung vom <TMPL_VAR recurrence_date></a></TMPL_IF>
|
||||
|
||||
<div style="clear:both"></div>
|
||||
|
||||
<!-- Sendungsbild -->
|
||||
|
||||
<TMPL_IF thumb_url>
|
||||
<img alt="<TMPL_VAR series_name>" src="<TMPL_VAR thumb_url>">
|
||||
</TMPL_IF>
|
||||
|
||||
<!-- Detailierte Beschreibung -->
|
||||
|
||||
<div class="detailbeschreibung">
|
||||
<TMPL_VAR topic ESCAPE=0><TMPL_VAR content ESCAPE=0>
|
||||
<div>
|
||||
|
||||
<!-- is the event live or preproduced : tinyint(1) unsigned -->
|
||||
|
||||
<div class="live_or_preproduced" id="is_live_<TMPL_VAR live>">
|
||||
<TMPL_IF live>
|
||||
Eine LIVE-Sendung. Das Studiotelefon hat die Nummer 0351 / 32 05 47 11.
|
||||
<TMPL_ELSE>
|
||||
Vorproduzierte Sendung, findet nicht live im Studio statt
|
||||
</TMPL_IF>
|
||||
</div>
|
||||
|
||||
<!-- AUDIO URLS -->
|
||||
|
||||
<TMPL_IF media_url>
|
||||
<a class="playfile" href="<TMPL_VAR media_url>"><img style="width:19px;height:19px;margin-bottom:-3px;margin-left:1px;" src="/agenda/img/player/play-button-64px-D13030.png" alt="playbutton">broadcast audio URL</a><br>
|
||||
</TMPL_IF>
|
||||
|
||||
<!-- Podcast URL : hat die Sendung einen eigenen Podcast? Wenn ja, kann mit dieser URL abonniert werden. -->
|
||||
|
||||
<TMPL_IF podcast_url>
|
||||
<a href="<TMPL_VAR podcast_url>"><img style="width:19px;height:19px;margin-bottom:-3px;margin-left:1px;" src="/agenda/img/player/play-button-64px-D13030.png" alt="playbutton">Podcast der Sendung abonnieren</a><br>
|
||||
</TMPL_IF>
|
||||
|
||||
<!-- Link zum Archiv der Sendung -->
|
||||
|
||||
<TMPL_IF archive_url>
|
||||
<a class="archive_url" href="http:<TMPL_VAR archive_url>" target="_blank"><TMPL_VAR archive_url></a><br>
|
||||
</TMPL_IF>
|
||||
|
||||
<div style="clear:both"></div>
|
||||
|
||||
<!-- Permalink -->
|
||||
|
||||
<a class="permalink" href="<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html#<TMPL_VAR event_uri escape=url>">Permalink</a>
|
||||
|
||||
<div style="clear:both"></div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="calcms_comments">
|
||||
|
||||
<script>
|
||||
jQuery(document).ready(
|
||||
function() {
|
||||
calcms.showCommentsByEventIdOrEventStart('<TMPL_VAR event_id>','<TMPL_VAR start_datetime>');
|
||||
}
|
||||
);
|
||||
</script>
|
||||
</div>
|
||||
|
||||
</TMPL_IF>
|
||||
</TMPL_LOOP>
|
||||
</div>
|
||||
|
||||
</TMPL_UNLESS>
|
||||
</TMPL_UNLESS>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
80
website/agenda/templates/coloradio/event_details_orig.html
Normal file
80
website/agenda/templates/coloradio/event_details_orig.html
Normal file
@@ -0,0 +1,80 @@
|
||||
Content-type:text/html; charset=utf-8;
|
||||
|
||||
<!DOCTYPE html>
|
||||
<TMPL_IF extern_access><TMPL_INCLUDE ../index.html>gesucht und gefunden...<TMPL_ELSE>
|
||||
<html>
|
||||
<body>
|
||||
<TMPL_IF no_result>
|
||||
<div id="is_empty">
|
||||
<TMPL_IF search>
|
||||
<TMLP_VAR count> Treffer:
|
||||
</TMPL_IF>
|
||||
</div>
|
||||
</TMPL_IF>
|
||||
|
||||
<TMPL_LOOP events>
|
||||
<div class="vevent">
|
||||
<span class="dtstart"><TMPL_VAR start></span>
|
||||
<TMPL_IF NAME=end><span class="dtend"><TMPL_VAR end></span></TMPL_IF>
|
||||
<span class="location"><TMPL_VAR location_mapped></span>
|
||||
|
||||
<div class="date<TMPL_IF is_running> running</TMPL_IF>">
|
||||
<TMPL_IF is_running> ... Diese Sendung läuft gerade ...<p></TMPL_IF>
|
||||
|
||||
<h1 class="summary title">
|
||||
<TMPL_IF series_name>
|
||||
<a href="#" onclick="calcms.showPrevSeriesEvent(<TMPL_VAR event_id>)" title="vorherige Sendung">«</a><TMPL_VAR series_name><a href="#" onclick="calcms.showNextSeriesEvent(<TMPL_VAR event_id>)" title="nächste Sendung">»</a>
|
||||
</TMPL_IF>
|
||||
<TMPL_VAR full_title_no_series>
|
||||
|
||||
<div style="font-size:1rem">
|
||||
<TMPL_VAR weekday_name>, <TMPL_VAR start_date_name>,
|
||||
<span style="font-size:1.5rem"><TMPL_VAR start_time_name></span> bis <TMPL_VAR end_time_name> Uhr
|
||||
</div>
|
||||
|
||||
</h1>
|
||||
|
||||
<TMPL_IF program> (<TMPL_VAR program>)</TMPL_IF>
|
||||
</div>
|
||||
<div class="content" >
|
||||
<TMPL_VAR excerpt > <TMPL_VAR user_excerpt >
|
||||
<TMPL_IF excerpt><hr><TMPL_ELSE><TMPL_IF user_excerpt><hr></TMPL_IF></TMPL_IF>
|
||||
<TMPL_IF no_image_in_text>
|
||||
<p>
|
||||
<a href="<TMPL_VAR image_url>">
|
||||
<img alt="<TMPL_VAR series_name>" src="<TMPL_VAR thumb_url>">
|
||||
</a>
|
||||
</p>
|
||||
</TMPL_IF>
|
||||
<TMPL_VAR topic ESCAPE=0><TMPL_VAR content ESCAPE=0>
|
||||
<TMPL_IF recurrence_date><a href="<TMPL_VAR recurrence>.html">Wiederholung vom <TMPL_VAR recurrence_date></a></TMPL_IF>
|
||||
|
||||
<a class="playfile" href="<TMPL_VAR media_url>"><img style="width:19px;height:19px;margin-bottom:-3px;margin-left:1px;" src="/agenda/img/player/play-button-64px-D13030.png" alt="playbutton">broadcast audio URL</a><br>
|
||||
<a class="playfile" href="<TMPL_VAR podcast_url>"><img style="width:19px;height:19px;margin-bottom:-3px;margin-left:1px;" src="/agenda/img/player/play-button-64px-D13030.png" alt="playbutton">podcast URL</a><br>
|
||||
<a class="playfile" href="<TMPL_VAR archive_url>"><img style="width:19px;height:19px;margin-bottom:-3px;margin-left:1px;" src="/agenda/img/player/play-button-64px-D13030.png" alt="playbutton">audio archive URL</a><br>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="icon_bar" style="display:none;">
|
||||
|
||||
<a href="<TMPL_VAR .controllers.domain><TMPL_VAR .controllers.atom>/radio.atom.xml" title="Sendeplan abonnieren - Atom"><img width="16" height="16" alt="Atom Feed" src="<TMPL_VAR static_files_url>image/feed.png" /></a>
|
||||
<a href="<TMPL_VAR .controllers.domain><TMPL_VAR .controllers.rss>/radio.rss.xml" title="Sendeplan abonnieren - RSS"><img width="16" height="16" alt="RSS Feed" src="<TMPL_VAR static_files_url>image/feed.png" /></a>
|
||||
<a href="<TMPL_VAR .controllers.domain><TMPL_VAR .controllers.ical>/<TMPL_VAR event_id>/<TMPL_IF series_name><TMPL_VAR series_name escape=url>-</TMPL_IF><TMPL_VAR title escape=url>.ics" title="Termin merken"><img width="16" height="16" alt="ICalendar" src="<TMPL_VAR static_files_url>images/ical.png" /></a>
|
||||
</div>
|
||||
|
||||
<div id="calcms_comments">
|
||||
<script>
|
||||
jQuery(document).ready(
|
||||
function() {
|
||||
calcms.showCommentsByEventIdOrEventStart('<TMPL_VAR event_id>','<TMPL_VAR start_datetime>');
|
||||
}
|
||||
);
|
||||
</script>
|
||||
</div>
|
||||
|
||||
</TMPL_LOOP>
|
||||
</TMPL_IF>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
77
website/agenda/templates/coloradio/event_file_export.txt
Normal file
77
website/agenda/templates/coloradio/event_file_export.txt
Normal file
@@ -0,0 +1,77 @@
|
||||
Content-type:text/plain; charset=utf-8;
|
||||
|
||||
$events=[
|
||||
<TMPL_LOOP NAME=events>
|
||||
{
|
||||
'__last__' => q|<TMPL_VAR __last__>|,
|
||||
'base_url' => q|<TMPL_VAR base_url>|,
|
||||
'widget_render_url' => q|<TMPL_VAR widget_render_url>|,
|
||||
'comment_count' => q|<TMPL_VAR comment_count>|,
|
||||
'.controllers.event' => q|<TMPL_VAR .controllers.event>|,
|
||||
'.controllers.events' => q|<TMPL_VAR .controllers.events>|,
|
||||
'.controllers.calendar' => q|<TMPL_VAR .controllers.calendar>|,
|
||||
'.controllers.comments' => q|<TMPL_VAR .controllers.comments>|,
|
||||
'.controllers.domain' => q|<TMPL_VAR .controllers.domain>|,
|
||||
'.controllers.feed' => q|<TMPL_VAR .controllers.feed>|,
|
||||
'.controllers.ical' => q|<TMPL_VAR .controllers.ical>|,
|
||||
'counter_1' => q|<TMPL_VAR counter_1>|,
|
||||
'created_at' => q|<TMPL_VAR created_at>|,
|
||||
'day' => q|<TMPL_VAR day>|,
|
||||
'day_of_year' => q|<TMPL_VAR day_of_year>|,
|
||||
'dtend' => q|<TMPL_VAR dtend>|,
|
||||
'dtstart' => q|<TMPL_VAR dtstart>|,
|
||||
'end_date_name' => q|<TMPL_VAR end_date_name>|,
|
||||
'end_date' => q|<TMPL_VAR end_date>|,
|
||||
'end_datetime' => q|<TMPL_VAR end_datetime>|,
|
||||
'end_time_name' => q|<TMPL_VAR end_time_name>|,
|
||||
'end_time' => q|<TMPL_VAR end_time>|,
|
||||
'end' => q|<TMPL_VAR end>|,
|
||||
'event_id' => q|<TMPL_VAR event_id>|,
|
||||
'event_uri' => q|<TMPL_VAR event_uri>|,
|
||||
'excerpt' => q|<TMPL_VAR excerpt>|,
|
||||
'image' => q|<TMPL_VAR image_url>|,
|
||||
'is_first_of_day' => q|<TMPL_VAR is_first_of_day>|,
|
||||
'location_css' => q|<TMPL_VAR location_css>|,
|
||||
'location' => q|<TMPL_VAR location>|,
|
||||
'location_mapped' => q|<TMPL_VAR location_mapped>|,
|
||||
'media_url' => q|<TMPL_VAR media_url>|,
|
||||
'modified_at' => q|<TMPL_VAR modified_at>|,
|
||||
'podcast_url' => q|<TMPL_VAR podcast_url>|,
|
||||
'program' => q|<TMPL_VAR program>|,
|
||||
'project_label' => q|<TMPL_VAR project_label>|,
|
||||
'project_title' => q|<TMPL_VAR project_title>|,
|
||||
'project' => q|<TMPL_VAR project>|,
|
||||
'rds_title' => q|<TMPL_VAR rds_title>|,
|
||||
'reference' => q|<TMPL_VAR reference>|,
|
||||
'recurrence' => q|<TMPL_VAR recurrence>|,
|
||||
'recurrence_date' => q|<TMPL_VAR recurrence_date>|,
|
||||
'full_title' => q|<TMPL_VAR full_title>|,
|
||||
'series_name' => q|<TMPL_VAR series_name>|,
|
||||
'start_date_name' => q|<TMPL_VAR start_date_name>|,
|
||||
'start_date' => q|<TMPL_VAR start_date>|,
|
||||
'start_datetime' => q|<TMPL_VAR start_datetime>|,
|
||||
'start_time_name' => q|<TMPL_VAR start_time_name>|,
|
||||
'start_time' => q|<TMPL_VAR start_time>|,
|
||||
'start_year' => q|<TMPL_VAR start_year>|,
|
||||
'start_month' => q|<TMPL_VAR start_month>|,
|
||||
'start_day' => q|<TMPL_VAR start_day>|,
|
||||
'start_hour' => q|<TMPL_VAR start_hour>|,
|
||||
'start_minute' => q|<TMPL_VAR start_minute>|,
|
||||
'start' => q|<TMPL_VAR start>|,
|
||||
'static_files_url' => q|<TMPL_VAR static_files_url>|,
|
||||
'title' => q|<TMPL_VAR title>|,
|
||||
'week_of_year' => q|<TMPL_VAR week_of_year>|,
|
||||
'weekday_name' => q|<TMPL_VAR weekday_name>|,
|
||||
'weekday_short_name' => q|<TMPL_VAR weekday_short_name>|,
|
||||
'weekday' => q|<TMPL_VAR weekday>|,
|
||||
'time_zone' => q|<TMPL_VAR time_zone>|,
|
||||
'utc_offset' => q|<TMPL_VAR utc_offset>|,
|
||||
'start_utc_epoch' => q|<TMPL_VAR start_utc_epoch>|,
|
||||
'end_utc_epoch' => q|<TMPL_VAR end_utc_epoch>|
|
||||
}<TMPL_UNLESS __last__>,</TMPL_UNLESS>
|
||||
</TMPL_LOOP>
|
||||
];
|
||||
|
||||
|
||||
|
||||
|
||||
81
website/agenda/templates/coloradio/event_freefm.xml
Normal file
81
website/agenda/templates/coloradio/event_freefm.xml
Normal file
@@ -0,0 +1,81 @@
|
||||
Content-type:text/xml; charset=UTF-8
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<station lastupdate="<TMPL_VAR modified_at_datetime_utc>" xmlns:gml="http://www.opengis.net/gml">
|
||||
<info>
|
||||
<displayname>Pi-Radio</displayname>
|
||||
<fullname>Pi-Radio</fullname>
|
||||
<logo src="https://piradio.de/agenda/images/logo.jpg" />
|
||||
<basecolor>#FF6600</basecolor>
|
||||
<city>Berlin</city>
|
||||
<studio>
|
||||
<street>Lottumstrasse</street>
|
||||
<number>9</number>
|
||||
<city>Berlin</city>
|
||||
<zip>10119</zip>
|
||||
<studio-location>
|
||||
<gml:Point>
|
||||
<gml:pos>52.53119 13.4066</gml:pos>
|
||||
</gml:Point>
|
||||
</studio-location>
|
||||
<phone type="studio">+49 030 609 37 277</phone>
|
||||
</studio>
|
||||
</info>
|
||||
|
||||
<media-channels>
|
||||
<transmitter type="ukw">
|
||||
<frequency>88.4</frequency>
|
||||
<frequencyunit>MHz</frequencyunit>
|
||||
<city>Berlin</city>
|
||||
<operator>MediaBroadcast</operator>
|
||||
<transmit-power>500</transmit-power>
|
||||
<transmit-power-unit>W</transmit-power-unit>
|
||||
<transmit-rds-id>88vier</transmit-rds-id>
|
||||
<transmit-times>
|
||||
<transmit-time recurrence="true" />
|
||||
<weekly day="MI" priority="0" time-from="19:00:00" time-to="06:00:00" />
|
||||
<weekly day="DO" priority="0" time-from="19:00:00" time-to="06:00:00" />
|
||||
</transmit-times>
|
||||
|
||||
<transmitter-location>
|
||||
<gml:Point>
|
||||
<gml:pos>52.456534 13.625693</gml:pos>
|
||||
</gml:Point>
|
||||
</transmitter-location>
|
||||
</transmitter>
|
||||
<webstream>
|
||||
<transmit-times>
|
||||
<transmit-time time-from="00:00:00" time-to="23:59:59"/>
|
||||
</transmit-times>
|
||||
<url>http://ice.rosebud-media.de:8000/88vier</url>
|
||||
<format>audio/mpeg</format>
|
||||
<quality>160kbps</quality>
|
||||
</webstream>
|
||||
<website>
|
||||
<url>https://piradio.de</url>
|
||||
</website>
|
||||
</media-channels>
|
||||
|
||||
<programme>
|
||||
<TMPL_LOOP events>
|
||||
<broadcast id="<TMPL_VAR event_id>">
|
||||
<title><TMPL_VAR full_title></title>
|
||||
<description>
|
||||
<TMPL_VAR excerpt> <TMPL_VAR user_excerpt>
|
||||
</description>
|
||||
<categories>
|
||||
<category name="Wort" id="1" />
|
||||
<category name="Musik" id="2" />
|
||||
</categories>
|
||||
<feed>
|
||||
<title>Sendebeschreibung</title>
|
||||
<url>https://piradio.de<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html#<TMPL_VAR event_uri escape=url></url>
|
||||
</feed>
|
||||
<transmit-times>
|
||||
<transmit-time date-from="<TMPL_VAR start_datetime_utc>" date-to="<TMPL_VAR end_datetime_utc>" recurrence="false" rerun="<TMPL_IF rerun>true<TMPL_ELSE>false</TMPL_IF>" />
|
||||
</transmit-times>
|
||||
</broadcast>
|
||||
</TMPL_LOOP>
|
||||
</programme>
|
||||
</station>
|
||||
|
||||
30
website/agenda/templates/coloradio/event_list.html
Normal file
30
website/agenda/templates/coloradio/event_list.html
Normal file
@@ -0,0 +1,30 @@
|
||||
Content-type:text/html; charset=utf-8;
|
||||
|
||||
|
||||
<TMPL_INCLUDE no_search_result.html>
|
||||
<div>
|
||||
<TMPL_LOOP NAME=events>
|
||||
<TMPL_IF event_id>
|
||||
<TMPL_IF name="is_first_of_day">
|
||||
<div class="date">
|
||||
<TMPL_VAR weekday_short_name>, <TMPL_VAR start_date_name>
|
||||
</div>
|
||||
</TMPL_IF>
|
||||
<div id="event_<TMPL_VAR event_id>" class="event<TMPL_IF location_css> <TMPL_VAR location_css></TMPL_IF><TMPL_IF is_running> running</TMPL_IF>"
|
||||
>
|
||||
<span class="summary title" title="Mehr Infos zur Sendung">
|
||||
<TMPL_VAR start_time_name><TMPL_IF name="__last__"> - <TMPL_VAR end_time_name></TMPL_IF> |
|
||||
<a id="event_list_id_<TMPL_VAR event_id>" class="click_for_detail" href="<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html#<TMPL_VAR event_uri escape=url>"
|
||||
><TMPL_VAR full_title></a> <br>
|
||||
<span class="excerpt">
|
||||
<TMPL_VAR excerpt> <TMPL_VAR user_excerpt>
|
||||
</span>
|
||||
<br>
|
||||
<TMPL_UNLESS no_comment>
|
||||
<span class="eventlist_kommentarzahl submitted<TMPL_IF comment_count> comments</TMPL_IF>">💬 <TMPL_VAR comment_count> </span>
|
||||
</TMPL_UNLESS>
|
||||
<TMPL_IF is_running> (läuft gerade)</TMPL_IF>
|
||||
</div>
|
||||
</TMPL_IF>
|
||||
</TMPL_LOOP>
|
||||
</div>
|
||||
40
website/agenda/templates/coloradio/event_list_image.html
Normal file
40
website/agenda/templates/coloradio/event_list_image.html
Normal file
@@ -0,0 +1,40 @@
|
||||
Content-type:text/html; charset=utf-8;
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Script-Type" content="javascript" />
|
||||
<meta http-equiv="Content-Style-Type" content="text/css" />
|
||||
<title>Agenda <TMPL_VAR project_title></title>
|
||||
<link type="text/css" rel="stylesheet" media="all" href="/agenda/css/future.css" />
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<TMPL_LOOP NAME=events>
|
||||
<TMPL_IF name="is_first_of_day">
|
||||
<div class="date">
|
||||
<TMPL_VAR weekday_short_name>, <TMPL_VAR start_date_name><TMPL_IF project_title> - <TMPL_VAR project_title></TMPL_IF>
|
||||
</div>
|
||||
</TMPL_IF>
|
||||
|
||||
<a href="<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html#<TMPL_VAR event_uri escape=url>" >
|
||||
<div class="event">
|
||||
<TMPL_IF event_id>
|
||||
<div class="header"><TMPL_VAR series_name><br><TMPL_VAR full_title_no_series></div>
|
||||
<div class="content" style="background-image: url(<TMPL_VAR image_url>)"></div>
|
||||
|
||||
<div class="label">
|
||||
<TMPL_VAR start_time><br/>
|
||||
<a class="comment" href="<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html#comments"
|
||||
<span class="submitted"><TMPL_VAR comment_count> Kommentar<TMPL_UNLESS one_comment>e</TMPL_UNLESS></span>
|
||||
</a>
|
||||
</div>
|
||||
</TMPL_IF>
|
||||
</div>
|
||||
</a>
|
||||
</TMPL_LOOP>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
81
website/agenda/templates/coloradio/event_menu.html
Normal file
81
website/agenda/templates/coloradio/event_menu.html
Normal file
@@ -0,0 +1,81 @@
|
||||
Content-type:text/html; charset=UTF-8;
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Cache-control" content="public">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<TMPL_IF no_results>
|
||||
<div id="empty_or_not">
|
||||
nichts gefunden...
|
||||
</div>
|
||||
</TMPL_IF>
|
||||
|
||||
<TMPL_LOOP NAME=events>
|
||||
<TMPL_IF event_id>
|
||||
<TMPL_IF name="__first__">
|
||||
<div class="date">
|
||||
<TMPL_VAR weekday_short_name>, <TMPL_VAR start_date_name>
|
||||
<!--
|
||||
<a href="<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.events>/<TMPL_VAR start_date>.html">
|
||||
<TMPL_VAR weekday_short_name>, <TMPL_VAR start_date_name>
|
||||
</a>
|
||||
-->
|
||||
</div>
|
||||
</TMPL_IF>
|
||||
|
||||
<div class="scripted">
|
||||
<a class="zeige_sendungsdetails" id="link_zu_event_<TMPL_VAR event_id>" href="#"
|
||||
|
||||
>
|
||||
<div id="event_menu_<TMPL_VAR event_id>" class="vevent event<TMPL_IF is_running> running</TMPL_IF>"
|
||||
title="<TMPL_IF program><TMPL_VAR program> - </TMPL_IF><TMPL_IF series_name><TMPL_VAR series_name> - </TMPL_IF><TMPL_VAR title>"
|
||||
>
|
||||
<div class="icon">
|
||||
<TMPL_IF icon><img src="<TMPL_VAR icon_url>" alt="<TMPL_VAR series_name>" />
|
||||
<TMPL_ELSE><img src="<TMPL_VAR static_files_url>image/event.icon.png" />
|
||||
</TMPL_IF>
|
||||
</div>
|
||||
|
||||
<div class="title">
|
||||
<TMPL_VAR start_time_name> <TMPL_VAR series_name><TMPL_UNLESS series_name>kaputt: <TMPL_VAR title></TMPL_UNLESS>
|
||||
</div>
|
||||
|
||||
<span class="dtstart"><TMPL_VAR start></span>
|
||||
<TMPL_IF NAME=end><span class="dtend"><TMPL_VAR end></span></TMPL_IF>
|
||||
<span class="location"><TMPL_VAR location_mapped></span>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<noscript>
|
||||
<a
|
||||
href="<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html#<TMPL_VAR event_uri escape=url>"
|
||||
>
|
||||
<div id="event_menu_<TMPL_VAR event_id>" class="vevent event<TMPL_IF is_running> running</TMPL_IF>"
|
||||
title="<TMPL_IF program><TMPL_VAR program> - </TMPL_IF><TMPL_IF series_name><TMPL_VAR series_name> - </TMPL_IF><TMPL_VAR title>"
|
||||
>
|
||||
<div class="icon">
|
||||
<TMPL_IF icon><img src="<TMPL_VAR icon_url>" alt="<TMPL_VAR series_name>" />
|
||||
<TMPL_ELSE><img src="<TMPL_VAR static_files_url>image/event.icon.png" />
|
||||
</TMPL_IF>
|
||||
</div>
|
||||
|
||||
<div class="title">
|
||||
<TMPL_VAR start_time_name> <TMPL_VAR series_name><TMPL_UNLESS series_name>kaputt: <TMPL_VAR title></TMPL_UNLESS>
|
||||
</div>
|
||||
|
||||
<span class="dtstart"><TMPL_VAR start></span>
|
||||
<TMPL_IF NAME=end><span class="dtend"><TMPL_VAR end></span></TMPL_IF>
|
||||
<span class="location"><TMPL_VAR location_mapped></span>
|
||||
</div>
|
||||
</a>
|
||||
</noscript>
|
||||
</TMPL_IF>
|
||||
</TMPL_LOOP>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
32
website/agenda/templates/coloradio/event_perl.txt
Normal file
32
website/agenda/templates/coloradio/event_perl.txt
Normal file
@@ -0,0 +1,32 @@
|
||||
Content-type:text/plain; charset=utf-8;
|
||||
|
||||
$events=[
|
||||
<TMPL_LOOP NAME=events>
|
||||
{
|
||||
'event_id' => q|<TMPL_VAR event_id>|,
|
||||
'start_date' => q|<TMPL_VAR start_date>|,
|
||||
'start_datetime' => q|<TMPL_VAR start_datetime>|,
|
||||
'end_datetime' => q|<TMPL_VAR end_datetime>|,
|
||||
'weekday_short_name' => q|<TMPL_VAR weekday_short_name>|,
|
||||
'location' => q|<TMPL_VAR location_mapped>|,
|
||||
'location_mapped' => q|<TMPL_VAR location_mapped>|,
|
||||
'image' => q|<TMPL_VAR image_url>|,
|
||||
'project_title' => q|<TMPL_VAR project_title>|,
|
||||
'program' => q|<TMPL_VAR program>|,
|
||||
'series_name' => q|<TMPL_VAR series_name>|,
|
||||
'title' => q|<TMPL_VAR title>|,
|
||||
'user_title' => q|<TMPL_VAR user_title>|,
|
||||
'excerpt' => q|<TMPL_VAR excerpt>|,
|
||||
'user_excerpt' => q|<TMPL_VAR user_excerpt>|,
|
||||
'episode' => q|<TMPL_VAR episode>|,
|
||||
'full_title' => q|<TMPL_VAR full_title>|,
|
||||
'content' => q|<TMPL_VAR content>|
|
||||
}<TMPL_UNLESS __last__>,</TMPL_UNLESS>
|
||||
</TMPL_LOOP>
|
||||
];
|
||||
|
||||
|
||||
|
||||
<TMPL_IF asd>
|
||||
'content' => q$<TMPL_VAR content>$
|
||||
</TMPL_IF>
|
||||
41
website/agenda/templates/coloradio/event_playlist.html
Normal file
41
website/agenda/templates/coloradio/event_playlist.html
Normal file
@@ -0,0 +1,41 @@
|
||||
Content-type:text/html; charset=UTF-8;
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Cache-control" content="public">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<style>
|
||||
|
||||
div.event div.title{
|
||||
display:grid;
|
||||
grid-template-columns: 3ch 5ch 1ch 1fr;
|
||||
}
|
||||
div.event div.title div{
|
||||
display:inline;
|
||||
}
|
||||
</style>
|
||||
|
||||
<TMPL_LOOP NAME=events>
|
||||
<a href="<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html#<TMPL_VAR event_uri escape=url>"
|
||||
>
|
||||
<div id="event_playlist_<TMPL_VAR event_id>" class="event" title="<TMPL_VAR full_title><TMPL_IF excerpt>. <TMPL_VAR excerpt escape=url></TMPL_IF>">
|
||||
<TMPL_COMMENT>
|
||||
<div class="icon">
|
||||
<img src="<TMPL_VAR icon_url>"></img>
|
||||
</div>
|
||||
</TMPL_COMMENT>
|
||||
<div class="title">
|
||||
<div><TMPL_VAR weekday_short_name></div>
|
||||
<div><TMPL_VAR start_time_name></div>
|
||||
<div>-</div>
|
||||
<div><TMPL_IF series_name><TMPL_VAR series_name><TMPL_ELSE><TMPL_VAR title></TMPL_IF></div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</TMPL_LOOP>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
5
website/agenda/templates/coloradio/event_playlist.txt
Normal file
5
website/agenda/templates/coloradio/event_playlist.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
Content-type:text/plain; charset=UTF-8;
|
||||
Access-Control-Allow-Origin: *
|
||||
|
||||
<TMPL_IF no_result>Andere Veranstalter</TMPL_IF><TMPL_LOOP NAME=events><a href="<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html#<TMPL_VAR event_uri>" ><TMPL_VAR full_title></a></TMPL_LOOP>
|
||||
|
||||
155
website/agenda/templates/coloradio/event_playlist_long.html
Normal file
155
website/agenda/templates/coloradio/event_playlist_long.html
Normal file
@@ -0,0 +1,155 @@
|
||||
Content-type:text/html; charset=UTF-8;
|
||||
Access-Control-Allow-Origin: *
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Cache-control" content="public">
|
||||
<meta http-equiv="Content-Script-Type" content="javascript" />
|
||||
<meta http-equiv="Content-Style-Type" content="text/css" />
|
||||
<title>Playlist <TMPL_VAR project_title></title>
|
||||
|
||||
<script>
|
||||
/**
|
||||
* @fileoverview dragscroll - scroll area by dragging
|
||||
* @version 0.0.8
|
||||
*
|
||||
* @license MIT, see http://github.com/asvd/dragscroll
|
||||
* @copyright 2015 asvd <heliosframework@gmail.com>
|
||||
*/
|
||||
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define(['exports'], factory);
|
||||
} else if (typeof exports !== 'undefined') {
|
||||
factory(exports);
|
||||
} else {
|
||||
factory((root.dragscroll = {}));
|
||||
}
|
||||
}(this, function (exports) {
|
||||
var _window = window;
|
||||
var _document = document;
|
||||
var mousemove = 'mousemove';
|
||||
var mouseup = 'mouseup';
|
||||
var mousedown = 'mousedown';
|
||||
var EventListener = 'EventListener';
|
||||
var addEventListener = 'add'+EventListener;
|
||||
var removeEventListener = 'remove'+EventListener;
|
||||
var newScrollX, newScrollY;
|
||||
|
||||
var dragged = [];
|
||||
var reset = function(i, el) {
|
||||
for (i = 0; i < dragged.length;) {
|
||||
el = dragged[i++];
|
||||
el = el.container || el;
|
||||
el[removeEventListener](mousedown, el.md, 0);
|
||||
_window[removeEventListener](mouseup, el.mu, 0);
|
||||
_window[removeEventListener](mousemove, el.mm, 0);
|
||||
}
|
||||
|
||||
// cloning into array since HTMLCollection is updated dynamically
|
||||
dragged = [].slice.call(_document.getElementsByClassName('dragscroll'));
|
||||
for (i = 0; i < dragged.length;) {
|
||||
(function(el, lastClientX, lastClientY, pushed, scroller, cont){
|
||||
(cont = el.container || el)[addEventListener](
|
||||
mousedown,
|
||||
cont.md = function(e) {
|
||||
if (!el.hasAttribute('nochilddrag') ||
|
||||
_document.elementFromPoint(
|
||||
e.pageX, e.pageY
|
||||
) == cont
|
||||
) {
|
||||
pushed = 1;
|
||||
lastClientX = e.clientX;
|
||||
lastClientY = e.clientY;
|
||||
|
||||
e.preventDefault();
|
||||
}
|
||||
}, 0
|
||||
);
|
||||
|
||||
_window[addEventListener](
|
||||
mouseup, cont.mu = function() {pushed = 0;}, 0
|
||||
);
|
||||
|
||||
_window[addEventListener](
|
||||
mousemove,
|
||||
cont.mm = function(e) {
|
||||
if (pushed) {
|
||||
(scroller = el.scroller||el).scrollLeft -=
|
||||
newScrollX = (- lastClientX + (lastClientX=e.clientX));
|
||||
scroller.scrollTop -=
|
||||
newScrollY = (- lastClientY + (lastClientY=e.clientY));
|
||||
if (el == _document.body) {
|
||||
(scroller = _document.documentElement).scrollLeft -= newScrollX;
|
||||
scroller.scrollTop -= newScrollY;
|
||||
}
|
||||
}
|
||||
}, 0
|
||||
);
|
||||
})(dragged[i++]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (_document.readyState == 'complete') {
|
||||
reset();
|
||||
} else {
|
||||
_window[addEventListener]('load', reset, 0);
|
||||
}
|
||||
|
||||
exports.reset = reset;
|
||||
}));
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="playlist_container" class="_dragscroll">
|
||||
|
||||
Playlist Long <br><br>
|
||||
|
||||
<TMPL_LOOP NAME=events>
|
||||
|
||||
<a class="playlist_long_event_detail" href="<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html#<TMPL_VAR event_uri escape=url>" >
|
||||
<div id="event_playlist_<TMPL_VAR event_id>" class="eventContainer event">
|
||||
<div class="top" title="<TMPL_VAR full_title><TMPL_IF excerpt>. <TMPL_VAR excerpt></TMPL_IF>">
|
||||
<TMPL_VAR weekday_short_name> <TMPL_VAR start_time_name>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<TMPL_IF series_name><TMPL_VAR series_name><TMPL_ELSE><TMPL_VAR title></TMPL_IF>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<div class="scripted" style="display:none;">
|
||||
<a class="zeige_sendungsdetails_playlist_long playlist_long_event_detail" id="link_zu_event_<TMPL_VAR event_id>" href="#">
|
||||
<div id="event_playlist_<TMPL_VAR event_id>" class="eventContainer event">
|
||||
<div class="top" title="<TMPL_VAR full_title><TMPL_IF excerpt>. <TMPL_VAR excerpt></TMPL_IF>">
|
||||
<TMPL_VAR weekday_short_name> <TMPL_VAR start_time_name>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<TMPL_IF series_name><TMPL_VAR series_name><TMPL_ELSE><TMPL_VAR title></TMPL_IF>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<noscript>
|
||||
<a class="playlist_long_event_detail" href="<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html#<TMPL_VAR event_uri escape=url>" >
|
||||
<div id="event_playlist_<TMPL_VAR event_id>" class="eventContainer event">
|
||||
<div class="top" title="<TMPL_VAR full_title><TMPL_IF excerpt>. <TMPL_VAR excerpt></TMPL_IF>">
|
||||
<TMPL_VAR weekday_short_name> <TMPL_VAR start_time_name>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<TMPL_IF series_name><TMPL_VAR series_name><TMPL_ELSE><TMPL_VAR title></TMPL_IF>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</noscript>
|
||||
|
||||
</TMPL_LOOP>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
35
website/agenda/templates/coloradio/event_playlist_show.html
Normal file
35
website/agenda/templates/coloradio/event_playlist_show.html
Normal file
@@ -0,0 +1,35 @@
|
||||
Content-type:text/html; charset=UTF-8;
|
||||
Access-Control-Allow-Origin: *
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Cache-control" content="public">
|
||||
<meta http-equiv="Content-Script-Type" content="javascript" />
|
||||
<meta http-equiv="Content-Style-Type" content="text/css" />
|
||||
<title>Playlist <TMPL_VAR project_title></title>
|
||||
<style type="text/css">
|
||||
.vevent a {font-size:0.8em;line-height:120%;text-decoration:none;color:#444;Verdana,sans-serif};
|
||||
.vevent .event {font-size:0.8em;line-height:120%;text-decoration:none;color:#444;Verdana,sans-serif};
|
||||
.vevent a:hover {text-decoration:underline;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<TMPL_LOOP NAME=events>
|
||||
<div id="event_<TMPL_VAR event_id>" class="event">
|
||||
<div class="event" >
|
||||
<TMPL_VAR weekday_short_name> <TMPL_VAR start_time_name>
|
||||
<span class="title" title="<TMPL_VAR full_title escape=url>, <TMPL_VAR excerpt escape=url>">
|
||||
<a target="top"
|
||||
href="<TMPL_VAR base_url><TMPL_VAR .controllers.event>/<TMPL_VAR event_id>/<TMPL_VAR event_uri escape=url>"
|
||||
>
|
||||
<TMPL_IF series_name><TMPL_VAR series_name><TMPL_ELSE><TMPL_VAR title></TMPL_IF>
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</TMPL_LOOP>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
<TMPL_LOOP NAME=events><TMPL_IF __first__><TMPL_VAR full_title> : <TMPL_IF podcast_url><TMPL_VAR podcast_url><ELSE><TMPL_IF media_url><TMPL_VAR media_url><ELSE><TMPL_IF excerpt><TMPL_VAR excerpt></TMPL_IF></TMPL_IF></TMPL_IF></TMPL_IF></TMPL_LOOP>
|
||||
164
website/agenda/templates/coloradio/event_pure1.html
Normal file
164
website/agenda/templates/coloradio/event_pure1.html
Normal file
@@ -0,0 +1,164 @@
|
||||
Content-type:text/html; charset=utf-8;
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<body>
|
||||
|
||||
<TMPL_UNLESS no_result>
|
||||
<TMPL_UNLESS no_search_result>
|
||||
|
||||
<div>
|
||||
<TMPL_LOOP NAME=events>
|
||||
<TMPL_IF event_id>
|
||||
|
||||
<span class="summary title" title="Mehr Infos zur Sendung" >
|
||||
|
||||
<!-- Sendestart -->
|
||||
<!--<TMPL_VAR start_time_name>-->
|
||||
|
||||
<!-- Titel der Sendung -->
|
||||
|
||||
<!--<a href="<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html#<TMPL_VAR event_uri escape=url>" >-->
|
||||
|
||||
<h1><TMPL_VAR full_title></h1>
|
||||
|
||||
<!--</a>-->
|
||||
|
||||
<!-- Location -->
|
||||
|
||||
<!--<span style="float:right;font-weight:100"><TMPL_IF location_mapped><TMPL_VAR location_mapped></TMPL_IF></span>-->
|
||||
</span>
|
||||
|
||||
<div class="excerpt">
|
||||
|
||||
<!--
|
||||
<TMPL_VAR excerpt> <TMPL_VAR user_excerpt>
|
||||
|
||||
<TMPL_IF excerpt>
|
||||
<hr>
|
||||
<TMPL_ELSE>
|
||||
<TMPL_IF user_excerpt>
|
||||
<hr>
|
||||
</TMPL_IF>
|
||||
</TMPL_IF>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<TMPL_IF no_image_in_text>
|
||||
<p>
|
||||
<a href="<TMPL_VAR image_url>">
|
||||
<img alt="<TMPL_VAR series_name>" src="<TMPL_VAR thumb_url>">
|
||||
</a>
|
||||
</p>
|
||||
</TMPL_IF>
|
||||
-->
|
||||
|
||||
<!-- Sendezeit: Start & Ende -->
|
||||
|
||||
<TMPL_IF name="is_first_of_day">
|
||||
<div class="date">
|
||||
<TMPL_VAR weekday_short_name>, <TMPL_VAR start_date_name>
|
||||
<!--<TMPL_IF project_title> - <TMPL_VAR project_title></TMPL_IF>-->
|
||||
|
||||
<!-- ICAL EVENT -->
|
||||
|
||||
<div class="ical_event">
|
||||
<a href="<TMPL_VAR .controllers.domain><TMPL_VAR .controllers.ical>/<TMPL_VAR event_id>/<TMPL_VAR full_title escape=hyphen>.ics" title="Termin merken"><!--<img width="16" height="16" alt="ICalendar" src="<TMPL_VAR static_files_url>images/ical.png" />-->im Kalender speichern</a>
|
||||
</div>
|
||||
</div>
|
||||
</TMPL_IF>
|
||||
|
||||
<div style="clear:both"></div>
|
||||
|
||||
<div class="event_time">
|
||||
<TMPL_VAR start_time_name> <TMPL_IF name="__last__"> - <TMPL_VAR end_time_name></TMPL_IF>
|
||||
</div>
|
||||
|
||||
<TMPL_IF is_running> <!-- (läuft gerade) --> </TMPL_IF>
|
||||
|
||||
|
||||
<!-- ICAL ALLE SENDUNGEN DES MONATS -->
|
||||
|
||||
<div id="icon_bar" style="display:none;">
|
||||
<a href="<TMPL_VAR .controllers.domain><TMPL_VAR .controllers.ical>/<TMPL_VAR month>/" title="alle Sendungen des Monats merken"><img width="16" height="16" alt="Icalendar" src="<TMPL_VAR static_files_url>images/icals.png" /></a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<TMPL_IF recurrence_date><a href="<TMPL_VAR recurrence>.html">Wiederholung vom <TMPL_VAR recurrence_date></a></TMPL_IF>
|
||||
|
||||
<div style="clear:both"></div>
|
||||
|
||||
<!-- Sendungsbild -->
|
||||
|
||||
<TMPL_IF thumb_url>
|
||||
<img alt="<TMPL_VAR series_name>" src="<TMPL_VAR thumb_url>">
|
||||
</TMPL_IF>
|
||||
|
||||
<!-- Detailierte Beschreibung -->
|
||||
|
||||
<div class="detailbeschreibung">
|
||||
<TMPL_VAR topic ESCAPE=0><TMPL_VAR content ESCAPE=0>
|
||||
<div>
|
||||
|
||||
<!-- is the event live or preproduced : tinyint(1) unsigned -->
|
||||
|
||||
<div class="live_or_preproduced" id="is_live_<TMPL_VAR live>">
|
||||
<TMPL_IF live>
|
||||
Eine LIVE-Sendung. Das Studiotelefon hat die Nummer 0351 / 32 05 47 11.
|
||||
<TMPL_ELSE>
|
||||
<!-- (vorproduzierte Sendung) Sendung findet nicht live im Studio statt -->
|
||||
</TMPL_IF>
|
||||
</div>
|
||||
|
||||
<!-- AUDIO URLS -->
|
||||
|
||||
<TMPL_IF media_url>
|
||||
<a class="playfile" href="<TMPL_VAR media_url>"><img style="width:19px;height:19px;margin-bottom:-3px;margin-left:1px;" src="/agenda/img/player/play-button-64px-D13030.png" alt="playbutton">broadcast audio URL</a><br>
|
||||
</TMPL_IF>
|
||||
|
||||
<!-- Podcast URL : hat die Sendung einen eigenen Podcast? Wenn ja, kann mit dieser URL abonniert werden. -->
|
||||
|
||||
<TMPL_IF podcast_url>
|
||||
<a href="<TMPL_VAR podcast_url>"><img style="width:19px;height:19px;margin-bottom:-3px;margin-left:1px;" src="/agenda/img/player/play-button-64px-D13030.png" alt="playbutton">Podcast der Sendung abonnieren</a><br>
|
||||
</TMPL_IF>
|
||||
|
||||
<!-- Link zum Archiv der Sendung --- wird evtl. Mitschnitt-URL -->
|
||||
|
||||
<TMPL_IF archive_url>
|
||||
<a class="archive_url" href="http:<TMPL_VAR archive_url>" target="_blank"><TMPL_VAR archive_url></a><br>
|
||||
</TMPL_IF>
|
||||
|
||||
<div style="clear:both"></div>
|
||||
|
||||
<!-- Permalink -->
|
||||
|
||||
<!--<a class="permalink" href="<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html#<TMPL_VAR event_uri escape=url>">Permalink</a>-->
|
||||
|
||||
<!--<div style="clear:both"></div>-->
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="calcms_comments">
|
||||
|
||||
<script>
|
||||
jQuery(document).ready(
|
||||
function() {
|
||||
calcms.showCommentsByEventIdOrEventStart('<TMPL_VAR event_id>','<TMPL_VAR start_datetime>');
|
||||
}
|
||||
);
|
||||
</script>
|
||||
</div>
|
||||
|
||||
</TMPL_IF>
|
||||
</TMPL_LOOP>
|
||||
</div>
|
||||
|
||||
</TMPL_UNLESS>
|
||||
</TMPL_UNLESS>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
3
website/agenda/templates/coloradio/event_rds.txt
Normal file
3
website/agenda/templates/coloradio/event_rds.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
Content-type:text/plain; charset=UTF-8;
|
||||
|
||||
<TMPL_LOOP NAME=events><TMPL_IF __first__><TMPL_VAR rds_title></TMPL_IF></TMPL_LOOP>
|
||||
89
website/agenda/templates/coloradio/event_running.html
Normal file
89
website/agenda/templates/coloradio/event_running.html
Normal file
@@ -0,0 +1,89 @@
|
||||
Content-type:text/html; charset=UTF-8;
|
||||
Access-Control-Allow-Origin: *
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<body>
|
||||
<TMPL_IF no_result>
|
||||
<!--
|
||||
<script>
|
||||
jQuery( document ).ready(function() {
|
||||
//load next shows into current playlist
|
||||
if(jQuery('#coming_shows').length!=0){
|
||||
jQuery('#coming_shows').load('/agenda/playlistLong/');
|
||||
}
|
||||
//hide next shows
|
||||
if(jQuery('#calcms_playlist').length!=0) jQuery('#calcms_playlist').parent().parent().hide();
|
||||
});
|
||||
</script>
|
||||
<style>
|
||||
#coming_shows{
|
||||
width:100%;
|
||||
height:110px;
|
||||
overflow:hidden;
|
||||
}
|
||||
</style>
|
||||
-->
|
||||
<!--
|
||||
|
||||
<div class="content" style="clear:both">
|
||||
|
||||
<h1 class="summary title">
|
||||
<TMPL_VAR events_title>
|
||||
</h1>
|
||||
<br>
|
||||
<TMPL_VAR events_description>
|
||||
|
||||
<div id="coming_shows"></div>
|
||||
|
||||
<a href="/agenda/programm.html">
|
||||
Programmplan
|
||||
</a>
|
||||
|
||||
<TMPL_IF search>
|
||||
<TMLP_VAR count> Treffer:
|
||||
</TMPL_IF>
|
||||
</div>
|
||||
-->
|
||||
|
||||
|
||||
</TMPL_IF>
|
||||
|
||||
<TMPL_LOOP events>
|
||||
<p>
|
||||
<div class="event">
|
||||
<TMPL_IF event_id>
|
||||
<div class="date<TMPL_IF is_running> running</TMPL_IF>">
|
||||
<p>
|
||||
<h1 class="summary title">
|
||||
Aktuelle Sendung: <a href="<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html#<TMPL_VAR event_uri escape=url>">
|
||||
<TMPL_VAR full_title>
|
||||
</a>
|
||||
</h1>
|
||||
<span class="submitted"><TMPL_VAR weekday_name>, <TMPL_VAR start_date_name> -
|
||||
<TMPL_VAR start_time_name> bis <TMPL_VAR end_time_name> Uhr <TMPL_IF program>(<TMPL_VAR program>)</TMPL_IF></span><br />
|
||||
</div>
|
||||
<div class="content" >
|
||||
<TMPL_COMMENT>
|
||||
<div class="image-attach-teaser" style="width: 150px;">
|
||||
<a href="<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html#<TMPL_VAR event_uri escape=url>">
|
||||
<img class="image image-thumbnail" src="<TMPL_VAR image_url>" width="150" height="150" />
|
||||
</a>
|
||||
</div>
|
||||
</TMPL_COMMENT>
|
||||
<TMPL_VAR excerpt >
|
||||
</div>
|
||||
<a href="<TMPL_VAR widget_render_url>/<TMPL_VAR .controllers.event>/<TMPL_VAR event_id>.html#comments">
|
||||
<span><TMPL_VAR comment_count> Kommentar<TMPL_UNLESS one_comment>e</TMPL_UNLESS></span>
|
||||
</a>
|
||||
</div>
|
||||
</p>
|
||||
<TMPL_UNLESS __last__><hr /></TMPL_UNLESS>
|
||||
</TMPL_IF>
|
||||
</TMPL_LOOP>
|
||||
|
||||
<!--end of content -->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
1
website/agenda/templates/coloradio/event_running_id.html
Normal file
1
website/agenda/templates/coloradio/event_running_id.html
Normal file
@@ -0,0 +1 @@
|
||||
Content-type:text/html; charset=UTF-8;<TMPL_LOOP events><TMPL_IF event_id>1<TMPL_VAR event_id></TMPL_IF></TMPL_LOOP>
|
||||
13
website/agenda/templates/coloradio/event_utc_time.json
Normal file
13
website/agenda/templates/coloradio/event_utc_time.json
Normal file
@@ -0,0 +1,13 @@
|
||||
Content-type:application/json; charset=utf-8;
|
||||
Access-Control-Allow-Origin: *
|
||||
|
||||
{
|
||||
"events" : [
|
||||
<TMPL_LOOP NAME=events>{
|
||||
"start" : "<TMPL_VAR start_utc_epoch>"
|
||||
,"end" : "<TMPL_VAR end_utc_epoch>"
|
||||
<TMPL_IF series_name> ,"series_name" : "<TMPL_VAR series_name>"</TMPL_IF>
|
||||
<TMPL_IF title> ,"title" : "<TMPL_VAR title>"</TMPL_IF>
|
||||
}<TMPL_UNLESS __last__>,</TMPL_UNLESS></TMPL_LOOP>
|
||||
]
|
||||
}
|
||||
4
website/agenda/templates/coloradio/event_utc_time.txt
Normal file
4
website/agenda/templates/coloradio/event_utc_time.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
Content-type:text/plain; charset=utf-8;
|
||||
|
||||
<TMPL_LOOP NAME=events><TMPL_VAR start_utc_epoch> <TMPL_VAR end_utc_epoch> <TMPL_VAR full_title>
|
||||
</TMPL_LOOP>
|
||||
4
website/agenda/templates/coloradio/events_playout.json
Normal file
4
website/agenda/templates/coloradio/events_playout.json
Normal file
@@ -0,0 +1,4 @@
|
||||
Content-type:application/json; charset=UTF-8
|
||||
Access-Control-Allow-Origin: *
|
||||
|
||||
("events" : [<TMPL_LOOP events>"event":{"id" : "<TMPL_VAR event_id>"}<TMPL_UNLESS NAME="__last__">,</TMPL_UNLESS></TMPL_LOOP>])
|
||||
19
website/agenda/templates/coloradio/events_playout.json-p
Normal file
19
website/agenda/templates/coloradio/events_playout.json-p
Normal file
@@ -0,0 +1,19 @@
|
||||
Content-type:application/json; charset=UTF-8
|
||||
Access-Control-Allow-Origin: *
|
||||
|
||||
"events" : {
|
||||
<TMPL_LOOP events>
|
||||
"event" : [ {
|
||||
"id" : "<TMPL_VAR event_id>",
|
||||
"program" : "<TMPL_VAR program>",
|
||||
"series" : "<TMPL_VAR series_name>",
|
||||
"title" : "<TMPL_VAR title>",
|
||||
"start" : "<TMPL_VAR start_date> <TMPL_VAR start_time>:00",
|
||||
"end" : "<TMPL_VAR end_date> <TMPL_VAR end_time>:00",
|
||||
"location" : "<TMPL_VAR location>",
|
||||
"published" : "<TMPL_VAR created_at>",
|
||||
"updated" : "<TMPL_VAR modified_at>",
|
||||
} ]
|
||||
<TMPL_UNLESS NAME="__last__">,</TMPL_UNLESS>
|
||||
</TMPL_LOOP>
|
||||
}
|
||||
51
website/agenda/templates/coloradio/header.html
Normal file
51
website/agenda/templates/coloradio/header.html
Normal file
@@ -0,0 +1,51 @@
|
||||
Content-type:text/html; charset=UTF-8;
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title><TMPL_VAR project_title>: Admin - <TMPL_VAR user></title>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<meta http-equiv="Content-Script-Type" content="javascript" />
|
||||
<meta http-equiv="Content-Style-Type" content="text/css" />
|
||||
<TMPL_IF meta><TMPL_LOOP meta><TMPL_VAR data/></TMPL_LOOP></TMPL_IF>
|
||||
<link rel="stylesheet" href="<TMPL_VAR static_files_url>/css/calcms.css" type="text/css" />
|
||||
|
||||
<style>
|
||||
form{
|
||||
border:0;
|
||||
padding:0;
|
||||
margin:0;
|
||||
};
|
||||
table{
|
||||
margin:1;
|
||||
};
|
||||
div,td,tr,table{
|
||||
vertical-align:middle;
|
||||
};
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div>
|
||||
<a href="/"><img src="<TMPL_VAR static_files_url>/image/logo.png" alt="programm" /></a>
|
||||
</div>
|
||||
|
||||
<TMPL_IF action_result>
|
||||
<div class="ok head">
|
||||
<TMPL_VAR action_result>
|
||||
</div>
|
||||
</TMPL_IF>
|
||||
|
||||
<div id="javascript_enabled">
|
||||
|
||||
<TMPL_IF error>
|
||||
<div class="error head">
|
||||
<TMPL_VAR error>
|
||||
</div>
|
||||
<TMPL_ELSE>
|
||||
<div>
|
||||
<TMPL_VAR subheader>
|
||||
</div>
|
||||
</TMPL_IF>
|
||||
|
||||
26
website/agenda/templates/coloradio/no_result.html
Normal file
26
website/agenda/templates/coloradio/no_result.html
Normal file
@@ -0,0 +1,26 @@
|
||||
<TMPL_IF no_result>
|
||||
<div id="empty_or_not">
|
||||
|
||||
<script>
|
||||
jQuery( document ).ready(function() {
|
||||
//load next shows into current playlist
|
||||
if(jQuery('#sendungen').length!=0) jQuery('#sendungen').load('/agenda/playlistLong/');
|
||||
|
||||
//hide next shows
|
||||
// if(jQuery('#calcms_playlist').length!=0) jQuery('#calcms_playlist').parent().parent().hide();
|
||||
|
||||
//hide programm menu
|
||||
// if(jQuery('#calcms_menu').length!=0) jQuery('#calcms_menu').parent().parent().hide();
|
||||
});
|
||||
</script>
|
||||
|
||||
<div class="content" style="clear:both"><TMPL_VAR no_result_message escape="none"></div>
|
||||
|
||||
<h3 class="summary title">Kommende Sendungen</h3>
|
||||
|
||||
<div id="coming_shows"></div>
|
||||
|
||||
</div>
|
||||
</TMPL_IF>
|
||||
|
||||
|
||||
9
website/agenda/templates/coloradio/no_search_result.html
Normal file
9
website/agenda/templates/coloradio/no_search_result.html
Normal file
@@ -0,0 +1,9 @@
|
||||
<TMPL_IF no_search_result>
|
||||
<div class="content">
|
||||
Keine Sendung gefunden.
|
||||
</div>
|
||||
</TMPL_IF>
|
||||
<!--<TMPL_IF event_count><TMPL_VAR event_count> Treffer</TMPL_IF>-->
|
||||
|
||||
|
||||
|
||||
1
website/agenda/templates/coloradio/playlist_twitter.txt
Normal file
1
website/agenda/templates/coloradio/playlist_twitter.txt
Normal file
@@ -0,0 +1 @@
|
||||
<TMPL_LOOP NAME=events><TMPL_IF __first__><TMPL_VAR full_title> : <TMPL_IF podcast_url><TMPL_VAR podcast_url><ELSE><TMPL_IF media_url><TMPL_VAR media_url><ELSE><TMPL_IF excerpt><TMPL_VAR excerpt></TMPL_IF></TMPL_IF></TMPL_IF></TMPL_IF></TMPL_LOOP>
|
||||
33
website/agenda/templates/coloradio/series_names.html
Normal file
33
website/agenda/templates/coloradio/series_names.html
Normal file
@@ -0,0 +1,33 @@
|
||||
Content-type:text/html; charset=UTF-8;
|
||||
Access-Control-Allow-Origin: *
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<body>
|
||||
<TMPL_IF projects>
|
||||
|
||||
<form id="calcmsSeriesNamesForm" name="calcms_series_name">
|
||||
|
||||
<TMPL_LOOP projects>
|
||||
<TMPL_UNLESS isEmpty>
|
||||
<select
|
||||
id="calcms_series_name_<TMPL_VAR js_name escape=none>"
|
||||
name="series_name_<TMPL_VAR js_name escape=none>"
|
||||
title="Sendereihen durchsuchen"
|
||||
onchange="calcms.selectSeries('<TMPL_VAR name escape=js>', jQuery(this).val())"
|
||||
style="display:none;"
|
||||
>
|
||||
|
||||
<option value="">- Sendereihe auswählen -</option>
|
||||
<TMPL_LOOP series_names><option value="<TMPL_VAR series_name escape=none>"<TMPL_VAR selected escape=none>><TMPL_VAR series_name> (<TMPL_VAR sum>)</option>
|
||||
</TMPL_LOOP>
|
||||
|
||||
</select>
|
||||
</TMPL_UNLESS>
|
||||
</TMPL_LOOP>
|
||||
|
||||
</form>
|
||||
|
||||
</TMPL_IF>
|
||||
</body>
|
||||
</html>
|
||||
7
website/agenda/templates/coloradio/series_names.js
Normal file
7
website/agenda/templates/coloradio/series_names.js
Normal file
@@ -0,0 +1,7 @@
|
||||
Content-type:application/json; charset=UTF-8;
|
||||
Access-Control-Allow-Origin: *
|
||||
|
||||
[
|
||||
<TMPL_LOOP name=projects><TMPL_LOOP name=series_names>{"id":"<TMPL_VAR series_name>", "label":"<TMPL_VAR series_name>", "value":"<TMPL_VAR series_name>"} <TMPL_UNLESS last>,</TMPL_UNLESS>
|
||||
</TMPL_LOOP></TMPL_LOOP>
|
||||
]
|
||||
61
website/agenda/templates/default/aura.xml
Normal file
61
website/agenda/templates/default/aura.xml
Normal file
@@ -0,0 +1,61 @@
|
||||
Content-type:application/rss+xml; charset=UTF-8
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<import
|
||||
xmlns="https://roko.li/_schema/aura/import-0.1"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="https://roko.li/_schema/aura/import-0.1 import.xsd"
|
||||
version="0.1"
|
||||
>
|
||||
<created-at datetime="<TMPL_VAR modified_at_datetime_utc>" timezone="Europe/Berlin"><TMPL_VAR modified_at_datetime_utc></created-at>
|
||||
<exported-from>https:<TMPL_VAR base_domain></exported-from>
|
||||
<defaults>
|
||||
<import-operation>update-or-create</import-operation>
|
||||
</defaults>
|
||||
<payload>
|
||||
<TMPL_LOOP events>
|
||||
<episode id="<TMPL_VAR project_name><TMPL_VAR event_id>">
|
||||
<title><TMPL_VAR full_title></title>
|
||||
<summary><TMPL_VAR excerpt></summary>
|
||||
<description>
|
||||
<![CDATA[<TMPL_VAR html_content>]]>
|
||||
</description>
|
||||
|
||||
<TMPL_IF NAME="tag">
|
||||
<tag><TMPL_VAR tag></tag>
|
||||
</TMPL_IF>
|
||||
|
||||
<TMPL_IF NAME="image_url">
|
||||
<image-ref ref="https:<TMPL_VAR base_domain><TMPL_VAR image_url>"/>
|
||||
</TMPL_IF>
|
||||
|
||||
<media>
|
||||
<TMPL_IF NAME="archive_url">
|
||||
<playable>
|
||||
<audio src="https://<TMPL_VAR archive_url>"/>
|
||||
</playable>
|
||||
</TMPL_IF>
|
||||
<TMPL_IF NAME="podcast_url">
|
||||
<playable>
|
||||
<audio src="https://<TMPL_VAR podcast_url>"/>
|
||||
</playable>
|
||||
</TMPL_IF>
|
||||
</media>
|
||||
</episode>
|
||||
</TMPL_LOOP>
|
||||
|
||||
<license id="license-cc-by-sa-4.0">
|
||||
<identifier>CC-BY-SA</identifier>
|
||||
<needs-author>true</needs-author>
|
||||
</license>
|
||||
<license id="license-unsplash">
|
||||
<identifier>Unsplash</identifier>
|
||||
</license>
|
||||
|
||||
<profile id="<TMPL_VAR project_name>">
|
||||
<name><TMPL_VAR project_name></name>
|
||||
</profile>
|
||||
</payload>
|
||||
</import>
|
||||
|
||||
|
||||
@@ -1,7 +1,2 @@
|
||||
Options -Indexes +FollowSymLinks +MultiViews -ExecCGI
|
||||
|
||||
<IfModule mod_expires.c>
|
||||
ExpiresActive On
|
||||
ExpiresDefault "access plus 5 minutes"
|
||||
</IfModule>
|
||||
|
||||
Require all granted
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
# racalmas
|
||||
radio calendar management system
|
||||
@@ -1,7 +1,2 @@
|
||||
Options -Indexes +FollowSymLinks +MultiViews -ExecCGI
|
||||
|
||||
<IfModule mod_expires.c>
|
||||
ExpiresActive On
|
||||
ExpiresDefault "access plus 5 minutes"
|
||||
</IfModule>
|
||||
|
||||
Require all granted
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
# racalmas
|
||||
radio calendar management system
|
||||
@@ -1,7 +1,2 @@
|
||||
Options -Indexes +FollowSymLinks +MultiViews -ExecCGI
|
||||
|
||||
<IfModule mod_expires.c>
|
||||
ExpiresActive On
|
||||
ExpiresDefault "access plus 5 minutes"
|
||||
</IfModule>
|
||||
|
||||
Require all granted
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
# racalmas
|
||||
radio calendar management system
|
||||
@@ -1,2 +0,0 @@
|
||||
# racalmas
|
||||
radio calendar management system
|
||||
@@ -1,6 +1,8 @@
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteEngine on
|
||||
RewriteBase /programm
|
||||
|
||||
RewriteRule ^sendung/(\d+)\.html[\?]?(.*)$ /programm/#$1 [L,R=301,NE]
|
||||
|
||||
RewriteRule ^kalender/(\d{4}-\d{2}-\d{2})_(\d{4}-\d{2}-\d{2})\.html[\?]?(.*)$ /agenda/aggregate.cgi?from_date=$1&till_date=$2&$3 [L]
|
||||
RewriteRule ^kalender/(\d{4}-\d{2}-\d{2})\.html[\?]?(.*)$ /agenda/aggregate.cgi?date=$1&$2 [L]
|
||||
RewriteRule ^sendungen/(\d{4}-\d{2}-\d{2})\.html[\?]?(.*)$ /agenda/aggregate.cgi?date=$1&$2 [L]
|
||||
|
||||
@@ -1,3 +1,2 @@
|
||||
Options -Indexes +FollowSymLinks +MultiViews -ExecCGI
|
||||
Require all granted
|
||||
|
||||
|
||||
Reference in New Issue
Block a user