131 lines
5.0 KiB
Perl
131 lines
5.0 KiB
Perl
|
|
#!/usr/bin/perl
|
||
|
|
|
||
|
|
BEGIN { use lib '/usr/home/cfg' ; require push_inc ; }
|
||
|
|
|
||
|
|
print "Content-type: text/html\n\n";
|
||
|
|
|
||
|
|
use CGI::Carp qw(fatalsToBrowser);
|
||
|
|
use Fcntl qw(:flock);
|
||
|
|
|
||
|
|
require cfg ;
|
||
|
|
|
||
|
|
#------------------------------------------------------------------------------------------
|
||
|
|
|
||
|
|
@ARGV = split(/\\*\&/, $ENV{'QUERY_STRING'});
|
||
|
|
|
||
|
|
foreach $ARG (@ARGV) { ($par,$val) = split(/\=/,$ARG) ; $val =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $param{$par} = $val ; }
|
||
|
|
|
||
|
|
our $debug = $ARGV[0] ;
|
||
|
|
|
||
|
|
# e.g. https://itvadmin.co.za/cgi-bin/scripts/get/get_correct_camera_nr.pl?1
|
||
|
|
# our $debug = 1 ;
|
||
|
|
|
||
|
|
#------------------------------------------------------------------------------------------
|
||
|
|
|
||
|
|
&load_json ;
|
||
|
|
|
||
|
|
exit ;
|
||
|
|
|
||
|
|
#------------------------------------------------------------------------------------------
|
||
|
|
|
||
|
|
sub load_json {
|
||
|
|
|
||
|
|
&db_min_ro('cameras_legacy','camera_nr,id,quote_nr,quote_cam_num','','','') ;
|
||
|
|
|
||
|
|
# my %seen_quote_nr = () ; my %max_quote_cam_num = () ;
|
||
|
|
|
||
|
|
# foreach (sort {$db{cameras_legacy}{$b}{quote_cam_num} <=> $db{cameras_legacy}{$a}{quote_cam_num}} keys %{$db{cameras_legacy}}) {
|
||
|
|
|
||
|
|
# # print "\n quote_nr : $db{cameras_legacy}{$_}{quote_nr} , $db{cameras_legacy}{$_}{quote_cam_num}" if $db{cameras_legacy}{$_}{quote_nr} eq '1236' ;
|
||
|
|
# next if $seen_quote_nr{$db{cameras_legacy}{$_}{quote_nr}} ;
|
||
|
|
# $seen_quote_nr{$db{cameras_legacy}{$_}{quote_nr}} = 1 ;
|
||
|
|
# $max_quote_cam_num{$db{cameras_legacy}{$_}{quote_nr}} = $db{cameras_legacy}{$_}{quote_cam_num} ;
|
||
|
|
|
||
|
|
# }
|
||
|
|
|
||
|
|
my $quote_cam_num = 0 ; my %abc = () ; my %cam_nr_quote_nr = () ;
|
||
|
|
|
||
|
|
&db_min_ro('cameras','camera_nr,id,quote_nr','','','') ;
|
||
|
|
|
||
|
|
foreach (sort {$a cmp $b} keys %{$db{cameras}}) {
|
||
|
|
next unless $db{cameras}{$_}{quote_nr} ;
|
||
|
|
my @split_cam = split("-",$_) ;
|
||
|
|
my $count2 = 0 ;
|
||
|
|
$count2 = 1 if substr($_,0,5) eq 'Score' or substr($_,0,2) eq 'GP' ;
|
||
|
|
$abc{$db{cameras}{$_}{quote_nr}}{$split_cam[-1]}{$count2}{$_} = 1 ;
|
||
|
|
# print "\n quote_nr : $db{cameras}{$_}{quote_nr} , camera_nr : $_" ;
|
||
|
|
$cam_nr_quote_nr{$_} = $db{cameras}{$_}{quote_nr} ;
|
||
|
|
}
|
||
|
|
|
||
|
|
foreach my $quote_nr (sort {$a cmp $b} keys %abc) {
|
||
|
|
$quote_cam_num = 0 ;
|
||
|
|
foreach my $count (sort {$a cmp $b} keys %{$abc{$quote_nr}}) {
|
||
|
|
foreach my $count2 (sort {$a cmp $b} keys %{$abc{$quote_nr}{$count}}) {
|
||
|
|
foreach my $camera_nr (sort {$a cmp $b} keys %{$abc{$quote_nr}{$count}{$count2}}) {
|
||
|
|
|
||
|
|
my $other_cam_nr1 = substr($camera_nr,3) ;
|
||
|
|
my $other_cam_nr2 = substr($camera_nr,5) ;
|
||
|
|
my $other_cam_nr3 = "VPU$camera_nr" ;
|
||
|
|
|
||
|
|
next if substr($camera_nr,0,3) eq 'VPU' and $cam_nr_quote_nr{$other_cam_nr1} eq $quote_nr ;
|
||
|
|
next if substr($camera_nr,0,5) eq 'Score' and $cam_nr_quote_nr{$other_cam_nr2} eq $quote_nr ;
|
||
|
|
|
||
|
|
%i = () ;
|
||
|
|
$quote_cam_num++ ;
|
||
|
|
$i{quote_cam_num} = $quote_cam_num ;
|
||
|
|
# next if $i{quote_cam_num} eq $db{cameras}{$camera_nr}{quote_cam_num} and $db{cameras}{$camera_nr}{quote_nr} eq $quote_nr ;
|
||
|
|
print "\nUPDATE `cameras` SET `quote_cam_num` = '$i{quote_cam_num}' WHERE `camera_nr` = '$camera_nr'\t AND `quote_nr` = '$quote_nr' ; " ;
|
||
|
|
# &db_min_upd('cameras',"`camera_nr` = '$camera_nr' AND `quote_nr` = '$quote_nr'") ;
|
||
|
|
|
||
|
|
if ((substr($camera_nr,0,1) eq 'S' or substr($camera_nr,0,1) eq 'C') and $cam_nr_quote_nr{$other_cam_nr3} eq $quote_nr) {
|
||
|
|
%i = () ;
|
||
|
|
$quote_cam_num++ ;
|
||
|
|
$i{quote_cam_num} = $quote_cam_num ;
|
||
|
|
print "\nUPDATE `cameras` SET `quote_cam_num` = '$i{quote_cam_num}' WHERE `camera_nr` = 'VPU$camera_nr'\t AND `quote_nr` = '$quote_nr' ; " ;
|
||
|
|
# &db_min_upd('cameras',"`camera_nr` = 'VPU$camera_nr' AND `quote_nr` = '$quote_nr'") ;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (substr($camera_nr,0,3) eq 'GP-') {
|
||
|
|
|
||
|
|
%i = () ;
|
||
|
|
$quote_cam_num++ ;
|
||
|
|
$i{quote_cam_num} = $quote_cam_num ;
|
||
|
|
$camera_nr = "Score" . substr($camera_nr,2) ;
|
||
|
|
# &db_min_upd('cameras',"`camera_nr` = '$camera_nr' AND `quote_nr` = '$quote_nr'") ;
|
||
|
|
print "\nUPDATE `cameras` SET `quote_cam_num` = '$i{quote_cam_num}' WHERE `camera_nr` = '$camera_nr'\t AND `quote_nr` = '$quote_nr' ; " ;
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# foreach (sort {$a cmp $b} keys %{$db{cameras}}) {
|
||
|
|
|
||
|
|
# %i = () ;
|
||
|
|
|
||
|
|
# $quote_cam_num++ ;
|
||
|
|
|
||
|
|
# $i{quote_cam_num} = $quote_cam_num ;
|
||
|
|
|
||
|
|
# # if (not $db{cameras_legacy}{$_}{quote_nr} and $db{cameras}{$_}{quote_nr}) {
|
||
|
|
# # $max_quote_cam_num{$db{cameras}{$_}{quote_nr}}++ ;
|
||
|
|
# # $i{quote_cam_num} = $max_quote_cam_num{$db{cameras}{$_}{quote_nr}} ;
|
||
|
|
|
||
|
|
# # } elsif ($db{cameras_legacy}{$_}{quote_cam_num} and $db{cameras}{$_}{quote_nr} and not $db{cameras}{$_}{quote_cam_num}) {
|
||
|
|
# # $i{quote_cam_num} = $db{cameras_legacy}{$_}{quote_cam_num} ;
|
||
|
|
# # } else {
|
||
|
|
# # next ;
|
||
|
|
# # }
|
||
|
|
|
||
|
|
# print "\nUPDATE `cameras` SET `quote_cam_num` = '$i{quote_cam_num}' WHERE `camera_nr` = '$_' AND `quote_nr` = '$db{cameras}{$_}{quote_nr}'" ;
|
||
|
|
# # &db_min_upd('cameras',"`camera_nr` = '$_' AND `quote_nr` = '$db{cameras_legacy}{$_}{quote_nr}'") ;
|
||
|
|
|
||
|
|
# }
|
||
|
|
|
||
|
|
} #------------------------------------------------------------------------------------------
|
||
|
|
|
||
|
|
use db ;
|
||
|
|
use common ;
|
||
|
|
|
||
|
|
1;
|