optimize imports
This commit is contained in:
@@ -183,6 +183,7 @@ sub modify_results {
|
|||||||
|
|
||||||
$result->{rerun} = '' unless defined $result->{rerun};
|
$result->{rerun} = '' unless defined $result->{rerun};
|
||||||
|
|
||||||
|
$result->{title} = '' unless defined $result->{title};
|
||||||
if ( $result->{title} =~ /\#(\d+)([a-z])?\s*$/ ) {
|
if ( $result->{title} =~ /\#(\d+)([a-z])?\s*$/ ) {
|
||||||
$result->{episode} = $1 unless defined $result->{episode};
|
$result->{episode} = $1 unless defined $result->{episode};
|
||||||
$result->{rerun} = $2 || '' unless ( $result->{rerun} =~ /\d/ );
|
$result->{rerun} = $2 || '' unless ( $result->{rerun} =~ /\d/ );
|
||||||
@@ -221,7 +222,7 @@ sub modify_results {
|
|||||||
$result->{event_uri} .= $result->{series_name};
|
$result->{event_uri} .= $result->{series_name};
|
||||||
$result->{event_uri} .= '-' if ( $result->{title} ne '' );
|
$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/\#/Nr./g;
|
||||||
$result->{event_uri} =~ s/\&/und/g;
|
$result->{event_uri} =~ s/\&/und/g;
|
||||||
$result->{event_uri} =~ s/\//\%2f/g;
|
$result->{event_uri} =~ s/\//\%2f/g;
|
||||||
@@ -611,11 +612,6 @@ sub add_recordings {
|
|||||||
return $events;
|
return $events;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub getDateRange {
|
|
||||||
my $config = shift;
|
|
||||||
$config->{date}->{day_starting_hour};
|
|
||||||
}
|
|
||||||
|
|
||||||
sub getDateQueryConditions {
|
sub getDateQueryConditions {
|
||||||
my $config = shift;
|
my $config = shift;
|
||||||
my $params = shift;
|
my $params = shift;
|
||||||
@@ -626,28 +622,76 @@ sub getDateQueryConditions {
|
|||||||
|
|
||||||
#date, today, tomorrow, yesterday
|
#date, today, tomorrow, yesterday
|
||||||
my $date = '';
|
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 = '';
|
my $from_date = '';
|
||||||
$from_date = time::date_cond( $params->{from_date} )
|
$from_date = time::date_cond( $params->{from_date} ) if $params->{from_date} ne '';
|
||||||
if ( $params->{from_date} ne '' );
|
|
||||||
|
|
||||||
my $till_date = '';
|
my $till_date = '';
|
||||||
$till_date = time::date_cond( $params->{till_date} )
|
$till_date = time::date_cond( $params->{till_date} ) if $params->{till_date} ne '';
|
||||||
if ( $params->{till_date} ne '' );
|
|
||||||
|
|
||||||
my $from_time = '';
|
my $from_time = '';
|
||||||
$from_time = time::time_cond( $params->{from_time} )
|
$from_time = time::time_cond( $params->{from_time} ) if $params->{from_time} ne '';
|
||||||
if ( $params->{from_time} ne '' );
|
|
||||||
|
|
||||||
my $till_time = '';
|
my $till_time = '';
|
||||||
$till_time = time::time_cond( $params->{till_time} )
|
$till_time = time::time_cond( $params->{till_time} ) if $params->{till_time} ne '';
|
||||||
if ( $params->{till_time} ne '' );
|
|
||||||
|
my $time = $params->{time};
|
||||||
|
$time = '' unless defined $time;
|
||||||
|
|
||||||
my $date_range_include = $params->{date_range_include};
|
my $date_range_include = $params->{date_range_include};
|
||||||
|
my $day_starting_hour = $config->{date}->{day_starting_hour};
|
||||||
|
|
||||||
#from_time is defined
|
if ( $date eq 'today' ) {
|
||||||
if ( ( $params->{from_date} ne '' ) && ( $params->{from_time} ne '' ) ) {
|
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 );
|
my $datetime = time::datetime_cond( $from_date . 'T' . $from_time );
|
||||||
if ( $datetime ne '' ) {
|
if ( $datetime ne '' ) {
|
||||||
if ( $date_range_include eq '1' ) {
|
if ( $date_range_include eq '1' ) {
|
||||||
@@ -662,8 +706,8 @@ sub getDateQueryConditions {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#till_time is defined
|
#till_date and till_time is defined
|
||||||
if ( ( $params->{till_date} ne '' ) && ( $params->{till_time} ne '' ) ) {
|
if ( ( $till_date ne '' ) && ( $till_time ne '' ) ) {
|
||||||
my $datetime = time::datetime_cond( $till_date . 'T' . $till_time );
|
my $datetime = time::datetime_cond( $till_date . 'T' . $till_time );
|
||||||
if ( $datetime ne '' ) {
|
if ( $datetime ne '' ) {
|
||||||
push @$date_conds, ' start < ? ';
|
push @$date_conds, ' start < ? ';
|
||||||
@@ -672,119 +716,59 @@ sub getDateQueryConditions {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#time is defined
|
# after start of daily broadcast
|
||||||
if ( ( defined $params->{time} )
|
if ( ( $from_date ne '' ) && ( $from_time eq '' ) ) {
|
||||||
&& ( $params->{time} ne '' )
|
my $start = time::datetime_cond( $from_date . 'T00:00:00' );
|
||||||
&& ( $params->{time} ne 'now' )
|
$start = time::add_hours_to_datetime( $start, $day_starting_hour );
|
||||||
&& ( $params->{time} ne 'future' ) )
|
|
||||||
{
|
if ( $date_range_include eq '1' ) {
|
||||||
my $time = time::time_cond( $params->{time} );
|
|
||||||
if ( $time ne '' ) {
|
# end is after start
|
||||||
push @$date_conds, ' time(start) = ? ';
|
push @$date_conds, ' ( end >= ? )';
|
||||||
push @$bind_values, $time;
|
push @$bind_values, $start;
|
||||||
|
} else {
|
||||||
|
push @$date_conds, ' ( start >= ? ) ';
|
||||||
|
push @$bind_values, $start;
|
||||||
}
|
}
|
||||||
return $date_conds;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#event is not over
|
# before end of daily broadcast
|
||||||
elsif ( ( defined $params->{time} ) && ( $params->{time} eq 'now' ) ) {
|
if ( ( $till_date ne '' ) && ( $till_time eq '' ) ) {
|
||||||
push @$date_conds, qq{
|
my $end = time::datetime_cond( $till_date . 'T00:00:00' );
|
||||||
(
|
$end = time::add_hours_to_datetime( $end, $day_starting_hour );
|
||||||
( unix_timestamp(end) > unix_timestamp(now() ) )
|
if ( $date_range_include eq '1' ) {
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
# start is before end
|
||||||
|
push @$date_conds, ' ( start <= ? )';
|
||||||
|
push @$bind_values, $end;
|
||||||
} else {
|
} else {
|
||||||
|
push @$date_conds, ' ( end <= ? ) ';
|
||||||
#push @$date_conds, ' ( start_date = ? ) ';
|
push @$bind_values, $end;
|
||||||
#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
|
if ( $params->{weekday} ne '' ) {
|
||||||
push @$date_conds, ' ( end_date >= ? )';
|
my $weekday = $params->{weekday};
|
||||||
push @$bind_values, $from_date;
|
$weekday += 1;
|
||||||
} else {
|
$weekday -= 7 if ( $weekday > 7 );
|
||||||
push @$date_conds, ' ( start_date >= ? ) ';
|
push @$date_conds, ' (dayofweek(start)= ?) ';
|
||||||
push @$bind_values, $from_date;
|
push @$bind_values, $weekday;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( $params->{archive} eq 'past' ) {
|
||||||
|
my $date = time::get_event_date($config);
|
||||||
|
if ( $date ne '' ) {
|
||||||
|
push @$date_conds, ' ( start < ? ) ';
|
||||||
|
push @$bind_values, $date;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( $till_date ne '' ) {
|
}
|
||||||
if ( $date_range_include eq '1' ) {
|
if ( $params->{archive} eq 'future' ) {
|
||||||
|
my $date = time::get_event_date($config);
|
||||||
# start is before end
|
if ( $date ne '' ) {
|
||||||
push @$date_conds, ' ( start_date <= ? )';
|
push @$date_conds, ' ( end >= ? ) ';
|
||||||
push @$bind_values, $till_date;
|
push @$bind_values, $date;
|
||||||
} else {
|
|
||||||
push @$date_conds, ' ( end_date <= ? ) ';
|
|
||||||
push @$bind_values, $till_date;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( $params->{weekday} ne '' ) {
|
|
||||||
my $weekday = $params->{weekday};
|
|
||||||
$weekday += 1;
|
|
||||||
$weekday -= 7 if ( $weekday > 7 );
|
|
||||||
push @$date_conds, ' (dayofweek(start_date)= ?) ';
|
|
||||||
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 @$bind_values, $date;
|
|
||||||
}
|
|
||||||
|
|
||||||
} elsif ( $params->{archive} eq 'future' ) {
|
|
||||||
my $date = time::get_event_date($config);
|
|
||||||
if ( $date ne '' ) {
|
|
||||||
push @$date_conds, ' ( start_date >= ? ) ';
|
|
||||||
push @$bind_values, $date;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $date_conds;
|
return $date_conds;
|
||||||
@@ -1430,21 +1414,33 @@ sub get_by_date_range {
|
|||||||
my $end_date = shift;
|
my $end_date = shift;
|
||||||
my $options = 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 = [];
|
my $conditions = [];
|
||||||
push @$conditions, 'start_date between ? and ?';
|
push @$conditions, 'start between ? and ?';
|
||||||
my $bind_values = [ $start_date, $end_date ];
|
my $bind_values = [ $start, $end ];
|
||||||
|
|
||||||
setDefaultEventConditions( $config, $conditions, $bind_values, $options );
|
setDefaultEventConditions( $config, $conditions, $bind_values, $options );
|
||||||
|
|
||||||
$conditions = join( ' and ', @$conditions );
|
$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{
|
my $query = qq{
|
||||||
select start_date
|
select $select
|
||||||
from calcms_events
|
from calcms_events
|
||||||
where $conditions
|
where $conditions
|
||||||
group by start_date
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#print STDERR Dumper($query);
|
||||||
|
|
||||||
my $events = db::get( $dbh, $query, $bind_values );
|
my $events = db::get( $dbh, $query, $bind_values );
|
||||||
|
|
||||||
return $events;
|
return $events;
|
||||||
|
|||||||
@@ -185,6 +185,7 @@ sub datetime_to_utc_datetime{
|
|||||||
sub add_hours_to_datetime{
|
sub add_hours_to_datetime{
|
||||||
my $datetime=shift;
|
my $datetime=shift;
|
||||||
my $hours=shift;
|
my $hours=shift;
|
||||||
|
$hours=0 unless defined $hours;
|
||||||
return time_to_datetime(datetime_to_time($datetime)+(3600*$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{
|
sub add_minutes_to_datetime{
|
||||||
my $datetime=shift;
|
my $datetime=shift;
|
||||||
my $minutes=shift;
|
my $minutes=shift;
|
||||||
|
$minutes=0 unless defined $minutes;
|
||||||
return time_to_datetime(datetime_to_time($datetime)+(60*$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{
|
sub add_days_to_datetime{
|
||||||
my $datetime=shift;
|
my $datetime=shift;
|
||||||
my $days=shift;
|
my $days=shift;
|
||||||
|
$days=0 unless defined $days;
|
||||||
my $time=datetime_to_array($datetime);
|
my $time=datetime_to_array($datetime);
|
||||||
#print STDERR Dumper($time);
|
#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);
|
($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{
|
sub add_days_to_date{
|
||||||
my $datetime=shift;
|
my $datetime=shift;
|
||||||
my $days=shift;
|
my $days=shift;
|
||||||
|
$days=0 unless defined $days;
|
||||||
my $date=date_to_array($datetime);
|
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);
|
($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);
|
return array_to_date($date);
|
||||||
|
|||||||
@@ -8,15 +8,15 @@ use Data::Dumper;
|
|||||||
use CGI qw(header param Vars escapeHTML uploadInfo cgi_error);
|
use CGI qw(header param Vars escapeHTML uploadInfo cgi_error);
|
||||||
$CGI::POST_MAX=1024 * 100;
|
$CGI::POST_MAX=1024 * 100;
|
||||||
|
|
||||||
use params;
|
use params();
|
||||||
use config;
|
use config();
|
||||||
use db;
|
use db();
|
||||||
use markup;
|
use markup();
|
||||||
use cache;
|
use cache();
|
||||||
use comments;
|
use comments();
|
||||||
use template;
|
use template();
|
||||||
use log;
|
use log();
|
||||||
use time;
|
use time();
|
||||||
|
|
||||||
binmode STDOUT, ":utf8";
|
binmode STDOUT, ":utf8";
|
||||||
|
|
||||||
|
|||||||
@@ -12,13 +12,13 @@ use CGI qw(header param Vars);
|
|||||||
#use Benchmark;
|
#use Benchmark;
|
||||||
#use Devel::Profiler;
|
#use Devel::Profiler;
|
||||||
|
|
||||||
use db;
|
use db();
|
||||||
use events;
|
use events();
|
||||||
use time;
|
use time();
|
||||||
use aggregator;
|
use aggregator();
|
||||||
use markup;
|
use markup();
|
||||||
use log;
|
use log();
|
||||||
use config;
|
use config();
|
||||||
|
|
||||||
#use params;
|
#use params;
|
||||||
#my $r=shift;
|
#my $r=shift;
|
||||||
|
|||||||
@@ -9,10 +9,10 @@ $CGI::POST_MAX = 1000;
|
|||||||
$CGI::DISABLE_UPLOADS = 1;
|
$CGI::DISABLE_UPLOADS = 1;
|
||||||
|
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
use params;
|
use params();
|
||||||
use config;
|
use config();
|
||||||
use log;
|
use log();
|
||||||
use calendar;
|
use calendar();
|
||||||
|
|
||||||
my $r = shift;
|
my $r = shift;
|
||||||
|
|
||||||
|
|||||||
@@ -8,14 +8,14 @@ use CGI qw(header param Vars);
|
|||||||
$CGI::POST_MAX = 1000;
|
$CGI::POST_MAX = 1000;
|
||||||
$CGI::DISABLE_UPLOADS = 1;
|
$CGI::DISABLE_UPLOADS = 1;
|
||||||
|
|
||||||
use params;
|
use params();
|
||||||
use db;
|
use db();
|
||||||
use markup;
|
use markup();
|
||||||
use cache;
|
use cache();
|
||||||
use log;
|
use log();
|
||||||
use config;
|
use config();
|
||||||
use template;
|
use template();
|
||||||
use project;
|
use project();
|
||||||
|
|
||||||
binmode STDOUT, ":utf8";
|
binmode STDOUT, ":utf8";
|
||||||
|
|
||||||
|
|||||||
@@ -8,14 +8,15 @@ $CGI::POST_MAX = 1000;
|
|||||||
$CGI::DISABLE_UPLOADS = 1;
|
$CGI::DISABLE_UPLOADS = 1;
|
||||||
|
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
use params;
|
|
||||||
use config;
|
use params();
|
||||||
use comments;
|
use config();
|
||||||
use db;
|
use comments();
|
||||||
use markup;
|
use db();
|
||||||
use time;
|
use markup();
|
||||||
use cache;
|
use time();
|
||||||
use log;
|
use cache();
|
||||||
|
use log();
|
||||||
|
|
||||||
my $r = shift;
|
my $r = shift;
|
||||||
( my $cgi, my $params, my $error ) = params::get($r);
|
( my $cgi, my $params, my $error ) = params::get($r);
|
||||||
|
|||||||
@@ -273,6 +273,10 @@ a{
|
|||||||
#calcms_list .submitted{
|
#calcms_list .submitted{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#calcms_list h2{
|
||||||
|
clear:none !important;
|
||||||
|
}
|
||||||
|
|
||||||
#calcms_list .content img{
|
#calcms_list .content img{
|
||||||
border:0;
|
border:0;
|
||||||
}
|
}
|
||||||
@@ -286,6 +290,7 @@ a{
|
|||||||
#calcms_list .content figcaption{
|
#calcms_list .content figcaption{
|
||||||
font-size:12px;
|
font-size:12px;
|
||||||
margin-left: 1em;
|
margin-left: 1em;
|
||||||
|
max-width:12em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -740,7 +745,7 @@ a#calcms_search_show_details #plus{
|
|||||||
#player{
|
#player{
|
||||||
border:0;
|
border:0;
|
||||||
padding:0;
|
padding:0;
|
||||||
height:3rem;
|
height:5rem;
|
||||||
}
|
}
|
||||||
#player:hover{
|
#player:hover{
|
||||||
opacity:0.9;
|
opacity:0.9;
|
||||||
@@ -842,6 +847,7 @@ div.update, div.update a{
|
|||||||
}
|
}
|
||||||
#listen_radio iframe{
|
#listen_radio iframe{
|
||||||
margin-top:1em;
|
margin-top:1em;
|
||||||
|
max-width:none;
|
||||||
}
|
}
|
||||||
#listen_radio td{
|
#listen_radio td{
|
||||||
border:0;
|
border:0;
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
#! /usr/bin/perl -w
|
#! /usr/bin/perl -w
|
||||||
|
|
||||||
use warnings "all";
|
|
||||||
|
|
||||||
#no warnings 'redefine';
|
|
||||||
#use diagnostics;
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
no warnings 'redefine';
|
||||||
|
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
|
|
||||||
#use utf8;
|
#use utf8;
|
||||||
@@ -13,11 +12,11 @@ use CGI qw(header param Vars);
|
|||||||
$CGI::POST_MAX = 1000;
|
$CGI::POST_MAX = 1000;
|
||||||
$CGI::DISABLE_UPLOADS = 1;
|
$CGI::DISABLE_UPLOADS = 1;
|
||||||
|
|
||||||
use params;
|
use params();
|
||||||
use config;
|
use config();
|
||||||
use log;
|
use log();
|
||||||
use events;
|
use events();
|
||||||
use time;
|
use time();
|
||||||
|
|
||||||
#binmode STDOUT, ":utf8";
|
#binmode STDOUT, ":utf8";
|
||||||
binmode STDOUT, ":encoding(UTF-8)";
|
binmode STDOUT, ":encoding(UTF-8)";
|
||||||
|
|||||||
@@ -2,26 +2,27 @@
|
|||||||
|
|
||||||
use warnings "all";
|
use warnings "all";
|
||||||
use strict;
|
use strict;
|
||||||
use Data::Dumper;
|
|
||||||
|
|
||||||
use params;
|
use Data::Dumper;
|
||||||
use config;
|
use URI::Escape();
|
||||||
use log;
|
use Encode();
|
||||||
use template;
|
|
||||||
use auth;
|
use params();
|
||||||
use uac;
|
use config();
|
||||||
use roles;
|
use log();
|
||||||
use project;
|
use template();
|
||||||
use studios;
|
use auth();
|
||||||
use events;
|
use uac();
|
||||||
use series;
|
use roles();
|
||||||
use series_schedule;
|
use project();
|
||||||
use series_events;
|
use studios();
|
||||||
use series_dates;
|
use events();
|
||||||
use markup;
|
use series();
|
||||||
use URI::Escape;
|
use series_schedule();
|
||||||
use Encode;
|
use series_events();
|
||||||
use localization;
|
use series_dates();
|
||||||
|
use markup();
|
||||||
|
use localization();
|
||||||
|
|
||||||
binmode STDOUT, ":utf8";
|
binmode STDOUT, ":utf8";
|
||||||
|
|
||||||
|
|||||||
@@ -4,24 +4,25 @@ use warnings "all";
|
|||||||
use strict;
|
use strict;
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
|
|
||||||
use params;
|
use URI::Escape();
|
||||||
use config;
|
use Encode();
|
||||||
use log;
|
|
||||||
use template;
|
use params();
|
||||||
use auth;
|
use config();
|
||||||
use uac;
|
use log();
|
||||||
use roles;
|
use template();
|
||||||
use project;
|
use auth();
|
||||||
use studios;
|
use uac();
|
||||||
use events;
|
use roles();
|
||||||
use series;
|
use project();
|
||||||
use series_schedule;
|
use studios();
|
||||||
use series_events;
|
use events();
|
||||||
use series_dates;
|
use series();
|
||||||
use markup;
|
use series_schedule();
|
||||||
use URI::Escape;
|
use series_events();
|
||||||
use Encode;
|
use series_dates();
|
||||||
use localization;
|
use markup();
|
||||||
|
use localization();
|
||||||
|
|
||||||
binmode STDOUT, ":utf8";
|
binmode STDOUT, ":utf8";
|
||||||
|
|
||||||
|
|||||||
@@ -6,25 +6,23 @@ use warnings;
|
|||||||
use strict;
|
use strict;
|
||||||
|
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
|
|
||||||
use CGI::Simple ();
|
use CGI::Simple ();
|
||||||
use ModPerl::Util ();
|
use ModPerl::Util ();
|
||||||
|
use Date::Calc();
|
||||||
|
use Time::Local();
|
||||||
|
use File::Temp();
|
||||||
|
|
||||||
use Date::Calc;
|
use config();
|
||||||
use Time::Local;
|
use log();
|
||||||
use File::Temp;
|
use localization();
|
||||||
|
use auth();
|
||||||
use config;
|
use uac();
|
||||||
use log;
|
use studios();
|
||||||
use localization;
|
use series();
|
||||||
use auth;
|
use template();
|
||||||
use uac;
|
use audio_recordings();
|
||||||
use studios;
|
use events();
|
||||||
use series;
|
use time();
|
||||||
use template;
|
|
||||||
use audio_recordings;
|
|
||||||
use events;
|
|
||||||
use time;
|
|
||||||
|
|
||||||
#$|=1;
|
#$|=1;
|
||||||
binmode STDOUT, ":utf8";
|
binmode STDOUT, ":utf8";
|
||||||
|
|||||||
94
website/agenda/planung/calendar.cgi
Executable file → Normal file
94
website/agenda/planung/calendar.cgi
Executable file → Normal file
@@ -3,32 +3,32 @@
|
|||||||
use warnings "all";
|
use warnings "all";
|
||||||
use strict;
|
use strict;
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
use URI::Escape;
|
use URI::Escape();
|
||||||
use Encode;
|
use Encode();
|
||||||
use utf8;
|
use utf8();
|
||||||
|
|
||||||
use params;
|
use params();
|
||||||
use config;
|
use config();
|
||||||
use log;
|
use log();
|
||||||
use template;
|
use template();
|
||||||
use calendar;
|
use calendar();
|
||||||
use auth;
|
use auth();
|
||||||
use uac;
|
use uac();
|
||||||
use roles;
|
use roles();
|
||||||
use project;
|
use project();
|
||||||
use studios;
|
use studios();
|
||||||
use events;
|
use events();
|
||||||
use series;
|
use series();
|
||||||
use markup;
|
use markup();
|
||||||
use series_dates;
|
use series_dates();
|
||||||
use studio_timeslot_dates;
|
use studio_timeslot_dates();
|
||||||
use work_dates;
|
use work_dates();
|
||||||
use playout;
|
use playout();
|
||||||
use markup;
|
use markup();
|
||||||
use user_settings;
|
use user_settings();
|
||||||
use localization;
|
use localization();
|
||||||
use DateTime;
|
use DateTime();
|
||||||
use audio_recordings;
|
use audio_recordings();
|
||||||
|
|
||||||
binmode STDOUT, ":utf8";
|
binmode STDOUT, ":utf8";
|
||||||
|
|
||||||
@@ -404,7 +404,7 @@ sub showCalendar {
|
|||||||
#print STDERR Dumper($date) if $date->{file}=~/180503/;
|
#print STDERR Dumper($date) if $date->{file}=~/180503/;
|
||||||
#$date->{title}.= '<b>rms_image</b>: ' .($date->{rms_image}||'').'<br>' if defined $date->{rms_image};
|
#$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};
|
$date->{origStart} = $date->{start};
|
||||||
|
|
||||||
@@ -490,18 +490,17 @@ sub showCalendar {
|
|||||||
|
|
||||||
# calculate positions and find schedule errors (depending on position)
|
# calculate positions and find schedule errors (depending on position)
|
||||||
for my $date ( sort ( keys %$events_by_day ) ) {
|
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 );
|
calc_positions( $events, $cal_options );
|
||||||
find_errors($events);
|
find_errors($events);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for my $event (@$events){
|
for my $event (@$events){
|
||||||
next unless defined $event->{uploaded_at};
|
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} );
|
next if (defined $event->{playout_updated_at}) && ( $event->{uploaded_at} lt $event->{playout_updated_at} );
|
||||||
#print STDERR Dumper($event);
|
#print STDERR Dumper($event);
|
||||||
$event->{upload} ='pending' ;
|
#$event->{upload} ='pending' ;
|
||||||
#$event->{title}.='<br>pending';
|
#$event->{title}.='<br>pending';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -904,7 +903,7 @@ sub calcCalendarTable {
|
|||||||
project_id => $project_id,
|
project_id => $project_id,
|
||||||
studio_id => $studio_id,
|
studio_id => $studio_id,
|
||||||
class => 'time',
|
class => 'time',
|
||||||
time => sprintf( '%02d', $hour % 24 )
|
'time' => sprintf( '%02d', $hour % 24 )
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -927,7 +926,7 @@ sub calcCalendarTable {
|
|||||||
project_id => -1,
|
project_id => -1,
|
||||||
studio_id => -1,
|
studio_id => -1,
|
||||||
class => 'time now',
|
class => 'time now',
|
||||||
time => $time,
|
'time' => $time,
|
||||||
};
|
};
|
||||||
calc_positions( $events_by_day->{0}, $cal_options );
|
calc_positions( $events_by_day->{0}, $cal_options );
|
||||||
|
|
||||||
@@ -1404,9 +1403,7 @@ sub print_event {
|
|||||||
$height = '';
|
$height = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
my $date = $event->{origStart} || $event->{start} || '';
|
# my $date = $event->{origStart} || $event->{start} || '';
|
||||||
$date = $event->{time} if defined $event->{time};
|
|
||||||
$date = $event->{date} if defined $event->{date};
|
|
||||||
my $content = $event->{content} || '';
|
my $content = $event->{content} || '';
|
||||||
|
|
||||||
if ( $class =~ /schedule/ ) {
|
if ( $class =~ /schedule/ ) {
|
||||||
@@ -1428,14 +1425,18 @@ sub print_event {
|
|||||||
$content = '<div class="text">' . $content . '</div><div class="icons"></div>';
|
$content = '<div class="text">' . $content . '</div><div class="icons"></div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
return
|
my $time='';
|
||||||
q{<div }
|
$time= qq{ time="$event->{time}"} if $class=~m/time/;
|
||||||
. qq{class="$class" id="$id" style="}
|
|
||||||
. $height . q{top:}
|
my $date='';
|
||||||
. $ystart . q{px;"}
|
$date= qq{ date="$event->{date}"} if $class=~m/date/;
|
||||||
. qq{ date="$date"}
|
|
||||||
. qq{ $attr}
|
my $line= q{<div } . qq{class="$class" id="$id"};
|
||||||
. qq{>$content</div>} . "\n";
|
$line.= qq{ style="}. $height . q{top:}. $ystart . q{px;"};
|
||||||
|
$line.= $time . $date . qq{ $attr} ;
|
||||||
|
$line.= qq{>$content</div>} ;
|
||||||
|
$line.= "\n";
|
||||||
|
return $line;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub getFrequency {
|
sub getFrequency {
|
||||||
@@ -1470,7 +1471,7 @@ sub calc_positions {
|
|||||||
my ( $end_hour, $end_min ) = getTime( $event->{end_time} );
|
my ( $end_hour, $end_min ) = getTime( $event->{end_time} );
|
||||||
|
|
||||||
$start_hour += 24 if $start_hour < $start_of_day;
|
$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->{ystart} = $start_hour * 60 + $start_min;
|
||||||
$event->{yend} = $end_hour * 60 + $end_min;
|
$event->{yend} = $end_hour * 60 + $end_min;
|
||||||
}
|
}
|
||||||
@@ -1882,3 +1883,4 @@ sub check_params {
|
|||||||
return $checked;
|
return $checked;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -2,33 +2,27 @@
|
|||||||
|
|
||||||
use warnings "all";
|
use warnings "all";
|
||||||
use strict;
|
use strict;
|
||||||
use URI::Escape;
|
|
||||||
use Encode;
|
use URI::Escape();
|
||||||
|
use Encode();
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
use MIME::Base64;
|
use MIME::Base64();
|
||||||
use Encode::Locale;
|
use Encode::Locale();
|
||||||
|
|
||||||
use params;
|
use params();
|
||||||
use config;
|
use config();
|
||||||
use log;
|
use log();
|
||||||
use template;
|
use template();
|
||||||
use db;
|
use db();
|
||||||
use auth;
|
use auth();
|
||||||
use uac;
|
use uac();
|
||||||
|
|
||||||
#use roles;
|
use time();
|
||||||
use time;
|
use markup();
|
||||||
use markup;
|
use project();
|
||||||
use project;
|
use studios();
|
||||||
use studios;
|
use comments();
|
||||||
use comments;
|
use localization();
|
||||||
|
|
||||||
#use events;
|
|
||||||
#use series;
|
|
||||||
#use series_dates;
|
|
||||||
#use series_events;
|
|
||||||
#use user_stats;
|
|
||||||
use localization;
|
|
||||||
|
|
||||||
binmode STDOUT, ":utf8";
|
binmode STDOUT, ":utf8";
|
||||||
|
|
||||||
|
|||||||
@@ -4,29 +4,19 @@ use warnings "all";
|
|||||||
use strict;
|
use strict;
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
|
|
||||||
use params;
|
use params();
|
||||||
use config;
|
use config();
|
||||||
|
use template();
|
||||||
|
|
||||||
#use log;
|
use auth();
|
||||||
#use template;
|
use uac();
|
||||||
use auth;
|
use time();
|
||||||
use uac;
|
|
||||||
use time;
|
|
||||||
|
|
||||||
#use roles;
|
use series();
|
||||||
#use project;
|
use eventOps();
|
||||||
#use studios;
|
|
||||||
#use events;
|
|
||||||
use series;
|
|
||||||
use eventOps;
|
|
||||||
|
|
||||||
#use series_schedule;
|
use series_dates();
|
||||||
#use series_events;
|
use localization();
|
||||||
use series_dates;
|
|
||||||
#use markup;
|
|
||||||
#use URI::Escape;
|
|
||||||
#use Encode;
|
|
||||||
use localization;
|
|
||||||
|
|
||||||
binmode STDOUT, ":utf8";
|
binmode STDOUT, ":utf8";
|
||||||
|
|
||||||
@@ -85,14 +75,12 @@ unless ( $permissions->{create_event_from_schedule} == 1 ) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( defined $params->{action} ) {
|
if ( $params->{action} eq 'create_events') {
|
||||||
|
create_events( $config, $request );
|
||||||
# assign_s ($config, $request) if ($params->{action} eq 'assign_series');
|
}else{
|
||||||
|
show_events( $config, $request );
|
||||||
}
|
}
|
||||||
|
|
||||||
#print Dumper($params);
|
|
||||||
show_events( $config, $request );
|
|
||||||
|
|
||||||
sub show_events{
|
sub show_events{
|
||||||
my $config = shift;
|
my $config = shift;
|
||||||
my $request = shift;
|
my $request = shift;
|
||||||
@@ -103,25 +91,44 @@ sub show_events{
|
|||||||
uac::permissions_denied('assign_series_events');
|
uac::permissions_denied('assign_series_events');
|
||||||
return;
|
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 $project_id = $params->{project_id};
|
||||||
my $studio_id = $params->{studio_id};
|
my $studio_id = $params->{studio_id};
|
||||||
my $from_date = $params->{from_date};
|
my $from_date = $params->{from_date};
|
||||||
my $till_date = $params->{till_date};
|
my $till_date = $params->{till_date};
|
||||||
|
my $duration = $params->{duration};
|
||||||
|
|
||||||
$from_date = time::time_to_datetime();
|
$from_date = time::time_to_datetime();
|
||||||
if ($from_date=~/(\d\d\d\d\-\d\d\-\d\d \d\d)/){
|
if ($from_date=~/(\d\d\d\d\-\d\d\-\d\d \d\d)/){
|
||||||
$from_date = $1.':00';
|
$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)/){
|
if ($from_date=~/(\d\d\d\d\-\d\d\-\d\d)/){
|
||||||
$from_date = $1;
|
$from_date = $1;
|
||||||
}
|
}
|
||||||
if ($till_date=~/(\d\d\d\d\-\d\d\-\d\d)/){
|
if ($till_date=~/(\d\d\d\d\-\d\d\-\d\d)/){
|
||||||
$till_date = $1;
|
$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(
|
my $dates = series_dates::getDatesWithoutEvent(
|
||||||
$config, {
|
$config, {
|
||||||
@@ -131,12 +138,15 @@ sub show_events{
|
|||||||
till => $till_date
|
till => $till_date
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
print "<pre>found ".(scalar @$dates)." dates\n";
|
print STDERR "<pre>found ".(scalar @$dates)." dates\n";
|
||||||
|
my $events=[];
|
||||||
for my $date (@$dates){
|
for my $date (@$dates){
|
||||||
print $date->{start}."\n";
|
#print STDERR $date->{start}."\n";
|
||||||
createEvent($config, $request, $date);
|
push @$events, createEvent($config, $request, $date);
|
||||||
#return;
|
|
||||||
}
|
}
|
||||||
|
$params->{created_events} = $events;
|
||||||
|
$params->{created_total} = scalar(@$events);
|
||||||
|
template::process( 'print', $params->{template}, $params );
|
||||||
}
|
}
|
||||||
|
|
||||||
sub createEvent{
|
sub createEvent{
|
||||||
@@ -159,7 +169,9 @@ sub createEvent{
|
|||||||
return undef unless defined $event;
|
return undef unless defined $event;
|
||||||
|
|
||||||
$event->{start_date} = $event->{start};
|
$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
|
#numeric values
|
||||||
$checked->{exclude} = 0;
|
$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+$/ ) ) {
|
if ( ( defined $params->{$param} ) && ( $params->{$param} =~ /^\d+$/ ) ) {
|
||||||
$checked->{$param} = $params->{$param};
|
$checked->{$param} = $params->{$param};
|
||||||
}
|
}
|
||||||
@@ -196,192 +209,9 @@ sub check_params {
|
|||||||
$checked->{studio_id} = -1;
|
$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' );
|
$checked->{template} = template::check( $params->{template}, 'create_events' );
|
||||||
|
|
||||||
return $checked;
|
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,19 +3,17 @@
|
|||||||
use warnings "all";
|
use warnings "all";
|
||||||
use strict;
|
use strict;
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
use HTML::Template;
|
use HTML::Template();
|
||||||
|
|
||||||
#use URI::Escape;
|
use config();
|
||||||
#use Encode;
|
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";
|
binmode STDOUT, ":utf8";
|
||||||
my $r = shift;
|
my $r = shift;
|
||||||
( my $cgi, my $params, my $error ) = params::get($r);
|
( my $cgi, my $params, my $error ) = params::get($r);
|
||||||
|
|||||||
@@ -1,34 +1,36 @@
|
|||||||
#! /usr/bin/perl -w
|
#! /usr/bin/perl -w
|
||||||
|
|
||||||
use warnings "all";
|
|
||||||
use strict;
|
use strict;
|
||||||
use URI::Escape;
|
use warnings;
|
||||||
use Encode;
|
no warnings 'redefine';
|
||||||
use Data::Dumper;
|
|
||||||
use MIME::Base64;
|
|
||||||
use Encode::Locale;
|
|
||||||
|
|
||||||
use params;
|
use URI::Escape();
|
||||||
use config;
|
use Encode();
|
||||||
use log;
|
use Data::Dumper;
|
||||||
use template;
|
use MIME::Base64();
|
||||||
use db;
|
use Encode::Locale();
|
||||||
use auth;
|
|
||||||
use uac;
|
use params();
|
||||||
|
use config();
|
||||||
|
use log();
|
||||||
|
use template();
|
||||||
|
use db();
|
||||||
|
use auth();
|
||||||
|
use uac();
|
||||||
|
|
||||||
#use roles;
|
#use roles;
|
||||||
use time;
|
use time();
|
||||||
use markup;
|
use markup();
|
||||||
use project;
|
use project();
|
||||||
use studios;
|
use studios();
|
||||||
use events;
|
use events();
|
||||||
use series;
|
use series();
|
||||||
use series_dates;
|
use series_dates();
|
||||||
use series_events;
|
use series_events();
|
||||||
use user_stats;
|
use user_stats();
|
||||||
use localization;
|
use localization();
|
||||||
use eventOps;
|
use eventOps();
|
||||||
use images;
|
use images();
|
||||||
|
|
||||||
binmode STDOUT, ":utf8";
|
binmode STDOUT, ":utf8";
|
||||||
|
|
||||||
|
|||||||
@@ -2,33 +2,28 @@
|
|||||||
|
|
||||||
use warnings "all";
|
use warnings "all";
|
||||||
use strict;
|
use strict;
|
||||||
use URI::Escape;
|
|
||||||
use Encode;
|
use URI::Escape();
|
||||||
|
use Encode();
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
use MIME::Base64;
|
use MIME::Base64();
|
||||||
|
use Text::Diff::FormattedHTML();
|
||||||
|
|
||||||
#use Text::Diff ();
|
use params();
|
||||||
use Text::Diff::FormattedHTML;
|
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";
|
binmode STDOUT, ":utf8";
|
||||||
|
|
||||||
my $r = shift;
|
my $r = shift;
|
||||||
|
|||||||
@@ -2,20 +2,21 @@
|
|||||||
|
|
||||||
use warnings "all";
|
use warnings "all";
|
||||||
use strict;
|
use strict;
|
||||||
use Data::Dumper;
|
|
||||||
|
|
||||||
use params;
|
use Data::Dumper;
|
||||||
use config;
|
use URI::Escape();
|
||||||
use log;
|
use Encode();
|
||||||
use template;
|
|
||||||
use auth;
|
use params();
|
||||||
use uac;
|
use config();
|
||||||
use roles;
|
use log();
|
||||||
use studios;
|
use template();
|
||||||
use markup;
|
use auth();
|
||||||
use URI::Escape;
|
use uac();
|
||||||
use Encode;
|
use roles();
|
||||||
use localization;
|
use studios();
|
||||||
|
use markup();
|
||||||
|
use localization();
|
||||||
|
|
||||||
#binmode STDOUT, ":utf8";
|
#binmode STDOUT, ":utf8";
|
||||||
|
|
||||||
|
|||||||
@@ -1,29 +1,31 @@
|
|||||||
#! /usr/bin/perl -w
|
#! /usr/bin/perl -w
|
||||||
|
|
||||||
use warnings "all";
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
no warnings 'redefine';
|
||||||
|
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
|
|
||||||
use File::stat;
|
use File::stat();
|
||||||
use Time::localtime;
|
use Time::localtime();
|
||||||
use CGI::Simple;# qw(header param Vars escapeHTML uploadInfo cgi_error);
|
use CGI::Simple;# qw(header param Vars escapeHTML uploadInfo cgi_error);
|
||||||
use URI::Escape;
|
use URI::Escape();
|
||||||
|
|
||||||
use time;
|
use time();
|
||||||
use images;
|
use images();
|
||||||
use params;
|
use params();
|
||||||
use config;
|
use config();
|
||||||
use log;
|
use log();
|
||||||
use template;
|
use template();
|
||||||
use db;
|
use db();
|
||||||
use auth;
|
use auth();
|
||||||
use uac;
|
use uac();
|
||||||
use project;
|
use project();
|
||||||
use time;
|
use time();
|
||||||
use markup;
|
use markup();
|
||||||
use studios;
|
use studios();
|
||||||
use series;
|
use series();
|
||||||
use localization;
|
use localization();
|
||||||
|
|
||||||
binmode STDOUT, ":utf8";
|
binmode STDOUT, ":utf8";
|
||||||
|
|
||||||
@@ -175,7 +177,7 @@ sub show_image {
|
|||||||
# put selected image first
|
# put selected image first
|
||||||
$selectedFilename = 'not-found';
|
$selectedFilename = 'not-found';
|
||||||
if ( defined $selectedImage ) {
|
if ( defined $selectedImage ) {
|
||||||
$finalResults = [ $selectedImage ];
|
push @$finalResults, $selectedImage;
|
||||||
$selectedFilename = $selectedImage->{filename};
|
$selectedFilename = $selectedImage->{filename};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -186,13 +188,13 @@ sub show_image {
|
|||||||
$results = $finalResults;
|
$results = $finalResults;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( $params->{template} =~ /edit/ ) {
|
if ( scalar @$results !=0 ) {
|
||||||
my $result = $results->[0];
|
if ( $params->{template} =~ /edit/ ) {
|
||||||
$result->{missing_licence}=1 if (! defined $result->{licence} ) || ( $result->{licence}!~/\S/);
|
my $result = $results->[0];
|
||||||
$results = [ $result ] ;
|
$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 );
|
$results = modify_results( $results, $permissions, $user, $local_media_url );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -202,7 +204,7 @@ sub show_image {
|
|||||||
my $template_params = {
|
my $template_params = {
|
||||||
'search' => $search,
|
'search' => $search,
|
||||||
'images' => $results,
|
'images' => $results,
|
||||||
'count' => @$results . '',
|
'count' => scalar @$results,
|
||||||
'projects' => project::get_with_dates($config),
|
'projects' => project::get_with_dates($config),
|
||||||
'project_id' => $params->{project_id},
|
'project_id' => $params->{project_id},
|
||||||
'studio_id' => $params->{studio_id},
|
'studio_id' => $params->{studio_id},
|
||||||
@@ -211,8 +213,8 @@ sub show_image {
|
|||||||
|
|
||||||
# print STDERR
|
# print STDERR
|
||||||
$template_params->{loc} = localization::get( $config, { user => $params->{presets}->{user}, file => 'image' } );
|
$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
|
#set global values for update and delete, per image values are evaluated later
|
||||||
$template_params->{allow}->{update_image} =
|
$template_params->{allow}->{update_image} =
|
||||||
$template_params->{allow}->{update_image_own} || $template_params->{allow}->{seriesupdate_image_others};
|
$template_params->{allow}->{update_image_own} || $template_params->{allow}->{seriesupdate_image_others};
|
||||||
@@ -266,7 +268,7 @@ sub save_image {
|
|||||||
my $dbh = db::connect($config);
|
my $dbh = db::connect($config);
|
||||||
|
|
||||||
print STDERR "going to save\n";
|
print STDERR "going to save\n";
|
||||||
print STDERR Dumper($image);
|
#print STDERR Dumper($image);
|
||||||
|
|
||||||
my $entries = images::get(
|
my $entries = images::get(
|
||||||
$config,
|
$config,
|
||||||
@@ -321,7 +323,7 @@ sub delete_image {
|
|||||||
filename => $params->{delete_image},
|
filename => $params->{delete_image},
|
||||||
};
|
};
|
||||||
my $result = images::delete( $dbh, $image );
|
my $result = images::delete( $dbh, $image );
|
||||||
print STDERR "delete result=" . Dumper($result);
|
#print STDERR "delete result=" . Dumper($result);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
my $action_result = '';
|
my $action_result = '';
|
||||||
|
|||||||
@@ -9,17 +9,18 @@ use Apache2::Upload;
|
|||||||
|
|
||||||
delete $INC{CGI};
|
delete $INC{CGI};
|
||||||
require 'CGI.pm';
|
require 'CGI.pm';
|
||||||
use Date::Calc;
|
|
||||||
use Time::Local;
|
|
||||||
use Image::Magick;
|
|
||||||
use Image::Magick::Square;
|
|
||||||
|
|
||||||
use config;
|
use Date::Calc();
|
||||||
use auth;
|
use Time::Local();
|
||||||
use uac;
|
use Image::Magick();
|
||||||
use studios;
|
use Image::Magick::Square();
|
||||||
use template;
|
|
||||||
use images;
|
use config();
|
||||||
|
use auth();
|
||||||
|
use uac();
|
||||||
|
use studios();
|
||||||
|
use template();
|
||||||
|
use images();
|
||||||
|
|
||||||
binmode STDOUT, ":utf8";
|
binmode STDOUT, ":utf8";
|
||||||
|
|
||||||
|
|||||||
@@ -320,7 +320,7 @@ function getNearestDatetime(){
|
|||||||
var distance=Math.abs(delta);
|
var distance=Math.abs(delta);
|
||||||
if (distance<yMin){
|
if (distance<yMin){
|
||||||
yMin=delta;
|
yMin=delta;
|
||||||
hour= $(this).attr('date');
|
hour= $(this).attr('time');
|
||||||
minute='30';
|
minute='30';
|
||||||
if(delta<0) minute='00';
|
if(delta<0) minute='00';
|
||||||
}
|
}
|
||||||
@@ -346,7 +346,7 @@ function getNearestDatetime(){
|
|||||||
var distance=Math.abs(delta);
|
var distance=Math.abs(delta);
|
||||||
if (distance<yMin){
|
if (distance<yMin){
|
||||||
yMin=delta;
|
yMin=delta;
|
||||||
hour= $(this).attr('date');
|
hour= $(this).attr('time');
|
||||||
var height=$(this).height()+14;
|
var height=$(this).height()+14;
|
||||||
var m=((delta+height*1.5)-8) % height;
|
var m=((delta+height*1.5)-8) % height;
|
||||||
m=m*60/height;
|
m=m*60/height;
|
||||||
@@ -790,7 +790,7 @@ function updateTable(){
|
|||||||
|
|
||||||
$(baseElement).on("mousedown", ".schedule", function(event){
|
$(baseElement).on("mousedown", ".schedule", function(event){
|
||||||
if ( $('.ui-draggable-dragging').length>0 ) return;
|
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
|
//create schedule within studio timeslots
|
||||||
@@ -1031,7 +1031,7 @@ function handleWorktime(id, event){
|
|||||||
if (project_id<0) return;
|
if (project_id<0) return;
|
||||||
if (studio_id<0) return;
|
if (studio_id<0) return;
|
||||||
if (schedule_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;
|
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){
|
if(event.which==1){
|
||||||
|
|||||||
@@ -1,15 +1,17 @@
|
|||||||
#! /usr/bin/perl -w
|
#! /usr/bin/perl -w
|
||||||
|
|
||||||
use warnings "all";
|
|
||||||
use strict;
|
use strict;
|
||||||
use Data::Dumper;
|
use warnings;
|
||||||
|
no warnings 'redefine';
|
||||||
|
|
||||||
use config;
|
use Data::Dumper;
|
||||||
use params;
|
use JSON();
|
||||||
use log;
|
|
||||||
use JSON;
|
use config();
|
||||||
use auth;
|
use params();
|
||||||
use localization;
|
use log();
|
||||||
|
use auth();
|
||||||
|
use localization();
|
||||||
|
|
||||||
binmode STDOUT, ":utf8";
|
binmode STDOUT, ":utf8";
|
||||||
|
|
||||||
|
|||||||
@@ -2,33 +2,24 @@
|
|||||||
|
|
||||||
use warnings "all";
|
use warnings "all";
|
||||||
use strict;
|
use strict;
|
||||||
use URI::Escape;
|
use URI::Escape();
|
||||||
use Encode;
|
use Encode();
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
|
use MIME::Lite();
|
||||||
|
|
||||||
#use Text::Diff::FormattedHTML;
|
use params();
|
||||||
use MIME::Lite;
|
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";
|
binmode STDOUT, ":utf8";
|
||||||
|
|
||||||
my $r = shift;
|
my $r = shift;
|
||||||
|
|||||||
@@ -4,26 +4,26 @@ use warnings "all";
|
|||||||
use strict;
|
use strict;
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
|
|
||||||
use URI::Escape;
|
use URI::Escape();
|
||||||
use Encode;
|
use Encode();
|
||||||
use localization;
|
use localization();
|
||||||
|
|
||||||
use params;
|
use params();
|
||||||
use config;
|
use config();
|
||||||
use log;
|
use log();
|
||||||
use template;
|
use template();
|
||||||
use auth;
|
use auth();
|
||||||
use uac;
|
use uac();
|
||||||
use roles;
|
use roles();
|
||||||
use project;
|
use project();
|
||||||
use studios;
|
use studios();
|
||||||
use events;
|
use events();
|
||||||
use series;
|
use series();
|
||||||
use series_schedule;
|
use series_schedule();
|
||||||
use series_events;
|
use series_events();
|
||||||
use series_dates;
|
use series_dates();
|
||||||
use markup;
|
use markup();
|
||||||
use playout;
|
use playout();
|
||||||
|
|
||||||
binmode STDOUT, ":utf8";
|
binmode STDOUT, ":utf8";
|
||||||
|
|
||||||
|
|||||||
@@ -4,16 +4,16 @@ use warnings "all";
|
|||||||
use strict;
|
use strict;
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
|
|
||||||
use config;
|
use config();
|
||||||
use params;
|
use params();
|
||||||
use log;
|
use log();
|
||||||
use template;
|
use template();
|
||||||
use auth;
|
use auth();
|
||||||
use roles;
|
use roles();
|
||||||
use uac;
|
use uac();
|
||||||
use studios;
|
use studios();
|
||||||
use series;
|
use series();
|
||||||
use localization;
|
use localization();
|
||||||
|
|
||||||
my $r = shift;
|
my $r = shift;
|
||||||
( my $cgi, my $params, my $error ) = params::get($r);
|
( my $cgi, my $params, my $error ) = params::get($r);
|
||||||
|
|||||||
@@ -5,11 +5,11 @@ use strict;
|
|||||||
|
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
|
|
||||||
use params;
|
use params();
|
||||||
use config;
|
use config();
|
||||||
use db;
|
use db();
|
||||||
use auth;
|
use auth();
|
||||||
use password_requests;
|
use password_requests();
|
||||||
|
|
||||||
binmode STDOUT, ":utf8";
|
binmode STDOUT, ":utf8";
|
||||||
|
|
||||||
|
|||||||
@@ -4,15 +4,16 @@ use warnings "all";
|
|||||||
use strict;
|
use strict;
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
|
|
||||||
use config;
|
use config();
|
||||||
use params;
|
use params();
|
||||||
use log;
|
use log();
|
||||||
use template;
|
use template();
|
||||||
use auth;
|
use auth();
|
||||||
use roles;
|
use roles();
|
||||||
use uac;
|
use uac();
|
||||||
use studios;
|
use studios();
|
||||||
use localization;
|
use localization();
|
||||||
|
|
||||||
binmode STDOUT, ":utf8";
|
binmode STDOUT, ":utf8";
|
||||||
|
|
||||||
my $r = shift;
|
my $r = shift;
|
||||||
|
|||||||
@@ -4,26 +4,15 @@ use warnings "all";
|
|||||||
use strict;
|
use strict;
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
|
|
||||||
use params;
|
use params();
|
||||||
use config;
|
use config();
|
||||||
use log;
|
use log();
|
||||||
use template;
|
use template();
|
||||||
use auth;
|
use auth();
|
||||||
use uac;
|
use uac();
|
||||||
|
|
||||||
#use roles;
|
use series();
|
||||||
#use project;
|
use localization();
|
||||||
#use studios;
|
|
||||||
#use events;
|
|
||||||
use series;
|
|
||||||
|
|
||||||
#use series_schedule;
|
|
||||||
#use series_events;
|
|
||||||
#use series_dates;
|
|
||||||
#use markup;
|
|
||||||
#use URI::Escape;
|
|
||||||
#use Encode;
|
|
||||||
use localization;
|
|
||||||
|
|
||||||
binmode STDOUT, ":utf8";
|
binmode STDOUT, ":utf8";
|
||||||
|
|
||||||
|
|||||||
@@ -4,14 +4,14 @@ use warnings "all";
|
|||||||
use strict;
|
use strict;
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
|
|
||||||
use params;
|
use params();
|
||||||
use config;
|
use config();
|
||||||
use log;
|
use log();
|
||||||
use template;
|
use template();
|
||||||
use auth;
|
use auth();
|
||||||
use uac;
|
use uac();
|
||||||
use series;
|
use series();
|
||||||
use localization;
|
use localization();
|
||||||
|
|
||||||
binmode STDOUT, ":utf8";
|
binmode STDOUT, ":utf8";
|
||||||
|
|
||||||
|
|||||||
@@ -1,28 +1,30 @@
|
|||||||
#! /usr/bin/perl -w
|
#! /usr/bin/perl -w
|
||||||
|
|
||||||
use warnings "all";
|
|
||||||
use strict;
|
use strict;
|
||||||
use Data::Dumper;
|
use warnings;
|
||||||
|
no warnings 'redefine';
|
||||||
|
|
||||||
use params;
|
use Data::Dumper;
|
||||||
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 URI::Escape;
|
||||||
use Encode;
|
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 user_stats();
|
||||||
|
use markup();
|
||||||
|
use localization();
|
||||||
|
|
||||||
binmode STDOUT, ":utf8";
|
binmode STDOUT, ":utf8";
|
||||||
|
|
||||||
|
|||||||
@@ -1,30 +1,19 @@
|
|||||||
#! /usr/bin/perl -w
|
#! /usr/bin/perl -w
|
||||||
|
|
||||||
use warnings "all";
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
no warnings 'redefine';
|
||||||
|
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
|
|
||||||
use params;
|
use params();
|
||||||
use config;
|
use config();
|
||||||
use log;
|
use log();
|
||||||
use template;
|
use template();
|
||||||
use auth;
|
use auth();
|
||||||
use uac;
|
use uac();
|
||||||
|
use images();
|
||||||
#use roles;
|
use localization();
|
||||||
#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;
|
|
||||||
|
|
||||||
binmode STDOUT, ":utf8";
|
binmode STDOUT, ":utf8";
|
||||||
|
|
||||||
|
|||||||
@@ -2,23 +2,24 @@
|
|||||||
|
|
||||||
use warnings "all";
|
use warnings "all";
|
||||||
use strict;
|
use strict;
|
||||||
use Data::Dumper;
|
|
||||||
|
|
||||||
use params;
|
use Data::Dumper;
|
||||||
use config;
|
use URI::Escape();
|
||||||
use log;
|
use Encode();
|
||||||
use template;
|
|
||||||
use auth;
|
use params();
|
||||||
use uac;
|
use config();
|
||||||
use roles;
|
use log();
|
||||||
use project;
|
use template();
|
||||||
use studios;
|
use auth();
|
||||||
use studio_timeslot_schedule;
|
use uac();
|
||||||
use studio_timeslot_dates;
|
use roles();
|
||||||
use markup;
|
use project();
|
||||||
use URI::Escape;
|
use studios();
|
||||||
use Encode;
|
use studio_timeslot_schedule();
|
||||||
use localization;
|
use studio_timeslot_dates();
|
||||||
|
use markup();
|
||||||
|
use localization();
|
||||||
|
|
||||||
binmode STDOUT, ":utf8";
|
binmode STDOUT, ":utf8";
|
||||||
|
|
||||||
|
|||||||
@@ -4,16 +4,16 @@ use warnings "all";
|
|||||||
use strict;
|
use strict;
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
|
|
||||||
use config;
|
use config();
|
||||||
use params;
|
use params();
|
||||||
use log;
|
use log();
|
||||||
use template;
|
use template();
|
||||||
use auth;
|
use auth();
|
||||||
use roles;
|
use roles();
|
||||||
use uac;
|
use uac();
|
||||||
use studios;
|
use studios();
|
||||||
use series;
|
use series();
|
||||||
use localization;
|
use localization();
|
||||||
|
|
||||||
my $r = shift;
|
my $r = shift;
|
||||||
( my $cgi, my $params, my $error ) = params::get($r);
|
( my $cgi, my $params, my $error ) = params::get($r);
|
||||||
|
|||||||
@@ -1,65 +1,54 @@
|
|||||||
<TMPL_IF .allow.scan_series_events>
|
<TMPL_IF .allow.scan_series_events>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
<TMPL_IF .getBack>
|
<TMPL_IF .getBack>
|
||||||
$(document).ready(
|
$(document).ready(
|
||||||
function(){
|
function(){
|
||||||
getBack()
|
getBack()
|
||||||
}
|
|
||||||
);
|
|
||||||
</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;
|
|
||||||
|
|
||||||
$('#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();
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
</script>
|
);
|
||||||
|
</TMPL_IF>
|
||||||
|
|
||||||
<style>
|
function assign_series(project_id, studio_id){
|
||||||
#content{
|
if (project_id == '') return false;
|
||||||
height:100px;
|
if (studio_id == '') return false;
|
||||||
overflow:none;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
assign series to project <b><TMPL_VAR project_name></b> and studio <b><TMPL_VAR studio_name></b>
|
var url="create_events.cgi?project_id="+project_id+'&studio_id='+studio_id+'&action=create_events';
|
||||||
|
$('#create_event_form').submit();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
<!-- view series -->
|
|
||||||
<div id="view_<TMPL_VAR .series_id>" class="view" style="clear:both">
|
|
||||||
<div class="buttons">
|
|
||||||
|
|
||||||
<div style="float:left">Series</div>
|
<h1>create events from schedule</h1>
|
||||||
<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="project_id" value="<TMPL_VAR .project_id>">
|
||||||
<input type="hidden" name="studio_id" value="<TMPL_VAR .studio_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="create_events">
|
||||||
<input type="hidden" name="action" value="assign_series">
|
|
||||||
<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>
|
|
||||||
|
|
||||||
|
duration
|
||||||
</body>
|
<select name="duration">
|
||||||
</html>
|
<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>');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>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
</TMPL_IF>
|
</TMPL_IF>
|
||||||
|
|||||||
@@ -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/admin.css" rel="stylesheet"/>
|
||||||
<link type="text/css" href="css/image_manager.css" rel="stylesheet"/>
|
<link type="text/css" href="css/image_manager.css" rel="stylesheet"/>
|
||||||
</head>
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
function updateCheckBox(selector, value){
|
function updateCheckBox(selector, value){
|
||||||
@@ -42,6 +39,10 @@ $(document).ready(
|
|||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<TMPL_IF no_results>
|
||||||
|
found no image
|
||||||
|
</TMPL_IF>
|
||||||
|
|
||||||
<TMPL_LOOP images>
|
<TMPL_LOOP images>
|
||||||
<TMPL_IF filename>
|
<TMPL_IF filename>
|
||||||
<div id="imageEditor">
|
<div id="imageEditor">
|
||||||
|
|||||||
@@ -4,17 +4,17 @@ use warnings "all";
|
|||||||
use strict;
|
use strict;
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
|
|
||||||
use config;
|
use config();
|
||||||
use log;
|
use log();
|
||||||
use template;
|
use template();
|
||||||
use auth;
|
use auth();
|
||||||
use uac;
|
use uac();
|
||||||
use roles;
|
use roles();
|
||||||
use project;
|
use project();
|
||||||
use studios;
|
use studios();
|
||||||
use params;
|
use params();
|
||||||
use user_settings;
|
use user_settings();
|
||||||
use localization;
|
use localization();
|
||||||
|
|
||||||
my $r = shift;
|
my $r = shift;
|
||||||
( my $cgi, my $params, my $error ) = params::get($r);
|
( my $cgi, my $params, my $error ) = params::get($r);
|
||||||
|
|||||||
@@ -4,18 +4,18 @@ use warnings "all";
|
|||||||
use strict;
|
use strict;
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
|
|
||||||
use config;
|
use config();
|
||||||
use log;
|
use log();
|
||||||
use template;
|
use template();
|
||||||
use auth;
|
use auth();
|
||||||
use uac;
|
use uac();
|
||||||
use roles;
|
use roles();
|
||||||
use project;
|
use project();
|
||||||
use studios;
|
use studios();
|
||||||
use params;
|
use params();
|
||||||
use user_settings;
|
use user_settings();
|
||||||
use user_stats;
|
use user_stats();
|
||||||
use localization;
|
use localization();
|
||||||
|
|
||||||
my $r = shift;
|
my $r = shift;
|
||||||
( my $cgi, my $params, my $error ) = params::get($r);
|
( my $cgi, my $params, my $error ) = params::get($r);
|
||||||
|
|||||||
@@ -4,16 +4,16 @@ use warnings "all";
|
|||||||
use strict;
|
use strict;
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
|
|
||||||
use config;
|
use config();
|
||||||
use log;
|
use log();
|
||||||
use template;
|
use template();
|
||||||
use auth;
|
use auth();
|
||||||
use uac;
|
use uac();
|
||||||
use roles;
|
use roles();
|
||||||
use studios;
|
use studios();
|
||||||
use params;
|
use params();
|
||||||
use localization;
|
use localization();
|
||||||
use password_requests;
|
use password_requests();
|
||||||
|
|
||||||
my $r = shift;
|
my $r = shift;
|
||||||
( my $cgi, my $params, my $error ) = params::get($r);
|
( my $cgi, my $params, my $error ) = params::get($r);
|
||||||
|
|||||||
@@ -2,22 +2,23 @@
|
|||||||
|
|
||||||
use warnings "all";
|
use warnings "all";
|
||||||
use strict;
|
use strict;
|
||||||
use Data::Dumper;
|
|
||||||
|
|
||||||
use params;
|
use Data::Dumper;
|
||||||
use config;
|
use URI::Escape();
|
||||||
use log;
|
use Encode();
|
||||||
use template;
|
|
||||||
use auth;
|
use params();
|
||||||
use uac;
|
use config();
|
||||||
use roles;
|
use log();
|
||||||
use project;
|
use template();
|
||||||
use studios;
|
use auth();
|
||||||
use work_schedule;
|
use uac();
|
||||||
use work_dates;
|
use roles();
|
||||||
use URI::Escape;
|
use project();
|
||||||
use Encode;
|
use studios();
|
||||||
use localization;
|
use work_schedule();
|
||||||
|
use work_dates();
|
||||||
|
use localization();
|
||||||
|
|
||||||
binmode STDOUT, ":utf8";
|
binmode STDOUT, ":utf8";
|
||||||
|
|
||||||
|
|||||||
24
website/agenda/series.cgi
Normal file → Executable file
24
website/agenda/series.cgi
Normal file → Executable file
@@ -4,25 +4,11 @@ use warnings "all";
|
|||||||
use strict;
|
use strict;
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
|
|
||||||
use params;
|
use params();
|
||||||
use config;
|
use config();
|
||||||
#use log;
|
use template();
|
||||||
use template;
|
use studios();
|
||||||
#use auth;
|
use series();
|
||||||
#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;
|
|
||||||
|
|
||||||
binmode STDOUT, ":utf8";
|
binmode STDOUT, ":utf8";
|
||||||
print "Content-Type: text/html; charset=utf-8\n\n";
|
print "Content-Type: text/html; charset=utf-8\n\n";
|
||||||
|
|||||||
@@ -11,14 +11,14 @@ use CGI qw(header param Vars);
|
|||||||
$CGI::POST_MAX = 1000;
|
$CGI::POST_MAX = 1000;
|
||||||
$CGI::DISABLE_UPLOADS = 1;
|
$CGI::DISABLE_UPLOADS = 1;
|
||||||
|
|
||||||
use params;
|
use params();
|
||||||
use db;
|
use db();
|
||||||
use markup;
|
use markup();
|
||||||
use cache;
|
use cache();
|
||||||
use log;
|
use log();
|
||||||
use config;
|
use config();
|
||||||
use template;
|
use template();
|
||||||
use project;
|
use project();
|
||||||
|
|
||||||
binmode STDOUT, ":utf8";
|
binmode STDOUT, ":utf8";
|
||||||
|
|
||||||
|
|||||||
@@ -43,23 +43,19 @@
|
|||||||
|
|
||||||
<TMPL_IF no_image_in_text>
|
<TMPL_IF no_image_in_text>
|
||||||
<TMPL_IF .hide_event_images>
|
<TMPL_IF .hide_event_images>
|
||||||
<a href="<TMPL_VAR series_image_url>">
|
|
||||||
<figure>
|
<figure>
|
||||||
<TMPL_IF series_thumb_url>
|
<TMPL_IF series_thumb_url>
|
||||||
<img alt="<TMPL_VAR series_name>" src="<TMPL_VAR 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 series_image_label><figcaption>Bild:<TMPL_VAR series_image_label></figcaption></TMPL_IF>
|
||||||
</TMPL_IF>
|
</TMPL_IF>
|
||||||
</figure>
|
</figure>
|
||||||
</a>
|
|
||||||
<TMPL_ELSE>
|
<TMPL_ELSE>
|
||||||
<a href="<TMPL_VAR image_url>">
|
|
||||||
<figure>
|
<figure>
|
||||||
<TMPL_IF thumb_url>
|
<TMPL_IF thumb_url>
|
||||||
<img alt="<TMPL_VAR series_name>" src="<TMPL_VAR 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 image_label><figcaption>Bild:<TMPL_VAR image_label></figcaption></TMPL_IF>
|
||||||
</TMPL_IF>
|
</TMPL_IF>
|
||||||
</figure>
|
</figure>
|
||||||
</a>
|
|
||||||
</TMPL_IF>
|
</TMPL_IF>
|
||||||
</TMPL_IF>
|
</TMPL_IF>
|
||||||
|
|
||||||
|
|||||||
@@ -11,11 +11,11 @@ $CGI::DISABLE_UPLOADS = 1;
|
|||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
|
|
||||||
#use Apache2::Request;
|
#use Apache2::Request;
|
||||||
use JSON;
|
use JSON();
|
||||||
use params;
|
use params();
|
||||||
use config;
|
use config();
|
||||||
use log;
|
use log();
|
||||||
use playout;
|
use playout();
|
||||||
|
|
||||||
my $r = shift;
|
my $r = shift;
|
||||||
|
|
||||||
@@ -39,7 +39,7 @@ if ( $0 =~ /upload_playout.*?\.cgi$/ ) {
|
|||||||
my $len = $r->headers_in()->get('Content-Length');
|
my $len = $r->headers_in()->get('Content-Length');
|
||||||
print "Content-type:text/plain\n\n";
|
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->{project_id} = $params->{project_id} if defined $params->{project_id};
|
||||||
$json->{studio_id} = $params->{studio_id} if defined $params->{studio_id};
|
$json->{studio_id} = $params->{studio_id} if defined $params->{studio_id};
|
||||||
$config->{access}->{write} = 1;
|
$config->{access}->{write} = 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user