Skip to content
This repository has been archived by the owner on Dec 19, 2023. It is now read-only.

Commit

Permalink
Browse files Browse the repository at this point in the history
MiniVend 3.00-beta4
  • Loading branch information
perusionmike authored and jonjensen committed Jan 2, 2009
1 parent 0d29577 commit 5bfd135
Show file tree
Hide file tree
Showing 40 changed files with 997 additions and 388 deletions.
268 changes: 159 additions & 109 deletions README

Large diffs are not rendered by default.

40 changes: 9 additions & 31 deletions configure.pl
Expand Up @@ -950,11 +950,10 @@ sub get_detailed_param {
}
}

LOCK_GCC: {
last LOCK_GCC unless
LOCK: {
last LOCK unless
$Config{'osname'} =~ /solaris/i;
$GCCFLAG = ' -lsocket -DSVR4';
eval {require File::Lock and last LOCK_GCC };
eval {require File::Lock and last LOCK };

print <<EOF;
Expand All @@ -973,14 +972,14 @@ sub get_detailed_param {
system $PERL,
'-npi', '-e',
"'s!^\s*#\s*(use\s+File::Lock)!$1!'",
'Vend/Util.pm';
'lib/Vend/Util.pm';
}
else {
warn "\nInstall FAILED.\n";
require 5.00393;
}

} # last LOCK_GCC
} # last LOCK

