#!/usr/bin/perl MAIN: { $server = $ENV{'SERVER_NAME'}; $query = $ENV{'QUERY_STRING'}; $query0 = $query; $query0 =~ s/\&price\_range\=.*//g; $domain = $server; if ( $domain =~ m/sex\-superstore/i ) { $domain = '.sex-superstore.com' } else { $domain = '' } #affiliate flag if ( !( $server =~ m/pexxx/i ) and !( $server =~ m/privateentertainment/i ) and !( $server =~ m/myadultwarehouse/i ) ) { $aff_flag = 1; } if ( $server =~ /shop\.sex\-superstore\.com/i or $server =~ /store\.sex\-superstore\.com/i or $server =~ /store\.dev\.sex\-superstore\.com/i or $server =~ /shop\.dev\.sex\-superstore\.com/i ) { $aff_super = 1; } $status = 'date'; #niche specific if ( $server =~ /hetero/i ) { @asso00 = ( 'hotdeal', 'hetero', 'allgirl' ); @asso0 = ( 'hetero', 'Hetero', 'allgirl', 'All Girl', 'voldiscount', 'Volume Discount', 'hotdeal', 'Hot Deals!', 'top20', 'Top 20', 'all', 'New Releases' ); %asso0 = @asso0; @races = ( 'black', 'white', 'asian', 'interracial', 'latin' ); $init_def = 'hetero'; #default initial category $query_def = "(initial='hetero' or initial='allgirl')"; #query default $query_def1 = $query_def; #query modifier only for niches $niche1 = 'Hetero'; #for top20 } elsif ( $server =~ /allmale/i ) { @asso00 = ( 'hotdeal', 'allmale', 'bisex' ); @asso0 = ( 'allmale', 'AllMale', 'bisex', 'BiSexual', 'voldiscount', 'Volume Discount', 'hotdeal', 'Hot Deals!', 'top20', 'Top 20', 'all', 'New Releases' ); %asso0 = @asso0; @races = ( 'black', 'white', 'asian', 'interracial', 'latin' ); $init_def = 'allmale'; $query_def = "(initial='allmale' or initial='bisex')"; $query_def1 = $query_def; $niche1 = 'Allmale'; } elsif ( $server =~ /transsexual/i ) { @asso00 = ( 'hotdeal', 'trans', 'bisex' ); @asso0 = ( 'trans', 'Transsexual', 'bisex', 'BiSexual', 'voldiscount', 'Volume Discount', 'hotdeal', 'Hot Deals!', 'top20', 'Top 20', 'all', 'New Releases' ); %asso0 = @asso0; @races = ( 'black', 'white', 'asian', 'interracial', 'latin' ); $init_def = 'trans'; $query_def = "(initial='trans' or initial='bisex')"; $query_def1 = $query_def; $niche1 = 'Transsexual'; } elsif ( $server =~ /fetish/i ) { @asso00 = ( 'hotdeal', 'fetish', 'bondage' ); @asso0 = ( 'fetish', 'Fetish', 'bondage', 'Bondage', 'voldiscount', 'Volume Discount', 'hotdeal', 'Hot Deals!', 'top20', 'Top 20', 'all', 'New Releases' ); %asso0 = @asso0; @races = ( 'black', 'white', 'asian', 'interracial', 'latin' ); $init_def = 'fetish'; $query_def = "(initial='fetish' or initial='bondage')"; $query_def1 = $query_def; $niche1 = 'Fetish'; } elsif ( $server =~ /interracial/i ) { @asso00 = ( 'hotdeal', 'hetero', 'fetish', 'bondage', 'allgirl', 'allmale', 'bisex', 'trans' ); @asso0 = ( 'hetero', 'Hetero', 'fetish', 'Fetish', 'bondage', 'Bondage', 'allgirl', 'All Girl', 'allmale', 'All Male', 'bisex', 'BiSexual', 'trans', 'Transsexual', 'voldiscount', 'Volume Discount', 'hotdeal', 'Hot Deals!', 'top20', 'Top 20', 'all', 'New Releases' ); %asso0 = @asso0; @races = ( 'black', 'interracial', 'asian', 'latin' ); $init_def = 'hetero'; $query_def = "(initial='hetero' or initial='fetish' or initial='bondage' or initial='allgirl')"; $query_add = "and (sub='black' or sub='interracial' or sub='asian' or sub='latin')" ; #additional query modifier $query_def1 = $query_def; $niche1 = 'Interracial'; } else { #SuperStore @asso00 = ( 'hotdeal', 'hetero', 'fetish', 'bondage', 'allgirl', 'allmale', 'bisex', 'trans' ); @asso0 = ( 'hetero', 'Hetero', 'fetish', 'Fetish', 'bondage', 'Bondage', 'allgirl', 'All Girl', 'allmale', 'All Male', 'bisex', 'BiSexual', 'trans', 'Transsexual', 'voldiscount', 'Volume Discount', 'hotdeal', 'Hot Deals!', 'top20', 'Top 20', 'all', 'New Releases' ); %asso0 = @asso0; @races = ( 'black', 'white', 'asian', 'interracial', 'latin', 'allgirl', 'bondage' ); $init_def = 'hetero'; $query_def = "(initial='hetero' or initial='fetish' or initial='bondage' or initial='allgirl' or initial='bisex' or initial='trans')"; $niche1 = 'Superstore'; } if ($query_def1) { $query_def2 = "and $query_def1" } else { $query_def2 = '' } use CGI; $foo = new CGI; #DATE local ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time); $year = 1900 + $year; local (@month) = ( 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' ); local ($mo) = $month[$mon]; &ReadParse; ( $ecode, $text, $type, $criteria, $last_list, $first_list, $fam, $hotdeal, $discount, $bestseller, $top20, $init, $dozen_list, $letter, $search, $init1, $race, $affiliate, $price_range ) = ( $in{'ecode'}, $in{'text'}, $in{'type'}, $in{'criteria'}, $in{'last_list'}, $in{'first_list'}, $in{'fam'}, $in{'hotdeal'}, $in{'discount'}, $in{'bestseller'}, $in{'top20'}, $in{'init'}, $in{'dozen_list'}, $in{'letter'}, $in{'search'}, $in{'init1'}, $in{'race'}, $in{'af'}, $in{'price_range'} ); # INSERTED 2/9/2010 BY SCOTT TO PREVENT SQL INJECTION if (length($ecode) > 10) { die('Invalid Parameter'); } if ( $text eq 'hotdeal' or $init eq 'hotdeal' ) { $hotdeal = 'Yes' } if ( $init eq 'top20' ) { $top20 = 'Yes' } if ( $criteria eq 'voldiscount' or $init eq 'voldiscount' ) { $discount = 'Yes'; $init = 'voldiscount'; } if ( $criteria eq 'init' ) { $init = $text } if ( !$init and !$criteria ) { $init = 'all' } &get_cookie; $stock = $cookie{'stock'}; $stock = substr( $stock, 0, 1 ); if ( !$stock or ( $stock ne 'N' and $stock ne 'T' and $stock ne 'A' and $stock ne 'P' and $stock ne 'O' and $stock ne 'F' and $stock ne 'D' ) ) { $stock = 'N'; } if ( $stock ne 'N' ) { $inv_mod = " and inventory.available='$stock'"; } else { $inv_mod = " and (inventory.available='T' or inventory.available='P')"; } $res_field = 'results'; if ( $stock eq 'T' ) { $sel_T = 'selected'; $res_field = 'res_T' } if ( $stock eq 'A' ) { $sel_A = 'selected'; $inv_mod = ''; $res_field = 'res_A'; } if ( $stock eq 'P' ) { $sel_P = 'selected'; $res_field = 'res_P' } if ( $stock eq 'O' ) { $sel_O = 'selected'; $res_field = 'res_O' } if ( $stock eq 'F' ) { $sel_F = 'selected'; $res_field = 'res_F'; } if ( $stock eq 'D' ) { $sel_D = 'selected'; $res_field = 'res_D'; } if ( !( $affiliate =~ /^\d/ ) ) { $affiliate = $cookie{'affiliate'}; } $affiliate =~ s/\D.*//s; if ( !( $affiliate =~ /^\d/ ) ) { $affiliate = 0 } if ($fam) { foreach $rc (@races) { if ( $fam eq $rc ) { $race = $fam } } } if ( !$dozen ) { $dozen = 1 } if ( !$dozen_list ) { $dozen_list = 1 } $dozen0 = $dozen - 1; $dozen1 = $dozen + 1; $dozen_list0 = $dozen_list - 1; $dozen_list1 = $dozen_list + 1; $first_list0 = $first_list; $last_list0 = $last_list; if ( !$init1 and ( $discount eq 'Yes' ) ) { $init1 = $init_def } $type = 'dvd'; $type3 = $type; $text3 = $foo->escape($text); if ($price_range) { $price_app = "&price_range=$price_range" } require("../inc/dbc.dat"); #product DB retrieve $table = 'date_' . $type; $table1 = 'aph_' . $type; $sql = $dbh->prepare( " SELECT product_name,saleprice,price,manufacturer,pimage,voldiscount,synopsis,stars,prod_year,run_time,available,DATE_FORMAT(date_mod, '%M %e, %Y'),bigkey,initial,sub,family1,family2,show_front,show_back FROM $table,inventory WHERE $table.item='$ecode' and inventory.item='$ecode' " ); $sql->execute(); #Block for e-Codes not existing under selected category - ThomasW if ($sql->rows eq 0) { die "Error: This product can not be found under the selected category.\n" } ( $name, $saleprice, $price, $manufacturer, $image, $onsale, $synopsis, $star, $prodyear, $runtime, $available, $dateav, $key, $init0, $sub, $family1, $family2, $show_front, $show_back ) = $sql->fetchrow_array; $sql->finish(); #get rating $sql = $dbh->prepare( " SELECT reviews,rating_ave FROM rating WHERE item='$ecode' LIMIT 1 " ); $sql->execute(); ( $reviews, $rating_ave ) = $sql->fetchrow_array; $sql->finish(); $init = $init0; $rating1 = sprintf "%.0f", $rating_ave; ###CATEGORY & family SELECT if ( $criteria eq 'init' ) { $init = $text } $text_type = $type; open( FILEHANDLE, "< store.txt" ) or print 'Cannot open file'; while () { chop $_; $code .= $_ } close(FILEHANDLE); eval($code); %assa3 = @asso3; %assa1 = @asso1; %assa0 = @asso0; $fam_number = ( $#asso1 + 1 ) / 2; $initial = $assa0{$init}; if ( !$text ) { $text = $initial } $family = $assa1{$fam}; if ( $criteria eq 'init' ) { $text1 = " > $assa3{$text}"; } if ($fam) { $fam1 = " > $family"; } if ($init1) { $fam1 = " > $asso0{$init1}"; } if ($init1) { $fam1 = " > $asso0{$init1}"; } if ($race) { $race1 = " > $assa1{$race}"; if ( $race eq $fam ) { $fam1 = '' } else { $add_race = "   $assa1{$race}
" } $and_race = "AND sub='$race'"; } #show stream $text1 = " > $text"; if ( $hotdeal eq 'Yes' ) { $text1 = " > Hot Deals!"; $addition = '&hotdeal=Yes'; } if ( $discount eq 'Yes' ) { $text1 = " > Volume Discounts"; $addition = '&discount=Yes'; } if ( $bestseller eq 'Yes' ) { $text1 = " > Bestsellers"; $addition = '&bestseller=Yes'; $pth = 'pimage'; } if ( $top20 eq 'Yes' ) { $text1 = " > Top 20"; } $type1 = "Adult DVD"; @split_star = split( /,/, $star ); if ( $available eq 'T' ) { $available1 = '1 to 2 business days'; $available2 = 'IN STOCK'; } if ( $available eq 'F' ) { $available1 = '10 to 15 business days'; $available2 = 'SPECIAL ORDER'; } if ( $available eq 'P' ) { $available1 = 'upon release'; $available2 = 'PRE-ORDER'; } if ( $available eq 'O' ) { $available1 = '10 to 15 business days'; $available2 = 'ON ORDER'; } if ( $available eq 'D' ) { $available1 = 'not available'; $available2 = 'NOT AVAILABLE'; } $onsale1 = $onsale; $sale = ''; if ( $onsale eq 'T' ) { $onsale1 = 1; $sale = 'Volume Discounts'; } if ( $onsale eq 'C' ) { $sale = 'Volume Discounts'; } if ( $onsale eq 'F' ) { $onsale1 = 0; } #check VHS #$name2 = $dbh->quote($name); # $sqlD = # $dbh->prepare( " SELECT video.item # FROM video,inventory # WHERE video.product_name=$name2 and video.item=inventory.item $inv_mod # "); # $sqlD->execute(); # ($ecode_vhs)=$sqlD->fetchrow_array; # $sqlD->finish(); #if($ecode_vhs){$vhs = " # # Also available on VHS # "} #else{$vhs = ''} #alphabetic list if ( $init and $init ne 'all' ) { $where_list = "WHERE initial='$init'"; } else { $where_list = "WHERE $query_def"; } if ( $criteria eq 'title' ) { $crt = 'product_name' } if ( $criteria eq 'manufacturer' ) { $crt = 'manufacturer' } if ( $criteria eq 'star' ) { $crt = 'stars' } if ( $criteria eq 'ecode' ) { $crt = 'inventory.item' } if ( $criteria eq 'init' ) { $crt = 'initial' } if ( $text ne 'all' ) { $textE = "%" . $text . "%"; } else { $textE = "%" . "%"; } $textE = $dbh->quote($textE); if ( $criteria or $init1 ) { $where_list = "WHERE $crt LIKE $textE $query_def2"; if ($init1) { $where_list = $where_list . " and initial='$init1'"; } } if ($fam) { if ( $fam =~ m/\d\-\d/ ) { ( $time1, $time2 ) = split /-/, $fam; $where_list = $where_list . " and run_time>=$time1 and run_time<=$time2"; } else { $where1 = "or sub='$fam'"; $where_list = $where_list . " and (family1='$fam' or family2='$fam' $where1)"; } } if ($race) { $where_list = $where_list . " and sub='$race'"; $sql = $dbh->prepare( " SELECT family_list FROM races_dvd WHERE initial='$init' AND race='$race' LIMIT 1 " ); $sql->execute(); $fam_list = $sql->fetchrow_array; $sql->finish(); @family_list = split /,/, $fam_list; @family_list = ( @races, @family_list ); $fam_number = 1 + $#family_list; } if ( $hotdeal eq 'Yes' ) { $where = "WHERE hotdeals='T'"; $where_list = "WHERE hotdeals='T'"; if ($fam) { if ( $fam =~ m/\d\-\d/ ) { ( $time1, $time2 ) = split /-/, $fam; $where_list = $wher_list . " and run_time>=$time1 and run_time<=$time2"; } else { $where1 = "or sub='$fam'"; $where_list = $where_list . " and (initial='$fam' or family1='$fam' or family2='$fam' $where1)"; } } } if ( $discount eq 'Yes' ) { $where_list = "WHERE voldiscount='T'"; if ($init1) { $where_list = $where_list . " and initial='$init1'"; } } if ( $top20 eq 'Yes' ) { $table = 'aph_' . $type; $table1 = $table; $top20table = 'top_20,'; $where_list = "WHERE top_20.type = '$type' AND top_20.niche = '$niche1'"; $order_list = ',top_20.rank'; $tmptable = 'top_20'; $tmp20mod = " and aph_$type.item=inventory.item"; } else { $tmptable = 'inventory'; } $where_list0 = $where_list; if ($last_list) { $where_list = $where_list . " and bigkey>'$last_list'" } if ($first_list) { $where_list = $where_list . " and bigkey<'$first_list'"; $order_list = 'DESC'; } if ($letter) { $where_list = $where_list . " and product_name LIKE '$letter%'"; $where_list0 = $where_list0 . " and product_name LIKE '$letter%'"; } #price range/match if ($price_range) { #field for price if ( ( $aff_flag and !( $server =~ m/shop/ ) ) or ( $server =~ m/myadultwarehouse/ ) ) { $price_field = 'price'; } else { $price_field = 'saleprice' } if ( $price_range !~ /\-/ ) { #exact match $price_match = $price_range; if ( $price_match =~ /^\d+$/ or $price_match =~ /^\d+\.\d+$/ ) { $price_mod = "$price_field=$price_match"; $price2 = "\$$price_match"; } } else { #range ( $price_min, $price_max ) = split /-/, $price_range; if ( $price_min =~ /^\d+$/ or $price_min =~ /^\d+\.\d+$/ ) { $price_mod_min = "$price_field>$price_min"; } if ( $price_max =~ /^\d+$/ or $price_max =~ /^\d+\.\d+$/ ) { $price_mod_max = "$price_field<$price_max"; } if ( $price_mod_min and $price_mod_max ) { $price_mod = "$price_mod_min and $price_mod_max"; $price2 = "\$$price_min - \$$price_max"; } elsif ($price_mod_min) { $price_mod = $price_mod_min; $price2 = "more than \$$price_min"; } elsif ($price_mod_max) { $price_mod = $price_mod_max; $price2 = "less than \$$price_max"; } } } if ($price_mod) { if ($where_list) { $where_list = "$where_list and $price_mod"; } else { $where_list = "WHERE $price_mod"; } } $sql = $dbh->prepare( " SELECT $table1.item,$table1.product_name,$table1.bigkey FROM $table1, $top20table inventory $where_list and $table1.item=$tmptable.item $tmp20mod $inv_mod ORDER by bigkey $order_list LIMIT 50 " ); $sql->execute(); $j = 0; while ( @record1 = $sql->fetchrow_array ) { ( $list_ecode[$j], $list[$j], $bigkey_list[$j] ) = @record1; $j++; } $sql->finish(); #number of search results if ( $letter or ( $criteria and ( $criteria ne 'init' ) ) ) { $phrase = $dbh->quote($text); $sql = $dbh->prepare( " SELECT $res_field,inits FROM search WHERE phrase=$phrase and type='$type' and criteria='$criteria' and site='Superstore' LIMIT 1 " ); $sql->execute(); ( $jj, $inits ) = $sql->fetchrow_array; $sql->finish(); @inits = split /,/, $inits; foreach $init_dd (@inits) { $init_present{$init_dd} = 'Yes' } } if ($first_list) { @list_ecode = reverse @list_ecode; @list = reverse @list; @bigkey_list = reverse @bigkey_list; } $first_list = $bigkey_list[0]; $last_list = $bigkey_list[ $j - 1 ]; $l0 = $#list; #FILTER FOR NAMES IN LIST $l = $#list + 1; local ($lil) = 0; local ($il) = 0; while ( $lil + $il <= 100 && $il <= $l - 1 ) { local ($lilo) = 0; local ($prev) = 0; for ( $i = 0 ; $i <= ( length( $list[$il] ) - 1 ) ; $i++ ) { if ( ( substr( $list[$il], $i, 1 ) eq ' ' ) && ( ( $i - $prev ) > 25 ) && substr( $list[$il], $i + 1, 1 ) ) { $prev = $i + $prev; $lilo++; substr( $list[$il], $i, 1 ) = '*'; } } $lil = $lil + $lilo; while ( $list[$il] =~ m/\*/ ) { $list[$il] =~ s/\*/<\/a>
   /; } $il++; } for ( $i = $0 ; $i < $il ; $i++ ) { $list[ $i + $il ] = $list[ $i + $l ] } $lold = $l; $l = $il; $list_key = $list[ 2 * $l - 1 ]; require("/export/home0/vhost218/cgi-serverwide/colors.pl"); #page layout print &PrintHeader; print < Adult DVD: $name $style_sheet EOT require("/export/home0/vhost218/cgi-serverwide/header.pl"); print < EOT require("/export/home0/vhost218/cgi-serverwide/menu_new.pl"); if ( $image !~ /\.gif$/i ) { # if ($show_back eq "T") { $image_back = qq($name Back
