Interchange

CVS log for interchange/lib/Vend/Order.pm

[BACK] Up to [Local Repository] / interchange / lib / Vend

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 2.104: download - view: text, markup, annotated - select for diffs
Fri Dec 5 15:31:49 2008 UTC (4 weeks, 5 days ago) by racke
Branches: MAIN
CVS tags: HEAD
Diff to: previous 2.103: preferred, colored
Changes since revision 2.103: +19 -3 lines
SpecialSub order_missing added (#221).

Revision 2.100.2.2: download - view: text, markup, annotated - select for diffs
Fri Oct 24 10:19:06 2008 UTC (2 months, 2 weeks ago) by pajamian
Branches: STABLE_5_6-branch
CVS tags: REL_5_6_1, DEB_5_6_1_2
Diff to: previous 2.100.2.1: preferred, colored; branchpoint 2.100: preferred, colored; next MAIN 2.101: preferred, colored
Changes since revision 2.100.2.1: +4 -3 lines
Fix vulnerability where a string passed in the mv_order_item CGI variable is
displayed verbatim without any input sanitation if there is a valid sku in
mv_sku.  Thanks to Mat from Bibliopolis for discovering and reporting the
vulnerability.

Revision 2.103: download - view: text, markup, annotated - select for diffs
Fri Oct 24 10:11:35 2008 UTC (2 months, 2 weeks ago) by pajamian
Branches: MAIN
CVS tags: REL_5_7_1
Diff to: previous 2.102: preferred, colored
Changes since revision 2.102: +4 -3 lines
Fix vulnerability where a string passed in the mv_order_item CGI variable is
displayed verbatim without any input sanitation if there is a valid sku in
mv_sku.  Thanks to Mat from Bibliopolis for discovering and reporting the
vulnerability.

Revision 2.102: download - view: text, markup, annotated - select for diffs
Fri Oct 3 15:55:40 2008 UTC (3 months ago) by racke
Branches: MAIN
Diff to: previous 2.101: preferred, colored
Changes since revision 2.101: +3 -3 lines
merged changes 2.100 vs 2.100.2.1
+++ 2.100.2.1 +++
Added Nunavut to the list of valid Canadian provinces (#231).

Thanks to Mathew Jones for the report.

Revision 2.100.2.1: download - view: text, markup, annotated - select for diffs
Fri Oct 3 15:50:45 2008 UTC (3 months ago) by racke
Branches: STABLE_5_6-branch
Diff to: previous 2.100: preferred, colored
Changes since revision 2.100: +3 -3 lines
Added Nunavut to the list of valid Canadian provinces (#231).

Thanks to Mathew Jones for the report.

Revision 2.101: download - view: text, markup, annotated - select for diffs
Wed Jul 9 13:54:20 2008 UTC (5 months, 4 weeks ago) by racke
Branches: MAIN
Diff to: previous 2.100: preferred, colored
Changes since revision 2.100: +2 -41 lines
relocate isbn order check to code/OrderCheck

Revision 2.100: download - view: text, markup, annotated - select for diffs
Tue Mar 25 17:13:21 2008 UTC (9 months, 2 weeks ago) by jon
Branches: MAIN
CVS tags: STABLE_5_6-root, REL_5_5_3, REL_5_5_2
Branch point for: STABLE_5_6-branch
Diff to: previous 2.99: preferred, colored
Changes since revision 2.99: +3 -3 lines
Various minor UTF-8 changes.

Correct attribution of &Vend::CharSet::display_chars (which is from
perluniintro manpage).

Enable localization of an error string.

Match content type more tightly in 2 spots ("text" is only trustworthy
in the MIME major type, not minor, and even that may be a stretch).

Simplify request method matching in a few places for readability and a
(trivial) performance benefit.

Use conventional $c lexical instead of $g for catalog hashref.

Fix tab/space differences to match context.

Update copyrights of files changed in 2008.

Revision 2.99: download - view: text, markup, annotated - select for diffs
Wed Feb 20 19:44:18 2008 UTC (10 months, 2 weeks ago) by kwalsh
Branches: MAIN
Diff to: previous 2.98: preferred, colored
Changes since revision 2.98: +3 -3 lines
    * Reverted my earlier change as it will break any translations people
      have put in place on their websites.

Revision 2.98: download - view: text, markup, annotated - select for diffs
Wed Feb 20 09:42:26 2008 UTC (10 months, 2 weeks ago) by kwalsh
Branches: MAIN
Diff to: previous 2.97: preferred, colored
Changes since revision 2.97: +3 -3 lines
    * Changed the "card is expired" text to "card has expired".

Revision 2.97: download - view: text, markup, annotated - select for diffs
Thu Dec 27 09:18:53 2007 UTC (12 months, 1 week ago) by racke
Branches: MAIN
Diff to: previous 2.96: preferred, colored
Changes since revision 2.96: +3 -3 lines
fixed missing colon

Revision 2.96: download - view: text, markup, annotated - select for diffs
Thu Dec 27 08:49:23 2007 UTC (12 months, 1 week ago) by racke
Branches: MAIN
Diff to: previous 2.95: preferred, colored
Changes since revision 2.95: +6 -4 lines
Recognize "cc" and "bcc" headers in Route settings for emails generated
directly by the routes.

Revision 2.95: download - view: text, markup, annotated - select for diffs
Fri Nov 16 13:52:58 2007 UTC (13 months, 3 weeks ago) by racke
Branches: MAIN
Diff to: previous 2.94: preferred, colored
Changes since revision 2.94: +9 -7 lines
Log missing order reports.

Revision 2.94: download - view: text, markup, annotated - select for diffs
Thu Aug 9 13:40:53 2007 UTC (17 months ago) by pajamian
Branches: MAIN
CVS tags: REL_5_5_1, DEB_5_5_1_1_1, DEB_5_5_1
Diff to: previous 2.93: preferred, colored
Changes since revision 2.93: +3 -3 lines
* Updated copyright headers to 2007 (closes bug #102)

* Added GPL and copyright headers to a few files that were missing them.

Revision 2.83.2.5: download - view: text, markup, annotated - select for diffs
Fri Mar 30 12:15:28 2007 UTC (21 months, 1 week ago) by pajamian
Branches: STABLE_5_4-branch
CVS tags: REL_5_4_3
Diff to: previous 2.83.2.4: preferred, colored; branchpoint 2.83: preferred, colored; next MAIN 2.84: preferred, colored
Changes since revision 2.83.2.4: +4 -4 lines
New Free Software Foundation Address in headers of various files

Revision 2.93: download - view: text, markup, annotated - select for diffs
Fri Mar 30 11:39:45 2007 UTC (21 months, 1 week ago) by pajamian
Branches: MAIN
Diff to: previous 2.92: preferred, colored
Changes since revision 2.92: +4 -4 lines
New Free Software Foundation Address in headers of various files

Revision 2.92: download - view: text, markup, annotated - select for diffs
Thu Mar 15 15:52:42 2007 UTC (21 months, 3 weeks ago) by mheins
Branches: MAIN
Diff to: previous 2.91: preferred, colored
Changes since revision 2.91: +44 -16 lines
* Minor changes to credit card determination algorithms.

Revision 2.83.2.4: download - view: text, markup, annotated - select for diffs
Wed Jan 31 00:13:36 2007 UTC (23 months, 1 week ago) by pajamian
Branches: STABLE_5_4-branch
CVS tags: REL_5_4_2
Diff to: previous 2.83.2.3: preferred, colored; branchpoint 2.83: preferred, colored
Changes since revision 2.83.2.3: +6 -2 lines
Wait until the *next* line of the profile before undefining $And.

$And gets set if there is a &and or &or command with no further args (ie
chaining the line above and below together, not chaining two or more tests
together on the same line).  Currently $And gets unset before it has a chance
to affect the following line.  This results in the &and or &or being ignored
and the two lines treated as individual tests.  This patch fixes that by
skipping to the next iteration of the loop before $And is undefined.

Revision 2.91: download - view: text, markup, annotated - select for diffs
Fri Jan 5 10:35:37 2007 UTC (2 years ago) by pajamian
Branches: MAIN
Diff to: previous 2.90: preferred, colored
Changes since revision 2.90: +5 -4 lines
This is a better comment.

Revision 2.90: download - view: text, markup, annotated - select for diffs
Fri Jan 5 09:58:28 2007 UTC (2 years ago) by pajamian
Branches: MAIN
Diff to: previous 2.89: preferred, colored
Changes since revision 2.89: +5 -2 lines
Wait until the *next* line of the profile before undefining $And.

$And gets set if there is a &and or &or command with no further args (ie
chaining the line above and below together, not chaining two or more tests
together on the same line).  Currently $And gets unset before it has a chance
to affect the following line.  This results in the &and or &or being ignored
and the two lines treated as individual tests.  This patch fixes that by
skipping to the next iteration of the loop before $And is undefined.

Revision 2.89: download - view: text, markup, annotated - select for diffs
Fri Sep 22 19:18:57 2006 UTC (2 years, 3 months ago) by racke
Branches: MAIN
Diff to: previous 2.88: preferred, colored
Changes since revision 2.88: +9 -2 lines
discard further checks if credit card number is missing,
customer deserves a concise and appropriate answer

Revision 2.83.2.3: download - view: text, markup, annotated - select for diffs
Sat Aug 26 05:24:22 2006 UTC (2 years, 4 months ago) by pajamian
Branches: STABLE_5_4-branch
Diff to: previous 2.83.2.2: preferred, colored; branchpoint 2.83: preferred, colored
Changes since revision 2.83.2.2: +3 -3 lines
Make sure that we don't overwrite a pre-encrypted block.

Revision 2.88: download - view: text, markup, annotated - select for diffs
Sat Aug 26 05:15:46 2006 UTC (2 years, 4 months ago) by pajamian
Branches: MAIN
Diff to: previous 2.87: preferred, colored
Changes since revision 2.87: +3 -3 lines
Make sure that we don't overwrite a pre-encrypted block.

Revision 2.83.2.2: download - view: text, markup, annotated - select for diffs
Thu Aug 24 12:26:03 2006 UTC (2 years, 4 months ago) by pajamian
Branches: STABLE_5_4-branch
Diff to: previous 2.83.2.1: preferred, colored; branchpoint 2.83: preferred, colored
Changes since revision 2.83.2.1: +6 -4 lines
Fix masking of unencrypted credit card numbers to work with a custom
MV_CREDIT_CARD_INFO_TEMPLATE that does not match the regexp.

Fix the above mentioned regexp so it removes the CVV2 value from the
unencrypted data as well.

Revision 2.87: download - view: text, markup, annotated - select for diffs
Thu Aug 24 12:15:28 2006 UTC (2 years, 4 months ago) by pajamian
Branches: MAIN
Diff to: previous 2.86: preferred, colored
Changes since revision 2.86: +6 -4 lines
Fix masking of unencrypted credit card numbers to work with a custom
MV_CREDIT_CARD_INFO_TEMPLATE that does not match the regexp.

Fix the above mentioned regexp so it removes the CVV2 value from the
unencrypted data as well.

Revision 2.86: download - view: text, markup, annotated - select for diffs
Mon Jul 31 12:40:49 2006 UTC (2 years, 5 months ago) by racke
Branches: MAIN
Diff to: previous 2.85: preferred, colored
Changes since revision 2.85: +3 -3 lines
email addresses with more than one at sign are certainly invalid

Revision 2.85: download - view: text, markup, annotated - select for diffs
Mon Apr 3 21:23:40 2006 UTC (2 years, 9 months ago) by racke
Branches: MAIN
Diff to: previous 2.84: preferred, colored
Changes since revision 2.84: +3 -8 lines
breakout always_pass order check

Revision 2.83.2.1: download - view: text, markup, annotated - select for diffs
Wed Dec 7 17:15:49 2005 UTC (3 years, 1 month ago) by kwalsh
Branches: STABLE_5_4-branch
CVS tags: REL_5_4_1, REL_5_4_0, REL_5_3_3
Diff to: previous 2.83: preferred, colored
Changes since revision 2.83: +14 -4 lines
	* The last "digit" of an ISBN code can be a "X" (meaning 10),
	  which wasn't allowed for in the previous version.

Revision 2.84: download - view: text, markup, annotated - select for diffs
Wed Dec 7 17:10:10 2005 UTC (3 years, 1 month ago) by kwalsh
Branches: MAIN
Diff to: previous 2.83: preferred, colored
Changes since revision 2.83: +14 -4 lines
	* The last "digit" of an ISBN code can be a "X" (meaning 10),
	  which wasn't allowed for in the previous version.

Revision 2.83: download - view: text, markup, annotated - select for diffs
Tue Nov 8 09:50:24 2005 UTC (3 years, 2 months ago) by racke
Branches: MAIN
CVS tags: STABLE_5_4-root, REL_5_3_2
Branch point for: STABLE_5_4-branch
Diff to: previous 2.82: preferred, colored
Changes since revision 2.82: +2 -64 lines
split out filter and unique order checks

Revision 2.82: download - view: text, markup, annotated - select for diffs
Mon Nov 7 21:53:55 2005 UTC (3 years, 2 months ago) by jon
Branches: MAIN
Diff to: previous 2.81: preferred, colored
Changes since revision 2.81: +56 -8 lines
Add new CartTrigger functionality to the core, by Ethan Rowe.

The CartTrigger functionality allows for specification of any number
of subroutines (global or catalog subs, specified by name) to execute
whenever the contents of a shopping cart are changed via the standard
means available through CGI variable space (i.e. when changes are
invoked via the 'process' system actionmap through mv_order_item and
mv_order_quantity field submissions, or from a standard Interchange cart
page). The subroutines will be executed per-change, such that any page
process resulting in multiple alterations to the cart will potentially
call these functions multiple times.

Directives are used to turn this behavior on/off and to control some
details of its behavior:

CartTrigger: an array-type directive; list the different subroutine
names to execute at cart-modification time here.

CartTriggerQuantity: a boolean-type (i.e. yes/no) directive, defaulting
to 'no'/'false'; when set to yes/true, changes to item quantity on an
existing cart member will cause the cart trigger subs to fire. A value
of 'no' (the default) means that quantity changes on existing cart lines
do not call the trigger (though a quantity change to zero will result in
a delete, which does fire the cart trigger).

Each subroutine specified in CartTrigger will be passed the following
arguments whenever they are called:
1. Reference to the cart
2. Scalar representing the action that fired the trigger; value will be
one of: add, update, delete
3. Hashref pointing to the new row (except for the 'delete' action, in
which case this will be undefined)
4. Hashref representing the old row (except for the 'add' action); for
'update' actions, this will be a *copy* of the row prior to the changes.
The old row is no longer a member of the cart.
5. The cart's name

The return value from each subroutine call is pushed onto an array;
when the particular trigger firing is complete (i.e. all subroutines
specified in CartTrigger have been called), the full array of results is
returned. However, the initial version of this functionality does not
use these return values in any meaningful way.

It must be noted that the Interchange cart subsystem is based
on arrayrefs of hashrefs; there is no object encapsulation for
limiting/monitoring programmatic access to the contents of any cart.
Consequently, direct manipulation of the cart from within Perl will
*not* cause these triggers to fire. The triggers only fire when the
cart contents are modified through the standard Interchange CGI-based
variables/processing. Therefore, it is assumed for now that any
programmer sufficiently comfortable/confident to manipulate cart
contents directly can also be given the responsibility of deciding
whether or not it is appropriate to invoke any cart triggers in response
to such changes.

Revision 2.81: download - view: text, markup, annotated - select for diffs
Tue Nov 1 11:14:49 2005 UTC (3 years, 2 months ago) by racke
Branches: MAIN
Diff to: previous 2.80: preferred, colored
Changes since revision 2.80: +4 -3 lines
custom error messages for _ format routines were accidentally suppressed

Revision 2.80: download - view: text, markup, annotated - select for diffs
Sun Oct 23 14:23:45 2005 UTC (3 years, 2 months ago) by mheins
Branches: MAIN
CVS tags: DEB_5_3_0_20051028_1
Diff to: previous 2.79: preferred, colored
Changes since revision 2.79: +8 -2 lines
* Add logic to have AutoModifier work for matrix items. Only works
  for the non-table, non-foreign key call version, i.e.

  	  AutoModifier  modifier

		 or

  	  AutoModifier  modifier=field

  It will look in the mv_ib first, then the first then second
  products file, for both the code and the mv_sku.

  This might not be completely what would always be wanted, since
  it has the precedence:

  		mv_ib->code
  		mv_ib->mv_sku
  		products->code
  		products->mv_sku
  		variants->code
  		variants->mv_sku

  It is important in this case to make sure you have the table set in
  the item, as otherwise products->sku will shadow variants->code.

Revision 2.79: download - view: text, markup, annotated - select for diffs
Fri Oct 14 14:18:35 2005 UTC (3 years, 2 months ago) by racke
Branches: MAIN
Diff to: previous 2.78: preferred, colored
Changes since revision 2.78: +2 -92 lines
new order check natural for natural numbers
split out future,length,regex order checks

Revision 2.78: download - view: text, markup, annotated - select for diffs
Fri Oct 14 07:42:50 2005 UTC (3 years, 2 months ago) by racke
Branches: MAIN
Diff to: previous 2.77: preferred, colored
Changes since revision 2.77: +3 -43 lines
split out exists order check, don't ditch message from OrderCheck routine

Revision 2.77: download - view: text, markup, annotated - select for diffs
Thu Oct 13 22:23:59 2005 UTC (3 years, 2 months ago) by mheins
Branches: MAIN
Diff to: previous 2.76: preferred, colored
Changes since revision 2.76: +9 -2 lines
* Add dash-seperated number as possibliity for easy reading of credit
  card info. Outputs a 4111-1111-1111-1111 number when you use
  MV_CREDIT_CARD_QUADS in the encryption output template, i.e.

	Variable MV_CREDIT_CARD_INFO_TEMPLATE <<EOV
	{MV_CREDIT_CARD_TYPE}	{MV_CREDIT_CARD_QUADS}	{MV_CREDIT_CARD_EXP_MONTH}/{MV_CREDIT_CARD_EXP_YEAR}
	EOV

Revision 2.76: download - view: text, markup, annotated - select for diffs
Thu Oct 13 20:15:05 2005 UTC (3 years, 2 months ago) by racke
Branches: MAIN
Diff to: previous 2.75: preferred, colored
Changes since revision 2.75: +2 -14 lines
split out email_only order check

Revision 2.75: download - view: text, markup, annotated - select for diffs
Mon Sep 26 19:25:02 2005 UTC (3 years, 3 months ago) by jon
Branches: MAIN
CVS tags: DEB_5_3_0_20051004_1
Diff to: previous 2.74: preferred, colored
Changes since revision 2.74: +2 -3 lines
Remove mention of nonexistent Vend::Mail ...

Revision 2.74: download - view: text, markup, annotated - select for diffs
Thu Sep 22 16:37:52 2005 UTC (3 years, 3 months ago) by mheins
Branches: MAIN
Diff to: previous 2.73: preferred, colored
Changes since revision 2.73: +20 -8 lines
* Improve ability of AutoModifier, make consistent in both places where
  it can be set.

* Current variations:

	AutoModifier  category
	AutoModifier  outboard:category
	AutoModifier  outboard:category:foreign

  all stay the same -- only difference is that :: is now accepted same as :.

* New variation:

	  AutoModifier attribute=table:column
	  AutoModifier attribute=table:column:foreign

  is accepted. This removes the requirement that the attribute be named
  the same thing as the table column.

* Added regression test that checks all of the above.

* Will look for existing documentation to update.

* Your regression tests will require a "rm products/products2.sql" to
  update the data for that table.

Revision 2.73: download - view: text, markup, annotated - select for diffs
Fri Sep 16 18:55:19 2005 UTC (3 years, 3 months ago) by mheins
Branches: MAIN
Diff to: previous 2.72: preferred, colored
Changes since revision 2.72: +7 -2 lines
* Add an order check which always passes -- used to update value of variables
  no matter what they are when &update=yes in force.

* Updated xmldocs/glossary/profile to add.

Revision 2.72: download - view: text, markup, annotated - select for diffs
Wed Sep 14 13:18:42 2005 UTC (3 years, 3 months ago) by mheins
Branches: MAIN
Diff to: previous 2.71: preferred, colored
Changes since revision 2.71: +10 -2 lines
* Add SpecialSub  "guess_cc_type" to allow custom credit card types on a
  per catalog basis.

* Calling parameters -- is passed the digits of the credit card number
  as its only parameter (no spaces or non-word chars).

* If you know what type the number is, you return it and it is used as
  the result. If not, return a false value to let the normal routine do
  it's thing.

* To activate, do in catalog.cfg:

	## Map a subroutine to guess custom credit card types
	SpecialSub  guess_cc_type  special_cc

	Sub special_cc <<EOS
	sub {
		my $num = shift;
		return 'interchange_test' if $num =~ /^4111/;
		return undef;
	}
	EOS

  That will return "interchange_test" if the number begins with 4111

* Where I should document this I don't know. If someone suggests a home
  and helps me find the actual document -- this is important -- I will
  try. But I don't think finding the right file out of hundreds to do
  the documentation in is not a really viable alternative.

Revision 2.71: download - view: text, markup, annotated - select for diffs
Tue Aug 9 21:10:37 2005 UTC (3 years, 4 months ago) by mheins
Branches: MAIN
Diff to: previous 2.70: preferred, colored
Changes since revision 2.70: +20 -13 lines
* Try to recognize some more credit card types with help from
  Ivan's Business::CreditCard.

* Allow setting of value returned by default with MV_PAYMENT_OTHER_CARD
  variable (defaults to "other" as before).

Revision 2.70: download - view: text, markup, annotated - select for diffs
Thu Jun 9 19:29:07 2005 UTC (3 years, 7 months ago) by mheins
Branches: MAIN
Diff to: previous 2.69: preferred, colored
Changes since revision 2.69: +4 -4 lines
* Allow passing of the message to custom routines.

Revision 2.69: download - view: text, markup, annotated - select for diffs
Sat Apr 30 15:09:58 2005 UTC (3 years, 8 months ago) by mheins
Branches: MAIN
Diff to: previous 2.68: preferred, colored
Changes since revision 2.68: +3 -2 lines
* We had been running without warnings so long, we had gotten a bit sloppy
  in our code in some places.

  Because we do lots of uninitialized hash member stuff with arrays
  of fields and $opt, it is basically unreasonable for us to run with
  the "use of uninitialized variable" warnings. Because we do a fair
  amount of numerical comparisons on empty string values, it seemed
  unreasonable to run with "string value in numeric gt" enabled.

  Also, because Safe, HTML::Entities, and some other modules have
  these checks enabled, page code is bound to have warnings issued
  no matter what you do.

  It seems better to run with some warnings enabled so that we can
  catch bad code practice.

  So I have made the code run without warnings prior to and after
  interpolate_html(), and turned off warnings by default in the
  page code.

  If it is desirable to turn on warnings for pages, you can use
  [pragma perl_warnings_in_page] and see warnings for that page
  (or by default if you put in catalog.cfg).

* In general these changes are:

	 no warnings qw(uninitialized numeric);

  in most pages.

* Add $::Pragma->{perl_warnings_in_page}.

* Remove defined checks when simple set tests will do.

* Streamline some code.

Revision 2.68: download - view: text, markup, annotated - select for diffs
Sat Mar 5 19:01:54 2005 UTC (3 years, 10 months ago) by mheins
Branches: MAIN
Diff to: previous 2.67: preferred, colored
Changes since revision 2.67: +12 -3 lines
* Change get_cart routine so that it will not screw up item groups on
  a merge. Problem identified by Brian Kaney <brian@vermonster.com>.

* Change assignment of mv_mi so that the value will be definitely unique
  for a single user session.

Revision 2.67: download - view: text, markup, annotated - select for diffs
Thu Feb 10 06:45:40 2005 UTC (3 years, 10 months ago) by mheins
Branches: MAIN
Diff to: previous 2.66: preferred, colored
Changes since revision 2.66: +3 -2 lines
* Refuse to increment quantity of free items.

Revision 2.66: download - view: text, markup, annotated - select for diffs
Mon Jun 7 03:35:27 2004 UTC (4 years, 7 months ago) by mheins
Branches: MAIN
Diff to: previous 2.65: preferred, colored
Changes since revision 2.65: +5 -5 lines
* Comment out debug statements.

Revision 2.65: download - view: text, markup, annotated - select for diffs
Thu May 13 22:48:21 2004 UTC (4 years, 7 months ago) by mheins
Branches: MAIN
Diff to: previous 2.64: preferred, colored
Changes since revision 2.64: +9 -5 lines
* Allow AutoModifier to select common attributes for matrix items (or based
  on any item modifier)

Revision 2.64: download - view: text, markup, annotated - select for diffs
Sat Mar 6 22:16:57 2004 UTC (4 years, 10 months ago) by mheins
Branches: MAIN
CVS tags: STABLE_5_2-root, STABLE_5_2-branch, REL_5_2_1, REL_5_2_0, REL_5_1_1, REL_5_1_0, DEB_5_2_1_1
Diff to: previous 2.63: preferred, colored
Changes since revision 2.63: +42 -2 lines
* Add "exists" order check, which tests for pre-existance of a
  database record.

  Uses the same syntax as the "unique" check, in other word

  	  table(::foreign)?

  For example:

  	  email=exists userdb:email

  will fail if a particular email address does not exist in userdb.

      username=exists userdb

  will fail if $CGI->{username} doesn't exist as a record in userdb.

Revision 2.63: download - view: text, markup, annotated - select for diffs
Sun Feb 22 19:28:37 2004 UTC (4 years, 10 months ago) by mheins
Branches: MAIN
Diff to: previous 2.62: preferred, colored
Changes since revision 2.62: +41 -5 lines
* Allow individual profile checks defined in metadata.

  It is defined in the "Help and Check" section of meta_editor.

  IMPORTANT: To enable these checks, the ui_profile part of the overall
  table definition has to be non-blank. You can just put a comment like

    # Enable individual form profile checks

  To enforce a profile on a field, set it's check value to a valid
  IC profile check. For example, to make sure the length of a field
  is between 4 and 10 characters, do:

  	  length 4-10

  Or to ensure it looks like a US or Canada postal code

  	  postcode

  This results in the following being set in the extended field
  of mv_metadata:

  	{ check => 'postcode' }

  If the check has an "=" sign anywhere, the field name is not
  prepended. So to do multiple checks, you need to do

  SECURITY:

  Since the filter or lookup check type can do data lookups and potentially
  call routines, we need to have some security. The table-editor tag
  sets the scratch value "mv_individual_profile" when a ui_profile
  is defined.

  WITHOUT TABLE EDITOR:

  To use this without the table editor, just set an mv_profile as
  normal. Then for each individual check, define in the form:

  	<input type=text name=foo value="">
  	<input type=hidden name=mv_individual_profile value="foo=length 1">

  That would check the form variable "foo" for a length of 1.

  This is automatically done by the [display ...] tag, so you can
  do:

  	[display type=text name=foo check="length 1"]

  to do the same thing.

  You will need to set the scratch value mv_individual_profile yourself
  to enable these.

  POSITIONING WITHIN PROFILE:

  The facility works by modifying the first mv_form_profile run and
  inserts its values either just before the first &fatal=yes or
  *after* the first &update=yes, whichever comes first. If neither
  are in the profile, they are put first in the profile.

  MULTIPLE CHECKS:

  If you have multiple mv_form_profile settings, the individual checks
  are only run as a part of the first one and are not repeated.

* Add blank_default metadata setting, which is the value a field should
  be initialized to (on display) if the current value has a length of 0.

* Remove extended.js_check from meta editor, as that was never implemented.

* Add some labels and help to meta editor.

Revision 2.62: download - view: text, markup, annotated - select for diffs
Sat Dec 27 14:01:17 2003 UTC (5 years ago) by mheins
Branches: MAIN
Diff to: previous 2.61: preferred, colored
Changes since revision 2.61: +59 -18 lines
* Add the ability to create a transaction ID and later assign the order number.
  To use, you need to set in the main route:

	  counter_tid    etc/transaction.number

  At that point, in the current foundation, you would add this code to
  assign an order number *after* payment is taken.

	Set order number in values: [value
                        name=mv_order_number
                        set="[counter
                                name=`$Session->{current_route}{counter_name}
										|| 'etc/order.number'
									 `
                                sql=`$Session->{current_route}{sql_counter}`
                                start=`$Session->{current_route}{first_order_number}`
                                date=`$Session->{current_route}{date_counter}`
                            ]"
                    ]
	Set order number in session: [calc]
                        $Session->{mv_order_number} = $Values->{mv_order_number};
                    [/calc]


  This allows the order numbers to increment only after payment has been
  received, while still allowing the all-in-one transaction logging
  file located in a report file.

  If you use counter_tid, you *must* set set the order number in your
  logging file if you want it to be available.

  You will want to call [charge ... order_id="[value mv_transaction_id]"]
  to get full traceability of declined and failed charges.

* Add ability to use date-based order numbers with

		date_counter   1

  in the appropriate route.

* Allow setting a counter name without incrementing the counter itself, if

		increment   0

  is in the route. This is really how it should have been done in the
  first place.

* All tested with current foundation, and should be completely transparent
  and compatible.

Revision 2.61: download - view: text, markup, annotated - select for diffs
Tue Nov 25 16:58:37 2003 UTC (5 years, 1 month ago) by mheins
Branches: MAIN
CVS tags: STABLE_5_0-root, STABLE_5_0-branch, REL_5_0_2, REL_5_0_1, REL_5_0_0_RC2, REL_5_0_0_RC1, REL_5_0_0, DEB_5_0_0_2
Diff to: previous 2.60: preferred, colored
Changes since revision 2.60: +9 -3 lines

* Make grouping of items work again. When did this go bye-bye?

Revision 2.60: download - view: text, markup, annotated - select for diffs
Fri Oct 31 00:29:24 2003 UTC (5 years, 2 months ago) by jon
Branches: MAIN
Diff to: previous 2.59: preferred, colored
Changes since revision 2.59: +5 -3 lines
Add support for Canadian provincial symbol NL.

Revision 2.59: download - view: text, markup, annotated - select for diffs
Mon Jul 28 14:13:28 2003 UTC (5 years, 5 months ago) by jon
Branches: MAIN
CVS tags: REL_4_9_9, DEB_4_9_8_20031014_1, DEB_4_9_8_20031010_1, DEB_4_9_8_20030911_1
Diff to: previous 2.58: preferred, colored
Changes since revision 2.58: +5 -2 lines
Don't throw away UseModifier cart modifiers on every cart update.
They can still be updated via CGI mv_item_option if it's set.

This is actually a 2+ year old patch Mike did for Florist.com, which never
made it into the main codebase, but IMO needed to.

Revision 2.58: download - view: text, markup, annotated - select for diffs
Sun Jul 27 19:47:58 2003 UTC (5 years, 5 months ago) by mheins
Branches: MAIN
Diff to: previous 2.57: preferred, colored
Changes since revision 2.57: +10 -10 lines
* Remove insurance of trailing null fields being included in arrays.
  Any traversing of the arrays should be keyed on code/sku anyway,
  and that is the only one that needs to be fully populated.

  Fix provided by Brian Rogers of Groxis -- caused problems for one
  of his custom ordering routines.

Revision 2.57: download - view: text, markup, annotated - select for diffs
Wed Jun 18 17:34:44 2003 UTC (5 years, 6 months ago) by jon
Branches: MAIN
CVS tags: REL_4_9_8, DEB_4_9_8_20030706_1, DEB_4_9_8_2
Diff to: previous 2.56: preferred, colored
Changes since revision 2.56: +4 -3 lines
The great copyright, email address, URL, and version update.

Revision 2.56: download - view: text, markup, annotated - select for diffs
Fri May 23 13:59:29 2003 UTC (5 years, 7 months ago) by racke
Branches: MAIN
Diff to: previous 2.55: preferred, colored
Changes since revision 2.55: +4 -17 lines
use log_file_violation

Revision 2.55: download - view: text, markup, annotated - select for diffs
Wed Apr 23 16:01:02 2003 UTC (5 years, 8 months ago) by mheins
Branches: MAIN
Diff to: previous 2.54: preferred, colored
Changes since revision 2.54: +56 -15 lines
* Fix mv_form_profile to work with &and/&or checks. (Last fix did not work.)

* While vetting MySQL and transactions, I discovered that we weren't doing
  them right on several levels anyway.

  -- Added no-commit flag to [import ..] tag so that we don't automatically
     commit after the order import.

  -- If the Route "transactions" entry is specified in the main route,
     the commit or rollback is done based on success/failure of all
	 of the routes (that don't have error_ok set).

* Added MYSQL_TRANSACTIONS variable to allow creation/use of MySQL
  InnoDB type for order transactions. Will add additional_fields
  support in separate commit.

Revision 2.54: download - view: text, markup, annotated - select for diffs
Sun Apr 20 16:26:16 2003 UTC (5 years, 8 months ago) by mheins
Branches: MAIN
Diff to: previous 2.53: preferred, colored
Changes since revision 2.53: +3 -3 lines

* Back out previous change -- it is more complicated than that.

Revision 2.53: download - view: text, markup, annotated - select for diffs
Sun Apr 20 13:51:15 2003 UTC (5 years, 8 months ago) by mheins
Branches: MAIN
Diff to: previous 2.52: preferred, colored
Changes since revision 2.52: +3 -3 lines

* Fix bug where reference was not passed in chained checks -- no chained
  checks would work with mv_form_profile.

Revision 2.52: download - view: text, markup, annotated - select for diffs
Fri Apr 11 02:35:38 2003 UTC (5 years, 8 months ago) by mheins
Branches: MAIN
Diff to: previous 2.51: preferred, colored
Changes since revision 2.51: +53 -11 lines
* Add multizip routine. Works for the US and Canada as before with
  zip=postcode, but ignores any countries not set in MV_ZIP_REQUIRED
  and doesn't require a zip code.

  In other words:

  	[set checkprofile]
	   country=required
	   zip=multizip
	[/set]

  With

  	Variable MV_ZIP_REQUIRED        AL DZ

  the only countries that will require a zip code besides the US and
  Canada are Algeria and Albania.

  When a zip code is required, the zip just needs to be 4 characters
  or more. (Is this reasonable?)

  To set a custom state routine, do:

  $Vend::Order::zip_routine{AL} = sub { $_[0] =~ /^\s*\d\d\d\d^\s*$/; }

  Called with $sub->($state_value_to_check);

  To override the default error message, do

  $Vend::Order::zip_error{AL} = "'%s' not an Albanian zip code!";

* Change multistate to match logic of multizip. Works for the US and
  Canada as before with state=state_province, but ignores any countries
  not set in MV_STATE_REQUIRED and doesn't require a state.

  In other words:

  	[set checkprofile]
	   country=required
	   state=multistate
	[/set]

  With

  	Variable MV_ZIP_REQUIRED        AL DZ

  the only countries that will require a state besides the US and
  Canada are Algeria and Albania.

* I am open to authoritative defaults for other countries.

* It might make sense to add a "datastate" and "datazip" to the
  code/OrderCheck directory, ones that look for state info in
  the database.

Revision 2.51: download - view: text, markup, annotated - select for diffs
Fri Apr 11 00:00:52 2003 UTC (5 years, 9 months ago) by mheins
Branches: MAIN
Diff to: previous 2.50: preferred, colored
Changes since revision 2.50: +58 -18 lines
* Fix thread-safe/prefork-safe problem with setting state and
  province templates from Variable values. In the process....

* Add new "multistate" check that allows setting of country state
  templates, checks for state based on country (or b_country).

  If country is US, does a "state" check. For CA, does "province"
  check. If any other country, accepts any string longer than
  1 character.

  If you want to add to the states accepted, you can add something
  in another OrderCheck. For instance, you might do for the
  UK:

	$Vend::Order::state_template{UK} = <<EOF;
	| AVON BEDS BERKS BUCKS CAMBS CHESH CLEVE CORN CUMB DERBY DEVON |
    | DORSET DURHAM ESSEX GLONDON GLOUS GMANCH HANTS HERTS HERWOR   |
    | HUMBER IOM IOW KENT LANCS LEICS LINCS MERSEY NHANTS NORF      |
    | NOTTS NTHUMB OXON SHROPS SOM STAFFS SUFF SURREY SUSS WARKS    |
    | WILTS WMID YORK                                               |

    EOF
	$Vend::Order::state_error{UK} = "'%s' not a valid UK state abbreviation.";

  Can set "country" to something else with MV_COUNTRY_FIELD.

Revision 2.50: download - view: text, markup, annotated - select for diffs
Sun Apr 6 01:09:33 2003 UTC (5 years, 9 months ago) by ramoore
Branches: MAIN
Diff to: previous 2.49: preferred, colored
Changes since revision 2.49: +26 -12 lines
Update pgp_encrypt to accept multiple encryption keys.  Keys should be
passed as a space or comma separated list.

Revision 2.49: download - view: text, markup, annotated - select for diffs
Wed Apr 2 19:08:29 2003 UTC (5 years, 9 months ago) by mheins
Branches: MAIN
Diff to: previous 2.48: preferred, colored
Changes since revision 2.48: +4 -3 lines
* Created $Vend::File::errstr which is set to get the error message,
  otherwise defaults to the standard one.

* Add both global- and catalog-level FileControl directive that allows
  mapping subroutines (or named pre-existing subroutines) to a path.
  Does a depth-first search starting with the file name.

* In either interchange.cfg (takes priority) or catalog.cfg put:

	FileControl include/junk  <<EOR
	sub {
		my ($fn, $write, @caller) = @_;

		## Allow write to files containing "foo"
		if($write) {
			return $fn =~ /foo/;
		}

		## Allow read if file doesn't contain "bar"
		return $fn !~ /bar/;
	}
	EOR

* In either interchange.cfg (takes priority) or catalog.cfg put:

	FileControl  include/junk  some_sub

  This uses either Sub or GlobalSub

* Only in interchange.cfg, you can put a mapped routine name:

	FileControl  include/junk  Vend::SomeModule::file_control

* If no FileControl is not set, the checks are not done for performance
  reasons.

* TODO: Add standard UserDB methods.

Revision 2.48: download - view: text, markup, annotated - select for diffs
Tue Apr 1 04:12:32 2003 UTC (5 years, 9 months ago) by mheins
Branches: MAIN
Diff to: previous 2.47: preferred, colored
Changes since revision 2.47: +21 -10 lines

* Add new Vend::File module with minimal functions.

* Relocate following routines (and their subsidiaries) from Vend::Util:

	canonpath
	catdir
	catfile
	exists_filename
	file_modification_time
	file_name_is_absolute
	get_filename
	lockfile
	path
	readfile
	readfile_db
	set_lock_type
	unlockfile
	writefile

  Added stubs so that package-based calls to those routines will not
  break software.

* Added CatalogUser directive that allows setting in interchange.cfg
  of allowed username that is used for access to absolute-path names.

  	CatalogUser  foundation  joe
  	CatalogUser  reports     jane

  This sets the user for allowed_file() for further read/write checks
  based on username.

* Created allowed_file() routine and replaced all current inline checks
  for NoAbsolute with call to that routine. It behaves as:

  NoAbsolute is No: all files are accessible, always

  Allowed for read/write:
  	Path name is relative with no ..
  	Path name is absolute but in the catalog directory
  	Path name is absolute but in a TemplateDir

  Allowed for read:
	CatalogUser set to a valid username and file is readable by that user
	CatalogUser set to a valid username and file is readable by a group
	 containing that user

  Allowed for write:
	CatalogUser set to a valid username and file is writable by that user
	CatalogUser set to a valid username and file is writable by a group
	 containing that user

* Changed display_special_page so that special page entries with ../
  will not break things.

* TODO:

	-- Code read for open() calls.
	-- Code read for chmod() calls.
	-- Code read for unlink() calls.

* Passes all regression tests; takes an order on foundation; runs UI including
  file navigator.

Revision 2.47: download - view: text, markup, annotated - select for diffs
Sat Mar 29 22:11:08 2003 UTC (5 years, 9 months ago) by mheins
Branches: MAIN
Diff to: previous 2.46: preferred, colored
Changes since revision 2.46: +8 -2 lines

* Allow $Session->{mv_order_number} to be set anywhere.

Revision 2.46: download - view: text, markup, annotated - select for diffs
Sat Mar 29 20:19:20 2003 UTC (5 years, 9 months ago) by mheins
Branches: MAIN
Diff to: previous 2.45: preferred, colored
Changes since revision 2.45: +72 -6 lines

* Hook in custom item update routine to any options module enabled. This was
  a deficiency in the last commit.

Revision 2.45: download - view: text, markup, annotated - select for diffs
Wed Feb 26 16:30:46 2003 UTC (5 years, 10 months ago) by mheins
Branches: MAIN
Diff to: previous 2.44: preferred, colored
Changes since revision 2.44: +3 -2 lines
* Add Australian BankCard contributed by Howard Lowndes.

Revision 2.44: download - view: text, markup, annotated - select for diffs
Wed Feb 12 03:59:12 2003 UTC (5 years, 10 months ago) by mheins
Branches: MAIN
Diff to: previous 2.43: preferred, colored
Changes since revision 2.43: +26 -4 lines

* Major update to product options.

* Options are now modular in much the same way as Vend::Payment is.
  You can add an unlimited number of option types simply by dropping
  a module into Vend::Options.

* By default, the old 4.8 style options are in force, implemented
  with Vend::Options::Old48.

  If you add this to catalog.cfg (in etc/after.cfg in foundation):

  	OptionsEnable   option_type

  The "option_type" names a field in the products file which controls
  the option type. This enables new-style options.

  It can also be in a specific table and field, ala AutoModifier:

  	OptionsEnable   table:field

  Indeed, this is added to AutoModifer after catalog.cfg.

* There are two new-style options included:

	Vend::Options::Matrix
	Vend::Options::Simple

  These are equivalent to the current matrix and simple options.

* Options behavior is controlled in catalog.cfg by a locale-style
  multiple hash (ala UserDb or Route):

  	Options   Matrix   sort            o_sort,o_group
  	Options   Matrix   variant_table   my_variants

* To find and add a new option type, simply set something in
  catalog.cfg:

  	Options  MyOptions  table  my_options

  That will cause a require of Vend::Options::MyOptions.

* The matrix products have been moved to the "variants" table.

* The options table contains options for both Matrix and Simple types,
  but only fields for building those simple-type options (which are
  used to generate variants for Matrix). The followign fields
  have been removed from options:

	differential
	mv_shipmode
	o_enable
	o_exclude
	o_footer
	o_header
	o_include
	o_master
	o_matrix
	o_modular
	phantom
	volume
	weight

* The variants table is a subset of the fields in products.

* The admin page for each option style is defined in its
  admin_page routine, usually an include from inclued/Options/OptionType.

* size and color fields removed from products table, option_type added.

Revision 1.14.4.9: download - view: text, markup, annotated - select for diffs
Sat Jan 25 22:21:28 2003 UTC (5 years, 11 months ago) by racke
Branches: LINUXIA
Diff to: previous 1.14.4.8: preferred, colored; branchpoint 1.14: preferred, colored; next MAIN 1.15: preferred, colored
Changes since revision 1.14.4.8: +1130 -832 lines
updated LINUXIA branch to 4.9 sources in order to use it as testbed again

Revision 2.6.2.15: download - view: text, markup, annotated - select for diffs
Fri Jan 24 06:51:52 2003 UTC (5 years, 11 months ago) by jon
Branches: STABLE_4_8-branch
CVS tags: REL_4_8_9, REL_4_8_8, REL_4_8_7
Diff to: previous 2.6.2.14: preferred, colored; branchpoint 2.6: preferred, colored; next MAIN 2.7: preferred, colored
Changes since revision 2.6.2.14: +3 -3 lines
Update copyright dates.

Revision 2.6.2.14: download - view: text, markup, annotated - select for diffs
Fri Jan 24 05:05:00 2003 UTC (5 years, 11 months ago) by jon
Branches: STABLE_4_8-branch
Diff to: previous 2.6.2.13: preferred, colored; branchpoint 2.6: preferred, colored
Changes since revision 2.6.2.13: +3 -3 lines
Merge from trunk:

Be more tolerant with zip/postal codes -- don't remove hyphen from
ZIP+4 (99686-2933) or space from Canadian postal code (T0L 0R0), and don't
reject ZIP+4 without hyphen.

Revision 2.6.2.13: download - view: text, markup, annotated - select for diffs
Fri Jan 24 03:26:55 2003 UTC (5 years, 11 months ago) by jon
Branches: STABLE_4_8-branch
Diff to: previous 2.6.2.12: preferred, colored; branchpoint 2.6: preferred, colored
Changes since revision 2.6.2.12: +32 -13 lines
Merge from trunk:

* Fix problem with PreFork mode where Interchange children kept order
  profile state between runs.

Revision 2.43: download - view: text, markup, annotated - select for diffs
Thu Dec 12 03:39:00 2002 UTC (6 years ago) by mheins
Branches: MAIN
CVS tags: REL_4_9_6, REL_4_9_5
Diff to: previous 2.42: preferred, colored
Changes since revision 2.42: +3 -3 lines
* Tolerate unset $Global::OrderCheck variable.

Revision 2.42: download - view: text, markup, annotated - select for diffs
Tue Dec 10 20:08:56 2002 UTC (6 years ago) by jon
Branches: MAIN
Diff to: previous 2.41: preferred, colored
Changes since revision 2.41: +45 -22 lines
Fix problem with PreFork and mod_perl modes where Interchange children
kept order profile state between runs.

Revision 2.41: download - view: text, markup, annotated - select for diffs
Thu Nov 28 17:12:22 2002 UTC (6 years, 1 month ago) by kwalsh
Branches: MAIN
CVS tags: REL_4_9_4
Diff to: previous 2.40: preferred, colored
Changes since revision 2.40: +15 -4 lines
	* Removed the previous Vend::Util::readin() patch and now perform
	  specific checks before the three calls that were cause for
	  concern.

Revision 2.40: download - view: text, markup, annotated - select for diffs
Thu Nov 28 16:24:01 2002 UTC (6 years, 1 month ago) by kwalsh
Branches: MAIN
Diff to: previous 2.39: preferred, colored
Changes since revision 2.39: +4 -4 lines
	* Various patches to plug NoAbsolute-related security bugs when
	  reading files.

	* If readfile()'s second parameter can be safely removed then
	  this can be done in a later commit;  I've left it alone for now.

Revision 2.6.2.12: download - view: text, markup, annotated - select for diffs
Tue Nov 26 03:21:10 2002 UTC (6 years, 1 month ago) by jon
Branches: STABLE_4_8-branch
Diff to: previous 2.6.2.11: preferred, colored; branchpoint 2.6: preferred, colored
Changes since revision 2.6.2.11: +4 -3 lines
Sweeping update of Akopia/Red Hat references, to prepare for 4.8 release
with current Interchange URLs and contact information.

Revision 2.39: download - view: text, markup, annotated - select for diffs
Thu Nov 21 22:23:51 2002 UTC (6 years, 1 month ago) by jon
Branches: MAIN
Diff to: previous 2.38: preferred, colored
Changes since revision 2.38: +3 -3 lines
Be more tolerant with zip/postal codes -- don't remove hyphen from
ZIP+4 (99686-2933) or space from Canadian postal code (T0L 0R0), and don't
reject ZIP+4 without hyphen.

Revision 2.38: download - view: text, markup, annotated - select for diffs
Mon Nov 18 16:55:15 2002 UTC (6 years, 1 month ago) by mheins
Branches: MAIN
Diff to: previous 2.37: preferred, colored
Changes since revision 2.37: +3 -3 lines
* Allow alternate values spaces with $CGI->{mv_values_space}. This allows
  fill-in wizards, surveys, and such to not pollute the user's normal
  values.

  Use with caution -- if someone is in the practice of using $Values
  to set catalog behavior (usually a poor idea) then it can cause
  anomalies.

* Clean up a few references to $Vend::Session->{values} which should
  never be done anymore -- we had handled almost all of this previously.
  It should always reference $::Values.

Revision 2.37: download - view: text, markup, annotated - select for diffs
Mon Nov 18 16:33:47 2002 UTC (6 years, 1 month ago) by mheins
Branches: MAIN
Diff to: previous 2.36: preferred, colored
Changes since revision 2.36: +2 -21 lines
* Remove support for old Minivend 3 cyber_charge call

* Remove unused "report_field" routine, not needed now that Minivend 2
  order report style is no longer supported

Revision 2.36: download - view: text, markup, annotated - select for diffs
Sat Nov 9 06:07:18 2002 UTC (6 years, 2 months ago) by mheins
Branches: MAIN
Diff to: previous 2.35: preferred, colored
Changes since revision 2.35: +3 -3 lines
* Add check for no_increment so that mv_order_number can be set in
  a route. TODO: Add feedback of set order_number.

Revision 2.35: download - view: text, markup, annotated - select for diffs
Thu Nov 7 20:40:17 2002 UTC (6 years, 2 months ago) by kwalsh
Branches: MAIN
Diff to: previous 2.34: preferred, colored
Changes since revision 2.34: +14 -4 lines
	* Added an optional $min_digits parameter to the luhn() sub
	  (default is 13, minimum is 2) so that any "LUHN-10"-encoded
	  numbers can be checked.

	* Added a new "luhn" check routine, for use in a profile.

Revision 2.34: download - view: text, markup, annotated - select for diffs
Thu Oct 17 04:46:24 2002 UTC (6 years, 2 months ago) by mheins
Branches: MAIN
Diff to: previous 2.33: preferred, colored
Changes since revision 2.33: +5 -2 lines
* Major update to order status functions in UI. Much of this is funded
  thanks to Gary Norton and Broadgap Technologies.

* Created new update_order_status.tag usertag which does most
  of the functions done previously in admin/order_status.html

* Order status funky page code replaced with [table-editor version].

* Now can "Shipped checked orders". If you check the ship_auto
  check box, it will:

	-- settle CC charge with payment processor if that is needed
	   or wanted
  	-- ship all lines on order
	-- update all status to shipped
	-- archive the order

* Added following fields to transactions:

  auth_code  -- contains authorization code needed for charge settlement
  tracking_number -- separate shipping tracking number from status

  Also updated log_transaction to insert auth_code if available.

* Regularized database types for orderline and transactions

* Removed unnecessary blank "reports" sampledata for orderline and
  transaction

* Added much metadata for orderline, transactions, and payment
  settings

* Fix auto-encryption of credit card number in Vend::Payment even
  if no EncryptKey or credit card number.

* Modified Vend::Payment::TestPayment to allow testing of charge
  settlement.

* Allow setting link-no-blank=1 in [table-editor] to prevent addition
  of rows in a linked table for a particular view.

* To test out settlement and batch updates with Vend::Payment::TestPayment

	1. Uncomment "Require" line in interchange.cfg.
	2. Set following payment preferences in Administration->Preferences:

		MV_PAYMENT_MODE    testpayment
		MV_PAYMENT_ID      test
		SETTLE_TRANSACTION 1

	3. Restart, place a new order, and use Order Manager to ship.

Revision 2.33: download - view: text, markup, annotated - select for diffs
Wed Sep 18 19:07:08 2002 UTC (6 years, 3 months ago) by mheins
Branches: MAIN
Diff to: previous 2.32: preferred, colored
Changes since revision 2.32: +16 -5 lines
* Finally discovered what is going on with GPG and errors.

  -- If PGP fails due to a system problem, like out of memory or
     bad file permissions, it fails with a status that will cause
	 a real error which is in the lower 8 bits.

  -- If PGP fails due to an internal problem like "key not found",
     or no secret key ring, it will fail with system status set to
	 zero but the upper level status indicating its problem.

	 So a failed key will turn up as "File not found" in the
	 upper order bits, while a key *ring* not found will fail
	 with the same error in the lower status bits.

  This patch is temporary, and at least tells you what $! is. I will
  examine GPG's error messages and provide some simple ones like "key
  not on keyring" and catch them to provide a better error.

Revision 2.32: download - view: text, markup, annotated - select for diffs
Mon Sep 16 23:06:31 2002 UTC (6 years, 3 months ago) by mheins
Branches: MAIN
Diff to: previous 2.31: preferred, colored
Changes since revision 2.31: +172 -2 lines
* Move most all code out of bin/interchange. The only routines
  that remain are:

		dontwarn
		version
		usage
		catch_warnings
		parse_options
		main_loop

   Once the initial startup for Interchange is done, this code
   is completely out of the picture.

* Create new Vend::Dispatch module which contains the bulk of the
  code removed from bin/interchange.

* Move the important update_data() subroutine to Vend::Data.

* Move the session-related routines to Vend::Session.

* Move the order-related routines do_order() and update_quantity()
  to Vend::Order.

* Change many ::uneval() calls to plain uneval() or Vend::Util::uneval().

* Remove various unused tags and routines....

Revision 2.31: download - view: text, markup, annotated - select for diffs
Tue Sep 10 15:38:49 2002 UTC (6 years, 3 months ago) by mheins
Branches: MAIN
Diff to: previous 2.30: preferred, colored
Changes since revision 2.30: +19 -5 lines
* Enhance unique check to allow specification of a foreign key for uniqueness
  check.

Revision 2.30: download - view: text, markup, annotated - select for diffs
Sat Sep 7 18:42:47 2002 UTC (6 years, 4 months ago) by mheins
Branches: MAIN
Diff to: previous 2.29: preferred, colored
Changes since revision 2.29: +34 -3 lines
* Add "future" comparator so that you can do:

	appointment_date=future 1 day "Sorry, we need some lead time."

  That allows you to check that a date value (ala the date widget) is
  in the future.

Revision 2.6.2.11: download - view: text, markup, annotated - select for diffs
Sun Aug 11 14:18:41 2002 UTC (6 years, 4 months ago) by mheins
Branches: STABLE_4_8-branch
CVS tags: REL_4_8_6, DEB_4_8_6_20021108_1
Diff to: previous 2.6.2.10: preferred, colored; branchpoint 2.6: preferred, colored
Changes since revision 2.6.2.10: +3 -3 lines
* Proper status codes from failed PGP runs.

Revision 2.29: download - view: text, markup, annotated - select for diffs
Sun Jul 28 05:17:03 2002 UTC (6 years, 5 months ago) by mheins
Branches: MAIN
CVS tags: REL_4_9_2
Diff to: previous 2.28: preferred, colored
Changes since revision 2.28: +5 -2 lines
* Allow setting of db write status in route. Minor, but will remove
  need for any setup in etc/log_transaction, preparatory for
  moving its operation into separate routes.

Revision 2.28: download - view: text, markup, annotated - select for diffs
Sun Jul 21 14:08:50 2002 UTC (6 years, 5 months ago) by mheins
Branches: MAIN
CVS tags: REL_4_9_1
Diff to: previous 2.27: preferred, colored
Changes since revision 2.27: +7 -3 lines
* A couple of minor changes making mv_order_number and payment order ID
  honor a sql_counter setting.

Revision 2.27: download - view: text, markup, annotated - select for diffs
Sun Jul 7 04:02:27 2002 UTC (6 years, 6 months ago) by mheins
Branches: MAIN
Diff to: previous 2.26: preferred, colored
Changes since revision 2.26: +3 -3 lines
* Add [levy-list] TEMPLATE CODE [/levy-list] to display the levy-based
  tax/shipping stuff.

* Add [levies ...] tag to access shipping, handling, and salestax
  charges via ITL.

* Continuing improvement on levy system including cacheing, explicit
  recalcs, automatic recalc upon cart toss, labels, currency or
  cost display that uses Locale, etc. More to come.

* Fix Profile stuff to properly read a real hash and array instead
  of always interpolating a string.

Revision 2.26: download - view: text, markup, annotated - select for diffs
Thu Jul 4 23:11:13 2002 UTC (6 years, 6 months ago) by mheins
Branches: MAIN
Diff to: previous 2.25: preferred, colored
Changes since revision 2.25: +16 -10 lines
* Add ability to use SQL sequence as order number counter, defined
  with "sql_counter" key in route.

* Add ability for Accounting modules to *not* assign a customer number
  if needed, by setting "Accounting tag assign_username 0" to settings.

* Prevent incrementing counter for assign_username unless it will
  actually be used.

Revision 2.6.2.10: download - view: text, markup, annotated - select for diffs
Thu Jun 27 22:38:24 2002 UTC (6 years, 6 months ago) by jon
Branches: STABLE_4_8-branch
Diff to: previous 2.6.2.9: preferred, colored; branchpoint 2.6: preferred, colored
Changes since revision 2.6.2.9: +3 -3 lines
Update Andrew Wilcox's email address at his request.

Revision 2.25: download - view: text, markup, annotated - select for diffs
Thu Jun 27 22:24:10 2002 UTC (6 years, 6 months ago) by jon
Branches: MAIN
Diff to: previous 2.24: preferred, colored
Changes since revision 2.24: +3 -3 lines
Update Andrew Wilcox's email address at his request.

Revision 2.24: download - view: text, markup, annotated - select for diffs
Tue Jun 25 03:18:09 2002 UTC (6 years, 6 months ago) by mheins
Branches: MAIN
Diff to: previous 2.23: preferred, colored
Changes since revision 2.23: +15 -3 lines
* Add &update=[yes|no] to automatically update a values variable
  upon checking good. Usually useful for mv_form_profile.
  Example:


	[set tprof]
	&fail=@@MV_PAGE@@
	&update=yes
	&fatal=no
	name=required
	addr=required
	email=email
	[/set]

	<FONT color="red">
		[error all=1 show_error=1 show_label=1 joiner="<br>"]
	</font>

	<form action="[area index]">
	<input type=hidden name=mv_action value=back>
	<input type=hidden name=mv_failpage value="@@MV_PAGE@@">
	Name <input name=name value="[value name]"><br>
	Addr <input name=addr value="[value addr]"><br>
	Email<input name=email value="[value email]"><br>
	<input type=submit>
	</form>

  As the variables check good, they will be updated.

Revision 2.23: download - view: text, markup, annotated - select for diffs
Mon Jun 17 22:24:07 2002 UTC (6 years, 6 months ago) by jon
Branches: MAIN
Diff to: previous 2.22: preferred, colored
Changes since revision 2.22: +3 -3 lines
Big copyright date update. This will be the last time that Red Hat
copyright notices get updated en masse, since the bulk of new code will
very likely come from non-Red Hat employees.

Revision 2.22: download - view: text, markup, annotated - select for diffs
Tue Jun 11 04:16:58 2002 UTC (6 years, 6 months ago) by mheins
Branches: MAIN
Diff to: previous 2.21: preferred, colored
Changes since revision 2.21: +14 -2 lines
	* Back out change in _email which prevents possibly-invalid email
	  addresses at cost of compatibility with previous, which would
	  accept a proper email address like "Some Guy"@email.com or
	  some_guy@email.com (Some Guy).

	* Add new _email_only check_routine which does what the above
	  change did -- if it is important to have only that for ID
	  or reliability in mailing purposes, profile can be changed

Revision 2.6.2.9: download - view: text, markup, annotated - select for diffs
Wed Jun 5 07:38:12 2002 UTC (6 years, 7 months ago) by racke
Branches: STABLE_4_8-branch
Diff to: previous 2.6.2.8: preferred, colored; branchpoint 2.6: preferred, colored
Changes since revision 2.6.2.8: +31 -31 lines
reversed Jon's patch to check status of &calc and &return because
it caused to many side effects, we keep it in devel

Revision 2.21: download - view: text, markup, annotated - select for diffs
Wed Jun 5 07:26:56 2002 UTC (6 years, 7 months ago) by racke
Branches: MAIN
Diff to: previous 2.20: preferred, colored
Changes since revision 2.20: +4 -2 lines
merged changes 2.6.2.7 vs 2.6.2.8
+++ 2.6.2.8 +++
fatal and final should never have an influence on the status of a order
check, which has been introduced by Jon's mischievous patch a while
ago

Revision 2.6.2.8: download -