MDMODULE: {
eval {require MD5};
Expand Down Expand Up @@ -1152,46 +1151,25 @@ sub get_detailed_param {
my $CC = findexe('cc') || findexe('gcc');
warn "No C compiler found, this phase will not be successful, I bet...\n"
unless $CC;
$CC = 'cc' unless $CC;
$CC .= $GCCFLAG if (defined $GCCFLAG and $CC =~ /gcc$/);
$? = 1;
chdir 'src' || die "Couldn't change to source directory: $!\n";
system "./configure";
eval `cat syscfg`;
print "Compiling, this may take a sec...";
unless($?) {
$? = 1;
print "Compiling with $CC -o vlink vlink.c'\n"
print "Compiling with $CC $CFLAGS $LIBS -o vlink vlink.c'\n"
if $DEBUG;
system "$CC -o vlink vlink.c";
system "$CC $CFLAGS $LIBS -o vlink vlink.c";
if($?) {
warn "\nCompiliation of vlink.c FAILED.\n";
$vfail = 1;
}
system "$CC -o tlink tlink.c";
system "$CC $CFLAGS $LIBS -o tlink tlink.c";
if($?) {
warn "\nCompiliation of tlink.c FAILED.\n";
$tfail = 1;
}
if (defined $vfail and $Config{'osname'} eq 'solaris') {
print "Trying Solaris compile of vlink with GCC....";
system "gcc -DSVR4 -lsocket -o vlink vlink.c";
if($?) {
warn "\nCompiliation of vlink.c FAILED again.\n";
}
else {
print "succeeded!\n";
}
}
if (defined $tfail and $Config{'osname'} eq 'solaris') {
print "Trying Solaris compile of tlink with GCC....";
system "gcc -DSVR4 -lsocket -o tlink tlink.c";
if($?) {
warn "\nCompiliation of tlink.c FAILED again.\n";
}
else {
print "succeeded!\n";
}
}
}
else {
$vfail = 1;
Expand Down
141 changes: 127 additions & 14 deletions doc/minivend.html
Expand Up @@ -2983,6 +2983,7 @@ <H2>
mv_case S Turns on case sensitivity
mv_cartname O Sets the shopping cart name
mv_cache_params S Determines cacheing of searches
mv_change_frame A Any form, changes frame target of form output
mv_check A Any form, sets multiple user variables after update
mv_checkout O Sets the checkout page
mv_click A Any form, sets multiple form variables before update
Expand Down Expand Up @@ -4425,9 +4426,6 @@ <H2>
databases. The value placed by the [item-code] tag is set to whatever
the first field (separated by whitespace) is, at least when the
default of <STRONG>yes</STRONG> is in the UseCode directive.
<p>NOTE: The special item tags (item_price, item_data, item_accessory,
etc.) still refer to fields in the product database. To access arbitrary
databases, you will need to use the idiom [data database field [item_code]].
<p>
<DL COMPACT>
<DT><STRONG>
Expand Down Expand Up @@ -5423,6 +5421,99 @@ <H2>
you should set it large enough to be comfortable for the customer.
<p>
<H2>
<A NAME="minivend_product_0">
Product Pricing</A>
</H2>
MiniVend maintains a price in its database for every product. The price
field is the one required field in the product database -- it is necessary
to build the price routines.
<p>For speed, MiniVend builds the code that is used to determine a product's
price at catalog configuration time. If you choose to change a directive
that affects product pricing you must reconfigure the catalog.
<p>There are several ways that MiniVend can modify the price of a product during
normal catalog operation. Several of them require that the
<A HREF="minivend.html#minivend_pricing_asc_0">pricing.asc</A>

file be present, and that you define a pricing database. You do that by
placing the following directive in
<A HREF="minivend.html#minivend_catalog_cfg_0">catalog.cfg</A>
:
<p>
<XMP>
Database pricing pricing.asc 1

</XMP>
<p>Configurable directives and tags with regard to pricing:
<p>
<UL>
<LI>Quantity price breaks are configured by means of the
<A HREF="minivend.html#minivend_pricebreaks_0">PriceBreaks</A>
and

<A HREF="minivend.html#minivend_mixmatch_0">MixMatch</A>
directives. They require a field named specifically 'price'
in the pricing database. The <STRONG>price</STRONG> field contains a space-separated
list of prices that correspond to the quantity levels defined in the

<A HREF="minivend.html#minivend_pricebreaks_0">PriceBreaks</A>
directive. If quantity is to be applied to all items in
the shopping cart (as opposed to quantity of just that item) then the

<A HREF="minivend.html#minivend_mixmatch_0">MixMatch</A>
directive should be set to <STRONG>Yes</STRONG>.
<p>
<LI>Individual line-item prices can be adjusted according to the value of
their attributes. See
<A HREF="minivend.html#minivend_priceadjustment_0">PriceAdjustment</A>
and
<A HREF="minivend.html#minivend_commonadjust_0">CommonAdjust</A>
. The
pricing database <EM>must</EM> be defined unless you define the
<A HREF="minivend.html#minivend_commonadjust_0">CommonAdjust</A>

behavior.
<p>
<LI>Product discounts for specific products, all products, or the entire
order can be configured with the [discount ...] tag. Discounts are applied
on a per-user basis -- you can gate the discount based on membership in a
club or other arbitrary means. See
<A HREF="minivend.html#minivend_product_1">Product Discounts</A>
.
<p>
</UL>
For example, if you decided to adjust the price of T-shirt part number.99-102 up 1.00 when the size is extra large and down 1.00 when the size is small,
you would have the following directives defined in &lt;catalog.cfg&gt;:
<p>
<XMP>
Database pricing pricing.asc 1
UseModifier size
PriceAdjustment size

</XMP>
<p>To enable the automatic modifier handling of MiniVend 3.0, you would
define a size field in products.asc:
<p>
<XMP>
code description price size
99-102 T-Shirt 10.00 S=Small, M=Medium, L=Large*, XL=Extra Large

</XMP>
<p>You would place the proper tag within your [item-list] on the shopping-basket
or order page:
<p>
<XMP>
[item-accessories size]

</XMP>
<p>In the pricing.asc database source, you would need:
<p>
<XMP>
code S XL
99-102 -1.00 1.00

</XMP>
<p>
<H2>
<A NAME="minivend_item_1">
Item Attributes</A>
</H2>
Expand Down Expand Up @@ -5556,7 +5647,7 @@ <H2>
[item_list].
<p>
<H2>
<A NAME="minivend_product_0">
<A NAME="minivend_product_1">
Product Discounts</A>
</H2>
Product discounts can be set upon display of any page. The discounts
Expand Down Expand Up @@ -6232,6 +6323,35 @@ <H2>
</XMP>
<p>
<H2>
<A NAME="minivend_changing_0">
Changing output frame in a form</A>
</H2>
If you want to send output to different frames based on input
from the user, you can set the <EM>mv_change_frame</EM> variable. If found
<EM>in the current form</EM>, a <EM>Window-Target:</EM> header will be sent
to route the HTML output to the frame named in <EM>mv_change_frame</EM>.
<p>You can use
<A HREF="minivend.html#minivend_one_click_0">One-click Multiple Variables</A>
to set the target if you
wish.
<p>
<XMP>
<INPUT TYPE="submit" name="mv_todo" value="Search">
<INPUT TYPE="submit" name="mv_click" value="Continue Shopping">
[set Continue Shopping]
mv_todo=return
mv_nextpage=browse
mv_change_frame=_top
[/set]

</XMP>
<p>The above snippet will, when placed in a MiniVend form, send the output
of a <STRONG>Search</STRONG> submission to the current default frame, but when
<STRONG>Continue Shopping</STRONG> is selected the output will will go to the page
<EM>browse.html</EM> with the page routed to the top level frame for the
current browser window.
<p>
<H2>
<A NAME="minivend_body_1">
Body and Buttonbar Control</A>
</H2>
Expand Down Expand Up @@ -7663,9 +7783,9 @@ <H2>

</STRONG>
<DD>
A setting of no says that quantity price breaks will be on TOTAL
quantity, yes says that quantity price breaks are on a per-item quantity.
Default is no.
A yes/no directive. A setting of <STRONG>yes</STRONG> says that quantity price breaks
will be on TOTAL quantity, <STRONG>no</STRONG> says that quantity price breaks are on
a per-item quantity. Default is <STRONG>no</STRONG>.
<p>
<XMP>
MixMatch yes
Expand Down Expand Up @@ -8114,13 +8234,6 @@ <H2>
PriceAdjustment size

</XMP>
<p>Care needs to be used. Each possible attribute value must have a
<STRONG>unique</STRONG> column name, which when found for that item code, contains the
price adjustment (if any) to be made for <EM>any</EM> attribute containing
that value. Used in concert with
<A HREF="minivend.html#minivend_priceadjustment_0">PriceAdjustment</A>
, and is not set by
default, disabling the common adjustment database feature.
<p>
<DT><STRONG>

Expand Down
4 changes: 2 additions & 2 deletions doc/toc.html
Expand Up @@ -27,15 +27,15 @@ <H1>Table of Contents</H1>
</UL><LI><A HREF="minivend.html#minivend_the_1">THE SEARCH ENGINE</A>
<UL><LI><A HREF="minivend.html#minivend_the_2">The Search Form</A><LI><A HREF="minivend.html#minivend_glimpse_0">Glimpse</A><LI><A HREF="minivend.html#minivend_fast_0">Fast Binary Search</A><LI><A HREF="minivend.html#minivend_range_0">Range Searching</A><LI><A HREF="minivend.html#minivend_one_click_1">One-click searches</A><LI><A HREF="minivend.html#minivend_search_1">Search Profiles</A><LI><A HREF="minivend.html#minivend_search_2">Search Reference</A><LI><A HREF="minivend.html#minivend_the_3">The Results Page</A><LI><A HREF="minivend.html#minivend_using_0">Using a Search Cache</A>
</UL><LI><A HREF="minivend.html#minivend_the_4">THE ORDER PROCESS</A>
<UL><LI><A HREF="minivend.html#minivend_item_0">Item Lists</A><LI><A HREF="minivend.html#minivend_multiple_0">Multiple Shopping Carts</A><LI><A HREF="minivend.html#minivend_advanced_0">Advanced Multi-level Order Pages</A><LI><A HREF="minivend.html#minivend_simple_0">Simple Order Report File</A><LI><A HREF="minivend.html#minivend_fully_configurable_0">Fully-configurable Order Reports</A><LI><A HREF="minivend.html#minivend_order_3">Order Receipts</A><LI><A HREF="minivend.html#minivend_the_5">The Order Counter</A><LI><A HREF="minivend.html#minivend_customer_0">Customer Input Fields</A><LI><A HREF="minivend.html#minivend_item_1">Item Attributes</A><LI><A HREF="minivend.html#minivend_product_0">Product Discounts</A><LI><A HREF="minivend.html#minivend_sales_0">Sales Tax</A>
<UL><LI><A HREF="minivend.html#minivend_item_0">Item Lists</A><LI><A HREF="minivend.html#minivend_multiple_0">Multiple Shopping Carts</A><LI><A HREF="minivend.html#minivend_advanced_0">Advanced Multi-level Order Pages</A><LI><A HREF="minivend.html#minivend_simple_0">Simple Order Report File</A><LI><A HREF="minivend.html#minivend_fully_configurable_0">Fully-configurable Order Reports</A><LI><A HREF="minivend.html#minivend_order_3">Order Receipts</A><LI><A HREF="minivend.html#minivend_the_5">The Order Counter</A><LI><A HREF="minivend.html#minivend_customer_0">Customer Input Fields</A><LI><A HREF="minivend.html#minivend_product_0">Product Pricing</A><LI><A HREF="minivend.html#minivend_item_1">Item Attributes</A><LI><A HREF="minivend.html#minivend_product_1">Product Discounts</A><LI><A HREF="minivend.html#minivend_sales_0">Sales Tax</A>
</UL><LI><A HREF="minivend.html#minivend_shipping_1">SHIPPING</A>
<UL><LI><A HREF="minivend.html#minivend_default_0">Default Shipping Mode</A><LI><A HREF="minivend.html#minivend_shipping_2">Shipping Cost Database</A>
</UL><LI><A HREF="minivend.html#minivend_tracking_0">TRACKING AND BACKEND ORDER ENTRY</A>
<UL><LI><A HREF="minivend.html#minivend_easy_0">Easy ASCII Tracking</A><LI><A HREF="minivend.html#minivend_msql_7">mSQL Tracking</A>
</UL><LI><A HREF="minivend.html#minivend_ssl_0">SSL SECURITY</A>
<UL><LI><A HREF="minivend.html#minivend_administrative_0">Administrative Pages</A>
</UL><LI><A HREF="minivend.html#minivend_controlling_0">CONTROLLING PAGE APPEARANCE</A>
<UL><LI><A HREF="minivend.html#minivend_using_1">Using Frames</A><LI><A HREF="minivend.html#minivend_body_1">Body and Buttonbar Control</A><LI><A HREF="minivend.html#minivend_integrated_0">Integrated Image Maps</A><LI><A HREF="minivend.html#minivend_random_1">Random Banners</A><LI><A HREF="minivend.html#minivend_rotating_0">Rotating Banners</A><LI><A HREF="minivend.html#minivend_in_line_0">In-line Help</A>
<UL><LI><A HREF="minivend.html#minivend_using_1">Using Frames</A><LI><A HREF="minivend.html#minivend_changing_0">Changing output frame in a form</A><LI><A HREF="minivend.html#minivend_body_1">Body and Buttonbar Control</A><LI><A HREF="minivend.html#minivend_integrated_0">Integrated Image Maps</A><LI><A HREF="minivend.html#minivend_random_1">Random Banners</A><LI><A HREF="minivend.html#minivend_rotating_0">Rotating Banners</A><LI><A HREF="minivend.html#minivend_in_line_0">In-line Help</A>
</UL><LI><A HREF="minivend.html#minivend_static_1">Static Page Building</A><LI><A HREF="minivend.html#minivend_minivend_2">MINIVEND CONFIGURATION FILES</A>
<UL><LI><A HREF="minivend.html#minivend_server_0">Server Configuration File</A><LI><A HREF="minivend.html#minivend_catalog_3">Catalog Configuration File</A><LI><A HREF="minivend.html#minivend_required_2">Required Configuration Directives</A><LI><A HREF="minivend.html#minivend_optional_0">Optional Configuration Directives</A>
</UL><LI><A HREF="minivend.html#minivend_administering_0">ADMINISTERING MINIVEND</A>
Expand Down
2 changes: 1 addition & 1 deletion error.log
@@ -1 +1 @@
O
4 changes: 2 additions & 2 deletions lib/Vend/Cart.pm
Expand Up @@ -2,7 +2,7 @@
#
# MiniVend version 2.03
#
# $Id: Cart.pm,v 1.4 1997/05/02 05:50:03 mike Exp $
# $Id: Cart.pm,v 1.2 1996/12/16 08:53:44 mike Exp $
#
# This program is largely based on Vend 0.2
# Copyright 1995 by Andrew M. Wilcox <awilcox@world.std.com>
Expand Down Expand Up @@ -44,7 +44,7 @@ require Exporter;
@EXPORT_OK = qw(create add set);


$VERSION = substr(q$Revision: 1.4 $, 10);
$VERSION = substr(q$Revision: 1.2 $, 10);
$DEBUG = 0;

use Carp;
Expand Down

0 comments on commit 5bfd135

Please sign in to comment.