DVD Back Cover); # } else { # $image_back = qq($name Back
DVD Back Cover); # } } else { $image_back = " "; } # if ($show_front eq "F") { # $image = "toohot.jpg"; # } print <
  $type1$text1$race1$fam1 Bookmark this item
$name
$name Front
DVD Front Cover

$image_back
E_O_T if ( $available ne 'D' ) { print < EOT } else { print < EOT } print < EOT if ( $reviews > 0 ) { print < E_O_T } print <
Description: $synopsis
Starring:  EOT $split_manuf = $foo->escape($manufacturer); if ( $runtime == 0 ) { $runtime = 'Not Specified'; $mins = ''; } if ( $runtime != 0 ) { $mins = 'mins.'; } $count_star = $#split_star + 1; $count = 1; foreach $split_star (@split_star) { if ( $count == $count_star ) { $comma = ''; } if ( $count != $count_star ) { $comma = ','; $count++; } $show_star = $split_star; $split_star =~ s/^ //; $split_star = $foo->escape($split_star); print "$show_star$comma "; } #change plan A->B if ( ( $aff_flag and !( $server =~ m/shop/ ) ) or ( $server =~ m/myadultwarehouse/ ) ) { $saleprice = $price; } else { $you_save = sprintf "%.2f", ( $price - $saleprice ); $reg_line = qq(Regular Price: \$$price   You Save: \$$you_save); } #-change $saleprice = sprintf "%.2f", $saleprice; #if (length($name)>30){$name=substr($name,0,30).'...';} while ( $name =~ m/\'/ ) { $name =~ s/\'/\`/; } $name =~ s/"//g; $keystatus = $key . $status . $ecode; if ($race) { $race3 = qq( $assa1{$race}) } print <
Studio: $manufacturer
Status: $available2
Our Price: \$$saleprice   $sale
$reg_line
Add to Cart
Add to Wish List
Add to Gift Registry
NOT AVAILABLE
Checkout
Ships: $available1
e-Code: $ecode
Approx. Running Time: $runtime $mins
Production Year: $prodyear
Date Available: $dateav
Format: DVD VIDEO
Initial Genre: $initial
Category 1: $assa1{$sub}
Category 2: $assa1{$family1}
Category 3: $assa1{$family2}
Customer Rating: 
based on $reviews ratings or reviews
Rate this DVD:  
Write an online review
Edit your reviews
Email a friend about this item 
We recommend these similar$race3 Adult DVD titles:
EOT #thumbs to other products foreach $fm ( ( $family1, $family2 ) ) { if ( $fm eq $family2 ) { $and_filter = "and (date_dvd.item != '$item1' and date_dvd.item != '$item2')"; } $sql = $dbh->prepare( " SELECT date_dvd.item,date_dvd.product_name,date_dvd.pthumbs,date_dvd.show_front FROM date_dvd,inventory WHERE (family1='$fm' or family2='$fm') AND initial='$init' AND date_dvd.item !='$ecode' $and_race $and_filter and date_dvd.item=inventory.item and inventory.available='T' ORDER by RAND() LIMIT 2 " ); $sql->execute(); $it_cnt = 0; while ( @record = $sql->fetchrow_array ) { ( $item_th, $name_th, $thumb_th, $show_front ) = @record; $it_cnt++; if ( $fm eq $family1 ) { if ( $it_cnt eq 1 ) { $item1 = $item_th } if ( $it_cnt eq 2 ) { $item2 = $item_th } } if ( $show_front ne "T" ) { # $thumb_th = "toohot.jpg"; } print qq(); } $sql->finish(); } print <
CATEGORY:
$assa1{$fm}

