rlm@0: #!/usr/bin/perl rlm@0: rlm@0: rlm@0: use List::Util qw(first max maxstr min minstr reduce shuffle sum); rlm@0: use Storable; rlm@0: use CGI::Ajax; rlm@0: use CGI; rlm@0: rlm@0: rlm@0: rlm@0: my $q = new CGI; rlm@0: rlm@0: rlm@0: rlm@0: my %hash = ( rlm@0: rlm@0: 'material' => \&material, rlm@2: 'pokedex' => \&pokedex, rlm@0: 'template' => \&template, rlm@0: 'inputbox' => \&inputbox, rlm@0: 'display' => \&display, rlm@0: 'change_rules' => \&change_rules); rlm@0: rlm@0: rlm@0: rlm@0: my $pjx = CGI::Ajax->new(%hash); rlm@0: #$pjx->JSDEBUG(1); rlm@0: #$pjx->DEBUG(1); rlm@0: rlm@0: print $pjx->build_html($q,\&gen); # this outputs the html for the page rlm@0: rlm@0: rlm@0: rlm@0: rlm@0: rlm@0: sub material{ rlm@0: rlm@0: $newvar = shift; rlm@0: rlm@0: my $t = $newvar; rlm@0: rlm@0: $newvar =~ m/([^_]*)_/; rlm@0: $newvar = $1; rlm@0: rlm@0: #return (($t =~ m/_acrylic_green/) ? 'CHECKED' : 'notchecked'); rlm@0: rlm@0: #$y = "$t
".(($t =~ m/_acrylic_green/) ? 'CHECKED' : 'notchecked')." rlm@2: rlm@2: { rlm@2: local( $/, *FH ) ; rlm@2: open( FH, "<./buy_pieces/materials2.html" ) or die "sudden flaming death\n"; rlm@2: $y = ; rlm@2: } rlm@2: rlm@2: @symbols = qw(PERL::ACRYLIC_CLEAR PERL::ACRYLIC_BLUE PERL::ACRYLIC_GREEN PERL::ALUMINUM_RED PERL::ALUMINUM_BLUE PERL::ALUMINUM_GREEN PERL::ALUMINUM_BLACK); rlm@2: rlm@2: for (@symbols) rlm@2: { rlm@2: $c = $_; rlm@2: $c =~ s/PERL:://; rlm@2: $c =~ tr/[A-Z]/[a-z]/; rlm@2: $c =~ s/^/_/; rlm@2: rlm@2: $b = '"'.$newvar.$c.'"'.(($t =~ m/$c/) ? ' CHECKED ' : ''); rlm@2: $y =~ s/$_/$b/; rlm@2: } rlm@2: rlm@2: rlm@2: $first = shift; rlm@2: if ($first){ $y =~ s/display[^;]*;//g; } rlm@2: rlm@0: rlm@0: rlm@0: return $y; rlm@0: rlm@0: rlm@0: } rlm@0: rlm@0: rlm@0: rlm@0: sub template rlm@0: { rlm@0: rlm@0: $all = shift; rlm@0: $all =~ m/_(.*)/; rlm@0: rlm@0: $materialcolor = $1; rlm@0: rlm@0: rlm@2: $r = "Templates:
rlm@2: rlm@2: rlm@2: rlm@2: rlm@0: rlm@0: rlm@0: "; rlm@0: rlm@0: return $r; rlm@0: } rlm@0: rlm@0: rlm@0: rlm@0: rlm@0: sub inputbox rlm@0: { rlm@0: rlm@0: #grab the type of template we'll be using <<<< rlm@0: $type = shift; rlm@0: # return $type; rlm@0: # we have to care about both the type of template and the material and the color. these are stored in $type>>>> rlm@0: rlm@0: #Then, update with a special custon paypal form, taken from the paypal folder and specially designed for that particular template. rlm@0: #will probaly eventually create a script to automate the generation of these files. rlm@0: rlm@0: rlm@0: #take care of everythign but acrylic clear type rlm@2: rlm@2: rlm@2: rlm@2: { rlm@2: local( $/, *FH ) ; rlm@2: open( FH, "<./paypal/$type.paylist" ) or die "sudden flaming death\n"; rlm@2: $z = ; rlm@2: } rlm@0: rlm@0: rlm@0: #every type has it's own associated paylist file the contains the things we need rlm@2: rlm@4: $z = '
'; rlm@2: return $z; rlm@2: rlm@2: rlm@0: rlm@0: rlm@0: rlm@0: } rlm@0: rlm@0: rlm@0: rlm@0: rlm@0: rlm@0: rlm@0: rlm@0: rlm@0: sub display rlm@0: { rlm@0: $all = shift; rlm@0: rlm@0: rlm@0: rlm@2: $t =" rlm@2: rlm@0: "; rlm@0: return $t; rlm@0: rlm@0: } rlm@0: rlm@0: rlm@0: rlm@0: rlm@0: sub gen rlm@0: { rlm@0: { rlm@0: local( $/, *FH ) ; rlm@0: open( FH, "<./buy.html" ) or die "sudden flaming death\n"; rlm@0: $a = ; rlm@0: } rlm@0: rlm@0: { rlm@0: local( $/, *FH ) ; rlm@0: open( FH, "<./top_menu.include" ) or die "sudden flaming death\n"; rlm@0: $b = ; rlm@0: } rlm@0: rlm@2: rlm@2: rlm@2: $a =~ s/PERL-REPLACE::TOP_MENU/$b/; #equivalent to , but in perl and with more memory problems :) rlm@2: $b = &material("void_acrylic_clear",1); rlm@2: $a =~ s/PERL-REPLACE::MATERIALS/$b/; #let's do it again!!! :) rlm@2: $b = &template("classic_acrylic_clear"); rlm@2: rlm@2: #$a =~ s/PERL-REPLACE::TEMPLATES//; rlm@2: $a =~ s/PERL-REPLACE::TEMPLATES/$b/; #comment out one or the other! rlm@2: rlm@2: rlm@0: rlm@0: return $a rlm@0: rlm@0: rlm@2: } rlm@0: rlm@0: rlm@2: rlm@2: sub pokedex rlm@2: { rlm@2: rlm@2: my $key = shift; rlm@2: rlm@2: return $key; rlm@2: rlm@2: rlm@2: }