optimize imports

This commit is contained in:
Milan
2018-08-27 00:21:39 +02:00
parent bfcf56f05a
commit c37c71f29e
44 changed files with 721 additions and 942 deletions

View File

@@ -183,6 +183,7 @@ sub modify_results {
$result->{rerun} = '' unless defined $result->{rerun};
$result->{title} = '' unless defined $result->{title};
if ( $result->{title} =~ /\#(\d+)([a-z])?\s*$/ ) {
$result->{episode} = $1 unless defined $result->{episode};
$result->{rerun} = $2 || '' unless ( $result->{rerun} =~ /\d/ );
@@ -221,7 +222,7 @@ sub modify_results {
$result->{event_uri} .= $result->{series_name};
$result->{event_uri} .= '-' if ( $result->{title} ne '' );
}
$result->{event_uri} .= $result->{title} if ( $result->{title} ne '' );
$result->{event_uri} .= $result->{title} if $result->{title} ne '';
$result->{event_uri} =~ s/\#/Nr./g;
$result->{event_uri} =~ s/\&/und/g;
$result->{event_uri} =~ s/\//\%2f/g;
@@ -611,11 +612,6 @@ sub add_recordings {
return $events;
}
sub getDateRange {
my $config = shift;
$config->{date}->{day_starting_hour};
}
sub getDateQueryConditions {
my $config = shift;
my $params = shift;
@@ -626,28 +622,76 @@ sub getDateQueryConditions {
#date, today, tomorrow, yesterday
my $date = '';
$date = time::date_cond( $params->{date} ) if ( $params->{date} ne '' );
$date = time::date_cond( $params->{date} ) if $params->{date} ne '';
my $from_date = '';
$from_date = time::date_cond( $params->{from_date} )
if ( $params->{from_date} ne '' );
$from_date = time::date_cond( $params->{from_date} ) if $params->{from_date} ne '';
my $till_date = '';
$till_date = time::date_cond( $params->{till_date} )
if ( $params->{till_date} ne '' );
$till_date = time::date_cond( $params->{till_date} ) if $params->{till_date} ne '';
my $from_time = '';
$from_time = time::time_cond( $params->{from_time} )
if ( $params->{from_time} ne '' );
$from_time = time::time_cond( $params->{from_time} ) if $params->{from_time} ne '';
my $till_time = '';
$till_time = time::time_cond( $params->{till_time} )
if ( $params->{till_time} ne '' );
$till_time = time::time_cond( $params->{till_time} ) if $params->{till_time} ne '';
my $time = $params->{time};
$time = '' unless defined $time;
my $date_range_include = $params->{date_range_include};
my $day_starting_hour = $config->{date}->{day_starting_hour};
#from_time is defined
if ( ( $params->{from_date} ne '' ) && ( $params->{from_time} ne '' ) ) {
if ( $date eq 'today' ) {
my $date = time::get_event_date($config);
push @$date_conds, ' ( start_date = ? ) ';
push @$bind_values, $date;
return $date_conds;
}
# given date
my $start = time::datetime_cond( $date . 'T00:00:00' );
if ( $start ne '' ) {
$start = time::add_hours_to_datetime( $start, $day_starting_hour );
my $end = time::add_hours_to_datetime( $start, 24 );
if ( $date_range_include eq '1' ) {
push @$date_conds, ' end > ? ';
push @$bind_values, $start;
} else {
push @$date_conds, ' start >= ? ';
push @$bind_values, $start;
}
push @$date_conds, ' start < ? ';
push @$bind_values, $end;
return $date_conds;
}
if ( $time eq 'now' ) {
push @$date_conds, qq{
(
( unix_timestamp(end) > unix_timestamp(now() ) )
and
( unix_timestamp(start) <= unix_timestamp(now() ) )
)
};
return $date_conds;
}
if ( $time eq 'future' ) {
push @$date_conds, qq{
(
( unix_timestamp(end) > unix_timestamp(now() ) )
and
( unix_timestamp(end) - unix_timestamp(now() ) ) < 7*24*3600
)
};
return $date_conds;
}
#from_date and from_time is defined
if ( ( $from_date ne '' ) && ( $from_time ne '' ) ) {
my $datetime = time::datetime_cond( $from_date . 'T' . $from_time );
if ( $datetime ne '' ) {
if ( $date_range_include eq '1' ) {
@@ -662,8 +706,8 @@ sub getDateQueryConditions {
}
}
#till_time is defined
if ( ( $params->{till_date} ne '' ) && ( $params->{till_time} ne '' ) ) {
#till_date and till_time is defined
if ( ( $till_date ne '' ) && ( $till_time ne '' ) ) {
my $datetime = time::datetime_cond( $till_date . 'T' . $till_time );
if ( $datetime ne '' ) {
push @$date_conds, ' start < ? ';
@@ -672,93 +716,34 @@ sub getDateQueryConditions {
}
}
#time is defined
if ( ( defined $params->{time} )
&& ( $params->{time} ne '' )
&& ( $params->{time} ne 'now' )
&& ( $params->{time} ne 'future' ) )
{
my $time = time::time_cond( $params->{time} );
if ( $time ne '' ) {
push @$date_conds, ' time(start) = ? ';
push @$bind_values, $time;
}
return $date_conds;
}
# after start of daily broadcast
if ( ( $from_date ne '' ) && ( $from_time eq '' ) ) {
my $start = time::datetime_cond( $from_date . 'T00:00:00' );
$start = time::add_hours_to_datetime( $start, $day_starting_hour );
#event is not over
elsif ( ( defined $params->{time} ) && ( $params->{time} eq 'now' ) ) {
push @$date_conds, qq{
(
( unix_timestamp(end) > unix_timestamp(now() ) )
and
( unix_timestamp(start) <= unix_timestamp(now() ) )
)
};
return $date_conds;
} elsif ( ( defined $params->{time} ) && ( $params->{time} eq 'future' ) ) {
push @$date_conds, qq{
(
( unix_timestamp(end) > unix_timestamp(now() ) )
and
( unix_timestamp(end) - unix_timestamp(now() ) ) < 7*24*3600
)
};
return $date_conds;
} elsif ( $date ne '' ) {
if ( $date eq 'today' ) {
my $date = time::get_event_date($config);
if ( $date ne '' ) {
push @$date_conds, ' ( start_date = ? ) ';
push @$bind_values, $date;
}
} else {
#push @$date_conds, ' ( start_date = ? ) ';
#push @$bind_values, $date;
my $start = time::datetime_cond( $date . 'T00:00:00' );
if ( $start ne '' ) {
$start = time::add_hours_to_datetime( $start, $config->{date}->{day_starting_hour} );
my $end = time::add_hours_to_datetime( $start, 24 );
if ( $date_range_include eq '1' ) {
push @$date_conds, ' end > ? ';
push @$bind_values, $start;
} else {
push @$date_conds, ' start >= ? ';
push @$bind_values, $start;
}
if ( $end ne '' ) {
push @$date_conds, ' start < ? ';
push @$bind_values, $end;
}
}
}
return $date_conds;
} else {
if ( $from_date ne '' ) {
if ( $date_range_include eq '1' ) {
# end is after start
push @$date_conds, ' ( end_date >= ? )';
push @$bind_values, $from_date;
push @$date_conds, ' ( end >= ? )';
push @$bind_values, $start;
} else {
push @$date_conds, ' ( start_date >= ? ) ';
push @$bind_values, $from_date;
push @$date_conds, ' ( start >= ? ) ';
push @$bind_values, $start;
}
}
if ( $till_date ne '' ) {
# before end of daily broadcast
if ( ( $till_date ne '' ) && ( $till_time eq '' ) ) {
my $end = time::datetime_cond( $till_date . 'T00:00:00' );
$end = time::add_hours_to_datetime( $end, $day_starting_hour );
if ( $date_range_include eq '1' ) {
# start is before end
push @$date_conds, ' ( start_date <= ? )';
push @$bind_values, $till_date;
push @$date_conds, ' ( start <= ? )';
push @$bind_values, $end;
} else {
push @$date_conds, ' ( end_date <= ? ) ';
push @$bind_values, $till_date;
push @$date_conds, ' ( end <= ? ) ';
push @$bind_values, $end;
}
}
@@ -766,27 +751,26 @@ sub getDateQueryConditions {
my $weekday = $params->{weekday};
$weekday += 1;
$weekday -= 7 if ( $weekday > 7 );
push @$date_conds, ' (dayofweek(start_date)= ?) ';
push @$date_conds, ' (dayofweek(start)= ?) ';
push @$bind_values, $weekday;
}
if ( $params->{archive} eq 'past' ) {
my $date = time::get_event_date($config);
if ( $date ne '' ) {
push @$date_conds, ' ( start_date < ? ) ';
push @$date_conds, ' ( start < ? ) ';
push @$bind_values, $date;
}
} elsif ( $params->{archive} eq 'future' ) {
}
if ( $params->{archive} eq 'future' ) {
my $date = time::get_event_date($config);
if ( $date ne '' ) {
push @$date_conds, ' ( start_date >= ? ) ';
push @$date_conds, ' ( end >= ? ) ';
push @$bind_values, $date;
}
}
}
return $date_conds;
}
@@ -1430,21 +1414,33 @@ sub get_by_date_range {
my $end_date = shift;
my $options = shift;
my $day_starting_hour = $config->{date}->{day_starting_hour};
my $start = time::datetime_cond( $start_date . 'T00:00:00' );
$start = time::add_hours_to_datetime( $start, $day_starting_hour );
my $end = time::datetime_cond( $end_date . 'T00:00:00' );
$end = time::add_hours_to_datetime( $end, $day_starting_hour );
my $conditions = [];
push @$conditions, 'start_date between ? and ?';
my $bind_values = [ $start_date, $end_date ];
push @$conditions, 'start between ? and ?';
my $bind_values = [ $start, $end ];
setDefaultEventConditions( $config, $conditions, $bind_values, $options );
$conditions = join( ' and ', @$conditions );
my $select = qq{distinct date(start) 'start_date'};
$select = qq{distinct date(DATE_SUB(start, INTERVAL $day_starting_hour HOUR)) 'start_date'} if defined $day_starting_hour;
my $query = qq{
select start_date
select $select
from calcms_events
where $conditions
group by start_date
};
#print STDERR Dumper($query);
my $events = db::get( $dbh, $query, $bind_values );
return $events;

View File

@@ -185,6 +185,7 @@ sub datetime_to_utc_datetime{
sub add_hours_to_datetime{
my $datetime=shift;
my $hours=shift;
$hours=0 unless defined $hours;
return time_to_datetime(datetime_to_time($datetime)+(3600*$hours));
};
@@ -192,6 +193,7 @@ sub add_hours_to_datetime{
sub add_minutes_to_datetime{
my $datetime=shift;
my $minutes=shift;
$minutes=0 unless defined $minutes;
return time_to_datetime(datetime_to_time($datetime)+(60*$minutes));
};
@@ -199,6 +201,7 @@ sub add_minutes_to_datetime{
sub add_days_to_datetime{
my $datetime=shift;
my $days=shift;
$days=0 unless defined $days;
my $time=datetime_to_array($datetime);
#print STDERR Dumper($time);
($time->[0], $time->[1], $time->[2]) =Date::Calc::Add_Delta_Days($time->[0]+0, $time->[1]+0, $time->[2]+0, $days);
@@ -208,6 +211,7 @@ sub add_days_to_datetime{
sub add_days_to_date{
my $datetime=shift;
my $days=shift;
$days=0 unless defined $days;
my $date=date_to_array($datetime);
($date->[0], $date->[1], $date->[2]) =Date::Calc::Add_Delta_Days($date->[0]+0, $date->[1]+0, $date->[2]+0, $days);
return array_to_date($date);

View File

@@ -8,15 +8,15 @@ use Data::Dumper;
use CGI qw(header param Vars escapeHTML uploadInfo cgi_error);
$CGI::POST_MAX=1024 * 100;
use params;
use config;
use db;
use markup;
use cache;
use comments;
use template;
use log;
use time;
use params();
use config();
use db();
use markup();
use cache();
use comments();
use template();
use log();
use time();
binmode STDOUT, ":utf8";

View File

@@ -12,13 +12,13 @@ use CGI qw(header param Vars);
#use Benchmark;
#use Devel::Profiler;
use db;
use events;
use time;
use aggregator;
use markup;
use log;
use config;
use db();
use events();
use time();
use aggregator();
use markup();
use log();
use config();
#use params;
#my $r=shift;

View File

@@ -9,10 +9,10 @@ $CGI::POST_MAX = 1000;
$CGI::DISABLE_UPLOADS = 1;
use Data::Dumper;
use params;
use config;
use log;
use calendar;
use params();
use config();
use log();
use calendar();
my $r = shift;

View File

@@ -8,14 +8,14 @@ use CGI qw(header param Vars);
$CGI::POST_MAX = 1000;
$CGI::DISABLE_UPLOADS = 1;
use params;
use db;
use markup;
use cache;
use log;
use config;
use template;
use project;
use params();
use db();
use markup();
use cache();
use log();
use config();
use template();
use project();
binmode STDOUT, ":utf8";

View File

@@ -8,14 +8,15 @@ $CGI::POST_MAX = 1000;
$CGI::DISABLE_UPLOADS = 1;
use Data::Dumper;
use params;
use config;
use comments;
use db;
use markup;
use time;
use cache;
use log;
use params();
use config();
use comments();
use db();
use markup();
use time();
use cache();
use log();
my $r = shift;
( my $cgi, my $params, my $error ) = params::get($r);

View File

@@ -273,6 +273,10 @@ a{
#calcms_list .submitted{
}
#calcms_list h2{
clear:none !important;
}
#calcms_list .content img{
border:0;
}
@@ -286,6 +290,7 @@ a{
#calcms_list .content figcaption{
font-size:12px;
margin-left: 1em;
max-width:12em;
}
@@ -740,7 +745,7 @@ a#calcms_search_show_details #plus{
#player{
border:0;
padding:0;
height:3rem;
height:5rem;
}
#player:hover{
opacity:0.9;
@@ -842,6 +847,7 @@ div.update, div.update a{
}
#listen_radio iframe{
margin-top:1em;
max-width:none;
}
#listen_radio td{
border:0;

View File

@@ -1,10 +1,9 @@
#! /usr/bin/perl -w
use warnings "all";
#no warnings 'redefine';
#use diagnostics;
use strict;
use warnings;
no warnings 'redefine';
use Data::Dumper;
#use utf8;
@@ -13,11 +12,11 @@ use CGI qw(header param Vars);
$CGI::POST_MAX = 1000;
$CGI::DISABLE_UPLOADS = 1;
use params;
use config;
use log;
use events;
use time;
use params();
use config();
use log();
use events();
use time();
#binmode STDOUT, ":utf8";
binmode STDOUT, ":encoding(UTF-8)";

View File

@@ -2,26 +2,27 @@
use warnings "all";
use strict;
use Data::Dumper;
use params;
use config;
use log;
use template;
use auth;
use uac;
use roles;
use project;
use studios;
use events;
use series;
use series_schedule;
use series_events;
use series_dates;
use markup;
use URI::Escape;
use Encode;
use localization;
use Data::Dumper;
use URI::Escape();
use Encode();
use params();
use config();
use log();
use template();
use auth();
use uac();
use roles();
use project();
use studios();
use events();
use series();
use series_schedule();
use series_events();
use series_dates();
use markup();
use localization();
binmode STDOUT, ":utf8";

View File

@@ -4,24 +4,25 @@ use warnings "all";
use strict;
use Data::Dumper;
use params;
use config;
use log;
use template;
use auth;
use uac;
use roles;
use project;
use studios;
use events;
use series;
use series_schedule;
use series_events;
use series_dates;
use markup;
use URI::Escape;
use Encode;
use localization;
use URI::Escape();
use Encode();
use params();
use config();
use log();
use template();
use auth();
use uac();
use roles();
use project();
use studios();
use events();
use series();
use series_schedule();
use series_events();
use series_dates();
use markup();
use localization();
binmode STDOUT, ":utf8";

View File

@@ -6,25 +6,23 @@ use warnings;
use strict;
use Data::Dumper;
use CGI::Simple ();
use ModPerl::Util ();
use Date::Calc();
use Time::Local();
use File::Temp();
use Date::Calc;
use Time::Local;
use File::Temp;
use config;
use log;
use localization;
use auth;
use uac;
use studios;
use series;
use template;
use audio_recordings;
use events;
use time;
use config();
use log();
use localization();
use auth();
use uac();
use studios();
use series();
use template();
use audio_recordings();
use events();
use time();
#$|=1;
binmode STDOUT, ":utf8";

90
website/agenda/planung/calendar.cgi Executable file → Normal file
View File

@@ -3,32 +3,32 @@
use warnings "all";
use strict;
use Data::Dumper;
use URI::Escape;
use Encode;
use utf8;
use URI::Escape();
use Encode();
use utf8();
use params;
use config;
use log;
use template;
use calendar;
use auth;
use uac;
use roles;
use project;
use studios;
use events;
use series;
use markup;
use series_dates;
use studio_timeslot_dates;
use work_dates;
use playout;
use markup;
use user_settings;
use localization;
use DateTime;
use audio_recordings;
use params();
use config();
use log();
use template();
use calendar();
use auth();
use uac();
use roles();
use project();
use studios();
use events();
use series();
use markup();
use series_dates();
use studio_timeslot_dates();
use work_dates();
use playout();
use markup();
use user_settings();
use localization();
use DateTime();
use audio_recordings();
binmode STDOUT, ":utf8";
@@ -404,7 +404,7 @@ sub showCalendar {
#print STDERR Dumper($date) if $date->{file}=~/180503/;
#$date->{title}.= '<b>rms_image</b>: ' .($date->{rms_image}||'').'<br>' if defined $date->{rms_image};
$date->{rms_image} = uri_unescape( $date->{rms_image} ) if defined $date->{rms_image};
$date->{rms_image} = URI::Escape::uri_unescape( $date->{rms_image} ) if defined $date->{rms_image};
$date->{origStart} = $date->{start};
@@ -490,18 +490,17 @@ sub showCalendar {
# calculate positions and find schedule errors (depending on position)
for my $date ( sort ( keys %$events_by_day ) ) {
for my $events ( $events_by_day->{$date} ) {
my $events = $events_by_day->{$date} ;
calc_positions( $events, $cal_options );
find_errors($events);
}
}
for my $event (@$events){
next unless defined $event->{uploaded_at};
print STDERR "uploadAt=$event->{uploaded_at}, playoutModified:$event->{playout_modified_at}, playoutUpdatedAt:$event->{playout_updated_at}\n";
#print STDERR "uploadAt=$event->{uploaded_at}, playoutModified:$event->{playout_modified_at}, playoutUpdatedAt:$event->{playout_updated_at}\n";
next if (defined $event->{playout_updated_at}) && ( $event->{uploaded_at} lt $event->{playout_updated_at} );
#print STDERR Dumper($event);
$event->{upload} ='pending' ;
#$event->{upload} ='pending' ;
#$event->{title}.='<br>pending';
}
@@ -904,7 +903,7 @@ sub calcCalendarTable {
project_id => $project_id,
studio_id => $studio_id,
class => 'time',
time => sprintf( '%02d', $hour % 24 )
'time' => sprintf( '%02d', $hour % 24 )
};
}
@@ -927,7 +926,7 @@ sub calcCalendarTable {
project_id => -1,
studio_id => -1,
class => 'time now',
time => $time,
'time' => $time,
};
calc_positions( $events_by_day->{0}, $cal_options );
@@ -1404,9 +1403,7 @@ sub print_event {
$height = '';
}
my $date = $event->{origStart} || $event->{start} || '';
$date = $event->{time} if defined $event->{time};
$date = $event->{date} if defined $event->{date};
# my $date = $event->{origStart} || $event->{start} || '';
my $content = $event->{content} || '';
if ( $class =~ /schedule/ ) {
@@ -1428,14 +1425,18 @@ sub print_event {
$content = '<div class="text">' . $content . '</div><div class="icons"></div>';
}
return
q{<div }
. qq{class="$class" id="$id" style="}
. $height . q{top:}
. $ystart . q{px;"}
. qq{ date="$date"}
. qq{ $attr}
. qq{>$content</div>} . "\n";
my $time='';
$time= qq{ time="$event->{time}"} if $class=~m/time/;
my $date='';
$date= qq{ date="$event->{date}"} if $class=~m/date/;
my $line= q{<div } . qq{class="$class" id="$id"};
$line.= qq{ style="}. $height . q{top:}. $ystart . q{px;"};
$line.= $time . $date . qq{ $attr} ;
$line.= qq{>$content</div>} ;
$line.= "\n";
return $line;
}
sub getFrequency {
@@ -1470,7 +1471,7 @@ sub calc_positions {
my ( $end_hour, $end_min ) = getTime( $event->{end_time} );
$start_hour += 24 if $start_hour < $start_of_day;
$end_hour += 24 if $end_hour <= $start_of_day;
$end_hour += 24 if $end_hour < $start_of_day;
$event->{ystart} = $start_hour * 60 + $start_min;
$event->{yend} = $end_hour * 60 + $end_min;
}
@@ -1882,3 +1883,4 @@ sub check_params {
return $checked;
}

View File

@@ -2,33 +2,27 @@
use warnings "all";
use strict;
use URI::Escape;
use Encode;
use URI::Escape();
use Encode();
use Data::Dumper;
use MIME::Base64;
use Encode::Locale;
use MIME::Base64();
use Encode::Locale();
use params;
use config;
use log;
use template;
use db;
use auth;
use uac;
use params();
use config();
use log();
use template();
use db();
use auth();
use uac();
#use roles;
use time;
use markup;
use project;
use studios;
use comments;
#use events;
#use series;
#use series_dates;
#use series_events;
#use user_stats;
use localization;
use time();
use markup();
use project();
use studios();
use comments();
use localization();
binmode STDOUT, ":utf8";

View File

@@ -4,29 +4,19 @@ use warnings "all";
use strict;
use Data::Dumper;
use params;
use config;
use params();
use config();
use template();
#use log;
#use template;
use auth;
use uac;
use time;
use auth();
use uac();
use time();
#use roles;
#use project;
#use studios;
#use events;
use series;
use eventOps;
use series();
use eventOps();
#use series_schedule;
#use series_events;
use series_dates;
#use markup;
#use URI::Escape;
#use Encode;
use localization;
use series_dates();
use localization();
binmode STDOUT, ":utf8";
@@ -85,14 +75,12 @@ unless ( $permissions->{create_event_from_schedule} == 1 ) {
return;
}
if ( defined $params->{action} ) {
# assign_s ($config, $request) if ($params->{action} eq 'assign_series');
if ( $params->{action} eq 'create_events') {
create_events( $config, $request );
}else{
show_events( $config, $request );
}
#print Dumper($params);
show_events( $config, $request );
sub show_events{
my $config = shift;
my $request = shift;
@@ -103,25 +91,44 @@ sub show_events{
uac::permissions_denied('assign_series_events');
return;
}
template::process( 'print', $params->{template}, $params );
}
sub create_events{
my $config = shift;
my $request = shift;
my $params = $request->{params}->{checked};
my $permissions = $request->{permissions};
unless ( $permissions->{assign_series_events} == 1 ) {
uac::permissions_denied('assign_series_events');
return;
}
print STDERR "create events\n";
my $project_id = $params->{project_id};
my $studio_id = $params->{studio_id};
my $from_date = $params->{from_date};
my $till_date = $params->{till_date};
my $duration = $params->{duration};
$from_date = time::time_to_datetime();
if ($from_date=~/(\d\d\d\d\-\d\d\-\d\d \d\d)/){
$from_date = $1.':00';
}
$till_date = time::add_days_to_datetime($from_date, 28);
$till_date = time::add_days_to_datetime($from_date, $duration);
if ($from_date=~/(\d\d\d\d\-\d\d\-\d\d)/){
$from_date = $1;
}
if ($till_date=~/(\d\d\d\d\-\d\d\-\d\d)/){
$till_date = $1;
}
$params->{from_date}=$from_date;
$params->{till_date}=$till_date;
print "update from $from_date to $till_date\n";
print STDERR "create events from $from_date to $till_date\n";
my $dates = series_dates::getDatesWithoutEvent(
$config, {
@@ -131,12 +138,15 @@ sub show_events{
till => $till_date
}
);
print "<pre>found ".(scalar @$dates)." dates\n";
print STDERR "<pre>found ".(scalar @$dates)." dates\n";
my $events=[];
for my $date (@$dates){
print $date->{start}."\n";
createEvent($config, $request, $date);
#return;
#print STDERR $date->{start}."\n";
push @$events, createEvent($config, $request, $date);
}
$params->{created_events} = $events;
$params->{created_total} = scalar(@$events);
template::process( 'print', $params->{template}, $params );
}
sub createEvent{
@@ -159,7 +169,9 @@ sub createEvent{
return undef unless defined $event;
$event->{start_date} = $event->{start};
return eventOps::createEvent($request, $event, 'create_event_from_schedule');
eventOps::createEvent($request, $event, 'create_event_from_schedule');
print STDERR Dumper($date);
return $event;
}
@@ -184,7 +196,8 @@ sub check_params {
#numeric values
$checked->{exclude} = 0;
for my $param ( 'id', 'project_id', 'studio_id', 'series_id' ) {
$checked->{duration} = 28;
for my $param ( 'id', 'project_id', 'studio_id', 'duration' ) {
if ( ( defined $params->{$param} ) && ( $params->{$param} =~ /^\d+$/ ) ) {
$checked->{$param} = $params->{$param};
}
@@ -196,192 +209,9 @@ sub check_params {
$checked->{studio_id} = -1;
}
for my $param ( 'date', 'from_date', 'till_date' ) {
$checked->{$param} = time::check_date( $params->{$param} );
}
$checked->{template} = template::check( $params->{template}, 'create_events' );
return $checked;
}
__DATA__
https://piradio.de/agenda/planung/create_events.cgi?project_id=1&studio_id=1&from_date=2016-09-01&till_date=2016-10-01
sub show_events2 {
my $config = shift;
my $request = shift;
my $params = $request->{params}->{checked};
my $permissions = $request->{permissions};
unless ( $permissions->{assign_series_events} == 1 ) {
uac::permissions_denied('assign_series_events');
return;
}
#print STDERR Dumper($params);
#print '<pre>'.Dumper($eventsByStart);
#return;
my $scheduleDates = getScheduleDates( $config, $request );
my $schedulesByStart = getEventsByDate($scheduleDates);
my $events = getEvents( $config, $request );
my $eventsByStart = getEventsByDate($events);
print "<pre>\n";
for my $date ( sort keys %$schedulesByStart ) {
my $schedules = $schedulesByStart->{$date};
my $scheduleCount = scalar(@$schedules);
if ( $scheduleCount == 0 ) {
print "skip datetime $date, no schedule found\n";
next;
}
if ( $scheduleCount > 1 ) {
print "skip datetime $date, $scheduleCount schedules found\n";
next;
}
my $schedule = $schedules->[0];
if ( defined $eventsByStart->{$date} ) {
my $events = $eventsByStart->{$date};
my $eventCount = scalar(@$events);
if ( $eventCount > 0 ) {
print "skip datetime $date, $eventCount events already exist\n";
next;
}
}
print "found schedule without event for $date" . " - " . $schedule->{series_name} . " - " . $schedule->{title} . "\n";
#createEvent($config, $request, $schedule);
}
}
# get a list of events with given start datetime
sub getEventsByDate {
my $events = shift;
my $eventsByDate = {};
for my $event (@$events) {
my $startDate = $event->{start};
push @{ $eventsByDate->{$startDate} }, $event;
}
return $eventsByDate;
}
sub getScheduleDates {
my $config = shift;
my $request = shift;
my $params = $request->{params}->{checked};
my $permissions = $request->{permissions};
my $options = {};
my $from = $params->{from_date};
my $till = $params->{till_date};
my $project_id = $params->{project_id};
my $studio_id = $params->{studio_id};
#build series filter
$options = {
project_id => $project_id,
studio_id => $studio_id,
from => $from,
till => $till,
date_range_include => 1,
exclude => 0
};
#get all series dates
my $series_dates = series_dates::get_series( $config, $options );
return $series_dates;
}
sub getEvents {
my $config = shift;
my $request = shift;
my $params = $request->{params}->{checked};
my $permissions = $request->{permissions};
my $options = {};
my $from = $params->{from_date};
my $till = $params->{till_date};
my $project_id = $params->{project_id};
my $studio_id = $params->{studio_id};
#build event filter
$options = {
project_id => $project_id,
template => 'no',
limit => 600,
get => 'no_content',
from_date => $from,
till_date => $till,
date_range_include => 1,
archive => 'all',
#exclude_locations => '1',
};
my $events = getSeriesEvents( $config, $request, $options, $params );
return $events;
}
sub getSeriesEvents {
my $config = shift;
my $request = shift;
my $options = shift;
my $params = shift;
#get events by series id
my $series_id = $request->{params}->{checked}->{series_id};
if ( defined $series_id ) {
my $events = series::get_events( $request->{config}, $options );
return $events;
}
#get events (directly from database to get the ones, not assigned, yet)
delete $options->{studio_id};
delete $options->{project_id};
my $request2 = {
params => {
checked => events::check_params( $config, $options )
},
config => $request->{config},
permissions => $request->{permissions}
};
$request2->{params}->{checked}->{published} = 'all';
#$request2->{params}->{checked}->{exclude_locations} = 1;
#delete $request2->{params}->{checked}->{locations_to_exclude}
# if ( ( $params->{studio_id} == -1 ) && ( defined $request2->{params}->{checked}->{locations_to_exclude} ) );
my $events = events::get( $config, $request2 );
#print STDERR Dumper($request2->{params}->{checked});
#print STDERR Dumper($events);
series::add_series_ids_to_events( $request->{config}, $events );
my $studios = studios::get(
$request->{config},
{
project_id => $options->{project_id}
}
);
my $studio_id_by_location = {};
for my $studio (@$studios) {
$studio_id_by_location->{ $studio->{location} } = $studio->{id};
}
for my $event (@$events) {
$event->{project_id} = $options->{project_id} unless defined $event->{project_id};
$event->{studio_id} = $studio_id_by_location->{ $event->{location} } unless defined $event->{studio_id};
}
return $events;
}

View File

@@ -3,19 +3,17 @@
use warnings "all";
use strict;
use Data::Dumper;
use HTML::Template;
use HTML::Template();
#use URI::Escape;
#use Encode;
use config();
use log();
use template();
use params();
use config();
use auth();
use localization();
use studios();
use config;
use log;
use template;
use params;
use config;
use auth;
use localization;
use studios;
binmode STDOUT, ":utf8";
my $r = shift;
( my $cgi, my $params, my $error ) = params::get($r);

View File

@@ -1,34 +1,36 @@
#! /usr/bin/perl -w
use warnings "all";
use strict;
use URI::Escape;
use Encode;
use Data::Dumper;
use MIME::Base64;
use Encode::Locale;
use warnings;
no warnings 'redefine';
use params;
use config;
use log;
use template;
use db;
use auth;
use uac;
use URI::Escape();
use Encode();
use Data::Dumper;
use MIME::Base64();
use Encode::Locale();
use params();
use config();
use log();
use template();
use db();
use auth();
use uac();
#use roles;
use time;
use markup;
use project;
use studios;
use events;
use series;
use series_dates;
use series_events;
use user_stats;
use localization;
use eventOps;
use images;
use time();
use markup();
use project();
use studios();
use events();
use series();
use series_dates();
use series_events();
use user_stats();
use localization();
use eventOps();
use images();
binmode STDOUT, ":utf8";

View File

@@ -2,33 +2,28 @@
use warnings "all";
use strict;
use URI::Escape;
use Encode;
use URI::Escape();
use Encode();
use Data::Dumper;
use MIME::Base64;
use MIME::Base64();
use Text::Diff::FormattedHTML();
#use Text::Diff ();
use Text::Diff::FormattedHTML;
use params();
use config();
use log();
use template();
use db();
use auth();
use uac();
use time();
use markup();
use studios();
use event_history();
use events();
use series_events();
use localization();
use params;
use config;
use log;
use template;
use db;
use auth;
use uac;
#use roles;
use time;
use markup;
use studios;
use event_history;
use events;
#use series;
#use series_dates;
use series_events;
use localization;
binmode STDOUT, ":utf8";
my $r = shift;

View File

@@ -2,20 +2,21 @@
use warnings "all";
use strict;
use Data::Dumper;
use params;
use config;
use log;
use template;
use auth;
use uac;
use roles;
use studios;
use markup;
use URI::Escape;
use Encode;
use localization;
use Data::Dumper;
use URI::Escape();
use Encode();
use params();
use config();
use log();
use template();
use auth();
use uac();
use roles();
use studios();
use markup();
use localization();
#binmode STDOUT, ":utf8";

View File

@@ -1,29 +1,31 @@
#! /usr/bin/perl -w
use warnings "all";
use strict;
use warnings;
no warnings 'redefine';
use Data::Dumper;
use File::stat;
use Time::localtime;
use File::stat();
use Time::localtime();
use CGI::Simple;# qw(header param Vars escapeHTML uploadInfo cgi_error);
use URI::Escape;
use URI::Escape();
use time;
use images;
use params;
use config;
use log;
use template;
use db;
use auth;
use uac;
use project;
use time;
use markup;
use studios;
use series;
use localization;
use time();
use images();
use params();
use config();
use log();
use template();
use db();
use auth();
use uac();
use project();
use time();
use markup();
use studios();
use series();
use localization();
binmode STDOUT, ":utf8";
@@ -175,7 +177,7 @@ sub show_image {
# put selected image first
$selectedFilename = 'not-found';
if ( defined $selectedImage ) {
$finalResults = [ $selectedImage ];
push @$finalResults, $selectedImage;
$selectedFilename = $selectedImage->{filename};
}
@@ -186,13 +188,13 @@ sub show_image {
$results = $finalResults;
}
if ( scalar @$results !=0 ) {
if ( $params->{template} =~ /edit/ ) {
my $result = $results->[0];
$result->{missing_licence}=1 if (! defined $result->{licence} ) || ( $result->{licence}!~/\S/);
$results = [ $result ] ;
}
if ( defined $results ) {
$results = modify_results( $results, $permissions, $user, $local_media_url );
}
@@ -202,7 +204,7 @@ sub show_image {
my $template_params = {
'search' => $search,
'images' => $results,
'count' => @$results . '',
'count' => scalar @$results,
'projects' => project::get_with_dates($config),
'project_id' => $params->{project_id},
'studio_id' => $params->{studio_id},
@@ -211,8 +213,8 @@ sub show_image {
# print STDERR
$template_params->{loc} = localization::get( $config, { user => $params->{presets}->{user}, file => 'image' } );
$template_params = uac::set_template_permissions( $permissions, $template_params );
$template_params= uac::set_template_permissions( $permissions, $template_params );
$template_params->{no_results}=1 if scalar @$results==0;
#set global values for update and delete, per image values are evaluated later
$template_params->{allow}->{update_image} =
$template_params->{allow}->{update_image_own} || $template_params->{allow}->{seriesupdate_image_others};
@@ -266,7 +268,7 @@ sub save_image {
my $dbh = db::connect($config);
print STDERR "going to save\n";
print STDERR Dumper($image);
#print STDERR Dumper($image);
my $entries = images::get(
$config,
@@ -321,7 +323,7 @@ sub delete_image {
filename => $params->{delete_image},
};
my $result = images::delete( $dbh, $image );
print STDERR "delete result=" . Dumper($result);
#print STDERR "delete result=" . Dumper($result);
return;
my $action_result = '';

View File

@@ -9,17 +9,18 @@ use Apache2::Upload;
delete $INC{CGI};
require 'CGI.pm';
use Date::Calc;
use Time::Local;
use Image::Magick;
use Image::Magick::Square;
use config;
use auth;
use uac;
use studios;
use template;
use images;
use Date::Calc();
use Time::Local();
use Image::Magick();
use Image::Magick::Square();
use config();
use auth();
use uac();
use studios();
use template();
use images();
binmode STDOUT, ":utf8";

View File

@@ -320,7 +320,7 @@ function getNearestDatetime(){
var distance=Math.abs(delta);
if (distance<yMin){
yMin=delta;
hour= $(this).attr('date');
hour= $(this).attr('time');
minute='30';
if(delta<0) minute='00';
}
@@ -346,7 +346,7 @@ function getNearestDatetime(){
var distance=Math.abs(delta);
if (distance<yMin){
yMin=delta;
hour= $(this).attr('date');
hour= $(this).attr('time');
var height=$(this).height()+14;
var m=((delta+height*1.5)-8) % height;
m=m*60/height;
@@ -790,7 +790,7 @@ function updateTable(){
$(baseElement).on("mousedown", ".schedule", function(event){
if ( $('.ui-draggable-dragging').length>0 ) return;
handleSchedule($(this).attr("id"), $(this).attr("date"), event);
handleSchedule($(this).attr("id"), $(this).attr("start"), event);
});
//create schedule within studio timeslots
@@ -1031,7 +1031,7 @@ function handleWorktime(id, event){
if (project_id<0) return;
if (studio_id<0) return;
if (schedule_id<0) return;
var start_date=$(this).attr("date");
var start_date=$(this).attr("start");
var url="work_time.cgi?action=show_new_event_from_schedule&project_id="+project_id+"&studio_id="+studio_id+"&schedule_id="+schedule_id+"&start_date="+start_date;
if(event.which==1){

View File

@@ -1,15 +1,17 @@
#! /usr/bin/perl -w
use warnings "all";
use strict;
use Data::Dumper;
use warnings;
no warnings 'redefine';
use config;
use params;
use log;
use JSON;
use auth;
use localization;
use Data::Dumper;
use JSON();
use config();
use params();
use log();
use auth();
use localization();
binmode STDOUT, ":utf8";

View File

@@ -2,33 +2,24 @@
use warnings "all";
use strict;
use URI::Escape;
use Encode;
use URI::Escape();
use Encode();
use Data::Dumper;
use MIME::Lite();
#use Text::Diff::FormattedHTML;
use MIME::Lite;
use params();
use config();
use log();
use template();
use db();
use auth();
use uac();
use time();
use markup();
use studios();
use series();
use localization();
use params;
use config;
use log;
use template;
use db;
use auth;
use uac;
#use roles;
use time;
use markup;
use studios;
#use event_history;
#use events;
use series;
#use series_dates;
#use series_events;
use localization;
binmode STDOUT, ":utf8";
my $r = shift;

View File

@@ -4,26 +4,26 @@ use warnings "all";
use strict;
use Data::Dumper;
use URI::Escape;
use Encode;
use localization;
use URI::Escape();
use Encode();
use localization();
use params;
use config;
use log;
use template;
use auth;
use uac;
use roles;
use project;
use studios;
use events;
use series;
use series_schedule;
use series_events;
use series_dates;
use markup;
use playout;
use params();
use config();
use log();
use template();
use auth();
use uac();
use roles();
use project();
use studios();
use events();
use series();
use series_schedule();
use series_events();
use series_dates();
use markup();
use playout();
binmode STDOUT, ":utf8";

View File

@@ -4,16 +4,16 @@ use warnings "all";
use strict;
use Data::Dumper;
use config;
use params;
use log;
use template;
use auth;
use roles;
use uac;
use studios;
use series;
use localization;
use config();
use params();
use log();
use template();
use auth();
use roles();
use uac();
use studios();
use series();
use localization();
my $r = shift;
( my $cgi, my $params, my $error ) = params::get($r);

View File

@@ -5,11 +5,11 @@ use strict;
use Data::Dumper;
use params;
use config;
use db;
use auth;
use password_requests;
use params();
use config();
use db();
use auth();
use password_requests();
binmode STDOUT, ":utf8";

View File

@@ -4,15 +4,16 @@ use warnings "all";
use strict;
use Data::Dumper;
use config;
use params;
use log;
use template;
use auth;
use roles;
use uac;
use studios;
use localization;
use config();
use params();
use log();
use template();
use auth();
use roles();
use uac();
use studios();
use localization();
binmode STDOUT, ":utf8";
my $r = shift;

View File

@@ -4,26 +4,15 @@ use warnings "all";
use strict;
use Data::Dumper;
use params;
use config;
use log;
use template;
use auth;
use uac;
use params();
use config();
use log();
use template();
use auth();
use uac();
#use roles;
#use project;
#use studios;
#use events;
use series;
#use series_schedule;
#use series_events;
#use series_dates;
#use markup;
#use URI::Escape;
#use Encode;
use localization;
use series();
use localization();
binmode STDOUT, ":utf8";

View File

@@ -4,14 +4,14 @@ use warnings "all";
use strict;
use Data::Dumper;
use params;
use config;
use log;
use template;
use auth;
use uac;
use series;
use localization;
use params();
use config();
use log();
use template();
use auth();
use uac();
use series();
use localization();
binmode STDOUT, ":utf8";

View File

@@ -1,28 +1,30 @@
#! /usr/bin/perl -w
use warnings "all";
use strict;
use Data::Dumper;
use warnings;
no warnings 'redefine';
use params;
use config;
use log;
use template;
use auth;
use uac;
use roles;
use project;
use studios;
use events;
use series;
use series_schedule;
use series_events;
use series_dates;
use user_stats;
use markup;
use Data::Dumper;
use URI::Escape;
use Encode;
use localization;
use Encode();
use params();
use config();
use log();
use template();
use auth();
use uac();
use roles();
use project();
use studios();
use events();
use series();
use series_schedule();
use series_events();
use series_dates();
use user_stats();
use markup();
use localization();
binmode STDOUT, ":utf8";

View File

@@ -1,30 +1,19 @@
#! /usr/bin/perl -w
use warnings "all";
use strict;
use warnings;
no warnings 'redefine';
use Data::Dumper;
use params;
use config;
use log;
use template;
use auth;
use uac;
#use roles;
#use project;
#use studios;
#use events;
#use series;
use images;
#use series_schedule;
#use series_events;
#use series_dates;
#use markup;
#use URI::Escape;
#use Encode;
use localization;
use params();
use config();
use log();
use template();
use auth();
use uac();
use images();
use localization();
binmode STDOUT, ":utf8";

View File

@@ -2,23 +2,24 @@
use warnings "all";
use strict;
use Data::Dumper;
use params;
use config;
use log;
use template;
use auth;
use uac;
use roles;
use project;
use studios;
use studio_timeslot_schedule;
use studio_timeslot_dates;
use markup;
use URI::Escape;
use Encode;
use localization;
use Data::Dumper;
use URI::Escape();
use Encode();
use params();
use config();
use log();
use template();
use auth();
use uac();
use roles();
use project();
use studios();
use studio_timeslot_schedule();
use studio_timeslot_dates();
use markup();
use localization();
binmode STDOUT, ":utf8";

View File

@@ -4,16 +4,16 @@ use warnings "all";
use strict;
use Data::Dumper;
use config;
use params;
use log;
use template;
use auth;
use roles;
use uac;
use studios;
use series;
use localization;
use config();
use params();
use log();
use template();
use auth();
use roles();
use uac();
use studios();
use series();
use localization();
my $r = shift;
( my $cgi, my $params, my $error ) = params::get($r);

View File

@@ -1,65 +1,54 @@
<TMPL_IF .allow.scan_series_events>
<script type="text/javascript">
<TMPL_IF .getBack>
<script type="text/javascript">
<TMPL_IF .getBack>
$(document).ready(
function(){
getBack()
}
);
</TMPL_IF>
</TMPL_IF>
function assign_series(project_id, studio_id, series_id){
if (project_id=='')return false;
if (studio_id=='')return false;
if (series_id=='')return false;
function assign_series(project_id, studio_id){
if (project_id == '') return false;
if (studio_id == '') return false;
$('#assignments_form input[name="series_id"]').val(series_id);
//console.log(project_id+" "+studio_id+" "+series_id);
var url="assign_series.cgi?project_id="+project_id+'&studio_id='+studio_id+'&series_id='+series_id+'&action=assign_series';
//console.log(url);
$('#assignments_form').submit();
var url="create_events.cgi?project_id="+project_id+'&studio_id='+studio_id+'&action=create_events';
$('#create_event_form').submit();
return false;
}
</script>
}
</script>
<style>
#content{
height:100px;
overflow:none;
}
</style>
assign series to project <b><TMPL_VAR project_name></b> and studio <b><TMPL_VAR studio_name></b>
<h1>create events from schedule</h1>
<!-- view series -->
<div id="view_<TMPL_VAR .series_id>" class="view" style="clear:both">
<div class="buttons">
<div style="float:left">Series</div>
<select style="float:left;max-width:600px;" id="series_id">
<option value="">--select--</option>
<TMPL_LOOP series>
<option value="<TMPL_VAR series_id>"><b><TMPL_VAR series_name> - <TMPL_VAR title></b> [<TMPL_VAR project_name> - <TMPL_VAR studio_name>]
</TMPL_LOOP>
</select>
<form action="assign_series.cgi?project_id=<TMPL_VAR .project_id>&studio_id=<TMPL_VAR .studio_id>" method="post" id="assignments_form">
<form id="create_event_form">
<input type="hidden" name="project_id" value="<TMPL_VAR .project_id>">
<input type="hidden" name="studio_id" value="<TMPL_VAR .studio_id>">
<input type="hidden" name="series_id" value="<TMPL_VAR .series_id>">
<input type="hidden" name="action" value="assign_series">
<input type="hidden" name="action" value="create_events">
duration
<select name="duration">
<option value="7">1 week</option>
<option value="14">2 weeks</option>
<option value="21">3 weeks</option>
<option value="28">4 weeks</option>
</select>
<button target="_blank"
onclick="assign_series('<TMPL_VAR .project_id>', '<TMPL_VAR .studio_id>', $('#series_id').val());return false;"
style="float:left"
>assign</button>
</form>
</div>
</div>
onclick="assign_series('<TMPL_VAR .project_id>', '<TMPL_VAR .studio_id>');return false;"
>create</button>
</form>
<div class="view" style="clear:both">
created <TMPL_VAR created_total> events from <TMPL_VAR from_date> till <TMPL_VAR till_date><br>
<TMPL_LOOP created_events> events created
<TMPL_var start><TMPL_var full_title><br>
</TMPL_LOOP>
</body>
</html>
</view>
</body>
</html>
</TMPL_IF>

View File

@@ -1,8 +1,5 @@
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link type="text/css" href="css/admin.css" rel="stylesheet"/>
<link type="text/css" href="css/image_manager.css" rel="stylesheet"/>
</head>
<script>
function updateCheckBox(selector, value){
@@ -42,6 +39,10 @@ $(document).ready(
</script>
<TMPL_IF no_results>
found no image
</TMPL_IF>
<TMPL_LOOP images>
<TMPL_IF filename>
<div id="imageEditor">

View File

@@ -4,17 +4,17 @@ use warnings "all";
use strict;
use Data::Dumper;
use config;
use log;
use template;
use auth;
use uac;
use roles;
use project;
use studios;
use params;
use user_settings;
use localization;
use config();
use log();
use template();
use auth();
use uac();
use roles();
use project();
use studios();
use params();
use user_settings();
use localization();
my $r = shift;
( my $cgi, my $params, my $error ) = params::get($r);

View File

@@ -4,18 +4,18 @@ use warnings "all";
use strict;
use Data::Dumper;
use config;
use log;
use template;
use auth;
use uac;
use roles;
use project;
use studios;
use params;
use user_settings;
use user_stats;
use localization;
use config();
use log();
use template();
use auth();
use uac();
use roles();
use project();
use studios();
use params();
use user_settings();
use user_stats();
use localization();
my $r = shift;
( my $cgi, my $params, my $error ) = params::get($r);

View File

@@ -4,16 +4,16 @@ use warnings "all";
use strict;
use Data::Dumper;
use config;
use log;
use template;
use auth;
use uac;
use roles;
use studios;
use params;
use localization;
use password_requests;
use config();
use log();
use template();
use auth();
use uac();
use roles();
use studios();
use params();
use localization();
use password_requests();
my $r = shift;
( my $cgi, my $params, my $error ) = params::get($r);

View File

@@ -2,22 +2,23 @@
use warnings "all";
use strict;
use Data::Dumper;
use params;
use config;
use log;
use template;
use auth;
use uac;
use roles;
use project;
use studios;
use work_schedule;
use work_dates;
use URI::Escape;
use Encode;
use localization;
use Data::Dumper;
use URI::Escape();
use Encode();
use params();
use config();
use log();
use template();
use auth();
use uac();
use roles();
use project();
use studios();
use work_schedule();
use work_dates();
use localization();
binmode STDOUT, ":utf8";

24
website/agenda/series.cgi Normal file → Executable file
View File

@@ -4,25 +4,11 @@ use warnings "all";
use strict;
use Data::Dumper;
use params;
use config;
#use log;
use template;
#use auth;
#use uac;
#use roles;
#use project;
use studios;
#use events;
use series;
#use series_schedule;
#use series_events;
#use series_dates;
#use user_stats;
#use markup;
#use URI::Escape;
#use Encode;
#use localization;
use params();
use config();
use template();
use studios();
use series();
binmode STDOUT, ":utf8";
print "Content-Type: text/html; charset=utf-8\n\n";

View File

@@ -11,14 +11,14 @@ use CGI qw(header param Vars);
$CGI::POST_MAX = 1000;
$CGI::DISABLE_UPLOADS = 1;
use params;
use db;
use markup;
use cache;
use log;
use config;
use template;
use project;
use params();
use db();
use markup();
use cache();
use log();
use config();
use template();
use project();
binmode STDOUT, ":utf8";

View File

@@ -43,23 +43,19 @@
<TMPL_IF no_image_in_text>
<TMPL_IF .hide_event_images>
<a href="<TMPL_VAR series_image_url>">
<figure>
<TMPL_IF series_thumb_url>
<img alt="<TMPL_VAR series_name>" src="<TMPL_VAR series_thumb_url>">
<TMPL_IF series_image_label><figcaption>Bild:<TMPL_VAR series_image_label></figcaption></TMPL_IF>
</TMPL_IF>
</figure>
</a>
<TMPL_ELSE>
<a href="<TMPL_VAR image_url>">
<figure>
<TMPL_IF thumb_url>
<img alt="<TMPL_VAR series_name>" src="<TMPL_VAR thumb_url>">
<TMPL_IF image_label><figcaption>Bild:<TMPL_VAR image_label></figcaption></TMPL_IF>
</TMPL_IF>
</figure>
</a>
</TMPL_IF>
</TMPL_IF>

View File

@@ -11,11 +11,11 @@ $CGI::DISABLE_UPLOADS = 1;
use Data::Dumper;
#use Apache2::Request;
use JSON;
use params;
use config;
use log;
use playout;
use JSON();
use params();
use config();
use log();
use playout();
my $r = shift;
@@ -39,7 +39,7 @@ if ( $0 =~ /upload_playout.*?\.cgi$/ ) {
my $len = $r->headers_in()->get('Content-Length');
print "Content-type:text/plain\n\n";
my $json = decode_json($content);
my $json = JSON::decode_json($content);
$json->{project_id} = $params->{project_id} if defined $params->{project_id};
$json->{studio_id} = $params->{studio_id} if defined $params->{studio_id};
$config->{access}->{write} = 1;