$name_th
Customer Ratings and Reviews:
E_O_T if ( $reviews > 0 ) { print < E_O_T #get reviews $sql = $dbh->prepare( " SELECT title,review,rating,reviewer_nickname,reviewer_location,DATE_FORMAT(date, '%M %e, %Y') FROM reviews WHERE item='$ecode' AND title IS NOT NULL ORDER by date DESC LIMIT 10 " ); $aa = $sql->execute(); #show reviews if ( $aa > 0 ) { print < E_O_T while ( ( $review_title, $review, $review_rating, $reviewer_nickname, $reviewer_location, $review_date ) = $sql->fetchrow_array ) { if ($reviewer_location) { $from_rev = "from $reviewer_location"; } print < EOT } #end of reviews loop } #end of show reviews $sql->finish(); } ###reviews exist else { print < E_O_T } print <
DVD: $name
Customer Rating:  based on $reviews ratings or reviews

Customer Ratings and Reviews:
 $review_title, $review_date
Reviewer: $reviewer_nickname $from_rev
$review
Edit this review

There are no reviews for this DVD.
Click Here to be the first to review this DVD.
Rate this DVD:  
Write your own online review of $name
E_O_T require("/export/home0/vhost218/cgi-serverwide/cart.pl"); require("/export/home0/vhost218/cgi-serverwide/promo_inc.pl"); $initial1 = $initial; if ( $criteria and ( $criteria ne 'init' ) ) { $criteria1 = ucfirst $criteria; if ( $criteria1 eq 'Manufacturer' ) { $criteria1 = 'Studio' } $initial1 = "$criteria1 : $text"; } if ( $criteria eq 'voldiscount' or $discount eq 'Yes' ) { $initial1 = 'Volume Discounts'; } print < E_O_T if ( ( $top20 ne 'Yes' ) and !( $criteria and ( $criteria ne 'init' ) ) and ( $discount ne 'Yes' ) ) { print < E_O_T } &RightDefault; print <
   Alphabetically Sorted List
   $initial1
"; } if ( ( $criteria and ( $criteria ne 'init' ) ) or $discount eq 'Yes' ) { print <
E_O_T # DOZENS CONTROL for list (NEXT -- PREVIOUS) if ( $dozen_list > 1 ) { print "BACK       "; } if ( $l0 eq 49 ) { print "       NEXT"; } if ( $server =~ /^store/i or $server =~ /myadultwarehouse/i ) { #options for higher price $price_range_options = qq( ); } else { #options for lower price $price_range_options = qq( ); } print <


E_O_T $br = ''; $alph_count = 1; @alphabet = ( 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' ); print <
Alphabetical E_O_T $initial_category = $foo->escape($initial_category); print <
E_O_T foreach $alphabet (@alphabet) { if ( $init ne 'top20' ) { $init2 = $init; $fam2 = $fam } else { $init2 = ''; $fam2 = '' } print <$alphabet $br E_O_T $br = ''; $alph_count++; if ( $alph_count == 13 or $alph_count == 26 ) { $br = '
'; } } print <
E_O_T #FOOTER require("/export/home0/vhost218/cgi-serverwide/footer.pl"); print < E_O_T $sql->finish(); $dbh->disconnect(); exit; } ############################################################################################################################################ #RIGHTDEFAULT sub RightDefault { if ( $criteria and ( $criteria ne 'init' ) ) { $initial = $text; } if ( !$family ) { $family = 'All Categories'; if ($price_range) { $family = $price2 } } if ($letter) { $letter1 = "
   $letter" } if ( $letter or ( $criteria and ( $criteria ne 'init' ) ) ) { $family = "$jj titles found$letter1"; } if ($init1) { $family = $asso0{$init1} } print < $add_race   $family
E_O_T for ( $j = 0 ; $j <= ( $il - 1 ) ; $j++ ) { print "• 
$list[$j]
"; } print "
"; 1; } ############################################################################################################################################# sub PrintHeader { return "Content-type: text/html\n\n"; } sub Flag { local ($input) = @_; local ($flag) = 1; $flag = 0 if ( $input / 2 eq int( $input / 2 ) ); # $flag=0 if even, and =1 if odd; return $flag; } sub get_cookie { local ( $chip, $val ); foreach ( split( /; /, $ENV{'HTTP_COOKIE'} ) ) { # split cookie at each ; (cookie format is name=value; name=value; etc...) # Convert plus to space (in case of encoding (not necessary, but recommended) s/\+/ /g; # Split into key and value. ( $chip, $val ) = split( /=/, $_, 2 ); # splits on the first =. # Convert %XX from hex numbers to alphanumeric $chip =~ s/%([A-Fa-f0-9]{2})/pack("c",hex($1))/ge; $val =~ s/%([A-Fa-f0-9]{2})/pack("c",hex($1))/ge; # Associate key and value next if ( defined( $cookie{$chip} ) ); $cookie{$chip} .= $val; } } sub ReadParse { local (*in) = @_ if @_; local ( $i, $key, $val ); # Read in text if (&MethGet) { $in = $ENV{'QUERY_STRING'}; } elsif (&MethPost) { read( STDIN, $in, $ENV{'CONTENT_LENGTH'} ); } @in = split( /[&;]/, $in ); foreach $i ( 0 .. $#in ) { # Convert plus's to spaces $in[$i] =~ s/\+/ /g; # Split into key and value. ( $key, $val ) = split( /=/, $in[$i], 2 ); # splits on the first =. # Convert %XX from hex numbers to alphanumeric $key =~ s/%(..)/pack("c",hex($1))/ge; $val =~ s/%(..)/pack("c",hex($1))/ge; # Associate key and value $in{$key} .= "\0" if ( defined( $in{$key} ) ); # \0 is the multiple separator $in{$key} .= $val; } return scalar(@in); } sub MethGet { return ( $ENV{'REQUEST_METHOD'} eq "GET" ); } # MethPost # Return true if this cgi call was using the POST request, false otherwise sub MethPost { return ( $ENV{'REQUEST_METHOD'} eq "POST" ); }