aisa/scripts/pdf/event_details_pdf_orig.pl

769 lines
25 KiB
Perl
Raw Normal View History

2025-11-26 09:31:54 +00:00
#!/usr/bin/perl
BEGIN { use lib '/usr/home/cfg' ; require push_inc ; }
require cfg ;
# unless ($username eq 'handre') { print "<<<<<<<<<<<< MAINTENANCE IN PROGRESS >>>>>>>>>" ; exit ; }
use DBI;
use CGI::Carp qw(fatalsToBrowser);
use Date::Manip;
use Date::Calc qw(:all);
use PDF::API2::Lite;
use constant mm => 25.4/72;
use constant in => 1/72;
use constant pt => 1;
#------------------------------------------------------------------------------------------
@ARGV = split(/\\*\&/, $ENV{'QUERY_STRING'});
our $qt_id = $ARGV[0] ;
our $tab_no = $ARGV[1] ;
our $tab_secs = $ARGV[2] ;
# my @sections = split(/\|/,$tab_secs);
my @prefix_arr = qw( cost_desc_ curr_amnt_ qty_cost_ zar_amnt_ );
# our $debug = 1 ;
our $label = 1 ; # used in pdf_check_value_of_up
#------------------------------------------------------------------------------------------
print "Content-type: text/html\n\n";
&today ;
&pdf_curr_symbols ;
my $table = 'event_quotes' ;
&db_open_ro ;
our $db_ignore_open_close = 1 ; # do one open and one close instead of repeating it
&prep_pdf ;
$db_ignore_open_close = 0 ; # do one open and one close instead of repeating it
&db_close_conn ;
&exclusions ;
&start_pdf ;
&build_pdf ;
&finish_pdf ;
&screen2 ;
exit ;
#------------------------------------------------------------------------------------------
sub process_date {
my ($date_string) = @_ ;
my $year = substr($date_string, 0, 4) ;
my $month = substr($date_string, 5, 2) ;
$month = int($month);
$month = $month_array[$month - 1] ;
my $day = substr($date_string, 8, 2) ;
my $date_return = "$day-" ;
$date_return .= "$month-" ;
$date_return .= "$year" ;
$date_return .= " @ " . substr($date_string,11,5) ;
return $date_return ;
} #------------------------------------------------------------------------------------------
sub prep_pdf {
my @cols = () ;
&tab_hash ;
&db_min_ro('event_quotes',"*","`id`='$qt_id'",'','') ;
our @month_array = ( "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ) ;
our $countryid = $db{$table}{$qt_id}{country_id} ;
our $custid = $db{$table}{$qt_id}{quote_to} ;
our $date_from_for_pdf = &process_date($db{$table}{$qt_id}{date_from}) ;
our $date_to_for_pdf = &process_date($db{$table}{$qt_id}{date_to}) ;
our $type_id = $db{$table}{$qt_id}{type} ;
our %country = () ;
# print "COUNTty ID: $countryid, $custid \n" ;
&db_min_ro('customers','id,name,physical_address,contact_email,phone,contact_name,vat_nr',"`id`='$custid'",'','') ;
$customer_name{$custid} = $db{customers}{$custid}{name} ;
$customer_address{$custid} = $db{customers}{$custid}{physical_address} ;
$customer_email{$custid} = $db{customers}{$custid}{contact_email} ;
$customer_phone{$custid} = $db{customers}{$custid}{phone} ;
$customer_contact_name{$custid} = $db{customers}{$custid}{contact_name} ;
$customer_vat_nr{$custid} = $db{customers}{$custid}{vat_nr} ;
&db_min_ro('event_cost_items','id,name','','','') ;
foreach my $id (keys %{$db{event_cost_items}}) { $price_list{$id} = $db{event_cost_items}{$id}{name} ; }
&db_min_ro('countries','*',"`id`='$countryid'",'','') ;
$country{$countryid} = $db{countries}{$countryid}{name} ;
# print "Country : $country{$countryid}" ;
$country{$countryid} = "Unknown" if not $country{$countryid} ;
our $camera_system_id = $db{$table}{$qt_id}{camera_system_id} ;
&db_min_ro('camera_systems','*',"`id`='$camera_system_id'",'','') ;
$camera_system{$camera_system_id} = $db{camera_systems}{$camera_system_id}{name} ;
our %event_type_for_pdf = () ;
&db_min_ro('event_types','id, name',"`id`='$type_id'",'','') ;
$event_type_for_pdf{$type_id} = $db{event_types}{$type_id}{name} ;
&db_min_ro('event_quotes_min','id,excl_costing_event,item_costing_event,qty_costing_event,usd_amnt_costing_event,item_ttl_costing_event,vat_costing_event,curr_amnt_costing_event,category_details',"`id`='$qt_id'",'','') ;
&db_min_ro('event_systems','id,name,description','','','') ;
&db_min_ro('event_type_details','id,name','','','') ;
&db_min_ro('users','id,name','','','') ;
&db_min_ro('sport_types','id,name','','','') ;
&db_min_ro('regions','id,name','','','') ;
&db_min_ro('cities','id,city','','','') ;
&db_min_ro('organisations','id,name','','','') ;
&db_min_ro('event_quotes_categories','*','','','') ;
&db_min_ro('clubs','*','','','') ;
} #------------------------------------------------------------------------------------------
sub exclusions {
our $exclude_rate = 0 ;
our $exclude_vat = 0 ;
if ($db{$table}{$qt_id}{currency} ne 'ZAR') {
$exclude_vat = 1 ;
}
} #------------------------------------------------------------------------------------------
sub start_pdf {
my $qtpdfpath = "$pdfpath/event_details" ;
our $pdfname = "Event_Details-$qt_id" . '.pdf' ;
# &pdf_delete_previous_pdf($qtpdfpath) ;
if (-f "$qtpdfpath/$pdfname") {
unlink ("$qtpdfpath/$pdfname") or print "unable to unlink - $qtpdfpath/$pdfname : $!";
}
&pdf_initialise($qtpdfpath,$pdfname,'ITV Event Quote') ;
} #------------------------------------------------------------------------------------------
sub build_pdf {
&tab_curr_symbols;
&pdf_initialise_page ;
$up = 292 ;
# &quote_pdf_page_header ;
&pdf_box_block_top(5,205,'#009bc8') ;
$up = 260 ;
$across = 1 ;
$blue_box = 1 ;
&pdf_page_header ;
&quote_pdf_vars ;
&quote_out_to_pdf ;
# &quote_pdf_footer ;
$up = 5 ;
&pdf_box_block_bottom(5,205,'#009bc8') ;
} #------------------------------------------------------------------------------------------
sub quote_out_to_pdf {
&pdf_nl_t;
# unless ($db{$table}{$qt_id}{currency} eq 'ZAR') { &pdf_medium_red_bold_text (70, $up, "$db{$table}{$qt_id}{currency} ROE : $db{$table}{$qt_id}{roe}") ; } # hidden for client
# &pdf_medium_bold_text (157, $up, "Nr. :") ;
&pdf_small_bold_text(150, $up, "Date") ;
my $dttxt = &custom_date_txt($db{$table}{$qt_id}{quote_date});
&pdf_small_bold_text_right (198, $up, $dttxt) ;
&pdf_nl;
&pdf_small_bold_text(150, $up, "Event Nr") ;
# &pdf_small_text_right (198, $up, $qt_id) ;
&pdf_small_bold_text_right (198, $up, $db{$table}{$qt_id}{quote_nr}) ;
# &pdf_large_bold_text (10, $up, $db{$table}{$qt_id}{ref}) if $db{$table}{$qt_id}{ref} ;
# &pdf_nl_gap_1;
&pdf_nl;
&pdf_nl_t;
&pdf_bar(10,$up,200,$up,'#009bc8','EVENT INFO',20,93) ;
$up = $up - 5;
&pdf_box_block_top(10,200,'#009bc8') ; # start block -------------------------------------
our $top = 0 ;
if ($custid) {
my ($expiry_year,$expiry_month,$expiry_day) = split(/\-/,$db{$table}{$qt_id}{quote_expiry});
my $expiry_date = &custom_date_txt("$expiry_year-$expiry_month-$expiry_day") if $db{$table}{$qt_id}{quote_expiry} ;
&pdf_nl;
$top = $up;
&pdf_thin_box_block_top(15,100,'#009bc8');
my $top_ref = $up ;
our $pos = 37 ;
our $pos2 = $pos + 1 ;
our $pos3 = 132 ;
our $pos4 = $pos3 + 1 ;
$up = $up - 3.25 ;
&pdf_small_bold_text (16, $up, "Customer") ;
&pdf_small_text ($pos2, $up, $customer_name{$custid}) ;
$up = $up -1.25;
&pdf_extra_thin_black_line ($pos,$top, $pos ,$up,'#009bc8') ;
&pdf_thin_box_block_bottom(15,100,'#009bc8') ;
&pdf_thin_box_block_top(15,100,'#009bc8') ;
$up = $up - 3.25 ;
&pdf_small_bold_text (16, $up, "Address") ;
my @waypoint = split(/\, / , $customer_address{$custid}) ;
my $top2 = $up ;
my $count = 0 ;
for my $py (@waypoint) {
&pdf_small_text ($pos2, $up, $waypoint[$count]) ;
$count++;
$up = $up - 3.25;
}
$up = $up - 1.25 if $count ;
$up = $up - 4.55 unless $count ;
# $up = $top2;
$up = $up + 3.25;
&pdf_extra_thin_black_line ($pos,$top, $pos ,$up,'#009bc8') ;
&pdf_thin_box_block_bottom(15,100,'#009bc8');
&pdf_extra_thin_black_line ($pos,$top, $pos ,$up,'#009bc8') ;
# &pdf_extra_thin_black_line ($pos3,$top, $pos3 ,$up,'#009bc8') ;
# &pdf_thin_box_block_top(15,100,'#009bc8');
my $top_address = $up ;
$up = $top ;
&pdf_thin_box_block_top(110,195,'#009bc8');
$up = $up - 3.25;
# &pdf_small_bold_text (16, $up, "Contact") ;
# &pdf_small_text ($pos2, $up, $customer_contact_name{$custid}) ;
&pdf_small_bold_text (111, $up, "Reference") ;
&pdf_small_text ($pos4, $up, $db{$table}{$qt_id}{ref}) ;
$up = $up -1.25;
# &pdf_thin_box_block_bottom(15,100,'#009bc8');
&pdf_thin_box_block_bottom(110,195,'#009bc8');
# &pdf_thin_box_block_top(110,195,'#009bc8');
# &pdf_thin_box_block_top(15,100,'#009bc8');
$up = $up - 3.25;
&pdf_small_bold_text (111,$up,"Date From") ;
&pdf_small_text ($pos4, $up, $date_from_for_pdf) ;
$up = $up - 1.25;
&pdf_thin_box_block_bottom(110,195,'#009bc8');
$up = $up - 3.25;
&pdf_small_bold_text (111,$up,"Date To") ;
&pdf_small_text ($pos4, $up, $date_to_for_pdf) ;
$up = $up - 1.25;
&pdf_thin_box_block_bottom(110,195,'#009bc8');
$up = $up - 3.25 ;
&pdf_small_bold_text (111,$up,"Days") ;
&pdf_small_text ($pos4, $up, $db{$table}{$qt_id}{qty}) ;
$up = $up - 1.25 ;
&pdf_thin_box_block_bottom(110,195,'#009bc8');
my $days_bottom = $up ;
# &pdf_extra_thin_black_line ($pos3,$top,$pos3,$up,'#009bc8') ;
# &pdf_thin_box_block_bottom(15,100,'#009bc8');
&pdf_extra_thin_black_line ($pos3,$top, $pos3 ,$up,'#009bc8') ;
# &pdf_thin_box_block_top(15,100,'#009bc8');
my $dates_up = $up ;
$up = $up - 3.25;
# &pdf_small_bold_text (16, $up, "Email") ;
# &pdf_small_text ($pos2, $up, $customer_email{$custid}) ;
$up = $up - 1.25;
# &pdf_extra_thin_black_line ($pos,$top, $pos ,$up,'#009bc8') ;
# &pdf_thin_box_block_bottom(15,100,'#009bc8');
&pdf_nl;
$up = $top_address ;
$up = $dates_up if $dates_up < $up ;
$up = $up - 4.5 ;
$top = $up ;
my $top_type = $up ;
&display_text (0,"Type of System",$event_type_for_pdf{$type_id}) ;
$up = $top_type ;
if ($usertype ne 'schools_manager') {
&display_text_block ("System Details",$db{$table}{$qt_id}{type_details_id},'event_type_details','name',$pos3,$pos4,$up,1,",") ;
}
$up = $up - 4.5 ;
my $top_region = $up ;
&pdf_thin_box_block_top(15,100,'#009bc8');
$up = $up - 3.25 ;
&pdf_small_bold_text (16,$up,"Region") ;
&pdf_small_text ($pos2, $up, $db{regions}{$db{$table}{$qt_id}{region_id}}{name}) ;
$up = $up - 1.25 ;
&pdf_extra_thin_black_line (15,$up,100,$up,'#009bc8') ;
$up = $up - 3.25 ;
&pdf_small_bold_text (16,$up,"City") ;
foreach my $city_id (split(",",$db{$table}{$qt_id}{city_id})) {
&pdf_small_text ($pos2, $up,$db{cities}{$city_id}{city}) ;
$up = $up - 3.25 ;
}
$up = $up + 3.25 if $db{$table}{$qt_id}{city_id} ;
# &pdf_small_text ($pos2, $up, $db{cities}{$db{$table}{$qt_id}{city_id}}{city}) ;
$up = $up - 1.25 ;
&pdf_extra_thin_black_line (15,$up,100,$up,'#009bc8') ;
$up = $up - 3.25 ;
&pdf_small_bold_text (16,$up,"Venue") ;
foreach (split(",",$db{$table}{$qt_id}{organisation_ids})) {
&pdf_text_block ($pos2,"$db{organisations}{$_}{name}",45,6) ;
$up = $up - 2 ;
}
$up = $up + 2 if $db{$table}{$qt_id}{organisation_ids} ;
$up = $up - 1.25 unless $db{$table}{$qt_id}{organisation_ids} ;
# $up = $up + 2.7 ;
&pdf_extra_thin_black_line (15,$up,100,$up,'#009bc8') ;
# $up = $up - 3.25 ;
# &pdf_small_bold_text (16,$up,"Club Name") ;
# &pdf_small_text ($pos2,$up,$db{$table}{$qt_id}{club_name}) ;
# $up = $up - 1.25 ;
# # &pdf_extra_thin_black_line (15,$up,100,$up,'#009bc8') ;
&pdf_extra_thin_black_line ($pos,$top_region,$pos,$up,'#009bc8') ;
&pdf_thin_box_block_bottom(15,100,'#009bc8');
my $venue_bottom = $up ;
$up = $up - 4.5;
$up = $top_region ;
# $preferred_title{type} = "Type of System" ; $preferred_title{type_details_id} = "System Details" ; $preferred_title{event_system_id} = "System Name" ;
&display_text (1,"Poc Name",$db{$table}{$qt_id}{poc_name}) ;
# $up = $up - 4.5;
&display_text (1,"Poc Contact Nr",$db{$table}{$qt_id}{poc_contact_nr}) ;
$up = $venue_bottom;
$up = $up - 4.5;
$top = $up;
if ($usertype ne 'schools_manager') {
&display_text_block ("Club Name",$db{$table}{$qt_id}{event_system_id_multiple},'event_systems','name',$pos,$pos2,$up,2,";",'description',$db{$table}{$qt_id}{club_ids},'clubs','name') ;
$up = $up - 4.5 ;
}
# &display_text (1,"Club Name",$db{$table}{$qt_id}{club_name}) ;
# # &pdf_thin_box_block_top(110,195,'#009bc8');
# # $top = $up;
# # $up = $up - 3.25 ;
# # &pdf_small_bold_text (111,$up,"Club Name") ;
# # my $club_ids_exist = 0 ;
# # foreach (split(";",$db{$table}{$qt_id}{club_ids})) {
# # next unless $_ ;
# # $club_ids_exist = 1 ;
# # &pdf_text_block ($pos4+1,$db{clubs}{$_}{name},40,6) ;
# # $up -= 2 ;
# # }
# # $up += 2 ;
# # $up -= 3.25 unless $club_ids_exist ;
# # &pdf_thin_box_block_bottom(110,195,'#009bc8');
# # &pdf_extra_thin_black_line ($pos3+1,$top,$pos3+1,$up,'#009bc8') ;
# # $up = $up - 4.5 ;
# $up = $up - 3.25 ;
# &pdf_small_bold_text (16,$up,"Club Name") ;
# &pdf_small_text ($pos2,$up,$db{$table}{$qt_id}{club_name}) ;
# $up = $up - 1.25 ;
# # &pdf_extra_thin_black_line (15,$up,100,$up,'#009bc8') ;
# &pdf_extra_thin_black_line ($pos,$top_region,$pos,$up,'#009bc8') ;
&pdf_thin_box_block_top (15,195,'#009bc8') ;
$top = $up ;
$up = $up - 3.25 ;
&pdf_small_bold_text (16,$up,"Format of Title") ;
&pdf_text_block ($pos2 ,$db{$table}{$qt_id}{format_of_title},100,6) ;
# $up = $up + 1.3 ;
# $up = $up - 1.25 ;
&pdf_thin_box_block_bottom (15,195,'#009bc8') ;
&pdf_extra_thin_black_line ($pos,$top,$pos,$up,'#009bc8') ;
my $event_up = $up ;
$up = $event_up ;
$up = $venue_bottom if $venue_bottom < $up ;
$up = $up - 4.5 ;
my $up_ops = $up ;
# $up = $up - 3.25 ;
$top = $up;
&display_text_block("Operators",$db{$table}{$qt_id}{operator_ids},'users','name',$pos,$pos2,$top,0,",") ;
my $top_op = $up ;
$up = $days_bottom ;
$up = $up - 4.5;
$up = $up_ops ;
$top = $up;
&display_text_block("Sport Types",$db{$table}{$qt_id}{sport_type_ids},'sport_types','name',$pos3,$pos4,$top,1,",") ;
my $top_sport = $up ;
$up = $top_sport ;
$up = $top_op if $top_op < $up ;
$up = $up - 4.5;
# &display_text (0,"Poc Name",$db{$table}{$qt_id}{poc_name}) ;
# $up = $up + 4.5;
# &display_text (1,"Poc Contact Nr",$db{$table}{$qt_id}{poc_contact_nr}) ;
# $up = $up - 4.5;
my $cat1_top = $up ;
&display_text (0,"Category 1",$db{event_quotes_categories}{$db{$table}{$qt_id}{category_id_1}}{category}) ;
my @category_details = split(/\|\;\|/,$db{event_quotes_min}{$qt_id}{category_details}) ;
$up = $up - 4.5;
&pdf_thin_box_block_top(15,100,'#009bc8');
$top = $up;
$up = $up - 3.25 ;
&pdf_small_bold_text (16,$up,"Category 1") ;
&pdf_small_bold_text (16,$up-3.25,"Sub-Categories") ;
my $title_bottom = $up - 4.5 ;
# foreach (split(";",$db{$table}{$qt_id}{category_1})) {
&pdf_text_block ($pos2+1,$category_details[0],40,6) ;
# $up = $up - 1.3 ;
# }
# $up = $up + 2.7 ;
$up = $title_bottom if $title_bottom < $up ;
&pdf_thin_box_block_bottom(15,100,'#009bc8');
&pdf_extra_thin_black_line ($pos+1,$top,$pos+1,$up,'#009bc8') ;
my $cat1_botm = $up ;
$up = $cat1_top ;
&display_text (1,"Category 2",$db{event_quotes_categories}{$db{$table}{$qt_id}{category_id_2}}{category}) ;
$up = $up - 4.5;
&pdf_thin_box_block_top(110,195,'#009bc8');
$top = $up;
$up = $up - 3.25 ;
&pdf_small_bold_text (111,$up,"Category 2") ;
&pdf_small_bold_text (111,$up-3.25,"Sub-Categories") ;
$title_bottom = $up - 4.5 ;
# foreach (split(";",$db{$table}{$qt_id}{category_1})) {
&pdf_text_block ($pos4+1,$category_details[1],40,6) ;
# $up = $up - 1.3 ;
# }
# $up = $up + 2.7 ;
$up = $title_bottom if $title_bottom < $up ;
&pdf_thin_box_block_bottom(110,195,'#009bc8');
&pdf_extra_thin_black_line ($pos3+1,$top,$pos3+1,$up,'#009bc8') ;
$up = $cat1_botm if $cat1_botm < $up ;
$up = $up - 4.5;
&pdf_thin_box_block_top(15,195,'#009bc8');
$top = $up;
$up = $up - 3.25 ;
&pdf_small_bold_text (16,$up,"Additional") ;
&pdf_small_bold_text (16,$up-3.25,"Notes") ;
my $top_add_notes = $up - 4.5 ;
&pdf_text_block ($pos2 ,$db{$table}{$qt_id}{additional_notes},100,6) ;
if ($top_add_notes < $up) {
$up = $top_add_notes ;
}
&pdf_thin_box_block_bottom(15,195,'#009bc8');
&pdf_extra_thin_black_line ($pos,$top,$pos,$up,'#009bc8') ;
$up = $up - 4.5;
}
&pdf_box_block_bottom(10,200,'#009bc8') ; # end block -------------------------------------
$inner_blue_box = 0 ;
unless ($db{$table}{$qt_id}{excl_purchase_summary}) {
}
} #------------------------------------------------------------------------------------------
sub display_text_block {
my ($name,$list_ids,$table_ids,$name_from_ids,$l_pos,$r_pos,$top_frame,$left_or_right,$split_by,$name_from_ids_2,$list_ids_2,$table_ids_2,$name_from_list_ids_2) = @_ ;
my $default_left = 15 ; my $default_right = 100 ; my $text_width = 48 ;
if ($left_or_right == 1) {
$default_left = 110 ; $default_right = 195 ;
} elsif ($left_or_right == 2) {
$default_left = 15 ; $default_right = 195 ; $text_width = 100 ;
}
&pdf_thin_box_block_top($default_left,$default_right,'#009bc8');
$up = $up - 3.25 ;
&pdf_small_bold_text ($default_left+1,$up,$name) ;
my @list_ids_2 = () ;
@list_ids_2 = split($split_by,$list_ids_2) if $list_ids_2 ;
my $cnt = 0 ;
foreach (split($split_by,$list_ids)) {
if ($db{$table_ids}{$_}{$name_from_ids_2} and not $list_ids_2[$cnt]) {
&pdf_text_block ($r_pos,"$db{$table_ids}{$_}{$name_from_ids} ($db{$table_ids}{$_}{$name_from_ids_2})",$text_width,6) ;
} elsif (not $db{$table_ids}{$_}{$name_from_ids_2} and not $list_ids_2[$cnt]) {
&pdf_text_block ($r_pos,"$db{$table_ids}{$_}{$name_from_ids}",$text_width,6) ;
} elsif ($db{$table_ids}{$_}{$name_from_ids_2} and $list_ids_2[$cnt]) {
&pdf_text_block ($r_pos,"$db{$table_ids}{$_}{$name_from_ids} ($db{$table_ids}{$_}{$name_from_ids_2}) >>> $db{$table_ids_2}{$list_ids_2[$cnt]}{$name_from_list_ids_2}",$text_width,6) ;
} elsif (not $db{$table_ids}{$_}{$name_from_ids_2} and $list_ids_2[$cnt]) {
&pdf_text_block ($r_pos,"$db{$table_ids}{$_}{$name_from_ids} >>> $db{$table_ids_2}{$list_ids_2[$cnt]}{$name_from_list_ids_2}",$text_width,6) ;
}
$up = $up - 2 ;
$cnt++ ;
}
$up = $up + 2 if $list_ids ;
$up = $up - 1.25 unless $list_ids ;
&pdf_thin_box_block_bottom($default_left,$default_right,'#009bc8');
&pdf_extra_thin_black_line ($l_pos,$top_frame,$l_pos,$up,'#009bc8') ;
} #------------------------------------------------------------------------------------------
sub display_text {
my ($left_or_right,$heading,$text) = @_ ;
my $default_left = 15 ; my $default_right = 100 ; my $text_pos = $pos2 ; my $line_pos = $pos ;
if ($heading eq "Type of System") { $text_pos++ ; $line_pos++ ; }
if ($left_or_right) {
$default_left = 110 ; $default_right = 195 ; $text_pos = $pos4 ; $line_pos = $pos3 ;
}
$top = $up;
&pdf_thin_box_block_top($default_left,$default_right,'#009bc8');
$up = $up - 3.25 ;
&pdf_small_bold_text ($default_left+1,$up,$heading) ;
&pdf_small_text ($text_pos,$up,$text) ;
$up = $up - 1.25 ;
&pdf_thin_box_block_bottom($default_left,$default_right,'#009bc8');
&pdf_extra_thin_black_line ($line_pos,$top,$line_pos,$up,'#009bc8') ;
} #------------------------------------------------------------------------------------------
sub vertical_lines_inner_box {
&pdf_thin_black_line ($blocks[1],$top,$blocks[1],$up,'#009bc8') ; # vertical
&pdf_thin_black_line ($blocks[2],$top,$blocks[2],$up,'#009bc8') ; # vertical
&pdf_thin_black_line ($blocks[3],$top,$blocks[3],$up,'#009bc8') ; # vertical
&pdf_thin_black_line ($blocks[4],$top,$blocks[4],$up,'#009bc8') ; # vertical
&pdf_thin_black_line ($blocks[5],$top,$blocks[5],$up,'#009bc8') ; # vertical
} #----------------------------------------------------------------------------------------------------
sub vertical_lines_inner_box_t {
&pdf_thin_black_line ($tblocks[1],$top,$tblocks[1],$up,'#009bc8') ; # vertical
&pdf_thin_black_line ($tblocks[2],$top,$tblocks[2],$up,'#009bc8') ; # vertical
&pdf_thin_black_line ($tblocks[3],$top,$tblocks[3],$up,'#009bc8') ; # vertical
&pdf_thin_black_line ($tblocks[4],$top,$tblocks[4],$up,'#009bc8') ; # vertical
&pdf_thin_black_line ($tblocks[5],$top,$tblocks[5],$up,'#009bc8') ; # vertical
} #----------------------------------------------------------------------------------------------------
sub quote_pdf_footer {
&pdf_check_value_of_up(60);
$up = 90;
my $txt = qq~The parties hereby accept and agree to this quote, which incorporates by reference all the terms and conditions set forth in the Interactive Television Africa's Terms and Conditions document, attached hereto as Annexure A and the Service Level Agreement attached hereto as Annexure B (all, collectively with this quote, the "Agreement") effective as of the later of the signature dates below.~;
&pdf_text_block (10,$txt,120,3) ;
$up = $up - 10;
&pdf_medium_bold_text (10, $up, "Name:") ; &pdf_thin_black_line (30,$up,100,$up,'#009bc8') ; #&pdf_tiny_text (25, $up, "________________________________________________") ;
&pdf_medium_bold_text (110, $up, "Date:") ; &pdf_thin_black_line (130,$up,200,$up,'#009bc8') ;
$up = $up - 5;
&pdf_small_text (10, $up, "(Duly Authorised)") ;
$up = $up - 10;
&pdf_medium_bold_text (10, $up, "Company:") ; &pdf_thin_black_line (30,$up,100,$up,'#009bc8') ;
&pdf_medium_bold_text (110, $up, "Signature:") ; &pdf_thin_black_line (130,$up,200,$up,'#009bc8') ;
$up = $up - 15;
&pdf_medium_bold_text (10, $up, "Name:") ; &pdf_thin_black_line (30,$up,100,$up,'#009bc8') ;
&pdf_medium_bold_text (110, $up, "Date:") ; &pdf_thin_black_line (130,$up,200,$up,'#009bc8') ;
$up = $up - 5;
&pdf_small_text (10, $up, "(Duly Authorised on behalf of Interactive Television Africa)") ;
$up = $up - 10;
&pdf_medium_bold_text (110, $up, "Signature:") ;
&pdf_thin_black_line (130,$up,200,$up,'#009bc8') ;
} #------------------------------------------------------------------------------------------
sub quote_pdf_vars {
# our @htxt = (0,0,115,0,146,172,0) ;
# our @boxtxt = (0,12,102,117,142,167) ;
# our @blocks = (0,10,100,115,140,165) ;
# our @rboxtxt = (0,97,122,147,172,197) ;
# our @boxtxt = (0,12,102,127,152,177) ;
# our @blocks = (0,10,100,125,150,175) ;
our @rboxtxt = (0,103,116,143,170,197) ;
our @boxtxt = (0,12,106,120,147,174) ;
our @blocks = (0,10,104,118,145,172) ;
our @tboxrtxt = (0,77,107,137,167,197) ;
our @tboxtxt = (0,12,82,112,142,172) ;
our @tblocks = (0,10,80,110,140,170) ;
} #-------------------------------------------------------------------------------
sub custom_date_txt {
my ($date) = @_ ;
return "Unknown" if not $date;
my $dt_txt = Date_to_Text(substr($date,0,4),substr($date,5,2),substr($date,8,2));
$dt_txt = substr($dt_txt,4) ;
return ($dt_txt) ;
} #------------------------------------------------------------------------------------------
sub check_space_on_page_custom {
my ($value) = @_ ;
if ($up < $value) {
&pdf_thin_black_line (10,$top,10,$up) ;
&vertical_lines_table; # draw vertical_lines on prematurely ended table
&pdf_initialise_page ;
$up=282 ;
$top=$up;
&pdf_thin_black_line(10,$up,200,$up) ;
$across = 1 ;
}
} #----------------------------------------------------------------------------------------------------
sub get_val {
my ($val,$cur) = @_ ;
my $disp_val = $val ;
if ($val eq '0.00') {
$disp_val = '' ;
} elsif ($val) {
$disp_val = $cur . ' ' . $val ;
}
# &common_min_debug($val);
return($disp_val);
} #------------------------------------------------------------------------------------------
sub vertical_lines_table {
unless ($exclude_rate) {
&pdf_thin_black_line ($blocks[2],$top,$blocks[2],$up) ; # vertical
&pdf_thin_black_line ($blocks[3],$top,$blocks[3],$up) ; # vertical
}
unless ($exclude_vat) {
&pdf_thin_black_line ($blocks[4],$top,$blocks[4],$up) ; # vertical
}
&pdf_thin_black_line ($blocks[5],$top,$blocks[5],$up) ; # vertical
&pdf_thin_black_line ($blocks[6],$top,$blocks[6],$up) ; # vertical
} #------------------------------------------------------------------------------------------
sub screen2 {
print <<ENDOFTEXT;
$dialog{'common'}{'head'}
<div id="content" class="col-lg-12 col-sm-12">
<CENTER>
<table height='100%' width='100%'>
<tr>
<td align='center'>
<iframe src='$useropts{'$domain'}/pdf/event_details/$pdfname' width='100%' height='100%' frameborder='0'></iframe>
</td>
</tr>
</table>
</div>
</body>
</html>
ENDOFTEXT
#
} #------------------------------------------------------------------------------------------
use db ;
use db_min ;
use dialog ;
use today ;
use common ;
use pdf ;
use tabs ;
1;